20.03.2018, 12:23
Quote:
This format doesn't make me crash:
Code:
'%%%s%%' mysql_format(Database, query, sizeof(query), "SELECT * FROM BanData WHERE IPAddress LIKE '%%%s%%' ORDER BY BannedOn DESC LIMIT 5;", targetip); |
I didn't get any logs now
Here's the command:
PHP Code:
CMD:searchbanip(playerid, params[])
{
if(LoggedIn[playerid] == false) return SendClientMessage(playerid, COLOR_RED, "ERROR: You must be logged in.");
if(PlayerInfo[playerid][AdminLevel] < 2) return SendClientMessage(playerid, COLOR_RED, "ERROR: Admin level 2+ command.");
new targetip;
if(sscanf(params, "s[24]", targetip)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /searchbanip [IP range]");
new query[256], info[128], string[700], User[24], BannedBy[24], BanReason[40], BannedOn[30], ExpiresOn[30], IPAddress[30], GPCI[130];
mysql_format(Database, query, sizeof(query), "SELECT * FROM BanData WHERE IPAddress LIKE '%%%s%%' ORDER BY BannedOn DESC LIMIT 5;", targetip);
new Cache:result = mysql_query(Database, query);
if(cache_num_rows() != 0)
{
format(info, sizeof(info), "{FF0000}There are bans found under the IP range you provided!{FFFFFF}\n{FEFE22}Displaying 5 latest:{FFFFFF}\n\n");
strcat(string, info);
for(new i = 0; i < cache_num_rows(); i++)
{
cache_get_value_name(i, "User", User, MAX_PLAYER_NAME);
cache_get_value_name(i, "BannedBy", BannedBy, MAX_PLAYER_NAME);
cache_get_value_name(i, "BanReason", BanReason, 40);
cache_get_value_name(i, "IPAddress", IPAddress, 16);
cache_get_value_name(i, "BannedOn", BannedOn, 30);
cache_get_value_name(i, "ExpiresOn", ExpiresOn, 30);
cache_get_value_name(i, "GPCI", GPCI, 130);
format(info, sizeof(info), "{FF0000}User: {FFFFFF}%s\n{FF0000}Banned by: {FFFFFF}%s\n{FF0000}Ban reason: {FFFFFF}%s\n{FF0000}IP Address: {FFFFFF}%s\n{FF0000}Banned on: {FFFFFF}%s\n{FF0000}Expires on: {FFFFFF}%s\n{FF0000}GPCI: {FFFFFF}%s\n\n", User, BannedBy, BanReason, IPAddress, BannedOn, ExpiresOn, GPCI);
strcat(string, info);
}
}
else
{
format(info, sizeof(info), "There are no bans found under the IP range you specified.");
strcat(string, info);
}
cache_delete(result);
ShowPlayerDialog(playerid, DIALOG_SEARCH_BAN_IP, DIALOG_STYLE_MSGBOX, "Ban lookup", string, "Close","");
new achat[128];
format(achat, sizeof(achat), "%s has searched bans under IP range '%s'.", GetName(playerid), targetip);
addChatMessage(achat, "blue");
return 1;
}