Dialog handler:
- Kód: Vybrať všetko
#define DIALOG_HANDLER 5400
forward ShowPlayerDialogEx(playerid, style, caption[], info[], button1[], button2[], callback[]);
forward HandleDialog(playerid, dialogid, response, listitem, inputtext[]);
public ShowPlayerDialogEx(playerid, style, caption[], info[], button1[], button2[], callback[])
{
ShowPlayerDialog(playerid, DIALOG_HANDLER, style, caption, info, button1, button2);
SetPVarString(playerid,"hDialogCallback",callback);
}
public HandleDialog(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_HANDLER)
{
new callback[32];
GetPVarString(playerid,"hDialogCallback",callback,32);
if(strlen(callback)>0)
{
if(strlen(inputtext)>0)
{
CallLocalFunction(callback,"ddds",playerid, response, listitem, inputtext);
}
else
{
CallLocalFunction(callback,"ddds",playerid, response, listitem, "NULL");
}
return true;
}
}
return false;
}
Pouzitie:
1. Pridat do OnDialogResponse:
- Kód: Vybrať všetko
if(HandleDialog(playerid, dialogid, response, listitem, inputtext))
return 1;
2. Volanie funkcie:
- Kód: Vybrať všetko
ShowPlayerDialogEx(playerid, DIALOG_STYLE_LIST, "{FFFF22}Zoznam", "a\nb\nc", "Vybrat", "Zrusit", "callbackSelectDialog");
3. Funkcia ktora bude automaticky vyvolana po pouziti formularu:
- Kód: Vybrať všetko
public callbackSelectDialog(playerid, response, listitem, inputtext[])
{
...
}




To nieje ziadne "jebanie" ale prehladne riesenie, ktore som musel zaviest do VG, kedze cely mod sa sklada zo 70 suborov (logickych casti)