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

 



 
          





Рекомендуем:





Последние Файлы 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
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
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
  • Страница 1 из 1
  • 1
Модератор форума: Dima-kun  
[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.



Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит.
Хочешь остаться при своем мнении - держи его при себе.
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua