Научу Вас как создавать диалоговые окна и действия для них. И приведу пример.
Поехали.
Функция, отвечающая за создание диалога:
- Код:
ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[]);\
Параметры её:
- Код:
playerid // ID игрока, которому будет показан диалог.
dialogid // Уникальный ID диалога. Используется в OnDialogResponse. При значении, равном -1, любой текущий диалог будет скрыт с экрана игрока.
style // Стиль диалогового окна.
caption[] // Заголовок окна.
info[] // Текст самого диалога. Можно использовать \n для перевода строки и \t для табуляции.
button1[] // Название первой (левой) кнопки диалога.
button2[] // Название второй (правой) кнопки.
Возможные стили диалога:
- Код:
DIALOG_STYLE_MSGBOX(0) // обычный диалог с 2мя кнопками
DIALOG_STYLE_INPUT(1) // диалог с полем для ввода
DIALOG_STYLE_LIST(2) // список из нескольких элементов
Вот public функции работы с диалогом:
- Код:
OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Её параметры:
- Код:
playerid // ID игрока, который совершил действие с диалогом
dialogid // ID диалога, в котором игрок совершил действие.
response // Возвращает 1 - при выборе первой кнопки и 0 при выборе второй кнопки
listitem // ID выбранного пункта из списка
inputtext[] // Текст, введенный игроком в поле ввода или текст из выбранного пункта списка
Вот вам пример использования кода.
- Код:
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/okno",true)==0)
{
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Заголовок","Текст информации","Кнопка1"," Кнопка2"); return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 0)
{
if(response)
{
//Здесь то что случится если игрок нажмет на кнопку №1.
}
else
{
//А здесь если он нажмет кнопку №2.
}
}
}