Server Crashing
#1

This command is crashing the server, I don't understand what's wrong:

PHP код:
ACMD:offlineban[4](playeridparams[])
{
    new 
playernamequery[350], reason[200];
    if(
sscanf(params"s[25]s[200]"playernamereason))
        return 
Usage(playerid"offlineban [playername] [reason]");
    if(
pData[playerid][Level] < pData[playername][Level]) //Level Check
        
return COMMAND_NO_AUTH;
    
mysql_format(connectionHandlequerysizeof(query), "SELECT * FROM `account` WHERE `username` = '%e' LIMIT 1;"playername);
    new 
Cache:test mysql_query(connectionHandlequery);
    if(
cache_get_row_count() > 0)
     {
         
mysql_format(connectionHandlequery350"INSERT INTO bans VALUES (NULL, %s, %d, '%e')"playernamepData[playerid][RealID], reason);
        
mysql_query(connectionHandlequeryfalse);
        
MessageAll(-1"[IG] {A9C4E4}%p has been offline-banned from the server by %s. {00FF00}[REASON: %s]"playernameplayeridreason);
        
MessageAdmin(COLOR_BLUE"%o has offline-banned %o. {00FF00}[REASON: %s]"playeridplayernamereason);
        
SendAdminText(playerid"%o has offline-banned %o");
        
WriteLog("admin.html""%p has offline-banned %p"playeridplayername);
    }
    else
    {
        
Message(playerid, -1"{FF0000}[ADMIN]: {FFFFFF}The account you are trying to ban doesn't exist in the database.");
        
cache_delete(test);
    }
    return 
1;

Reply
#2

Crashdetect?
Reply
#3

No log. Something is wrong with this command.. Can someone check what's wrong? I've tried my best.
Reply
#4

what command processor you use?
Reply
#5

ACMD
for Admin commands
Reply
#6

PHP код:
stock GetName(playerid)
{
    new 
name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnamesizeof(name));
    return 
name;
}
ACMD:offlineban(playeridparams[])
{
    new 
playername[MAX_PLAYER_NAME], reason[50];
    if(
sscanf(params"s[24]s[50]"playernamereason)) return SendClientMessage(playerid, -1"USAGE: /offlineban [playername] [reason]");
    new 
query[350];
      
mysql_format(connectionHandlequerysizeof(query), "SELECT * FROM `account` WHERE `username` = '%e' LIMIT 1;"playername);
     new 
Cache:result mysql_query(connectionHandlequery);
     if(!
cache_num_rows()) return SendClientMessage(playerid, -1"ERROR: No users found. Make sure that you have entered full and correct username.");
    
mysql_format(connectionHandlequerysizeof(query), "INSERT INTO `bans` VALUES (NULL, '%s', '%d', '%e')"playernamepData[playerid][RealID], reason);
    
mysql_query(connectionHandlequery);
    
    
SendClientMessageToAll(-1"[IG] {A9C4E4}%s has been offline-banned from the server by %s. {00FF00}[REASON: %s]"playernameGetName(playerid), reason);
    
MessageAdmin(COLOR_BLUE"%s has offline-banned %s. {00FF00}[REASON: %s]"GetName(playerid), playernamereason);
    
SendAdminText(playerid"%s has offline-banned %s"GetName(playerid), playername);
    
WriteLog("admin.html""%s has offline-banned %s"GetName(playerid), playername);
    
cache_delete(result);
    return 
1;

Reply
#7

Quote:
Originally Posted by kovac
Посмотреть сообщение
PHP код:
stock GetName(playerid)
{
    new 
name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnamesizeof(name));
    return 
name;
}
ACMD:offlineban(playeridparams[])
{
    new 
playername[MAX_PLAYER_NAME], reason[50];
    if(
sscanf(params"s[24]s[50]"playernamereason)) return SendClientMessage(playerid, -1"USAGE: /offlineban [playername] [reason]");
    new 
query[350];
      
mysql_format(connectionHandlequerysizeof(query), "SELECT * FROM `account` WHERE `username` = '%e' LIMIT 1;"playername);
     new 
Cache:result mysql_query(connectionHandlequery);
     if(!
cache_num_rows()) return SendClientMessage(playerid, -1"ERROR: No users found. Make sure that you have entered full and correct username.");
    
mysql_format(connectionHandlequerysizeof(query), "INSERT INTO `bans` VALUES (NULL, '%s', '%d', '%e')"playernamepData[playerid][RealID], reason);
    
mysql_query(connectionHandlequery);
    
    
SendClientMessageToAll(-1"[IG] {A9C4E4}%s has been offline-banned from the server by %s. {00FF00}[REASON: %s]"playernameGetName(playerid), reason);
    
MessageAdmin(COLOR_BLUE"%s has offline-banned %s. {00FF00}[REASON: %s]"GetName(playerid), playernamereason);
    
SendAdminText(playerid"%s has offline-banned %s"GetName(playerid), playername);
    
WriteLog("admin.html""%s has offline-banned %s"GetName(playerid), playername);
    
cache_delete(result);
    return 
1;

Invalid Command.
Reply
#8

I have no idea what ACMD is. Try ZCMD and change "ACMD" to "CMD"
Reply
#9

What MySQL Logs says? Plus, you should use threaded queries instead of that.
Reply
#10

Quote:
Originally Posted by kovac
Посмотреть сообщение
I have no idea what ACMD is. Try ZCMD and change "ACMD" to "CMD"
Still crashes the server. ACMD is another command processor similar to ZCMD.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)