Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: skripte iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 16, 2020, 13:57:53 POSLE PODNE

Naslov: Pitanje
Poruka od: skripte iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 16, 2020, 13:57:53 POSLE PODNE
Problem(error/warning): Koristim y_dialogs i kako da proverim da li je inputtext null, isnull ne radi da znate
Deo skripte: [pawn]stock Auth_DoRegister(playerid, step = 0)
{
    switch(step)
    {
        case 0:
        {
            inline passwordDialog(id, dialogid, response, listitem, string:inputtext[])
            {
                #pragma unused id, dialogid, listitem

                if(!response) {
                    Kick(playerid);
                    return;
                }

                if(strlen(inputtext) < MIN_PASSWORD_LENGTH) {
                    va_SendErrorMessage(playerid, "Žao nam je ali Vaša lozinka mora da ima minimalno %d karaktera!", MIN_PASSWORD_LENGTH);
                    Auth_DoRegister(playerid);
                    return;
                }

                strcpy(PlayerPassword[playerid], inputtext);

                va_SendServerMessage(playerid, "Okej, uneli ste "SERVER"%s "WHITE"za lozinku naloga.", inputtext);
                Auth_DoRegister(playerid, step + 1);
            }

            new string[450];
            format(string, sizeof(string), ""WHITE"Dobro nam došli, "SERVER"%s\n\n"WHITE"Ovaj nalog "DARK_ORANGE"nije registrovan "WHITE"na našem serveru.\nDa biste ga registrovali, unesite željenu lozinku.\nUnošenjem lozinke zapocinjete proces registracije naloga.\n\n"INDIANRED"Napomene:\n\t"INDIANRED"- Lozinka mora imati minimalno %d karaktera\n\t"INDIANRED"- Lozinka mora da bude sacinjena od brojeva i slova\n\t"INDIANRED"- Ova lozinka ce Vam biti potrebna za logovanje na nalog", PlayerName[playerid], MIN_PASSWORD_LENGTH);

            Dialog_ShowCallback(playerid, using inline passwordDialog, DIALOG_STYLE_PASSWORD, va_return(""ORANGE_RED"(%d/4) Lozinka", step + 1), string, D_CONFIRM, D_CANCEL);
        }
        case 1:
        {
            inline genderDialog(id, dialogid, response, listitem, string:inputtext[])
            {
                #pragma unused id, dialogid, inputtext

                if(!response) {
                    Auth_DoRegister(playerid, step - 1);
                    return;
                }

                PlayerGender{playerid} = (listitem + 1);
                va_SendServerMessage(playerid, "Okej, izabrali ste "SERVER"%s "WHITE"pol.", listitem == 0 ? "muški" : "ženski");

                Auth_DoRegister(playerid, step + 1);
            }
            Dialog_ShowCallback(playerid, using inline genderDialog, DIALOG_STYLE_LIST, va_return(""ORANGE_RED"(%d/4) Pol", step + 1), ""WHITE"Muško\n"WHITE"Žensko", D_CONFIRM, D_CANCEL);
        }
        case 2:
        {
            inline skinTone(id, dialogid, response, listitem, string:inputtext[])
            {
                #pragma unused id, dialogid, inputtext

                if(!response) {
                    Auth_DoRegister(playerid, step - 1);
                    return;
                }

                PlayerSkinTone{playerid} = (listitem + 1);
                va_SendServerMessage(playerid, "Okej, izabrali ste "SERVER"%s "WHITE"ton kože.", listitem == 0 ? "svetliji" : "tamniji");

                Auth_DoRegister(playerid, step + 1);
            }
            Dialog_ShowCallback(playerid, using inline skinTone, DIALOG_STYLE_LIST, va_return(""ORANGE_RED"(%d/4) Ton kože", step + 1), ""WHITE"Svetliji\nTamniji", D_CONFIRM, D_CANCEL);
        }
        case 3:
        {
            inline playerRefferal(id, dialogid, response, listitem, string:inputtext[])
            {
                #pragma unused id, dialogid

                if(!response) {
                    Auth_DoRegister(playerid, step - 1);
                    return;
                }

                // This condition is called even though I did not enter anything...
                if(inputtext[0] != '\1') //
                {
                    print("AAAA");
                    inline doSqlCheck()
                    {
                        if(cache_num_rows())
                        {
                            PlayerRefferal{playerid} = REFFERAL_PLAYER;
                            cache_get_value_name_int(0, "player_id", PlayerRefferalDBID[playerid]);
                            va_SendServerMessage(playerid, "Okej, izabrali ste "SERVER"%s "WHITE"za Vašeg preporucitelja.", inputtext[0]);
                        }
                        else
                        {
                            va_SendErrorMessage(playerid, "Nismo uspeli pronaci "FIREBRICK"%s "WHITE"u databazi!", inputtext[0]);
                            Auth_DoRegister(playerid, step);
                        }
                        MySQL_TQueryInline(dbHandler, using inline doSqlCheck, "SELECT `player_id` FROM `player_profile` WHERE `player_name` = '%e'", inputtext[0]);
                    }
                }
                else
                {
                    switch(listitem)
                    {
                        case 0:
                        {
                            Dialog_ShowCallback(playerid, using inline playerRefferal, DIALOG_STYLE_INPUT, va_return(""ORANGE_RED"(%d/4) Refferal", step + 1), ""WHITE"Molimo Vas unesite username Vašeg prijatelja:", D_CONFIRM, D_CANCEL);
                        }
                        case 1:
                        {
                            PlayerRefferal{playerid} = REFFERAL_SERVER_LIST;
                            SendServerMessage(playerid, "Okej, izabrali ste "SERVER"listu servera "WHITE"za preporucitelja.");
                        }
                    }
                }
            }
            Dialog_ShowCallback(playerid, using inline playerRefferal, DIALOG_STYLE_LIST, va_return(""ORANGE_RED"(%d/4) Kako ste saznali za naš server?", step + 1), ""WHITE"Od prijatelja\nLista servera (Game-State/SACNR Monitor)\nFacebook Grupe\nDrugo", D_CONFIRM, D_CANCEL);
        }
        default:
        {
            inline doHash()
            {
                bcrypt_get_hash(PlayerPassword[playerid]);
                Auth_FinishRegistration(playerid);
            }
            BCrypt_HashInline(PlayerPassword[playerid], 12, using inline doHash);
        }
    }
    return;
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): /
Naslov: Odg: Pitanje
Poruka od: __vedran.xyz77 poslato Avgust 17, 2020, 15:32:33 POSLE PODNE
strlen ?
Naslov: Odg: Pitanje
Poruka od: King of the Jungle poslato Avgust 17, 2020, 15:40:06 POSLE PODNE
Citat: __vedran.xyz77 poslato Avgust 17, 2020, 15:32:33 POSLE PODNE
strlen ?
Decko uzeo moj kod sa githuba i pejsta ovde issues koje sam otvarao...

Zapravo je SAMP bug (ili je namerno uradjeno tako) da kada neko selektuje LISTITEM, inputtext nasledi vrednost LISTITEM-a

EDIT: Zapravo na wiki piše ovo:
Response output:
listitem is the number of the selected item, starting from 0.
inputtext is the text contained by the selected listitem, without the colors

Nego nisam čitao uopšte to, ljmao
Naslov: Odg: Pitanje
Poruka od: __vedran.xyz77 poslato Avgust 17, 2020, 19:45:25 POSLE PODNE
Jesus -_-
Naslov: Odg: Pitanje
Poruka od: mattazz poslato Avgust 20, 2020, 16:51:32 POSLE PODNE
Boze moj -.-  :-[

(https://www.dodaj.rs/images/maxy-bsampa196e3a1d8a7e73b.png)

Naslov: Odg: Pitanje
Poruka od: skripte iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 23, 2020, 09:41:20 PRE PODNE
sta se bozekate sve vas mogu poklopiti u skriptanju VI OVAJ KOD NE RAZUMETE JER JEDINI JA ZNAM DA SE RESAVA SA PROVEROM \1 spavanjee decki