Huseyn
Компетентный
Всем привет, ребята у меня проблема с снятие администрации, когда я снимаю админа в БД только удаляется "accounts"
а в БД "admin" остаётся как решит проблему с меня ++
а в БД "admin" остаётся как решит проблему с меня ++
PHP:
CMD:setadmin(playerid, params[])
{
if(GetString(GetName(playerid), NAME_DEVELOPER_ONE))
{
if(AdminLogged[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
new playername[24], admin_level;
if(sscanf(params, "s[24]i", playername, admin_level)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /setadmin [ник игрока] [уровень админа]");
ShowPlayerDialog(pName, D_ALOGIN, DIALOG_STYLE_PASSWORD, "{FFCC00}Регистрация администратора", "{FFFFFF}Введите пароль, который будет от панели администратора\n\n{63BD4E}Примечание:\n\t- Пароль должен состоять из латинских букв и цифр\n\t- Размер пароля от 6 до 15 символов", "Принять", "Отмена");
new string[128];
format(string, sizeof(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];
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);
}
}
return 1;
}
