convert to r7 plugin mysql -
TuTh - 31.12.2012
i tried to convert this code but it's don't work, the server closed connection
Код:
stock IsPlayerBanned(playerid)
{
new IP[16], String[128], Query[128], reason[64], admin[32], i[128], seconds;
GetPlayerIp(playerid, IP, sizeof(IP));
format(Query, sizeof(Query), "SELECT * FROM `bans` WHERE (`Username` = '%s' OR `IP` = '%s') AND `Banned` = 1 LIMIT 1", PlayerName(playerid), IP);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
while(mysql_fetch_row_format(Query, "|"))
{
mysql_fetch_field_row(i, "Reason"); format(reason, sizeof(reason), i);
mysql_fetch_field_row(i, "Seconds"); seconds = strval(i);
mysql_fetch_field_row(i, "Admin"); format(admin, sizeof(admin), i);
}
if(seconds > gettime())
{
SendClientMessage(playerid, RED_COLOR, "[BAN] You are banned from this server!");
format(String, sizeof(String), "* Ban reason: %s", reason);
SendClientMessage(playerid, RED_COLOR, String);
format(String, sizeof(String), "* Admin: %s", admin);
SendClientMessage(playerid, RED_COLOR, String);
format(String, sizeof(String), "* You'll be unbanned in: %s", timec(gettime()-(gettime()-seconds)));
SendClientMessage(playerid, RED_COLOR, String);
Kick(playerid);
}
else
{
format(Query, sizeof(Query), "UPDATE `bans` SET `Banned` = 0 WHERE `Username` = '%s'", PlayerName(playerid));
mysql_query(Query);
format(String, sizeof(String), "[UNBAN] %s (%i) has been unbanned from the server!", PlayerName(playerid), playerid);
SendClientMessageToAll(GREEN_COLOR, String);
}
}
mysql_free_result();
return 1;
convert:
isplayerbanned it's work
log:
[15:01:11] ProcessQueryThread(CheckPlayerBanned) - Query was successful. (SELECT * FROM `bans` WHERE (`Username` = 'Test' OR `IP` = '86.126.122.128') AND `Banned` = 1 LIMIT 1)
[15:01:11] ProcessQueryThread(CheckPlayerBanned) - Data caching enabled.
[15:01:11] CMySQLHandler::StoreResult() - Result was stored.
[15:01:11] CMySQLHandler::FreeResult() - Result was successfully free'd.
Код:
stock IsPlayerBanned(playerid)
{
new IP[16], szQuery[300];
GetPlayerIp(playerid, IP, sizeof(IP));
format(szQuery, sizeof(szQuery), "SELECT * FROM `bans` WHERE (`Username` = '%s' OR `IP` = '%s') AND `Banned` = 1 LIMIT 1", returnName(playerid), IP);
mysql_function_query(mysqlh, szQuery, true, "CheckPlayerBanned", "is", playerid);
}
stock CheckPlayerBanned(playerid)
{
new rows,fields;
cache_get_data(rows,fields);
if(rows)
{
new temp[40];
new IP[16], String[128], szQuery[128], reason[64], admin[32], seconds;
cache_get_field_content(0, "Reason", reason);
cache_get_field_content(0, "Seconds", temp), seconds = strval(temp);
cache_get_field_content(0, "Admin", admin);
if(seconds > gettime())
{
SendClientMessage(playerid, COLOR_RED, "You are banned from this server!");
format(String, sizeof(String), "* Ban reason: %s", reason);
SendClientMessage(playerid, COLOR_RED, String);
format(String, sizeof(String), "* Admin: %s", admin);
SendClientMessage(playerid, COLOR_RED, String);
format(String, sizeof(String), "* You'll be unbanned in: %s", timec(gettime()-(gettime()-seconds)));
SendClientMessage(playerid, COLOR_RED, String);
Kick(playerid);
}
else
{
format(szQuery, sizeof(szQuery), "UPDATE `bans` SET `Banned` = 0 WHERE `Username` = '%s'", PlayerName(playerid));
mysql_function_query(mysqlh, szQuery, false, "SendQuery", "");
}
return 1;
}