[S]ilverbac[k] | Дата: Воскресенье, 16.09.2012, 20:07 | Сообщение # 1 |
.::Offline::.
Пахан
Сообщений: 723
[ 86 ]
Награды: 17
Статус
отсутствует
| Что же такое диалоговые окна и для чего они предназначены? На эти вопросы я постараюсь ответить в этом небольшом уроке. Что такое диалоговое окно? Дилоговое окно, а также GUI (Graphical User Interface) это интерфейс, который предоставляется пользователю в графическом виде. С точки зрения SA-MP это всего-лишь замена использования команд. Допустим, вы хотите забанить игрока за то что он нуб использует читы. В версиях 0.1-0.2 вы прописывали команду /ban [id] [причина]. В версиях 0.3 при помощи специального скрипта, который вы можете как скачать так и написать сами, нужно всего-лишь выбрать в списке нужного вам игрока, кликнуть на него 2 раза и появится окно, где вы должны всего-лишь ввести причину бана игрока и нажать Enter(или Ок) и игрок получит бан. Таким-же способом можно кикать игроков, а так же выдавать оружие, пополнять HP и броню.
Теперь я рассмотрю 4 вида диалоговых окон: - Первый вид окна - DIALOG_STYLE_MSGBOX
- Второй вид окна - DIALOG_STYLE_INPUT
- Третий вид окна - DIALOG_STYLE_LIST
- Четвертый вид окна - DIALOG_STYLE_PASSWORD
Дилоговые окна создаются функцией ShowPlayerDialog(playerid,dialogid,style,caption[],info[],button1[],button2[]);
где
dialogid - ID диалогового окна (задается вручную, либо через #define) style - стиль диалогового окна(см. выше) caption - заглавие диалогового окна info - информация, которая будет хранится в окне button1 & button2 - соответственно кнопки Ок и Отмена
Чтобы диалоговое окно выполняло различные задания, существует специальный public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
dialogid - ID диалогового окна (задается вручную, либо через #define) response - проверка на нажатие кнопки1 или кнопки2 listitem - используется в DIALOG_STYLE_LIST inputtext[] - используется в DIALOG_STYLE_INPUT, DIALOG_STYLE_PASSWORD
Напишем небольшой код на проверку нажатой кнопки:
Code if(!response) { SendClientMessage(playerid,0xFF0000FF,"Вы нажали Кнопку2 либо нажали клавишу ESC"); } else { SendClientMessage(playerid,0xFF0000FF,"Вы нажали Кнопку1 либо нажали клавишу ENTER"); }
[FS]Neon[APP]FCP[APP]Vehicle Tuning Generator ||||| 20% -- Работа приостановленаОбложка:
|
|
| |
-KissFM-[Like] | Дата: Воскресенье, 16.09.2012, 20:19 | Сообщение # 2 |
.::Offline::.
Разбойник
Сообщений: 31
[ 0 ]
Награды: 0
Статус
отсутствует
| [S]ilverbac[k],
Спасибо норм тема))
Нарушение пункта 3.2.
|
|
| |
werren | Дата: Суббота, 27.04.2013, 02:16 | Сообщение # 3 |
.::Offline::.
Новичок
Сообщений: 4
[ 0 ]
Награды: 0
Статус
отсутствует
| красава
|
|
| |
lah | Дата: Среда, 02.10.2013, 18:39 | Сообщение # 4 |
.::Offline::.
Новичок
Сообщений: 2
[ 0 ]
Награды: 0
Статус
отсутствует
| Спасибо давно искал!
|
|
| |
Ainur$ | Дата: Вторник, 18.03.2014, 17:46 | Сообщение # 5 |
.::Offline::.
Новичок
Сообщений: 3
[ 0 ]
Награды: 0
Статус
отсутствует
| легко
|
|
| |