Ⅰ) Šta je ovo?
Jako je slično y_dialogsima (using inline), unutar same funkcije pravite response dialoga (potreban je PawnPlus, logično).
Ⅱ) Kako se instalira?
Lagano, sampctl p install AGraber/samp-async-dialogs ili samo rokneš async-dialogs.inc u -i folder i tjt.
Ⅲ) Kako se koristi?
Još lakše;
Napravio sam jedan kratak primer koji koristi sve što ovaj include nudi, ništa pretarano, samo da razumete dok me ne banuju:
stock showAgeDialog(const playerid) {
new ageDialog;
await_arr(ageDialog) ShowPlayerAsyncDialog(playerid, DIALOG_STYLE_INPUT, ""SERVER"Nalog > "WHITE"Koliko Vaš "SERVER"karaktera "WHITE"ima godina?", ""SERVER">> "WHITE"Molimo Vas da unesete željene godine Vašeg IC karaktera:", D_CONFIRM, D_CANCEL);
if (ageDialog) {
PlayerAge = ageDialog;
va_PlayerTextDrawSetString(playerid, PTD_Register, "%s", (PlayerGender == 1) ? ("Zensko") : ("Musko"));
}
}>> new ageDialog;
Kreirate ID dialoga tj. preko ovoga vežete dialog za e_DIALOG_RESPONSE_INFO enum.
Šta je unutar tog enuma?
Ovo brale, običan dialog jebo ga ne može zmaja stavit unutra:
enum e_DIALOG_RESPONSE_INFO
{
E_DIALOG_RESPONSE_Response,
E_DIALOG_RESPONSE_Listitem,
E_DIALOG_RESPONSE_InputText[128 + 1],
}>> await_arr(ageDialog)
Šta je sad pa ovo?
Ništa što tebe zanima, treba da znaš samo da je to Macro unutar PawnPlusa tako da u istoj liniji moraš imati ShowPlayerAsyncDialog funkciju.
E_DIALOG_RESPONSE_Response je ono što sam već gore rekao, vezano za enum u kom su svi podaci, ovo je ako je odgovor bio true posle await-a, samo rokni else ispod ako ti treba ono što je inače if (!response).
PlayerAge = ageDialog;
E_DIALOG_RESPONSE_InputText, samo ime kaže, zamena za ono što je inače inputtext.
Tjt da ne serem puno, sve si skontao 🙂
I da, da dodam, postoji i ShowPlayerAsyncDialogStr(playerid, style, ConstStringTag:caption, ConstStringTag:info, ConstStringTag:button1, ConstStringTag:button2) koja koristi PawnPlus stringove (možete koristit str_format unutar same funkcije, ne treba vam format u prevodu, dinamičan string razumeš me jebiga pisao sam tutorial vec skrolaj dole)