Chuck1
Новичок
Здравствуйте, нужна помощь в команде setadmin. Вроде бы всё хорошо и запросы к БД правильные, в чем проблема? Я выдаю например игроку админку, а когда он пишет /alogin то ничего нет и в базе в таблице с админками его тоже нет. Помогите!
PHP:
CMD:setadmin(playerid, params[])
{
if (pInfo[playerid][pAdmin] < 7 || !pTemp[playerid][PlayerADostup]) return SendClientMessage(playerid, COLOR_GREY, !""colwarn"[Ошибка]"colwhi" Вам недоступна данная возможность");
new
name[32],
query_[256],
string_[80];
if (sscanf(params, "s[32]d", name, params[1])) return SendClientMessage(playerid, COLOR_WHITE, !"Введите: /setadmin [ник] [уровень модератора]");
if (strlen(name) >= 32) return SendClientMessage(playerid, COLOR_GREY, !"Вы указали слишком много символов!");
if ((params[1] > 7 || params[1] < 0) && pInfo[playerid][pAdmin] < 10) return SendClientMessage(playerid, COLOR_GREY, !"Вы допустили ошибку");
else if ((params[1] > 10 || params[1] < 0) && pInfo[playerid][pAdmin] > 9) return SendClientMessage(playerid, COLOR_GREY, !"Вы допустили ошибку");
format(query_, sizeof query_, "SELECT * FROM s_admin WHERE Name = '%s'", name);
new Cache:result = mysql_query(dbHandle, query_);
if (cache_num_rows()) {//АДМИН найден
/* LEVEL UP / DOWN */
if (params[1] == 0)
{
/*else if (!strcmp(name, "Akatsuji_Costallone") || !strcmp(name,"Ryus_Luv") ||!strcmp(name,"Loka_Rampage")) {
SendClientMessage(playerid, COLOR_REDD, !"Конечно, а по ****у?");
cache_delete(result);
return 1;
}*/
format(query_, sizeof query_, "DELETE FROM `s_admin` WHERE `Name`= '%s' LIMIT 1", name);
mysql_tquery(dbHandle, query_, "", "");
new select_id;
sscanf(name, "u", select_id);
if (IsPlayerConnected(select_id))
{
pInfo[select_id][pAdmin] = 0;
pTemp[select_id][PlayerADostup] = false;
aAdminInfo[select_id][aID] =
aAdminInfo[select_id][aReport] =
aAdminInfo[select_id][aRepute] =
aAdminInfo[select_id][aJail] =
aAdminInfo[select_id][aMute] =
aAdminInfo[select_id][aPrison] =
aAdminInfo[select_id][aWarn] =
aAdminInfo[select_id][aBan] =
aAdminInfo[select_id][aRegIP] = 0;
Iter_Remove(AdminsTeam, select_id);
}
}
else
{
mysql_format(dbHandle, query_, sizeof query_, "UPDATE `s_admin` SET level = '%d' WHERE Name = '%s' LIMIT 1", params[1], name);
mysql_tquery(dbHandle, query_, "", "");
new select_id;
sscanf(name, "u", select_id);
if (IsPlayerConnected(select_id)) {
pInfo[select_id][pAdmin] = params[1];
}
}
}
else {
new
select_id,
player_ip[16];
select_id = getPlayerIdByNickname(name);
if (PlayerInConnected(select_id)) {
GetPlayerIp(select_id, player_ip, sizeof player_ip);
SendClientMessage(select_id, COLOR_LIGHTBLUE, "Теперь Вы администратор!");
} else player_ip = "0.0.0.0";
mysql_format(dbHandle, query_, sizeof query_, "INSERT INTO `s_admin` (Name, level, LastCon, IP, LastIP) VALUES ('%s', '%d', '%s', '%d', '%s', '%s')",
name, params[1], gettime(), player_ip, player_ip
);
mysql_tquery(dbHandle, query_, "", "");
}
cache_delete(result);
format(string_, sizeof string_, "Вы установили %s %d уровень администрирования", name, params[1]);
SendClientMessage(playerid, 0x6495EDFF, string_);
return 1;
}
