Дата: Понедельник, 05.11.2012, 21:39 | Сообщение # 1
|
Функция: Код 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 - возврат каретки \' - одиночная кавычка \" - двойные кавычки \? - вопросительный знак
|
| |