AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Solved Compiler Internal Error (https://forums.alliedmods.net/showthread.php?t=317826)

edon1337 07-31-2019 12:45

Compiler Internal Error
 
I have this ~4K lines plugin, and I was getting internal error when trying to compile, so I tried commenting parts to find out which was causing the error, turns it out it's this:

PHP Code:

public OnGagPlayerReasonid )
{
    new 
szReason32 ];
    
read_argsszReasoncharsmaxszReason ) );
    
    
remove_quotesszReason );
    
trimszReason );
    
    new 
iPlayer g_iGagid ][ GAG_ID ];
    
    new 
iImmunityLevel GetImmunityLevelid );
    new 
iImmunityLevelTarget GetImmunityLeveliPlayer );
    
    if( 
iImmunityLevel iImmunityLevelTarget )
    {
        
CC_SendMessageid"&x04%s &x03%L"g_iConfigSystem_Prefix ], id"CANT_PERFORM_IMMUNITY" );
        
arraysetg_iGagid ], 0sizeofg_iGag[ ] ) );
        
        return 
PLUGIN_HANDLED;
    }
    
    new 
szFlags];
    
copyszFlagscharsmaxszFlags ), g_iGagid ][ GAG_FLAGS ];
    
    new 
szDate32 ], szNameAdmin32 ], szNameUser32 ], szSteamIdUser32 ], szIpUser24 ], szExpireDate32 ], iSeconds g_iGagiPlayer ][ GAG_SECONDS ];
    
get_time"%m/%d/%Y - %H:%M:%S"szDatecharsmaxszDate ) );
    
    
get_user_nameidszNameAdmincharsmaxszNameAdmin ) );
    
get_user_nameiPlayerszNameUsercharsmaxszNameUser ) );
    
get_user_authidiPlayerszSteamIdUsercharsmaxszSteamIdUser ) );
    
get_user_ipiPlayerszIpUsercharsmaxszIpUser ), );
    
    if( 
iSeconds == )
    {
        
CC_SendMessage0"&x04%s %L"g_iConfigSystem_Prefix ], LANG_PLAYER"GAGGED_PERMANENT"szNameAdminszNameUserszFlagsszReason );
        
log_to_fileg_iConfigLogs_File ], "(%s) %L"szDateLANG_PLAYER"LOG_GAGGED_PERMANENT"szNameAdminszNameUserszSteamIdUserszIpUserszReason );
        
        
copyszExpireDatecharsmaxszExpireDate ), "never" );
    }
    
    else
    {
        
AddSecondsToDateszDateiSecondsszExpireDatecharsmaxszExpireDate ) );
        
        if( 
iSeconds == )
        {
            
CC_SendMessage0"&x04%s %L"g_iConfigSystem_Prefix ], LANG_PLAYER"GAGGED_SINGULAR"szNameAdminszNameUserszReasonszFlags );
            
log_to_fileg_iConfigLogs_File ], "(%s) %L"szDateLANG_PLAYER"LOG_GAGGED_SINGULAR"szNameAdminszNameUserszSteamIdUserszIpUserszReasonszExpireDate );
        }
        
        else
        {
            
CC_SendMessage0"&x04%s %L"g_iConfigSystem_Prefix ], LANG_PLAYER"GAGGED_PLURAL"szNameAdminszNameUseriSecondsszReasonszFlags );
            
log_to_fileg_iConfigLogs_File ], "(%s) %L"szDateLANG_PLAYER"LOG_GAGGED_PLURAL"szNameAdminszNameUserszSteamIdUserszIpUseriSecondsszReasonszExpireDate );
        }
    }
    
    
trimszNameUser );
    
trimszSteamIdUser );
    
trimszIpUser );
    
trimszExpireDate );
    
trimszReason );
    
trimszNameAdmin );
    
    new 
eDataPlayerGag ];    
    
copyeDataPlayer_Name ], charsmaxeDataPlayer_Name ] ), szNameUser );
    
copyeDataPlayer_SteamId ], charsmaxeDataPlayer_SteamId ] ), szSteamIdUser );
    
copyeDataPlayer_IP ], charsmaxeDataPlayer_IP ] ), szIpUser );
    
copyeDataPlayer_GagExpire ], charsmaxeDataPlayer_GagExpire ] ), szExpireDate );
    
copyeDataPlayer_GagReason ], charsmaxeDataPlayer_GagReason ] ), szReason );
    
copyeDataPlayer_GagFlags ], charsmaxeDataPlayer_GagFlags ] ), szFlags );
    
    
ArrayPushArrayg_aBanseData );
    
    if( 
szFlags"v" ) != -&& is_user_connectedid ) )
    {
        
set_speakiPlayerSPEAK_MUTED );
    }
    
    
GagPlayerszNameUserszSteamIdUserszIpUserszReasonszFlagsszExpireDate );
    
set_task1.0"TaskCheckGagExpire"id TASK_GAG_CHECK, .flags="b" );
    
    
arraysetg_iGagid ], 0sizeofg_iGag[ ] ) );
    
    
set_task0.1"ReOpenGagMenu"id TASK_GAG_MENU );
    
    return 
PLUGIN_HANDLED;


When I comment new szReason[ 32 ]; it just shows normal errors, since the variable is not created, but when I uncomment it, it shows internal error.
Anyone has any idea what might be the cause of this error? I remember I've seen this error long ago, but I have no idea how I managed to fix it.

Natsheh 07-31-2019 14:04

Re: Compiler Internal Error
 
PHP Code:

     
    
new szFlags]; 
    
copyszFlagscharsmaxszFlags ), g_iGagid ][ GAG_FLAGS ]; 

:arrow:
PHP Code:

     
    
new szFlags]; 
    
copyszFlagscharsmaxszFlags ), g_iGagid ][ GAG_FLAGS ] ) ; // you forgot to close 


edon1337 07-31-2019 14:14

Re: Compiler Internal Error
 
Quote:

Originally Posted by Natsheh (Post 2661320)
PHP Code:

     
    
new szFlags]; 
    
copyszFlagscharsmaxszFlags ), g_iGagid ][ GAG_FLAGS ]; 

:arrow:
PHP Code:

     
    
new szFlags]; 
    
copyszFlagscharsmaxszFlags ), g_iGagid ][ GAG_FLAGS ] ) ; // you forgot to close 


Thanks, I just figured it out myself and then saw your post (not trying to be disgraceful to your comment). I still get internal error, I'm gonna keep looking for mistakes, apparently you get internal error when you have a lot of mistakes in your code.

edon1337 07-31-2019 14:17

Re: Compiler Internal Error
 
Fixed.

Natsheh's post + this

Code:


    if( szFlags, "v" )
!= -1 && is_user_connected( id ) )
    {
        set_speak( iPlayer, SPEAK_MUTED );
    }

-->
Code:

        if( equali( szFlags, "v" ) != -1 && is_user_connected( id ) )
        {
                set_speak( iPlayer, SPEAK_MUTED );
        }

I'm interested in knowing why only 2 mistakes would cause such confusing error?

EFFx 07-31-2019 22:03

Re: Compiler Internal Error
 
I don't know why it happens, may be due the number of lines that you write, but if you make a mistake, the compiler prints errors on lines that doesn't make sense at all, you need to read line-per-line until you see what you've made wrong... it sucks.


All times are GMT -4. The time now is 17:27.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.