Flavorje
Нуль
- Регистрация
- 11 Авг 2019
- Сообщения
- 7
- Лучшие ответы
- 0
- Репутация
- 0
Делаю команду /setadmin [ID] [Уровень админки] [Имя админки]. В бд добавляется всё правильно, кроме имени админки. В бд записывается только первая буква.
PHP:
CMD:setadmin(playerid, params[])
{
if(GetPVarInt(playerid, "logged") == 0) return 1;
if(player_info[playerid][ADMIN] < 5) return 1;
if(sscanf(params, "dds[15]", params[0], params[1], params[2])) return SCM(playerid, COLOR_YELLOW, !"|{FFFFFF} Используйте /setadmin [ID] [Уровень] [Имя].");
if(GetPVarInt(params[0], "logged") != 1) return SCM(playerid, COLOR_RED, !"|{FFFFFF} Игрок не авторизован.");
if(params[1] < 1 || params[1] > 5) return SCM(playerid, COLOR_RED, !"|{FFFFFF} Вы ввели неверный уровень.");
new string[98];
format(string, sizeof(string), "|{FFFFFF} Администратор %s назначил Вас администратором %d уровня. Ваш ник: %s.", player_info[playerid][ADMINNAME], params[1], params[2]);
SCM(params[0], COLOR_YELLOW, string);
format(string, sizeof(string), "[A] Новый администратор %d уровня %s!", params[1], params[2]);
SCMA(0xFF0000FF, string);
SetAdmin(params[0], params[1], params[2]);
return 1;
}
stock SetAdmin(playerid, admin, adminname)
{
player_info[playerid][ADMIN] = admin;
player_info[playerid][ADMINNAME] = adminname;
static const fmt_query[] = "INSERT INTO `admins` (`name`, `alvl`, `aname`) VALUES ('%s', '%d', '%s')";
new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)+(-2+1)+(-2+15)];
mysql_format(dbHandle, query, sizeof(query), fmt_query, player_info[playerid][NAME], player_info[playerid][ADMIN], player_info[playerid][ADMINNAME]);
mysql_query(dbHandle, query, false);
format(query, sizeof(query), "UPDATE `users` SET `admin` = '%d', `adminname` = '%s' WHERE `id` = '%d' LIMIT 1", player_info[playerid][ADMIN], player_info[playerid][ADMINNAME], player_info[playerid][ID]);
mysql_query(dbHandle, query);
}