Всё о сервере, форум!
Основы программирования
ИНФОРМАЦИОННО-РАЗВЛЕКАТЕЛЬНЫЙ ПОРТАЛ

PrR[ Проект SAMP - Romashka [0.3e] ™18+™

Pawn :: Основы скриптинга
Проверка игрока в зоне

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

stock IsPlayerInArea(playerid, Float:minx, Float:miny, Float:maxx, Float:maxy)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(X >= minx && X <= maxx && Y >= miny && Y <= maxy)
{
return 1;
}
return 0;
}


Теперь мы можем ставить такие условия:

1 if(IsPlayerInArea(playerid,-36.5483,-57.9948,-17.2655,-49.2967))

Последняя цифра в функции указывает на время в миллисекундах до следующего появления транспорта на точке возрождения (spawn). Эту проверку можно поместить, например, внутри команды.

Теперь о том, как правильно получить все 4 координаты, указанные в скобках функции. Синтаксис условия такой:

1 if(IsPlayerInArea(playerid,Xmin,Ymin,Xmax,Ymax))

Итак, встаем в левый нижний угол создаваемой вами зоны, получаем координаты командой save.

Далее встаем в правый верхний угол и снова получаем координаты. Допустим, мы уже получили вот такие координаты:

AddPlayerClass(0,2021.0109,1343.0779,10.8130,256.6816,0,0,0,0,0,0);
AddPlayerClass(0,2038.6593,1343.9640,10.3990,180.1545,0,0,0,0,0,0);


Берем из этих координат  минимальную X-координату - 2021.0109.
Ставим ее первой в скобках, затем через запятую минимальную Y-координату - 1343.0779.
Дальше то же самое, но уже максимальные координаты.
Должно получиться так:

1 if(IsPlayerInArea(playerid,2021.0109,1343.0779, 2038.6593,1343.9640))



Логин: Пароль:
Забыли пароль?Регистрация
При копировании материала с сайта активная ссылка обязательна!
Сайт управляется SiNG cms © 2010-2015