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

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

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

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

stock IsPlayerInCube(playerid, Float:xmin, Float:ymin, Float:zmin, Float:xmax, Float:ymax, Float:zmax)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if(x > xmin && y > ymin && z > zmin && x < xmax && y < ymax && z < zmax)return 1;
return 0;
}


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

1 if(IsPlayerInCube(playerid, 72.1256, 1544.2145, 15.7742, 75.2350, 1546.3352, 16.4206))

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

1 if(IsPlayerInCube (playerid,Xmin,Ymin,Zmin,Xmax,Ymax,Zmax))

Итак, встаем в левый нижний угол создаваемой вами зоны, получаем координаты командой 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(IsPlayerInCube(playerid,2021.0109,1343.0779,10.3990, 2038.6593, 1343.9640,10.8130))



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