Перейти к содержанию
#meow

Зоны

Рекомендуемые сообщения

#meow

Здравствуйте, мне нужна помощь в создании зон на карте, если выйти за определённые координаты - игрока спавнит.

Ранее не работал с зонами, да и на разных форумах информации почти что и нет.

Изменено пользователем #meow

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#Storm

Тебе мало стандартной карты?))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16Shadows

Если я правильно понял, и Вам нужно ограничить места, в пределах которых игрок может находиться:

 

Зоны есть в стримере. О них, думаю, и речь.

 

Вам, скорее всего, подойдёт кубоид (параллелепипед):

CreateDynamicCuboid(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worldid = -1, interiorid = -1, playerid = -1, priority = 0)

Обязательные параметры:

Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz - координаты крайних точек кубоида.

Float:minx, Float:miny, Float:minz - левый нижний угол

Float:maxx, Float:maxy, Float:maxz - правый верхний

 

minx < maxx, miny < maxy, minz < maxz соответственно

 

Можно опустить:

worldid - ID виртуального мира (если оставить -1, то зона будет работать во всех мирах)

interiorid - ID интерьера (аналогично с вирт. миром)

playerid - ID игрока, для которого работает зона (-1 - все игроки)

priority - приоритет (чем выше значение приоритета, тем раньше объект/зона будет рендериться для игрока при рендере объектов. В большинстве случаев можно не менять)

Если высота неважна, можно использовать функцию создания прямоугольника:

CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1, priority = 0);

Работаем с зоной

 

Создаём зону

new Zone;
public OnGameModeInit()
{ 
    Zone = CreateDynamicCuboid(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worldid = -1, interiorid = -1, playerid = -1, priority = 0); 
}

Если у Вас включены теги стримера, то переменной нужно добавить тег STREAMER_TAG_AREA:

new STREAMER_TAG_AREA:Zone;

Определяем выход из зоны

public OnPlayerLeaveDynamicArea(playerid, areaid)
{
    if(Zone == areaid)
    {
        //...
    }
}
Изменено пользователем 16Shadows
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.