Выкладываю простую команду для администрации введя которую администратор выдаст ХП игрокам в радиусе 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;
}