Действие с игроками в определенном радиусе - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: [CM]OlegEhtler, Getbackthere, Phoenixxx_Czar  
Действие с игроками в определенном радиусе
JonNou Дата: Понедельник, 17.02.2014, 17:21 | Сообщение # 1
Любитель
Сообщений: 34
Статус: Offline
Выкладываю простую команду для администрации введя которую администратор выдаст ХП игрокам в радиусе 30 метров

Код

   if(strcmp(cmd,"/hpall",true) == 0)
  {
       if(PlayerInfo[playerid][pAdmin] >= 1) //1- лвл админки с которого можно будет юзать команду
       {
   new Float:pos[3];
   GetPlayerPos(playerid,pos[0],pos[1],pos[2]); //узнаем позицию админа
   for(new i = GetMaxPlayers()-1; i != -1; i--)
   {
       if(!IsPlayerInRangeOfPoint(i, 30.0, pos[0],pos[1],pos[2])) continue; //ставим чикпоинт радиусом 30 метров от позиции админа
       SetPlayerHealthAC(i, 100); //выдаем ХП урокам которые в радиусе
    SendClientMessage(i, COLOR_YELLOW, "Администратор установил Вам здоровье (100hp)"); //пишем игрокам, что админ выдал ХП
   }
   SendClientMessage(playerid, COLOR_GRAD1, "Вы выдали hp всем игрокам в радиусе 30 метров");//пишем админу что все окей и он выдал ХП
   return true;
    }
    else
       {
         SendClientMessage(playerid, COLOR_GREY, "Вы не уполномочены использовать эту команду!"); //если лвл админа <1 то пищем это
       }
    return true;
  }

Добавлено (17.02.2014, 17:21)
---------------------------------------------
Еще есть вариант устанавливать радиус прямо в игре

Код

   if(strcmp(cmd,"/hpall",true) == 0)
  {
       if(PlayerInfo[playerid][pAdmin] >= 1) //1- лвл админки с которого можно будет юзать команду
       {
         tmp = strtok(cmdtext,idx);
         if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Введите: /hpall [радиус]");
   new Float:pos[3];
   GetPlayerPos(playerid,pos[0],pos[1],pos[2]); //узнаем позицию админа
   for(new i = GetMaxPlayers()-1; i != -1; i--)
   {
       if(!IsPlayerInRangeOfPoint(i, strval(tmp), pos[0],pos[1],pos[2])) continue;  
       SetPlayerHealthAC(i, 100); //выдаем ХП урокам которые в радиусе
    SendClientMessage(i, COLOR_YELLOW, "Администратор установил Вам здоровье (100hp)"); //пишем игрокам, что админ выдал ХП
   }
   format(string, sizeof(string), "Вы выдали hp всем игрокам в радиусе %d метров",strval(tmp));
         SendClientMessage(playerid, COLOR_GRAD1, string);
   return true;
    }
    else
       {
         SendClientMessage(playerid, COLOR_GREY, "Вы не уполномочены использовать эту команду!"); //если лвл админа <1 то пищем это
       }
    return true;
  }
[CM]BOPOBEY Дата: Суббота, 29.03.2014, 10:08 | Сообщение # 2
Любитель
Сообщений: 43
Статус: Offline
Спасибо, взял 2-ой вариант себе.
Solnishka Дата: Воскресенье, 01.06.2014, 13:36 | Сообщение # 3
Новичок
Сообщений: 21
Статус: Offline
Взял второй тоже только вставить проблема

Love cheat master ^^
HoBu4er Дата: Понедельник, 02.06.2014, 13:54 | Сообщение # 4
Cheat-Master
Сообщений: 156
Статус: Offline
Цитата Solnishka ()
Взял второй тоже только вставить проблема




[CM]Fich Дата: Вторник, 03.06.2014, 00:28 | Сообщение # 5
Бывалый
Сообщений: 401
Статус: Offline
Норм команда
  • Страница 1 из 1
  • 1
Поиск: