Създаване на диалогови прозорци - основите

Създаване на диалогови прозорци може да изглежда по-трудно, отколкото е в действителност. Този урок е описано как да се създаде диалог за избор на елемент. Този диалог не е много функции ще бъдат използвани, тъй като това е само демонстрация.







Този пример показва как да се направи диалогов прозорец, давайки възможност да си купите напитки (с помощта SetPlayerSpecialAction) за определена сума пари.

Диалогов прозорец ще се нарича екип. Добавете този на обществеността - публична OnPlayerCommandText (playerid, cmdtext [])

ако (! strcmp (cmdtext. "/ гуляй". истина))
ShowPlayerDialog (. Playerid 1. DIALOG_STYLE_LIST "Кои от тях искаш да пиеш?" "Sprunk ($ 1) \ nPivo ($ 2) \ nVino ($ 3)," "Купи" "Отказ" ....);
върне 1;
>

Както можете да видите, то се използва функция ShowPlayerDialog с втори тип на диалоговия прозорец.
Използването \ н Можете да добавите няколко елемента. (\ N - линия храна (добавяне на нов ред))
Сега трябва да се уточни какво ще се случи, когато изберете някой елемент от колата, наречена функция OnDialogResponse на.

В pablik - публичен OnDialogResponse (playerid, dialogid, отговор, Редовете, inputtext []) Добавя:







обществен OnDialogResponse (playerid. dialogid. отговор. Редовете. inputtext # 91; # 93)
// за по-лесно управление на диалогови кутии, можете да използвате ключа (dialogid), но
// този урок се използва само един диалогов прозорец.
ако (dialogid == 1 отговор) // Ако тази идентификация на диалоговия прозорец 1 (както е посочено в ShowPlayerDialog), и играчът натисне "купува"
// Сега ние използваме ключа (Редовете), за извършване на действия за различните елементи
// диалогов прозорец. ID на първия елемент в диалогов прозорец - 0.
превключвател (Редовете)
При 0:
ако (GetPlayerMoney (playerid) <1 )
върнете SendClientMessage (playerid 0xFFFFFF "Трябва не е достатъчно пари ..".);
GivePlayerMoney (playerid - 1.);
SetPlayerSpecialAction (playerid SPECIAL_ACTION_DRINK_SPRUNK.);
>
СЛУЧАЙ 1:
ако (GetPlayerMoney (playerid) <2 )
върнете SendClientMessage (playerid 0xFFFFFF "Трябва не е достатъчно пари ..".);
GivePlayerMoney (playerid - 2).
SetPlayerSpecialAction (playerid SPECIAL_ACTION_DRINK_BEER.);
>
При 2:
ако (GetPlayerMoney (playerid) <3 )
върнете SendClientMessage (playerid 0xFFFFFF "Трябва не е достатъчно пари ..".);
GivePlayerMoney (playerid - 3).
SetPlayerSpecialAction (playerid SPECIAL_ACTION_DRINK_WINE.);
>
>
>
върне 1;
>

Ако го направя така, че ще работи перфектно диалог. За своята кауза, е необходимо да въведете командата / гуляй.

Обичам те mxIni Mysql

Създаване на диалогови прозорци - основите