Készítsen dialógusok - az alapok

Létrehozása párbeszédpanelek tűnhet nehezebb, mint amilyen valójában. Ez a leírás bemutatja, hogyan lehet létrehozni egy párbeszédablak egy elem kiválasztásához. Ez a párbeszéd nem egy csomó funkciók fogják használni, hiszen ez csak egy bemutató.

Ez a példa azt mutatja, hogyan lehet egy párbeszédablak, megadva a lehetőséget, hogy vásárolni italok (a SetPlayerSpecialAction) egy bizonyos összeget.

Párbeszédablak nevezhető csapat. Add, hogy ez a BKV - állami OnPlayerCommandText (playerid, cmdtext [])

if (! strcmp (cmdtext. "/ mértéktelen". igaz))
ShowPlayerDialog (. Playerid 1. DIALOG_STYLE_LIST "Melyik akarsz inni?" "Sprunk ($ 1) \ nPivo ($ 2) \ nVino ($ 3)" A "Vásárlás" "Mégsem" ....);
vissza 1;
>

Mint látható, ez használt ShowPlayerDialog funkciót egy második típusú párbeszédablak.
Használata \ n Egyszerre több terméket. (\ N - line feed (túlmenően egy új sor))
Most kell határozni, hogy mi fog történni, ha kiválasztja valamelyik elemet az autó hívott függvény OnDialogResponse.

A pablik - nyilvános OnDialogResponse (playerid, dialogid, válasz, listitem, inputtext []) egészül ki:

nyilvános OnDialogResponse (playerid. dialogid. választ. listitem. inputtext # 91; # 93;)
// A könnyebb kezelés párbeszédpanelek, akkor a kapcsoló (dialogid), de
// ez a bemutató csak egy párbeszédablak alkalmazunk.
ha (dialogid == 1 válasz) // Ha az ID a párbeszédablak 1 (ahogy rámutatott a ShowPlayerDialog), és a játékos megnyomta a „Vásárlás”
// Most használd a kapcsolót (listitem), a műveletek végrehajtásához különböző elemeire
// párbeszédablak. ID Az első elem egy párbeszédablak - 0.
kapcsolót (listitem)
case 0:
if (GetPlayerMoney (playerid) <1 )
visszaút SendClientMessage (. playerid 0xFFFFFF "Önnek nincs elég pénz ..");
GivePlayerMoney (playerid - 1.);
SetPlayerSpecialAction (playerid SPECIAL_ACTION_DRINK_SPRUNK.);
>
1. eset:
if (GetPlayerMoney (playerid) <2 )
visszaút SendClientMessage (. playerid 0xFFFFFF "Önnek nincs elég pénz ..");
GivePlayerMoney (playerid - 2).
SetPlayerSpecialAction (playerid SPECIAL_ACTION_DRINK_BEER.);
>
2. eset:
if (GetPlayerMoney (playerid) <3 )
visszaút SendClientMessage (. playerid 0xFFFFFF "Önnek nincs elég pénz ..");
GivePlayerMoney (playerid - 3).
SetPlayerSpecialAction (playerid SPECIAL_ACTION_DRINK_WINE.);
>
>
>
vissza 1;
>

Ha jól csinálod, akkor tökéletesen fog működni párbeszéd. Annak az oka, meg kell írja be a parancsot / tivornya.

szeretlek mxIni Mysql

Készítsen dialógusok - az alapok