PHP код:
CMD:ban(playerid, params[])
{
new Reason[32], string[144], query_string[250], days_string[4+1];
if(aInfo[playerid][aLevel] < 1) return SendClientMessage(playerid, COLOR_GREY, CommandNotFound);
if(!aInfo[playerid][aLogged] == true) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
if(sscanf(params, "udS()[32]", params[0], params[1], Reason)) return SyntaxCMD(playerid, "/ban [ID/Ник] [кол-во дней] [причина]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
if(IsPlayerAuthorized(params[0]) == PLAYER_OFFLINE) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotLogged);
if(!(1 <= params[1] <= 100)) return SendClientMessage(playerid, COLOR_GREY, ""ERROR" Количество дней от 1 до 100.");
if(strlen(Reason) > 32) return SendClientMessage(playerid, COLOR_GREY, ""ERROR" Причина не может содержать более 32 символов.");
GetDeclensionWord(days_string, sizeof(days_string), params[1], "день", "дня", "дней");
if(strlen(Reason))
{
format(string, sizeof(string), "%s %s[%d] забанил %s[%d] на %d %s. Причина: %s", ADMRank(playerid), GetName(playerid), playerid, GetName(params[0]), params[0], params[1], days_string, Reason);
SendClientMessageToAll(COLOR_LRED, string);
SendMes(params[0], COLOR_GOLD, ""GIVE"%s %s[%d] забанил тебя на %d %s. Причина: %s", ADMRank(playerid), GetName(playerid), playerid, params[1], days_string, params[1]);
}
else
{
format(string, sizeof(string), "%s %s[%d] забанил %s[%d] на %d %s.", ADMRank(playerid), GetName(playerid), playerid, GetName(params[0]), params[0], params[1], days_string);
SendClientMessageToAll(COLOR_LRED, string);
SendMes(params[0], COLOR_GOLD, ""GIVE" %s %s[%d] забанил тебя на %d %s.", ADMRank(playerid), GetName(playerid), playerid, params[1], days_string);
strmid(Reason, "Не указана", 0, strlen("Не указана"), 32);
}
format(query_string, sizeof(query_string), "INSERT INTO `banlist` (name,whobanned,ip,bandate,bantime,time,unbandate,reason) VALUES ('%s','%s','%s',CURDATE(),CURTIME(),%d,CURDATE() + INTERVAL %i DAY,'%s')", GetName(params[0]), GetName(playerid), pInfo[params[0]][pIP], params[1], params[1], Reason);
mysql_tquery(mysql_connect_ID, query_string, "", "");
Kick(params[0]);
return 1;
}
Если не использовать переменную reason, а использовать params[2], то не хочет работать вот эта часть кода, почему?
PHP код:
format(query_string, sizeof(query_string), "INSERT INTO `banlist` (name,whobanned,ip,bandate,bantime,time,unbandate,reason) VALUES ('%s','%s','%s',CURDATE(),CURTIME(),%d,CURDATE() + INTERVAL %i DAY,'%s')", GetName(params[0]), GetName(playerid), pInfo[params[0]][pIP], params[1], params[1], Reason);
mysql_tquery(mysql_connect_ID, query_string, "", "");
Kick(params[0]);