PHP код:
CMD:makeadmin(playerid,params[])
{
new playername[24],admin_level,string[128];
if(sscanf(params,"s[24]i",playername,admin_level))return send(playerid,0x00BFFFAA,"[ÊÎÌÀÍÄÛ] {FFFFFF}/makeadmin [Íèê èãðîêà] [Óð.àäìèíêè].");
f(string,"SELECT * FROM "T_ADMIN" WHERE `name` = '%s'",playername);
mysql_tquery(dbHandle,string,"SetAdmin","isi",playerid,playername,admin_level);
return 1;
}
PHP код:
forward SetAdmin(playerid, name[], level);
public SetAdmin(playerid, name[], level)
{
new rows, fields, string[256];
if(cache_get_row_count(dbHandle) > 0)
{
cache_get_data(rows, fields);
if(rows)
{
if(!level)
{
if(GetPlayerID(name) != INVALID_PLAYER_ID) PI[GetPlayerID(name)][pAdmin] = 0;
mysql_format(dbHandle, string, sizeof(string), "DELETE FROM "T_ADMIN" WHERE `name`='%s'", name);
mysql_tquery(dbHandle, string, "", "");
mysql_format(dbHandle, string, sizeof(string), "UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE `name` = '%s'", name);
mysql_tquery(dbHandle, string, "", "");
format(string, sizeof(string), "Вы сняли %s с должности администратора", name);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "%s снял %s с должности администратора", GetName(playerid), name);
SendLog("DeleteAdmin", string);
}
else
{
if(GetPlayerID(name) != INVALID_PLAYER_ID) PI[GetPlayerID(name)][pAdmin] = level;
mysql_format(dbHandle, string, sizeof(string), "UPDATE "T_ADMIN" SET `level` = '%d' WHERE `name` = '%s' LIMIT 1", level, name);
mysql_tquery(dbHandle, string, "", "");
format(string, sizeof(string), "Вы установили уровень администратора %s на %i", name, level);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "%s установил уровень администратора %s на %i", GetName(playerid), name, level);
SendLog("EditAdmin", string);
}
}
else
{
if(!level) return SendClientMessage(playerid, COLOR_GREY, "Игрок не администратор");
new data[15];
getdate(years, months, days);
format(data, sizeof(data), "%02d.%02d.%04d", days, months, years);
mysql_format(dbHandle, string, sizeof(string), "INSERT INTO "T_ADMIN" (`name`, `level`, `last_connect`, `put_admin`, `data`) VALUES ('%s', %d, '%s', '%s', '%s')", name, level, data, GetName(playerid), data);
mysql_tquery(dbHandle, string, "", "");
format(string, sizeof(string), "%s добавлен в список администрации. Уровень полномочий %i", name, level);
SendClientMessage(playerid, COLOR_GREEN, string);
format(string, sizeof(string), "%s добавил в список администрации %s (%i уровень)", GetName(playerid), name, level);
SendLog("SetAdmin", string);
if(GetPlayerID(name) != INVALID_PLAYER_ID)
{
format(string, sizeof(string), "%s назначил Вас администратором", GetName(playerid));
SendClientMessage(GetPlayerID(name), COLOR_YELLOW, string);
}
}
}
else SendClientMessage(playerid,0xFF0000AA,"[ОШИБКА] {FFFFFF}Этот игрок не в сети.");
return 1;
}