SA-MP Forums Archive
unexplained bug again... - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: unexplained bug again... (/showthread.php?tid=382512)



unexplained bug again... - Roel - 03.10.2012

Hello, I have this function:

pawn Код:
stock STOCK_InvalidMainName(str[])
{
    for(new c = 0; c < sizeof(ARY_INVALID_CHARACTERS); c++)
    {
        if(strfind(str, ARY_INVALID_MAIN_CHARACTERS[c], true) != -1)
        {
            return true;
        }
    }
    for(new n = 0; n < sizeof(ARY_INVALID_NAME_PARTS); n++)
    {
        if(strfind(str, ARY_INVALID_NAME_PARTS[n], true) != -1)
        {
            return true;
        }
    }
    return false;
}
Which is used in this:
pawn Код:
case DEF_DIALOG_REGISTER: // MAIN ACCOUNT NAME
        {
            if(!response) return FUNCTION_RegisterDialog(playerid,0);
            if(!STOCK_InvalidMainName(inputtext))
            {
                // IT DOESN'T REACH THIS POINT. IF THE STOCK IS FALSE ELSE IT RETURNS THE CORRECT ERROR>
                if(strlen(inputtext) <= 16 && strlen(inputtext) >= 4)
                {

                        Escape(inputtext);
                       
                        //STOCK_PlayerDebug(playerid,"[DEBUG] %s",p[VAR_CHAR_ESCAPED]);
                        format(p[VAR_CHAR_STRING],STR_MEDIUM,"SELECT * FROM `plr_account` WHERE `MAIN_NAME` = '%s'",p[VAR_CHAR_ESCAPED]);
                        mysql_function_query(VAR_SQL_CONNECTION, p[VAR_CHAR_STRING], true, "FUNCTION_NameExist", "id", playerid,0);

                } else return FUNCTION_RegisterDialog(playerid,0), FUNCTION_PlayerError(playerid,6);
            } else return FUNCTION_RegisterDialog(playerid,0), FUNCTION_PlayerError(playerid,5);
        }
If the stock returns false, there where no invalid characters found, but it jjust doesn't ahead with the rest of it .
if(!STOCK_InvalidMainName(inputtext))
{
It doesn't come here when it is false.?

Somebody know how to fix this mistery because I get stressed again lol.

PS: some time ago it work perfect, and suddenly it fails...


Re: unexplained bug again... - Vince - 03.10.2012

I'd rather check for valid characters instead of invalid characters, for the valid characters only include a-z, A-Z and maybe the underscore.


Re: unexplained bug again... - Roel - 03.10.2012

Yea not a bad idea, but I found the bug, the sizeof() of the first loop belongs to another array lol, so I think it keept looping...