В теме 1 сообщение

DEST
Maintainer

Уже больше года существуют диалоговые процессоры, однако мало тем про них.

В общем, диалоговый процессор значительно упрощает работу с диалогами пользователям. Например, диалоги теперь можно создавать не только в стандартном OnDialogResponse, но и в любой части мода, как на DC_CMD. Также теперь вовсе необязательно придавать номер диалоговому окну. Можно ввести его название, например

ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_MSGBOX, "Название", "Текст", "Кнопка_1", "Кнопка_2");

И использовать:

DLG:DIALOG_REGISTER(playerid, response, listitem, inputtext[])
{ /*ваш код*/ }

(ранее для этого нужно было вручную дефайнить названия диалогов).

 

Тесты скорости:

'ShowPlayerDialog' productiveness Test result:
ShowPlayerDialog = 439ms
OnDialogResponse = 303ms
 
// И ещё раз
 
'ShowPlayerDialog' productiveness Test result:
ShowPlayerDialog = 416ms
OnDialogResponse = 311ms
 
//=================
 
eDialog include productiveness Test result:
ShowPlayerDialog = 533ms
OnDialogResponse = 74ms
 
// И ещё раз
 
eDialog include productiveness Test result:
ShowPlayerDialog = 573ms
OnDialogResponse = 65ms
Тест реализован на цикле в 100000 итераций, в которых сначала показывается диалог, а после вызывается OnDialogResponse. Для стандартного движка создано 200 простых диалогов в OnDialogResponse. Как видно из теста, eDialog слегка проигрывает стандартному ShowPlayerDialog при вызове диалога, но в выигрышном положении при обработке содержимого диалога.
 
Использовать можно тремя способами:
DLG:DIALOG_NAME(playerid, response, listitem, inputtext)
{
        return true;
}
DIALOG:DIALOG_NAME(playerid, response, listitem, inputtext)
{
        return true;
}
E_DLG:DIALOG_NAME()
{
        return true;
}

(вместо DIALOG_NAME могут быть как цифры, так и слова).

Include автора содержит еще функцию показа окна информации (диалоговое окно типа DIALOG_STYLE_MSGBOX, которое можно только закрыть, названия кнопок указывать не нужно):

ShowInfoDialog(playerid, "Название", "Текст");

Автор: Edwin.

 

Скачать

 

Отредактировано пользователем stibs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • whccompany
      От whccompany
      World Hosting Corporations 
                                                                GTA Game Host 
                                               CRMP PC& Mobile Project 
                                           Rostov Role Play | Rostov RP 
      Друзья, нашему проекту срочно требуется маппер для масштабного маппинга, нам требуется сделать:
      1) Городской маппинг (удалить города и создать новые города, сначало необходимо создать город Ростов-на-Дону ; посёлок Коксовый и село Ряженое, создать используя стоковые фотографии из Яндекса и Гугла)
      2) Фракционный маппинг ( Текстуры + Экстерьер + Интерьер )
      3) Маппинг работ ( Текстуры + Экстерьеры + Интерьеры )
      Бюджет до 60 000 рублей
      Возможно заключение трудового контракта 
      Пишите: ВКонтакте

    • gooding
      От gooding
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

    • gooding
      От gooding


      Скачать файл PAR RP | Уникальный мод без багов
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

      Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)  
    • Kalinin
      От Kalinin
      1. Набираю команду для создания CRMP сервера.
      2. Вакансии  которые свободны. Связь через TG @kalinin_sql
      Нам нужны;
      1.Кодеры
      2.Маперы
      3.СММ
      Так-же дружная работа. По поводу зарплаты будем обговаривать все лично в беседе ТГ