Стили: 3 стиля диалогового окна. Стиль 0=DIALOG_STYLE_MSGBOX Стиль 1=DIALOG_STYLE_INPUT Стиль 2=DIALOG_STYLE_LIST
Примеры использования стилей: DIALOG_STYLE_MSGBOX(0) можно использовать для вывода сообщений. DIALOG_STYLE_INPUT(1) система регистрации и т.п. DIALOG_STYLE_LIST(2) Лист возможных опций
caption: Название диалога info: Текст в диалоговом окне button1: Первая кнопка например: Ок, Login button2: вторая кнопка .Пример:Cancel
Вот вам пример кода:
Code
if(strcmp(cmdtext, "/login", true) == 0) { new s[128]; new loginname[MAX_PLAYER_NAME]; GetPlayerName(playerid,loginname,MAX_PLAYER_NAME); format(s,sizeof(s),"Welcome again, %s!\n\nContiune to login!",loginname); ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login Plase!",s,"Login","Cancel"); return 1; }
Добавка от меня а если вот так то текст будет по-русски:
Code
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; }
Проверено, пишет по-русски.. ладно продолжим туториал...Дальше вообще то отсутствует функция работы с диалоговым окном, т.е. что будет срабатывать если нажали на Ок.... в туториале который я переводил но шас попробую вам рассказать сам.
Вот паблик функции работы с ней:
Code
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Сейчас расскажу здесь что означает: playerid: ну я думаю вы поняли что это ид игрок. dialogid: ид диалогового окна response: проверка нажал ли игрок на первую кнопку или на вторую listitem: если выбрали стиль окна DIALOG_STYLE_LIST ,то это будет выбор опции находящего в списке inputtext[] это то что игрок ввел в поле, например, в системе регистрации.
Сейчас сделаю скрипт диалогового окна на примере стиля DIALOG_STYLE_MSGBOX(0).
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 0) { if(response) { //Здесь то что случится если игрок нажмет на кнопка1 } else { //А здесь если он нажмет кнопка2 } } }[/pwn]
Вот Вам не большой пример скрипта..
Кстати да при использования диалогового окна в случае необходимости нужно пользоваться: \b - backspae - забой \f - Form feed - перевод страницы \n - new line - новая строка \r - возврат каретки \t - табуляция \v - вертикальная табуляция \' - одиночная кавычка \" - двойные кавычки \? - вопросительный знак
Здравствуйте, подскажите пожалуйста как "взять" информацию которую игрок вводит в диалоге типа 1 (Input) Суть вообще, в проверке того, что ввел игрок и в зависимости от этого вывод другого диалога типа 0 (msgbox)
Здравствуйте, подскажите пожалуйста как "взять" информацию которую игрок вводит в диалоге типа 1 (Input)
Чтобы узнать информацию которую ввёл игрок в диалог используй new ammount = strval(inputtext); , ну или вместо ammount любое своё значение. А дальше уж ставь проверки, например if(ammount == 1) и т.д.
Окна эти ведь для системы авто делаю. Покупки авто. И в окошко будет вводиться ID. Может поможете ещё, какой опцией или вообще как и что вписать чтобы при if(response) спаунилась машина в определенном месте. Желательно образец приложить))
люд плиз помогите я в скриптенге недавно прочитал статью так то понел но не оч помогите плиз сделать из этого кода
Code
if(strcmp(cmd, "/veh", true) == 0) { if(!strlen(cmdtext)) return SendClientMessage(playerid,COLOR_GREY,"/veh [id] [цвет1] [цвет2]"); new id = strval(strpar(cmdtext)); if(id < 400 || id > 611) return SendClientMessage(playerid,COLOR_GREY,"Введите ID 400 - 611"); new col1 = strval(strpar(cmdtext)); new col2 = strval(cmdtext); new Float:x,Float:y,Float:z,Float:a; GetPlayerPos(playerid,x,y,z); GetPlayerFacingAngle(playerid,a); CreateVehicle(id,x+1,y,z,a,col1,col2,90000); SendClientMessage(playerid,COLOR_GREY,"Вы использовали команду /veh"); return 1; }
плиз помогите сделать чтобы в водя эту команду появилась табличка чтобы туда в вести ид машины и чтобы машина появлялась и я сидел в ней. но и + к этому плиз сделайте чтобы не надо было в водить цвета а появлятась она сразу белая)) спс за ранее тому кто сделает я дам +
Добавлено (13.09.2011, 18:58) --------------------------------------------- подскажите как сделать диалоговое окно к примеру
под названием админ команды 1-Уровень 0 0 уровень: /register [пароль] - регистрация аккаунта на сервере, /login [пароль] - вход в созданный аккаунт, /report [id] [причина] - жалоба на игрока, /stats [id] статистика игрока, /time - время на сервере, /changepass [новый пароль] - смена пароля к аккаунту, /resetstats - сброс статистики, /getid [имя] - узнать id игрока по имени,
2-Уровень 1 0 уровень: /register [пароль] - регистрация аккаунта на сервере, /login [пароль] - вход в созданный аккаунт, /report [id] [причина] - жалоба на игрока, /stats [id] статистика игрока, /time - время на сервере, /changepass [новый пароль] - смена пароля к аккаунту, /resetstats - сброс статистики, /getid [имя] - узнать id игрока по имени,
итд вообщем чтоб выскакивало диалоговае окно с разделами нажимаеш на 2 там просто написаны админ команды 2 го уровня хотяб шаблон покажите а дальше я сам а то ничерта не смыслю в скриптинге а хочется чтоб на серве все было нормально
нород помогите а в какой повно вставлять их там выше крыши и кому не сложно помогите написать не фига не получаеться мне надо DIALOG_STYLE_LIST название петбай а там продрозделы я их сам могу заполнить самое главное чтобы командой открывалось /mm