SkyFrost
Умник
Здравствуйте уважаемые пользователи Pawno-Info, у меня проблема в команде /setadmin, Как можно сделать так чтобы, данная команда работала вот в таком образе, /setadmin [ник игрока], и всё, данный игрок автоматический назначен на администратора 1-го уровня, вот, у меня такая проблема что, при вводе данный команды в mysql.log выходит такая ошибка.
Я хочу чтобы в таблице `admin` всё сохранялось, как тут у меня написано.. В коде.
И конечно же в таблице `accounts` чтобы автоматический выдало первый уровень администратирования, и в таблице `admin` тоже.
Вот и конечно же сам код.
PHP:
[00:49:27] [ERROR] cache_get_value_index_int: value 'Nick_Name' is not a number
[00:49:31] [ERROR] mysql_tquery: callback error: parameter count does not match format specifier length
PHP:
mysql_format(mysql_connect_ID, string, sizeof(string), "INSERT INTO `admin` (`name`, `level`, `last_connect`, `put_admin`, `data`) VALUES ('%s', 1, CURDATE(), '%s', CURDATE())", name, pInfo[playerid][pName]);
mysql_tquery(mysql_connect_ID, string, "", "");
Вот и конечно же сам код.
PHP:
CMD:setadmin(playerid, params[])
{
if(GetString(pInfo[playerid][pName], NAME_FULL_ACCESS_1) || GetString(pInfo[playerid][pName], NAME_FULL_ACCESS_2))
{
new playername[24];
if(sscanf(params, "s[24]", playername))
return SendClientMessage(playerid, COLOR_FADE1, "Введите: /setadmin [ник игрока]");
new string[128];
format(string, sizeof(string), "SELECT * FROM `admin` WHERE `name` = '%s'", playername);
mysql_tquery(mysql_connect_ID, string, "SetAdmin", "isi", playerid, playername);
}
return 1;
}
PHP:
forward SetAdmin(playerid, name[], level);
public SetAdmin(playerid, name[], level)
{
new string[256];
new rows;
cache_get_row_count(rows);
if(rows)
{
if(!level)
return SendClientMessage(playerid, COLOR_FADE1, "Игрок не администратор");
mysql_format(mysql_connect_ID, string, sizeof(string), "INSERT INTO `admin` (`name`, `level`, `last_connect`, `put_admin`, `data`) VALUES ('%s', 1, CURDATE(), '%s', CURDATE())", name, pInfo[playerid][pName]);
mysql_tquery(mysql_connect_ID, string, "", "");
mysql_format(mysql_connect_ID, string, sizeof(string), "UPDATE `accounts` SET `admin` = '1' WHERE `player_name` = '%s' LIMIT 1", name);
mysql_tquery(mysql_connect_ID, string, "", "");
format(string, sizeof(string), "Вы назначили %s на должность администратора", name);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "[A] %s[%d] назначил %s на должность администратора", pInfo[playerid][pName], playerid, name);
SendAdminMessage(string, COLOR_GREY);
if(GetPlayerID(name) != INVALID_PLAYER_ID)
{
format(string, sizeof(string), "%s[%d] назначил Вас на должность администратора", pInfo[playerid][pName],playerid);
SendClientMessage(GetPlayerID(name), COLOR_YELLOW, string);
}
}
return 1;
}
