- Регистрация
- 20 Дек 2015
- Сообщения
- 242
- Лучшие ответы
- 0
- Репутация
- -10
Как сделать с одной команды выдачи админки,чтобы не только мог основатель,но и главный администратор!
Гл.администратор мог выдавать от 0 до 7,но чтобы не могу выдать или снять основателя!
Для ГЛ.Админа
Помогите пж..с меня плюсик!
---------- Сообщение добавлено в 01:58 ---------- Предыдущее сообщение добавлено в 00:04 ----------
20 Просмотров и не одного ответа, недоскриптеры !
Гл.администратор мог выдавать от 0 до 7,но чтобы не могу выдать или снять основателя!
Для ГЛ.Админа
PHP:
if(AdminInfo[playerid][pAdmin] < 8) return NOTADM(playerid);
PHP:
CMD:setadmin(playerid, params[])
{
if(!pInfo[playerid][pLogged]) return true;
if(!CheckFD(pInfo[playerid][pName])) return NOTADM(playerid);
new playername[MAX_PLAYER_NAME], admin_level;
if(sscanf(params, "s[24]i", playername, admin_level)) return SendClientMessage(playerid, COLOR_WHITE, !"Используйте: /setadmin [Ник игрока] [Уровень]");
if(strlen(playername) < 3) return SendClientMessage(playerid,COLOR_FLOD,!"[Ошибка]:"WH_C" Используйте НИК игрока,а не ID!");
if(admin_level < 0 || admin_level > 9) return SendClientMessage(playerid,COLOR_FLOD,!"[Ошибка]:"WH_C" Используйте значение от 0 до 9!");
new giverid = GetPlayerID(playername);
static const fmt_str[] = "INSERT INTO "T_ADMIN" (`name`, `level`, `whoadd`, `date`, `last_connect`) VALUES ('%s', %d, '%s', '%s', '%s')";
new string[sizeof(fmt_str) + (-2 + MAX_PLAYER_NAME) + (-2 + 4) + (-2 + MAX_PLAYER_NAME) + (-2 + 16) + (-2 + 16) + 32];
mysql_format(dbHandle, string, sizeof(string), "SELECT * FROM "T_ADMIN" WHERE `name` = '%s'",playername);
new Cache:result = mysql_query(dbHandle, string);
if(cache_num_rows())
{
if(admin_level == 0)
{
if(giverid != INVALID_PLAYER_ID) format(string,sizeof(string),"%s %s[%d] снял Вас с должности администратора",Admin_Rank[AdminInfo[playerid][pAdmin]],pInfo[playerid][pName],playerid),SendClientMessage(giverid,COLOR_AMBER,string),RemoveAdmin(giverid);
else
{
mysql_format(dbHandle, string, sizeof(string), "DELETE FROM "T_ADMIN" WHERE `name` = '%s'", playername);
mysql_query(dbHandle, string);
}
format(string,sizeof(string),"[A] %s %s[%d] снял %s с должности администратора",Admin_Rank[AdminInfo[playerid][pAdmin]],pInfo[playerid][pName],playerid,playername);
ASendClientMessage(COLOR_ADMIN,string);
format(string,sizeof(string),"Вы сняли %s с должности администратора",playername);
SendClientMessage(playerid,COLOR_WHITE,string);
format(string,sizeof(string),"Снял администратора %s",playername);
WriteLog(pInfo[playerid][pName],string);
format(string,sizeof(string),"Был снят администратором %s",pInfo[playerid][pName]);
WriteLog(playername,string);
}
else
{
if(giverid != INVALID_PLAYER_ID)
{
format(string,sizeof(string),"%s %s[%d] установил Вам %d уровень админ.прав",Admin_Rank[AdminInfo[playerid][pAdmin]],pInfo[playerid][pName],playerid,admin_level);
SendClientMessage(giverid,COLOR_AMBER,string);
if(AdminInfo[giverid][pDostup]) AdminInfo[giverid][pAdmin] = admin_level;
}
mysql_format(dbHandle, string, sizeof(string), "UPDATE "T_ADMIN" SET `level` = '%d' WHERE `name` = '%s'", admin_level,playername);
mysql_query(dbHandle, string);
format(string,sizeof(string),"[A] %s %s[%d] установил %s %d уровень админ.прав",Admin_Rank[AdminInfo[playerid][pAdmin]],pInfo[playerid][pName],playerid,playername,admin_level);
ASendClientMessage(COLOR_ADMIN,string);
format(string,sizeof(string),"Вы установили %d уровень админ.прав для %s",admin_level,playername);
SendClientMessage(playerid,COLOR_WHITE,string);
format(string,sizeof(string),"Установил %d уровень админки для %s",playername,admin_level);
WriteLog(pInfo[playerid][pName],string);
format(string,sizeof(string),"Получил %d уровень админки от %s",admin_level,pInfo[playerid][pName]);
WriteLog(playername,string);
}
}
else
{
if(admin_level == 0) return SendClientMessage(playerid,COLOR_FLOD,!"[Ошибка]:"WH_C" Игрок не является администратором!");
if(giverid != INVALID_PLAYER_ID)
{
format(string,sizeof(string),"%s %s[%d] назначил Вас администратором %d уровня",Admin_Rank[AdminInfo[playerid][pAdmin]],pInfo[playerid][pName],playerid,admin_level),SendClientMessage(giverid,COLOR_AMBER,string);
SendClientMessage(giverid,COLOR_AMBER,"[A] Используйте /alogin для авторизации в админ - панели. Команды/Нормативы: /ahelp");
}
new data[16]; GetDT(1,data);
mysql_format(dbHandle, string, sizeof(string), fmt_str, playername, admin_level,pInfo[playerid][pName],data,data);
mysql_tquery(dbHandle, string);
format(string,sizeof(string),"[A] %s %s[%d] назначил %s администратором %d уровня",Admin_Rank[AdminInfo[playerid][pAdmin]],pInfo[playerid][pName],playerid,playername,admin_level);
ASendClientMessage(COLOR_ADMIN,string);
format(string,sizeof(string),"[A] Вы добавили %s в список администрации. Уровень полномочий: %d",playername,admin_level);
SendClientMessage(playerid,COLOR_AMBER,string);
format(string,sizeof(string),"Назначил %s администратором %d уровня",playername,admin_level);
WriteLog(pInfo[playerid][pName],string);
format(string,sizeof(string),"Был назначен администратором %d уровня от %s",admin_level,pInfo[playerid][pName]);
WriteLog(playername,string);
}
cache_delete(result);
return true;
}
---------- Сообщение добавлено в 01:58 ---------- Предыдущее сообщение добавлено в 00:04 ----------
20 Просмотров и не одного ответа, недоскриптеры !