YCMD:oban(playerid, params[], help) { if(help) { SendClientMessage(playerid, X11_WHITE, "Bans an offline player"); return 1; } new username[(MAX_PLAYER_NAME*2)+1],reason[128]; if(!sscanf(params,"s[" #MAX_PLAYER_NAME "]s[128]",username,reason)) { mysql_real_escape_string(username, username); format(query, sizeof(query), "select INET_NTOA(`ip`),a.id FROM connections ca INNER JOIN characters c on c.id = ca.charid inner join accounts a on a.id = c.accountid where (c.username = \"%s\" OR a.username = \"%s\") ORDER BY ca.id DESC LIMIT 0,1",username,username); mysql_function_query(g_mysql_handle, query, true, "OnOfflineBanPlayer", "dss",playerid,username,reason); } else { SendClientMessage(playerid, X11_WHITE, "USAGE: /oban [username] [reason]"); } return 1; } public OnOfflineBanPlayer(playerid, name[],reason[]) { new ip[16],accid[16]; new rows, fields; cache_get_data(rows, fields); if(rows < 1) { SendClientMessage(playerid, X11_TOMATO_2, "* User not found"); return 1; } cache_get_row(0,0,ip); cache_get_row(0,1,accid); format(query, sizeof(query),"INSERT INTO `bans` SET `bannerid` = %d,`reason` = \"%s\",`accountid` = %d,`ip` = INET_ATON(\"%s\")",GetPVarInt(playerid, "AccountID"), reason, strval(accid),ip); mysql_function_query(g_mysql_handle, query, true, "EmptyCallback", ""); format(query, sizeof(query), "[AdmWarn]: %s has OBanned %s: %s",GetPlayerNameEx(playerid, ENameType_AccountName), name, reason); ABroadcast(X11_TOMATO_2, query, EAdminFlags_All); return 1; }
public OnOfflineBanPlayer(playerid, name[],reason[]) { new ip[16],accid[16]; new rows, fields; cache_get_data(rows, fields); if(rows > 0) { SendClientMessage(playerid, X11_TOMATO_2, "* User not found"); return 1; } cache_get_row(0,0,ip); cache_get_row(0,1,accid); format(query, sizeof(query),"INSERT INTO `bans` SET `bannerid` = %d,`reason` = \"%s\",`accountid` = %d,`ip` = INET_ATON(\"%s\")",GetPVarInt(playerid, "AccountID"), reason, strval(accid),ip); mysql_function_query(g_mysql_handle, query, true, "EmptyCallback", ""); format(query, sizeof(query), "[AdmWarn]: %s has OBanned %s: %s",GetPlayerNameEx(playerid, ENameType_AccountName), name, reason); ABroadcast(X11_TOMATO_2, query, EAdminFlags_All); return 1; }
Try this.
Код:
public OnOfflineBanPlayer(playerid, name[],reason[]) { new ip[16],accid[16]; new rows, fields; cache_get_data(rows, fields); if(rows > 0) { SendClientMessage(playerid, X11_TOMATO_2, "* User not found"); return 1; } cache_get_row(0,0,ip); cache_get_row(0,1,accid); format(query, sizeof(query),"INSERT INTO `bans` SET `bannerid` = %d,`reason` = \"%s\",`accountid` = %d,`ip` = INET_ATON(\"%s\")",GetPVarInt(playerid, "AccountID"), reason, strval(accid),ip); mysql_function_query(g_mysql_handle, query, true, "EmptyCallback", ""); format(query, sizeof(query), "[AdmWarn]: %s has OBanned %s: %s",GetPlayerNameEx(playerid, ENameType_AccountName), name, reason); ABroadcast(X11_TOMATO_2, query, EAdminFlags_All); return 1; } |