convert to r7 plugin mysql
#1

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;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)