|
Форум » Программирование в Pawno » Готовые решения » Создание Диалогового Окна |
Создание Диалогового Окна |
Функция:
Код 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 - возврат каретки \' - одиночная кавычка \" - двойные кавычки \? - вопросительный знак Автор: Неизвестен Программист любитель :) |
| |||
| |||