Andrey[]
Умник
Не любитель я делать, что-либо для паблика, поэтому и писать уроки не умею, но сегодня всё же поробую.
Многие видели тему Версия команды для RLS
Я решил эту "команду" перевести на ZCMD (Engine-rp, United-rp и т.п) и кое-что исправить, а именно:
Ко всем new:
Вставляем туда где ваши команды:
Следующий шаг, это создание public:
P.s в планах сделать так же учёт и на броню, оптимизировать.Обо всех ошибках писать ниже.
Автор
erzilla
Редактировал:Andrey[]
Делаем кнопку наказания если игрок оказался гм
Находим в паблике Gmtest:
и заменяем на:
Там где все ваши case: добавляем
P.s Добавлена проверка на броню
Многие видели тему Версия команды для RLS
Я решил эту "команду" перевести на ZCMD (Engine-rp, United-rp и т.п) и кое-что исправить, а именно:
- Заменил SetTimer на SetTimerEx
[*]Уменьшил количество отнимаемого HP у игрока.
[*]Увеличил скорость срабатывания паблика (с 2000 до 1000)
[*]Огонь у игрока не видно
Ко всем new:
PHP:
new GmtestTimer[MAX_PLAYERS];
new AdmGM[MAX_PLAYERS] = 0;
new Float:AdmGMHP[MAX_PLAYERS];
new AdmGMID[MAX_PLAYERS];
new Float:AdmGMArm[MAX_PLAYERS];
PHP:
CMD:gm(playerid, params[])
{
if(PlayerLogged[playerid] == 0) return 1;
if(PlayerInfo[playerid][pAdmin] < 1 || AdminLogged[playerid] == false) return 1;
if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /gm [id игрока]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY, "Игрок оффлайн");
if(PlayerLogged[params[0]] == 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не зашёл");
new Float:boomx, Float:boomy, Float:boomz;
GetPlayerPos(params[0],boomx, boomy, boomz);
GetPlayerHealth(params[0],AdmGMHP[params[0]]);
AdmGM[playerid] = 1;
AdmGMID[playerid] = params[0];
GetPlayerArmour(params[0], AdmGMArm[playerid]);
SetArmour(params[0], 0);
CreateExplosion(boomx, boomy , boomz+7.5, 5, 0.5);
GmtestTimer[playerid] = SetTimerEx("Gmtest",1000,true,"d",playerid);
return 1;
}
PHP:
forward Gmtest(playerid);
public Gmtest(playerid)
{
new string[128], Float:nowhealth[MAX_PLAYERS];
if(AdmGM[AdmGMID[playerid]] == 1)
{
GetPlayerHealth(AdmGMID[playerid],nowhealth[AdmGMID[playerid]]);
}
if((AdmGMHP[AdmGMID[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[AdmGMID[playerid]],nowhealth[AdmGMID[playerid]],(AdmGMHP[AdmGMID[playerid]]-nowhealth[AdmGMID[playerid]]));
ShowPlayerDialog(playerid,888,DIALOG_STYLE_MSGBOX , "Проверка на God Mode",string, "Закрыть", "");
SetHealth(AdmGMID[playerid], AdmGMHP[AdmGMID[playerid]]);
SetArmour(AdmGMID[playerid], AdmGMArm[playerid]);
AdmGMArm[playerid] = 0;
SetHealth(AdmGMID[playerid], AdmGMHP[AdmGMID[playerid]]);
AdmGM[AdmGMID[playerid]] = 0;
AdmGMHP[AdmGMID[playerid]] = 0;
AdmGMID[playerid] = INVALID_PLAYER_ID;
}
else if((AdmGMHP[AdmGMID[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[AdmGMID[playerid]],nowhealth[AdmGMID[playerid]]);
ShowPlayerDialog(playerid,888,DIALOG_STYLE_MSGBOX , "Проверка God Mode",string, "Закрыть", "");
AdmGM[AdmGMID[playerid]] = 0;
AdmGMArm[playerid] = 0;
AdmGMHP[AdmGMID[playerid]] = 0;
AdmGMID[playerid] = INVALID_PLAYER_ID;
}
KillTimer(GmtestTimer[playerid]);
}
Автор
Редактировал:Andrey[]
Делаем кнопку наказания если игрок оказался гм
Находим в паблике Gmtest:
PHP:
format(string, sizeof(string), "До: \t\t\t%.0f.0 HP\nПосле: \t\t%.0f.0 HP\nHP не уменьшилось\n\n{CD5A5A}Возможно этот игрок использует ГМ.",AdmGMHP[AdmGMID[playerid]],nowhealth[AdmGMID[playerid]]);
ShowPlayerDialog(playerid,888,DIALOG_STYLE_MSGBOX , "Проверка God Mode",string, "Закрыть", "");
PHP:
format(string, sizeof(string), "До: \t\t\t%.0f.0 HP\nПосле: \t\t%.0f.0 HP\nHP не уменьшилось\n\n{CD5A5A}Возможно этот игрок использует ГМ.",AdmGMHP[AdmGMID[playerid]],nowhealth[AdmGMID[playerid]]);
SPD(playerid,888, 0, "Проверка God Mode",string, "Наказать", "Закрыть");
PHP:
case 888:
{
if(response)
{
format(totalstring, 128, "Администратор %s выдал варн %s.Причина: ГМ", sendername(playerid), sendername(AdmGMID[playerid]));
SendClientMessageToAll(COLOR_LIGHTRED,totalstring) ;
PlayerInfo[AdmGMID[playerid]][pWarn]++;
Kick(AdmGMID[playerid]);
}
}
Последнее редактирование:
