как переделать команду на 2 команды и что бы они работали команда /gmtest работала только на человека а /gmcar только на машину.
и что бы всё правильно показывало, и если можно сделать так что бы потом можно было вставить в команду /re сбоку в меню что бы проверять игрока, а не самого себя.
вот команда с которой нужно переделать.
Код: Выделить всё
new GmtestTimer[MAX_PLAYERS];
new AdmGM[MAX_PLAYERS] = 0;
new Float:AdmGMHP[MAX_PLAYERS];
new AdmGMID[MAX_PLAYERS] = INVALID_PLAYER_ID;
Код: Выделить всё
if(strcmp(cmd, "/gmtest", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_GRAD1, "Вам не доступна данная функция");
GetPlayerName(playerid, sendername, sizeof(sendername));
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /gmtest [id]");
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Игрок не найден!");
new Float:boomx, Float:boomy, Float:boomz;
GetPlayerPos(giveplayerid,boomx, boomy, boomz);
GetPlayerHealth(giveplayerid,AdmGMHP[playerid]);
AdmGM[playerid] = 1;
AdmGMID[playerid] = giveplayerid;
CreateExplosion(boomx, boomy , boomz+7, 5, 0.5);
GmtestTimer[playerid] = SetTimerEx("Gmtest",1000,true,"d",playerid);
return true;
}
Код: Выделить всё
public Gmtest(playerid)
{
new string[128], Float:nowhealth[MAX_PLAYERS];
if(AdmGM[playerid] == 1)
{
GetPlayerHealth(AdmGMID[playerid],nowhealth[AdmGMID[playerid]]);
}
if((AdmGMHP[playerid]-nowhealth[AdmGMID[playerid]]) > 0)
{
format(string, sizeof(string), "До: \t\t\t\t%.0f.0 HP\nПосле: \t\t\t%.0f.0 HP\nHP уменьшилось на: \t\t%.0f.0\n\n{7FB151}ГМ не обнаружено. HP игрока восстановлено.",AdmGMHP[playerid],nowhealth[AdmGMID[playerid]],(AdmGMHP[playerid]-nowhealth[AdmGMID[playerid]]));
ShowPlayerDialog(playerid,8888,DIALOG_STYLE_MSGBOX , "Проверка на God Mode",string, "Закрыть", "");
SetPlayerHealthAC(AdmGMID[playerid], AdmGMHP[playerid]);
AdmGM[playerid] = 0;
AdmGMHP[playerid] = 0;
AdmGMID[playerid] = INVALID_PLAYER_ID;
}
else if((AdmGMHP[playerid]-nowhealth[AdmGMID[playerid]]) == 0)
{
format(string, sizeof(string), "До: \t\t\t%.0f.0 HP\nПосле: \t\t%.0f.0 HP\nHP не уменьшилось\n\n{CD5A5A}Возможно этот игрок использует ГМ.",AdmGMHP[playerid],nowhealth[AdmGMID[playerid]]);
ShowPlayerDialog(playerid,8888,DIALOG_STYLE_MSGBOX , "Проверка God Mode",string, "Закрыть", "");
SetPlayerHealthAC(AdmGMID[playerid], AdmGMHP[playerid]);
AdmGM[playerid] = 0;
AdmGMHP[playerid] = 0;
AdmGMID[playerid] = INVALID_PLAYER_ID;
}
KillTimer(GmtestTimer[playerid]);
}
а вот это стояло у меня в /re но оно проверяло самого себя.
замените пожалуйста что бы проверяло игрока за которым следит админ.
case 10: //что касается /gmtest
case 11: // что касается /gmcar
Помогите кто не будь!