Windows_8
Умник
Команда не удаляет из БД и не записывает некоторые значения (когда понижаешь администратора)
MySQL r41-2
MySQL r41-2
PHP:
CMD:makeadmin(playerid, params[])
{
if(admin[playerid][admin_level] < 6) return SendClientMessage(playerid, -1, "Команды не существует. Информация по командам /help.");
if(admin[playerid][admin_logged] == false) return SendClientMessage(playerid, -1, !"Авторизуйтесь в панели администратора.");
extract params -> new player:target, adm_level; else
return SendClientMessage(playerid, -1, !"Введите: /makeadmin [ID игрока] [уровень]");
if(target == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, !"Указанный игрок не подключён к серверу.");
if(!(0 <= adm_level <= 6)) return SendClientMessage(playerid, -1, !"Уровень администратора не может быть менее 0 или более 6.");
if(admin[target][admin_level] == adm_level) return SendClientMessage(playerid, -1, !"Вы не можете установить игроку тот же самый уровень администратора.");
new
string[60 - 6 + MAX_PLAYER_NAME + 5 + 1];
format(string, sizeof(string), "Вы назначили %s[%d] администратором %d уровня.", pInfo[target][pName], target, adm_level);
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "Администратор %s[%d] назначил вас администратором %d уровня.", pInfo[playerid][pName], playerid, adm_level);
SendClientMessage(target, -1, string);
if(adm_level == 0)
{
new
sql_query[57 - 2 + 6];
format(sql_query, sizeof(sql_query), "DELETE FROM `admins` WHERE `admin_uid` = '%d'");
mysql_tquery(mysql_connect_ID, sql_query, "", "");
admin[playerid][admin_uid] = 0;
admin[playerid][admin_level] = 0;
admin[playerid][admin_password][0] = EOS;
strmid(admin[playerid][admin_password], "none", 0, 4);
admin[playerid][admin_salt][0] = EOS;
strmid(admin[playerid][admin_salt], "none", 0, 4);
admin[playerid][admin_login_attempts] = 3;
admin[playerid][admin_logged] = false;
Iter_Remove(ConnectedAdmins, target);
}
else
{
if(adm_level == 0 + 1)
{
SendClientMessage(playerid, -1, !"Поздравляем! Регистрация пароля администратора /alogin.");
}
else
{
new
sql_query[98 - 6 + MAX_PLAYER_NAME + 1 + 6];
format(sql_query, sizeof(sql_query), "UPDATE `admins` SET `admin_name` = '%s', `admin_level` = '%d' WHERE `admin_uid` = '%d'");
mysql_tquery(mysql_connect_ID, sql_query, "", "");
}
}
admin[target][admin_level] = adm_level;
return 1;
}
