VSYSTEM
Ученик
Приветствую всех, выкладываю систему по типу "защиты" от наказаний администратора. Сразу извиняюсь за плохое и не ясное оформление, но, используя CTRL + C и CTRL + V всё заработает.
- Для чего это нужно?
Допустим, администратор захотел наказать определённого игрока за что либо, с данной функцией "защиты" он не сможет это сделать. Система не позволит.
- Для чего это нужно?
Допустим, администратор захотел наказать определённого игрока за что либо, с данной функцией "защиты" он не сможет это сделать. Система не позволит.
1. В enum pInfo
2. Ко всем define:
3. В publics: LoginCallback:
4. В код к команде, от которой нужно сделать защиту:
5. Код команды для выдачи защиты аккаунта:
C++:
pProtectionAcc,
C++:
#define SendMes(%1,%2,%3) format(stringer1,sizeof(stringer1),%3), SendClientMessage(%1,%2,stringer1)
C++:
PlayerInfo[playerid][pProtectionAcc] = cache_get_field_content_int(0, "pProtectionAcc", connects);
C++:
if(PlayerInfo[params[0]][pProtectionAcc] == 1) return 1; //параметр, отвечающий за ID таргета меняйте на свой, у меня же params0], с PlayerInfo тоже самое
C++:
CMD:protect(playerid,params[])
{
if(strcmp(PlayerInfo[playerid][pNames], "Vsystem_Vsystem")) return true; // проверку меняйте на свою, PlayerInfo и pNames так-же на своё
extract params -> new player:arg1,arg2; else
return SendClientMessage(playerid,gr,!"Используйте: /protect [ID] [1/0]");
if(!IsPlayerConnected(arg1)) return SendClientMessage(playerid,-1,!"Игрок не в сети");
if(arg2 > 1 || arg2 < 0) return SendClientMessage(playerid,-1,!"0 - забрать защиту у игрока, 1 - выдать защиту игроку");
PlayerInfo[arg1][pProtectionAcc] = arg2; //PlayerInfo меняйте на своё
UpdatePlayerData(arg1,"pProtectionAcc",PlayerInfo[arg1][pProtectionAcc]);
format(mysql_query_, sizeof(mysql_query_), "UPDATE `acci` SET `pProtectionAcc` = '1", PlayerInfo[playerid][pProtectionAcc]); //// acci - меняйте на своё название таблицы с аккаунтами, connects - также на своё подключение к базе данных
mysql_function_query(connects, mysql_query_, false, "", "");
return SendMes(playerid,-1,"%s",(PlayerInfo[arg1][pProtectionAcc] == 1)? "Вы выдали игроку защиту аккаунта" : "Вы забрали защиту аккаунта у игрока");
Зайдите в таблицу с аккаунтами и создайте структуру
Имя: pProtectionAcc, тип: INT, длина/значения: 11, всё остальное не трогайте. После чего нажмите кнопку "сохранить"
UPD: по умолчанию > как определенно > 0
Cкриншот:
Имя: pProtectionAcc, тип: INT, длина/значения: 11, всё остальное не трогайте. После чего нажмите кнопку "сохранить"
UPD: по умолчанию > как определенно > 0
Cкриншот:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Последнее редактирование:
