|
Форум Программирование в Pawno Готовые решения Работа команды на определенных координатах |
Работа команды на определенных координатах |
Как сделать команду,чтобы она работала на определенных координатах.
к forward Код forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z); Новый паблик в конце мода Код public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) { if(IsPlayerConnected(playerid)) { new Float:ldposx, Float:ldposy, Float:ldposz; 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; } После того,как мы создали новый паблик,Мы получили новую функцию в моде. Теперь Мы используем её. Создадим новую команду в паблике OnPlayerCommandText Код if(!strcmp(cmdtext, "/Text", true)) { { if(!PlayerToPoint(3.0,playerid,1911.0028,-1776.5432,13.3828)) //Тут у нас координаты,на которых будет действовать данная команда. { SendClientMessage(playerid, COLOR_GREY, "Вы не в том месте,где надо!!"); return 1; } ShowPlayerDialog(playerid,17,DIALOG_STYLE_LIST,"{68ff00}Окно ","Добро пожаловать в это место!","Ок","Отмена"); } return 1; } Эту функцию использовать очень легко,Тоесть,если вы хотите сделать команду,чтобы она работала в определённом место,то используйте эту проверку в команде: Код if(!PlayerToPoint(3.0,playerid,1911.0028,-1776.5432,13.3828)) { SendClientMessage(playerid, COLOR_GREY, "Выйдет сообщение,если Игрок не в том месте!"); return 1; } Цитата Эта система не стандартная, есть стандартная функция, которая работает быстрее. Вот такая вот она IsPlayerInRangeOfPoint by New_King Автор: Неизвестен Программист любитель :) |
| |||
| |||