Привет, Гость!
  • Страница 1 из 1
  • 1
Форум pawno » Pawno » Готовые решения » Работа команды на определенных координатах
Работа команды на определенных координатах
BicbaiДата: Понедельник, 04.02.2013, 01:26 | Сообщение # 1
Полковник
Группа: Администратор
Сообщений: 288
Статус: Offline
Как сделать команду,чтобы она работала на определенных координатах.

к 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: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;  
  }


После того,как мы создали новый паблик,Мы получили новую функцию в моде.
Теперь Мы используем её.
Создадим новую команду в паблике 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;  
             }


IP: 83.222.105.54:8358
© [CRMP] Россия - Дрифт
 
MaksДата: Суббота, 16.11.2013, 04:13 | Сообщение # 2
Рядовой
Группа: Пользователь
Сообщений: 1
Статус: Offline
слишком много ненужного кода
 
BicbaiДата: Вторник, 30.06.2015, 10:55 | Сообщение # 3
Полковник
Группа: Администратор
Сообщений: 288
Статус: Offline
Я был школьникам, когда это скопипастил.
Проще проверить стандартной функцией

Код
if(IsPlayerInRangeOfPoint(playerid,2.0,2572.3721,-2413.5183,22.3794))
2.0 - Радиус
2572.3721,-2413.5183,22.3794 - Координаты места


IP: 83.222.105.54:8358
© [CRMP] Россия - Дрифт
 
Форум pawno » Pawno » Готовые решения » Работа команды на определенных координатах
  • Страница 1 из 1
  • 1
Поиск: