|
Форум Программирование в Pawno Стандартные функции Проверка Игрока В Радиусе |
Проверка Игрока В Радиусе |
Чтобы проверить игрока в радиусе, нам нужно написать в любом месте скрипта такую функцию:
Код public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) { if(IsPlayerConnected(playerid)) { new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } } return 0; } Также в начале скрипта ее нужно объявить. Так делается с любой новой автовызываемой функцией. У каждой новой автовызываемой функции обязательно должен быть свой forward. Код forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z); В отличие от проверки в зоне или кубе тут достаточно получить 1 раз координату и вручную вписать радиус. Написав автовызываемую функцию PlayerToPoint мы можем ставить такие условия: Код if(PlayerToPoint(3.0,playerid, 72.1256, 1544.2145, 15.7742)) { } Эту проверку можно поместить, например, внутри команды. Программист любитель :) |
| |||
| |||