• Страница 1 из 1
  • 1
Форум » Программирование в Pawno » Готовые решения » Создание Диалогового Окна
Создание Диалогового Окна
Добавлено 31.03.2016 в 05:39 | Сообщение №1
Сообщений: 265 Репутация: 0
Администраторы
Функция:
Код
ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[];);

Параметры:
Код
playerid, dialogid, style, caption[], info[], button1[], button2[]

dialogid: например 1-2-3.. и т.д

Примеры использования стилей:
Стиль 1= DIALOG_STYLE_MSGBOX можно использовать для вывода сообщений.
Стиль 2= DIALOG_STYLE_INPUT система регистрации и т.п.
Стиль 3= DIALOG_STYLE_LIST Лист возможных опций

caption: Название диалога
info: Текст в диалоговом окне
button1: Первая кнопка например: Ок, Login
button2: вторая кнопка. Пример:Cancel

Вот паблик функции работы с ней:
Код
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[];)

Параметры:
playerid, dialogid, response, listitem, inputtext[]

Что они означают:
playerid: ид игрока.
dialogid: ид диалогового окна
response: проверка нажал ли игрок на первую кнопку или на вторую
listitem: если выбрали стиль окна DIALOG_STYLE_LIST ,то это будет выбор опции находящего в списке
inputtext[] это то что игрок ввел в поле, например, в системе регистрации.

Диалоговое окно DIALOG_STYLE_MSGBOX.



Это чтобы открыть окно создадим команду

В public OnPlayerCommandText(playerid, cmdtext[])
Код
if(strcmp(cmdtext, "/okno1", true)==0)
                   {
                      ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Заголовок","Текст информации\nУрок взят с сайта DJ-Sergey.ucoz.net","Кнопка1"," Кнопка2");
                   return 1;
                   }

Чтобы что то произошло после нажатия на 1 или 2 кнопку до добавляем вот это

В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Код
if(dialogid == 0)
{
if(response)
{
//Здесь то что случится если игрок нажмет на кнопка1
}
else
{
//А здесь если он нажмет кнопка2
}
}

Диалоговое окно DIALOG_STYLE_INPUT.



В public OnPlayerCommandText(playerid, cmdtext[])
Код
if(strcmp(cmdtext, "/login", true) == 0)
{
new s[128];
new loginname[MAX_PLAYER_NAME];
GetPlayerName(playerid,loginname,MAX_PLAYER_NAME);
format(s,sizeof(s)," Здарова еще раз, %s!\n\n Зайди под своим ником!",loginname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT," Форма Логина!",s," Логин"," Отмена");
return 1;
}

Чтобы что то произошло после нажатия на 1 или 2 кнопку до добавляем вот это

В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Код
if(dialogid == 0)
{
if(response)
{
//Здесь то что случится если игрок нажмет на кнопка1
}
else
{
//А здесь если он нажмет кнопка2
}
}
}

Диалоговое окно DIALOG_STYLE_LIST.



В public OnPlayerCommandText(playerid, cmdtext[])
Код
if(strcmp(cmdtext, "/radio", true) == 0)
             {
                 if(IsPlayerConnected(playerid))
                 {
                        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Радио","Зайцев FM\nЕвропа плюс\nMaks FM\nICE FM\n{FF3300}Выключить радио", "Ok", "Выход");
                    }
                    return 1;
                }

В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Код
if(dialogid == 1)
              {
              if(response)
              {
              if(listitem == 0)
              {
              PlayAudioStreamForPlayer(playerid,"http://www.zaycev.fm:9001/rnb/ZaycevFM(128)");
              }
              if(listitem == 1)
              {
              PlayAudioStreamForPlayer(playerid,"http://webcast.emg.fm:55655/europaplus128.mp3");
              }
              if(listitem == 2)
              {
              PlayAudioStreamForPlayer(playerid,"http://radio.maks-fm.ru:8000/maksfm128.m3u");
              }
              if(listitem == 3)
              {
              PlayAudioStreamForPlayer(playerid,"http://icefm.ru/etc/live.m3u");
              }
              if(listitem == 4)
              {
              StopAudioStreamForPlayer(playerid);
             }
           }
}

В случае создание диалогового окна необходимо пользоватся:
\b - backspae - забой
\f - Form feed - перевод страницы
\n - new line - новая строка
\r - возврат каретки
\' - одиночная кавычка
\" - двойные кавычки
\? - вопросительный знак

Автор: Неизвестен


Программист любитель :)
Форум » Программирование в Pawno » Готовые решения » Создание Диалогового Окна
  • Страница 1 из 1
  • 1
Поиск: