В переменные:
Код
new bool: ALogged[MAX_PLAYERS]; // Переменная, отвечающая за то, авторизован ли игрок как администратор. Не забываем обнулять при входе игрока: ALogged [playerid]= false;
В enum pInfo:
В команду выдачи админ. прав:
Код
PlayerInfo [giveplayerid][pAdminPass]= random(8999)+1000; // Вместо giveplayerid id игрока, которому выдаёте. Пароль ставится рандомный от 1000 до 9999
format(string,sizeof(string),"Ваш админ пароль: %d",PlayerInfo[giveplayerid][pAdminPass]);
SendClientMessage(giveplayerid,цвет,string); // Выводим сообщение с паролем на экран
В дефайны:
Код
#define adm if(ALogged [playerid]== false) return SPD(playerid,номер диалога,DSI,"Пароль администратора","Введите Ваш пароль администратора.","Выбрать","Закрыть");
В public OnDialogResponse:
Код
case номер диалога:
{
if(response)
{
if(strval(inputtext) == PlayerInfo[playerid][pAdminPass])
{
SCM(playerid,цвет,"Вы успешно авторизовались как администратор сервера!");
ALogged [playerid]= true;
}
else Kick(playerid);
}
}
Как-то вот так. Это простенький вариант.
adm прописываем во все админ-команды