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