Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Вы не подключены. Войдите или зарегистрируйтесь

Урок по созданию диалогового окна

Участников: 3

Перейти вниз  Сообщение [Страница 1 из 1]

SputNick_Ada

SputNick_Ada
Местный
Местный

Научу Вас как создавать диалоговые окна и действия для них. И приведу пример.

Поехали.

Функция, отвечающая за создание диалога:
Код:
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.
}
}
}

Admin

Admin
Администратор
Администратор

замечательная работа

http://pawno.wikiforum.net

vendetta

vendetta
Новичок
Новичок

ещё есть 2 вида стиля текста
1 сообщение
2 не помню
Нужно поискать

Вернуться к началу  Сообщение [Страница 1 из 1]

Права доступа к этому форуму:
Вы не можете отвечать на сообщения