Üdv. fórumozók megosztanám veletek Roox dialógus rendszerét!3 stílust találunk meg ebben:A
lista azaz a DIALOG_STYLE_LIST stílusú dialógus menete egyszer. Vagy dupla kattintással vagy egy kattintás plusz OK gombbal választhatsz.Visszatérő értékek: Melyik gombot nyomtál, és ha IGEN hanyadikat választottad.
Az
üzenetdoboz azaz a DIALOG_STYLE_MSGBOX stílusú dialógus még egyszerűbb. Használhatod információ közlése, kérdezése, választási lehetőségek: IGEN vagy NEM gomb.Visszatérési értékek: Melyik gombot választottad.
A
bemeneti ablak azaz a DIALOG_STYLE_INPUT stílusú dialógus lehetővé teszi az adatok bekérését.Visszatérési értékek: Melyik gombra nyomtál ill. a beírt karakterlánc tartalma.
Telepítése:A "Dialogs.nut" fájlt helyezd el a Clientscripts könyvtárba, a settings.xml fájlba írd bele:<clientscript>Dialogs.nut</clientscript>
Ezután a te szkriptedbe helyezd el ezeket a tetejére:const DIALOG_STYLE_MSGBOX = 0;
const DIALOG_STYLE_INPUT = 1;
const DIALOG_STYLE_LIST = 2;
Majd pedig lejjebb/végére vagy ahova szeretnéd:function onDialogResponse(playerid, dialogid, response, listitem, inputtext) //Amikor választott a dialógusban
{
togglePlayerControls(playerid, true);
return true;
}
addEvent("dialogResponse", onDialogResponse);playerid: játékos id-je
dialogid: a dialógus id-je
response: IGEN vagy NEM gombra nyomott
listitem: a DIALOG_STYLE_LIST dialóguson belül hanyadik elemet választotta
inputtext: a DIALOG_STYLE_INPUT dialógusnál visszatér a megadott karakterlánccal
Ezután helyezzük el ezt ismét bárhova:
Ez határozza meg, hogyan és mi történjen a dialógus megjelenítésekor:function showPlayerDialog(playerid, dialogid, type, windowtext, maintext, firstbuttontext, secondbuttontext = "")
{
triggerClientEvent(playerid, "GUIDialog", dialogid, type, windowtext, maintext, firstbuttontext, secondbuttontext);
togglePlayerControls(playerid, false);
return true;
}Példák:showPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Window text", "Hello world", "OK", "Cancel");
showPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Window text", "Instert text:", "OK", "Cancel");
showPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "Window text", "First button\nSecond button\nThirt button", "OK", "Cancel");Letöltés:DialogSystem v2.0
Forrás:IVMP hivatalos fórum