Oko y_dialog

Započeo ivanboskic, Avgust 30, 2023, 20:00:52 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 5 gostiju pregledaju ovu temu.

Pitanje/savjet: Zanima me kako da prebacim ona čuda iz easydialoga npr Dialog:dialog_login u taj y_dialog
Opširnije: /
Dodatno: /




Citat: realnaith poslato Avgust 31, 2023, 10:27:15 PRE PODNE
https://balkan-samp.com/forum/index.php?topic=130564.0
Gledao sam i to, al ja tražim login/register system sa y_dialog i bcrypt.Ima neki od Frostya što je objavljen al taj nema pola stvari

Preporucujem ti da svaki inline dialog izoliras u posebnu funkciju pogotovo ako ces ih nestovati.

Primjer bez posebnih funkcija:

CMD:testdialog(playerid, params[]) {
inline const Response(response, listitem, string:inputtext[]) {
#pragma unused listitem, inputtext

if (!response) {
return 1;
}

inline const Response2(response2, listitem2, string:inputtext2[]) {
#pragma unused listitem2, inputtext2

if (!response2) {
return 1;
}

SendClientMessage(playerid, -1, "Poruka");
}
Dialog_ShowCallback(playerid, using inline Response2, DIALOG_STYLE_MSGBOX, "Dialog 2", "Test dialog 2", "Poruka", "Izlaz");
}
Dialog_ShowCallback(playerid, using inline Response, DIALOG_STYLE_MSGBOX, "Dialog 1", "Test dialog 1", "Dalje", "Izlaz");
return 1;
}


Vec vidis kako bi ovo lose uticalo na preglednost koda.

Primjer sa funkcijama:


CMD:testdialog(playerid, params[]) {
Dialog_One(playerid);
return 1;
}

static Dialog_One(playerid) {
inline const Response(response, listitem, string:inputtext[]) {
#pragma unused listitem, inputtext

if (!response) {
return 1;
}

Dialog_Two(playerid);
}
Dialog_ShowCallback(playerid, using inline Response, DIALOG_STYLE_MSGBOX, "Dialog 1", "Test dialog 1", "Dalje", "Izlaz");
return 1;
}

static Dialog_Two(playerid) {
inline const Response(response, listitem, string:inputtext[]) {
#pragma unused listitem, inputtext

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

SendClientMessage(playerid, -1, "Poruka");
}
Dialog_ShowCallback(playerid, using inline Response, DIALOG_STYLE_MSGBOX, "Dialog 2", "Test dialog 2", "Poruka", "Nazad");
return 1;
}


U ovom primjeru sam ostavio takodje primjer kako mozes pritiskom na "Nazad" u "Dialog 2" otvoriti ponovo "Dialog 1".

U tutorialu iznad takodje nije naznaceno da nisu potrebni svi parametri iz OnDialogResponse ("id" i "dialogid").

Ajoj kako je tako težak ovaj y_dialog jebo te