- Регистрация
- 5 Июл 2014
- Сообщения
- 76
- Лучшие ответы
- 0
- Репутация
- 3
Привет.
Впервые сталкиваюсь с таким, но мод Motion RP, играбелен только для игрока под 0 ID.
Все системы, которые я встречал в моде, работают нормально только с 0 ID, а от 1 и выше - всё идёт в "не туда".
Например:
Проверяю 1 ID на "гм-тест". Результаты теста уже даны, а пишет, что "тест не закончен". И так до релога.
Но почему он тогда для 0 ID не тупит?
Впервые сталкиваюсь с таким, но мод Motion RP, играбелен только для игрока под 0 ID.
Все системы, которые я встречал в моде, работают нормально только с 0 ID, а от 1 и выше - всё идёт в "не туда".
Например:
Проверяю 1 ID на "гм-тест". Результаты теста уже даны, а пишет, что "тест не закончен". И так до релога.
Но почему он тогда для 0 ID не тупит?
PHP:
new bool:gCheckGodMode[MAX_PLAYERS char];
CMD:gm(playerid, params[])
{
IsAdmin(AR_MESUPPORT);
else if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /gm [id игрока]");
else if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
else if(!gPlayerLogged[params[0]]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);
else if(GetPVarInt(params[0], "AFK_Time") > 1) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Игрок находится в AFK!");
else if(gCheckGodMode{playerid}) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы тестируете другого человека, подождите окончания теста!");
new Float:gmhealth, Float:boomx, Float:boomy, Float:boomz;
GetPlayerHealth(params[0], gmhealth);
GetPlayerPos(params[0], boomx, boomy, boomz);
CreateExplosion(boomx, boomy, boomz+7, 5, 0.5);
SetTimerEx("@GmTest", 1000, false, "ddf", playerid, params[0], gmhealth);
gCheckGodMode{playerid} = true;
return 1;
}
@GmTest(playerid, targetid, Float:oldhealth);
@GmTest(playerid, targetid, Float:oldhealth)
{
new Float: newhealth;
GetPlayerHealth(targetid, newhealth);
new string[58];
if(oldhealth == newhealth) string = "{F04245}Возможно игрок использует God Mode(GM)";
if(oldhealth != newhealth) string = "{05E900}Вероятно игрок чист, показатель его HP уменьшился";
dlg_str[0] = EOS;
format(dlg_str, sizeof(dlg_str), "\
{FFFFFF}Было: {FF9900}%.0f.0 (HP)\n\
{FFFFFF}Стало: {FF9900}%.0f.0 (HP)\n\
{FFFFFF}Уменьшилось на: {FF9900}%.0f.0 (HP)\n\n%s",
oldhealth, newhealth, oldhealth-newhealth, string);
ShowPlayerDialog(playerid, dNull, DIALOG_STYLE_MSGBOX, GetName(targetid), dlg_str, "Закрыть", "");
SetHealth(targetid, oldhealth);
gCheckGodMode[playerid] = false;
return 1;
}
Последнее редактирование: