 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
[Tutorial]Создание Диалогового окна
| |
| Dima-kun | Дата: Четверг, 29.10.2009, 22:47 | Сообщение # 1 |
|
Группа:
Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус: 
| Урок по созданию диалогового окна в sa-mp 0.3 Автор:BlackWolfA Перевод:DizeL[ZR] Функция: Code ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[]); Параметры: Code playerid, dialogid, style, caption[], info[], button1[], button2[] dialogid: например 1-2-3-4-5... и т.д Стили: 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[]) Параметры: Code playerid, dialogid, response, listitem, inputtext[] Сейчас расскажу здесь что означает: playerid: ну я думаю вы поняли что это ид игрок. dialogid: ид диалогового окна response: проверка нажал ли игрок на первую кнопку или на вторую listitem: если выбрали стиль окна DIALOG_STYLE_LIST ,то это будет выбор опции находящего в списке inputtext[] это то что игрок ввел в поле, например, в системе регистрации. Сейчас сделаю скрипт диалогового окна на примере стиля DIALOG_STYLE_MSGBOX(0). [pwn]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 } } }[/pwn] Вот Вам не большой пример скрипта.. Кстати да при использования диалогового окна в случае необходимости нужно пользоваться: \b - backspae - забой \f - Form feed - перевод страницы \n - new line - новая строка \r - возврат каретки \t - табуляция \v - вертикальная табуляция \' - одиночная кавычка \" - двойные кавычки \? - вопросительный знак
Мои работы: [INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники, [FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos, [GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
Сообщение отредактировал DizeL-ZR- - Пятница, 30.10.2009, 15:20 |
| |
|
|
| Dima-kun | Дата: Среда, 13.04.2011, 13:29 | Сообщение # 166 |
|
Группа:
Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус: 
| Al_Capone, делай по уроку, для этого он и сделан
Мои работы: [INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники, [FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos, [GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
|
| |
|
|
| pawman | Дата: Среда, 13.04.2011, 23:57 | Сообщение # 167 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 188
Награды: 12
Город: Новороссийск
Репутация: 38
Замечания: 0%
Статус: 
| Ошибка, вы написали backspae
Разрабатываю карты для сервера. Обращайтесь, качество гарантирую. Мои работы: [MAP+FS]Особняк [MAP+FS]Пляж [MAP+FS]sa_city_bilding Сайт: фаникс.рф
|
| |
|
|
| Steep_Chele | Дата: Четверг, 14.04.2011, 21:39 | Сообщение # 168 |
|
Постоялец
Группа:
I'm V.I.P.
Сообщений: 312
Награды: 12
Город: Ульяновск
Репутация: 815
Замечания: 40%
Статус: 
| Al_Capone, Гугль в помощь, таких уроков куча.
|
| |
|
|
| Vova1176 | Дата: Понедельник, 16.05.2011, 21:29 | Сообщение # 169 |
|
Новенький
Группа:
Пользователи
Сообщений: 1
Награды: 0
Город: Казань
Репутация: 0
Замечания: 0%
Статус: 
| Люди помогите кто нибудь! http://depositfiles.com/files/rnhau3j4j пожалуйста исправьте скрипт с диалогом)
[10street_BOSS]Vova
|
| |
|
|
| nikolasdedby | Дата: Пятница, 01.07.2011, 04:17 | Сообщение # 170 |
|
Новенький
Группа:
Пользователи
Сообщений: 3
Награды: 0
Город: Minsk
Репутация: 0
Замечания: 0%
Статус: 
| Здравствуйте, подскажите пожалуйста как "взять" информацию которую игрок вводит в диалоге типа 1 (Input) Суть вообще, в проверке того, что ввел игрок и в зависимости от этого вывод другого диалога типа 0 (msgbox)
Начальный код: Code else if(dialogid == 777) { if(response) // при нажатие на кнопку согласится { ShowPlayerDialog(playerid, 778, DIALOG_STYLE_INPUT, "Выбор автомобиля", "Введите ID желаемого авто:", "Ok", "Уйти"); return 1; { if(listitem == 0) [color=blue]???[/color] { ShowPlayerDialog(playerid, 779, DIALOG_STYLE_MSGBOX, "Описание автомобиля", "\tНазвание: Jester [559] \nПрототип: Toyota Supra`92 \nМакс. Скорость: 100 км/ч \nПривод: передний", "Ok", "Уйти"); } else { SendClientMessage(playerid, COLOR_RED, "Вы отказались от покупки! Досвидание!"); } } }
|
| |
|
|
| king_5 | Дата: Пятница, 01.07.2011, 11:50 | Сообщение # 171 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 292
Награды: 3
Город: Черновцы
Репутация: 303
Замечания: 20%
Статус: 
| Quote (nikolasdedby) Здравствуйте, подскажите пожалуйста как "взять" информацию которую игрок вводит в диалоге типа 1 (Input) Чтобы узнать информацию которую ввёл игрок в диалог используй new ammount = strval(inputtext); , ну или вместо ammount любое своё значение. А дальше уж ставь проверки, например if(ammount == 1) и т.д.
[FS] Сис-ма ворот, шлагбаумов[2.0][100 рублей] by king_5 [FS] Новая сис-ма рыбалки[1.0][100 рублей] by king_5 [FS] Сис-ма объектов[1.0] by king_5
[FS] Сбрасывание бомб с самолёта [FS+MAP] LV Авто-Школа [MAP] Зал суда [FS] Мак-авто
|
| |
|
|
| nikolasdedby | Дата: Пятница, 01.07.2011, 12:52 | Сообщение # 172 |
|
Новенький
Группа:
Пользователи
Сообщений: 3
Награды: 0
Город: Minsk
Репутация: 0
Замечания: 0%
Статус: 
| Quote (king_5) А дальше уж ставь проверки, например if(ammount == 1) и т.д. Т.е. если я хочу проверить ввел игрок "559" или нет нужно вписать: if(ammount == 559) ?
|
| |
|
|
| king_5 | Дата: Пятница, 01.07.2011, 14:24 | Сообщение # 173 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 292
Награды: 3
Город: Черновцы
Репутация: 303
Замечания: 20%
Статус: 
| Quote Т.е. если я хочу проверить ввел игрок "559" или нет нужно вписать: if(ammount == 559) ? Да, именно так. А почему именно 559?(мне не очень интересно, просто надо 20 символов )
[FS] Сис-ма ворот, шлагбаумов[2.0][100 рублей] by king_5 [FS] Новая сис-ма рыбалки[1.0][100 рублей] by king_5 [FS] Сис-ма объектов[1.0] by king_5
[FS] Сбрасывание бомб с самолёта [FS+MAP] LV Авто-Школа [MAP] Зал суда [FS] Мак-авто
|
| |
|
|
| nikolasdedby | Дата: Пятница, 01.07.2011, 20:52 | Сообщение # 174 |
|
Новенький
Группа:
Пользователи
Сообщений: 3
Награды: 0
Город: Minsk
Репутация: 0
Замечания: 0%
Статус: 
| Окна эти ведь для системы авто делаю. Покупки авто. И в окошко будет вводиться ID. Может поможете ещё, какой опцией или вообще как и что вписать чтобы при if(response) спаунилась машина в определенном месте. Желательно образец приложить))
|
| |
|
|
| necros1k | Дата: Четверг, 14.07.2011, 17:03 | Сообщение # 175 |
|
Новенький
Группа:
Пользователи
Сообщений: 37
Награды: 0
Город: SPB
Репутация: -10
Замечания: 0%
Статус: 
| люд плиз помогите я в скриптенге недавно прочитал статью так то понел но не оч помогите плиз сделать из этого кода
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; }
плиз помогите сделать чтобы в водя эту команду появилась табличка чтобы туда в вести ид машины и чтобы машина появлялась и я сидел в ней. но и + к этому плиз сделайте чтобы не надо было в водить цвета а появлятась она сразу белая)) спс за ранее тому кто сделает я дам +
|
| |
|
|
| DANT | Дата: Вторник, 13.09.2011, 17:27 | Сообщение # 176 |
|
Новенький
Группа:
Пользователи
Сообщений: 71
Награды: 0
Город: Киев
Репутация: -11
Замечания: 0%
Статус: 
| А есть программа для создания диалогового окна ? чтоб только кнопочку клоцнул и уже все готово ))
|
| |
|
|
| Impereal | Дата: Вторник, 13.09.2011, 17:35 | Сообщение # 177 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
| Quote (DANT) А есть программа для создания диалогового окна ? чтоб только кнопочку клоцнул и уже все готово )) Вы обленившийся индюк!
Прощай самп-рус =Р
Сообщение отредактировал Impereal - Вторник, 13.09.2011, 17:36 |
| |
|
|
| DANT | Дата: Вторник, 13.09.2011, 18:58 | Сообщение # 178 |
|
Новенький
Группа:
Пользователи
Сообщений: 71
Награды: 0
Город: Киев
Репутация: -11
Замечания: 0%
Статус: 
| Impereal, Время деньги Добавлено (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 го уровня хотяб шаблон покажите а дальше я сам а то ничерта не смыслю в скриптинге а хочется чтоб на серве все было нормально
|
| |
|
|
| Fragment | Дата: Среда, 21.09.2011, 22:52 | Сообщение # 179 |
|
Новенький
Группа:
I'm V.I.P.
Сообщений: 46
Награды: 2
Город: Днепропетровск
Репутация: -34
Замечания: 20%
Статус: 
| Спасибо, за урок, понял все понятно.
Графика на заказ. Маппинг на заказ. Skype: foost-food
|
| |
|
|
| ten_strike | Дата: Воскресенье, 02.10.2011, 07:53 | Сообщение # 180 |
|
Новенький
Группа:
Пользователи
Сообщений: 5
Награды: 0
Город: da
Репутация: 0
Замечания: 0%
Статус: 
| нород помогите а в какой повно вставлять их там выше крыши и кому не сложно помогите написать не фига не получаеться мне надо DIALOG_STYLE_LIST название петбай а там продрозделы я их сам могу заполнить самое главное чтобы командой открывалось /mm
|
| |
|
|
|
 |
|
 | |
| |
|