Szerző Téma: Dialog rendszer  (Megtekintve 261 alkalommal)

Azzeroth

  • Kezdő fórumozó
  • Tulajdonos
  • Hozzászólások: 40
  • Adminisztrátor
  • *****
    • Profil megtekintése
    • IV:MP magyar fórum
Dialog rendszer
« Dátum: január 22, 2014, 12:47:33 pm »
Üdv. fórumozók megosztanám veletek Roox dialógus rendszerét!

3 stílust találunk meg ebben:
  • LISTA
  • ÜZENETDOBOZ
  • BEMENET

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:
Idézet
<clientscript>Dialogs.nut</clientscript>
Ezután a te szkriptedbe helyezd el ezeket a tetejére:
Idézet
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);

Idézet
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

 


GTA, including images, characters and logos are intellectual property from Rockstar Games. Rockstar Games is a registered trademarks of Take-Two Interactive Software, Inc.