Creați dialoguri - elementele de bază

Creați casetele de dialog poate părea mai greu decât este în realitate. Acest tutorial descrie modul în care puteți crea un dialog pentru a selecta un element. Acest dialog nu este o mulțime de caracteristici vor fi utilizate, deoarece aceasta este doar o demonstrație.







Acest exemplu arată cum să facă o casetă de dialog, oferind posibilitatea de a cumpăra băuturi (folosind SetPlayerSpecialAction) pentru o anumită sumă de bani.

Caseta de dialog va fi numit o echipă. Adăugați la acest public - OnPlayerCommandText publice (playerid, cmdtext [])

if (! strcmp (cmdtext. "/ chef". true))
ShowPlayerDialog (. Playerid 1. DIALOG_STYLE_LIST "Care dintre acestea vrei să bei?" "SPRUNK ($ 1) \ nPivo ($ 2) \ nVino ($ 3)" "Cumpără" "Anulează" ....);
întoarce 1;
>

După cum puteți vedea, ea a fost utilizată funcția ShowPlayerDialog cu un al doilea tip de caseta de dialog.
Utilizarea \ n Puteți adăuga mai multe elemente. (\ N - line feed (adăugarea unui nou rând))
Acum, avem nevoie pentru a specifica ce se va întâmpla atunci când selectați orice element din funcția de auto numit OnDialogResponse.

În pablik - OnDialogResponse publice (playerid, dialogid, ca răspuns, listitem, inputtext []) inserează:







OnDialogResponse publice (playerid. Dialogid. Răspuns. Listitem. Inputtext # 91; # 93;)
// Pentru casete de dialog de management mai ușor, puteți utiliza comutatorul (dialogid), dar
// acest tutorial, este folosit doar o singură casetă de dialog.
if (== dialogid 1 răspuns) // Dacă ID-ul din caseta de dialog 1 (așa cum am arătat în ShowPlayerDialog), iar player-ul apăsat „Cumpărați“
// Acum folosim comutatorul (listitem), pentru a efectua acțiuni pentru diferite elemente
// caseta de dialog. ID-ul primului element într-o casetă de dialog - 0.
comutator (listitem)
caz 0:
if (GetPlayerMoney (playerid) <1 )
reveni SendClientMessage (playerid 0xFFFFFF "Ai destul de bani, nu ..".);
GivePlayerMoney (playerid - 1.);
SetPlayerSpecialAction (playerid SPECIAL_ACTION_DRINK_SPRUNK.);
>
Cazul 1:
if (GetPlayerMoney (playerid) <2 )
reveni SendClientMessage (playerid 0xFFFFFF "Ai destul de bani, nu ..".);
GivePlayerMoney (playerid - 2).
SetPlayerSpecialAction (playerid SPECIAL_ACTION_DRINK_BEER.);
>
Cazul 2:
if (GetPlayerMoney (playerid) <3 )
reveni SendClientMessage (playerid 0xFFFFFF "Ai destul de bani, nu ..".);
GivePlayerMoney (playerid - 3).
SetPlayerSpecialAction (playerid SPECIAL_ACTION_DRINK_WINE.);
>
>
>
întoarce 1;
>

Dacă o faci, acesta va funcționa perfect dialog. Pentru cauza sa, este necesar să tastați comanda / chef.

Te iubesc mxIni Mysql

Creați dialoguri - elementele de bază