Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Darkic poslato Jun 28, 2021, 19:10:46 POSLE PODNE

Naslov: y_dialog & y_inline
Poruka od: Darkic poslato Jun 28, 2021, 19:10:46 POSLE PODNE
Problem(error/warning):
Zanima me pozivanje dialoga unutar dialoga, dacu banalan primer za to. Zanemarite los kod, brzinski sam ukucao, jer to sada nije ni bitno, a nemam bas strpljenja. ;)

Izbacuje mi ovo
((warning) tag mismatch: expected tags "F[member=1996][/member]_[member=1996][/member]iiiis", or "F[member=1996][/member]_[member=1996][/member]iis"; but found "F[member=1996][/member]_[member=1996][/member]""

a kada dodam using inline dialog_pin<iiiis>

(error) undefined symbol "iiiis"

Deo skripte:
[pawn]
inline dialog_login(pid, dialogid, response, listitem, string:inputtext[])
    {
        #pragma unused pid, dialogid, listitem
       
        /* Ucitava lozinku iz `player_accounts` */

        if(!response)
            return Kick(playerid);
       
        if(!strcmp(inputtext, pInfo[playerid][Lozinka]))
        {
            /* Ucitavanje ostalih podataka iz `player_accounts` */

            if(pInfo[playerid][Admin])
            {
                /* Ucitavanje pina iz `player_admins` */

                inline dialog_pin()
                {
                    if(!response || strcmp(inputtext, aInfo[playerid][Pin]))
                    {
                        /* Banuje igraca. */
                        return true;
                    }

                    /* Ucitava ostale podatke iz `player_admins`, prijavljuje igraca kao admina i spawnuje ga. */

                }
                format(String, sizeof(String), "Unesite Admin PIN:");
                Dialog_ShowCallback(playerid, using inline dialog_pin, "Admin Pin", String, "Unesi", "Izlaz");
                return true;
            }

            /* Prijavljuje i spawnuje obicnog igraca. */
        }

        PogresnaLozinka[playerid] ++;
        if(PogresnaLozinka[playerid] == MAX_POKUSAJI)
            return Kick(playerid)

        format(String, sizeof(String), "Pogresna lozinka! Pokusaj %d od %d", PogresnaLozinka[playerid], MAX_POKUSAJI);
        Dialog_ShowCallback(playerid, using inline dialog_login, DIALOG_STYLE_PASSWORD, "Prijava", String, "Prijavi se", "Izlaz"); // Warning ovde izbacuje.
    }
    format(str, sizeof(str), "Vas racun je pronadjen, unesite lozinku:");
    Dialog_ShowCallback(playerid, using inline dialog_login, "Prijava", str, "Prijavi se", "Izlaz");
[/pawn]

E sad, znam da mogu napraviti dialog kao public funkciju i pozvati ga pomocu using public dialog_pin<iiiis>, ali me zanima da li je moguce na ovakav nacin to izvesti.

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Vaš odgovor
Naslov: Odg: y_dialog & y_inline
Poruka od: Bit Frosty poslato Jun 28, 2021, 21:23:05 POSLE PODNE
Nemoj da me drzis za rec ali sam prilicno siguran da nemozes da nestujes inline dialoge (sta vise nisam siguran da mozes da nestujes ostale inline stvari zbog nacina na koji je napravljen inline). Iskreno ne koristim inline a koristio sam ga mozda 5x u zivotu kad sam radio neke GM-ove od drugih ljudi.
Naslov: Odg: y_dialog & y_inline
Poruka od: Darkic poslato Jun 28, 2021, 23:07:56 POSLE PODNE
Citat: Deleted User poslato Jun 28, 2021, 21:23:05 POSLE PODNE
Nemoj da me drzis za rec ali sam prilicno siguran da nemozes da nestujes inline dialoge (sta vise nisam siguran da mozes da nestujes ostale inline stvari zbog nacina na koji je napravljen inline). Iskreno ne koristim inline a koristio sam ga mozda 5x u zivotu kad sam radio neke GM-ove od drugih ljudi.
mysql_inline recimo radi bez problema. Nema veze, hteo sam da iskoristim pun potencijal YSI paketa.
Naslov: Odg: y_dialog & y_inline
Poruka od: Muma poslato Jun 29, 2021, 01:06:06 PRE PODNE
@Sage
Naslov: Odg: y_dialog & y_inline
Poruka od: // xunder poslato Jun 29, 2021, 13:27:47 POSLE PODNE
Fali ti argument za dialog style


Dialog_ShowCallback(playerid, using inline dialog_pin, "Admin Pin", String, "Unesi", "Izlaz");

>>>
Dialog_ShowCallback(playerid, using inline dialog_pin, DIALOG_STYLE_PASSWORD, "Admin Pin", String, "Unesi", "Izlaz");