08:33
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
        
[SA-MP] Hosted Tab (126)
JasonGordon 12.10.2017 22:13
[MAP+FS] Тюрьма (15)
SubjectKalcor 09.10.2017 07:59
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 11
Модератор форума: Dima-kun 
Форум SAMP о мультиплеерах для GTA. »   » GTA IV-MP » [NUT] Dialog system
[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
Мастер джэдай
Группа: Модераторы
Сообщений: 3925
Награды: 287
Город: Мухосранск
Репутация: 8414
Замечания: 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
Мастер джэдай
Группа: Продвинутые
Сообщений: 4877
Награды: 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.



Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит.
Хочешь остаться при своем мнении - держи его при себе.
Форум SAMP о мультиплеерах для GTA. »   » GTA IV-MP » [NUT] Dialog system
Страница 1 из 11
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM