 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
[NUT] Dialog system
| |
| Ghost-X | Дата: Воскресенье, 15.01.2012, 23:22 | Сообщение # 1 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3548
Награды: 36
Город: Наб. Челны
Репутация: 856
Замечания: 40%
Статус: 
| Система диалогов как в сампе, написанная с использованием GUI. Для тех, кто хочет перевести свой старый мод из сампа в ивмп, а переписывать под ГУИ не хочется. DIALOG_STYLE_LIST Для выбора двойной щелчок или же выбрать нужный пункт и нажать кнопку DIALOG_STYLE_MSGBOX Простой месседж бокс. Нужен для оповещения какой-либо информацией юзера. DIALOG_STYLE_INPUT Ну и последний стиль диалога - инпут. Как правило используется как средство ввода информации юзером. (Пароль, сообщение и т.п.)
Инструкции: Добавить в список клиентских скриптов "Dialogs.nut"
В основном скрипте игрового режима добавить: Code const DIALOG_STYLE_MSGBOX = 0; const DIALOG_STYLE_INPUT = 1; const DIALOG_STYLE_LIST = 2; Родной самповский каллбэк. Code function onDialogResponse(playerid, dialogid, response, listitem, inputtext) { togglePlayerControls(playerid, true); return true; } addEvent("dialogResponse", onDialogResponse); playerid - id игрока dialogid - id диалоги response - кнопка. Если button1 значение 1, если button2 значение 0 Так же добавьте в основной скрипт Code function showPlayerDialog(playerid, dialogid, type, windowtext, maintext, firstbuttontext, secondbuttontext = "") { triggerClientEvent(playerid, "GUIDialog", dialogid, type, windowtext, maintext, firstbuttontext, secondbuttontext); togglePlayerControls(playerid, false); return true; } Пример: Code showPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Window text", "Hello world", "OK", "Cancel"); showPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Window text", "Instert text:", "OK", "Cancel"); showPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "Window text", "First button\nSecond button\nThirt button", "OK", "Cancel"); Автор: Roox Линк: http://solidfiles.com/d/d393f/
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
Сообщение отредактировал Ghost-X - Понедельник, 16.01.2012, 00:59 |
| |
|
|
| Великс | Дата: Воскресенье, 15.01.2012, 23:45 | Сообщение # 2 |
|
Мастер джэдай
Группа:
Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус: 
| http://www.samp-rus.com/load....-0-2818 так то в ФА уже давно валяется (: Плюс поставил.
[cut=freestyle] ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ , СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ, ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ, ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ. УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА. ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ. ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ. ЛЕНАРУ ДАЙ УМА И ЛЕНУ НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ © Хасан [/cut]
|
| |
|
|
| Ghost-X | Дата: Понедельник, 16.01.2012, 00:04 | Сообщение # 3 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3548
Награды: 36
Город: Наб. Челны
Репутация: 856
Замечания: 40%
Статус: 
| velix, комментарий прочти. Человек не разобрался как использовать. В ФА сплошные лишь изображения, без примера использования. Пример работы: Code const DIALOG_STYLE_MSGBOX = 0; const DIALOG_STYLE_INPUT = 1; const DIALOG_STYLE_LIST = 2; const inputDialogId = 1; const listDialogId = 2;
function onPlayerCommand(playerid,command) { local cmd = split(command," "); if(cmd[0] == "/testDialog1") return showPlayerDialog(playerid,inputDialogId,DIALOG_STYLE_INPUT,"Title","Insert text","Ok","Cancel"); if(cmd[0] == "/testDialog2") return showPlayerDialog(playerid,listDialogId,DIALOG_STYLE_LIST,"Title","(1)\n(2)\n(3)\n(4)","Ok","Cancel"); return 1; } addEvent("playerCommand",onPlayerCommand);
function onDialogResponse(playerid, dialogid, response, listitem, inputtext) { togglePlayerControls(playerid, true); if(!response) return 1; switch(dialogid) { case inputDialogId: if(inputtext.len() >= 3) { sendMessageToAll(inputtext); } break; case listDialogId: sendPlayerMessage(playerid,"Ты выбрал "+listitem+" пункт"); break; } return true; } addEvent("dialogResponse", onDialogResponse);
function showPlayerDialog(playerid, dialogid, type, windowtext, maintext, firstbuttontext, secondbuttontext = "") { triggerClientEvent(playerid, "GUIDialog", dialogid, type, windowtext, maintext, firstbuttontext, secondbuttontext); togglePlayerControls(playerid, false); return true; }
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
Сообщение отредактировал Ghost-X - Понедельник, 16.01.2012, 00:59 |
| |
|
|
| Eakwarp | Дата: Понедельник, 16.01.2012, 14:59 | Сообщение # 4 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус: 
| Quote (Ghost-X) const DIALOG_STYLE_MSGBOX = 0; const DIALOG_STYLE_INPUT = 1; const DIALOG_STYLE_LIST = 2; Ребята, я все понимаю, но такими темпами, вы из всего самп запилите
More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.
Valakas Roleplay on Twitter
Платные консультации, разработка, в ICQ. Дорого.
|
| |
|
|
| Ghost-X | Дата: Понедельник, 16.01.2012, 15:03 | Сообщение # 5 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3548
Награды: 36
Город: Наб. Челны
Репутация: 856
Замечания: 40%
Статус: 
| Это заточка конкретно под тех, кто хочет перейти с сампа на ивмп. Все остальные уже давно напрямую работают с GUI.
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
|
| |
|
|
|
 |
|
 | |
| |
|