Пользователь
- Регистрация
- 15 Авг 2024
- Сообщения
- 29
- Автор темы
- #1
Привет форумчане, сегодня я хочу выложить для вас команду /makeadmin которая меняет админку игроку.
#Код
Если будут вопросы пишите
Pawn:
CMD:makeadmin(playerid, params[])
{
//Везде где есть pData поменяйте на свое
new pn[MAX_PLAYER_NAME], admlvl, plid, adminname[128], str[128], str1[128], db[128]; // создаем переменные
GetPlayerName(plid,pn,sizeof(pn)); // получаем имя игрока чтобы в дальнейшем вывести его
GetPlayerName(playerid,adminname,sizeof(adminname));// получаем имя админа чтобы в дальнейшем вывести его
if(pData[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "У вас нет доступа к этой команде!"); // если у игрока ниже 6 лвл админки, то выводит что нет прав для команды то выво
if(sscanf(params,"dd", plid, admlvl)) return SendClientMessage(playerid, -1, "/makeadmin [ID Игрока] [Уровень]."); //если игрок ввел чисто команду /makeadmin(без id и уровня) то ему пишет как ей пользоваться
if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, -1, "Игрок оффлайн."); // если игрок оффлайн
if(admlvl >=1 && admlvl <=8)// если все правильно
{
pData[playerid][pAdmin] = admlvl; // в enum меняем значение pAdmin на то, которое указано в команде
format(str, sizeof(str), "Вы назначили %s администратором %d уровня", pn, admlvl); // форматируем строку
format(str1, sizeof(str1), "Администратор %s назначил Вас администртором %d уровня", adminname, admlvl); // форматируем строку
SendClientMessage(playerid, -1, str); //выводим ее(строку)
SendClientMessage(plid, -1, str1); //выводим ее(строку)
format(db, sizeof(db), "UPDATE `users` SET `Admin` = '%d'", admlvl); // меняем таблицу Admin в базе данных, users измените на свое(чаще всего это accounts)
mysql_query(mysql, db);
}
if(admlvl == 0) // если админка = 0(тоесть админ снимает игрока с поста)
{
pData[playerid][pAdmin] = 0;
format(str, sizeof(str), "Вы сняли администратора %s с поста администратора.", pn); // форматируем строку
format(str1, sizeof(str1), "Администратор %s снял Вас с поста администратораю.", adminname); // форматируем строку
SendClientMessage(playerid, -1, str); // выводим ее(строку)
SendClientMessage(plid, -1, str1); // выводим ее(строку)
format(db, sizeof(db), "UPDATE `users` SET `Admin` = '0'"); // меняем таблицу Admin в базе данных, users измените на свое(чаще всего это accounts)
mysql_query(mysql, db);
}
if(admlvl > 8) return SendClientMessage(playerid, -1, "Уровень админки не должен привышать 8!"); // если админка больше 8, то выводит что больше 8 нельзя. Вы можете поменять 8 на свой максимальный уровень админки
if(plid == playerid) return SendClientMessage(playerid, -1, "Вы не можете изменять админку себе!") // если человек пытается поменять админку себе то пишет что нельзя
return 1;
}
Если будут вопросы пишите