[Include] Easy Dialogs
#1

Easy Dialogs v. 1.1 by White_116

Здравствуйте, уважаемые пользователи форума. Хочу представить вам результат моей проделанной работы.
За основу бралась следующая работа: easydialog.inc by Emmet_

Описание:
Данный инклуд предназначен для того чтобы упростить создание диалогов.
Смысл заключается в том, что используя данный инклуд вам не придётся указывать ид диалога, запоминать его и создовать огромные конструкции в OnDialogResponse, вы должны будите писать всего лишь название диалога. Используя инклуд вы полностью забудите об OnDialogResponse, и о громадном скоплениее if(dialogid == ****).Для каждого диалога вы должны создать собственный callback, если он вам нужен, иначе можно и не создавать. Ещё одно достоинство является конструкция вызова callback-а, так как оно очень схоже с zcmd, порядка 90% . Тесты скорости я не проводил, если ваша душа не угомона и требует циферки, то делайте замеры сами.

Старый код:
PHP Code:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if (
dialogid == 1)
    {
        if (
response)
        {
            
SendClientMessageToAll(-1inputtext);
        }
        else 
SendClientMessage(playerid, -1"Вы закрыли диалог");
    }
    return 
1;
}
ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Проверка""Напишите любой текст""Отправить""Закрыть"); 
Новый код:
PHP Code:
Dialog:Test()
{
    if (
response)
    {
        
SendClientMessageToAll(-1inputtext);
    }
    else 
SendClientMessage(playerid, -1"Вы закрыли диалог");
    return 
1;
}
ShowDialog(playeridD:TestDIALOG_STYLE_INPUT"Проверка""Напишите любой текст""Отправить""Закрыть"); 
Как вы заметили, удобство ощутимо. Так же PVar-ы дают преимущество выраженная в совместимости мода и различных подключаемых ФС, подключаемые даже во время работы.
Были добавлены две новые функции:
PHP Code:
native HideDialog(playerid);-Скрыть диалог
native ShowDialog
(playeriddialog[], stylecaption[], info[], button1[], button2[]);-Показать диалог 
Так же сохранено использование старых диалогов.Примечание: dialogid должен быть больше 256!

Установка:
-Закинуть EasyDialogs.inc в папку include котороя расположена pawno/include/.
-Подключить инклуд в начале мода и ФС после строки #include <a_samp>
Пример установки для шибко умных:
PHP Code:
#include <a_samp>
#include <EasyDialogs> 
Скачать v. 1.1:
Ссылка №1: PASTEBIN
Ссылка №2: SolidFiles

Версия 1.0
Ссылка №1: PASTEBIN
Ссылка №2: SolidFiles


Изменения:
v. 1.1
- Устранено падение сервера когда первым вызывался стандартный диалог.
- Вызывается подменённый OnDialogResponse
- Теперь действительно работает отовсюду
Reply


Messages In This Thread
Easy Dialogs - by White_116 - 22.02.2013, 20:23
Re: Easy Dialogs - by Den_Bellik - 22.02.2013, 20:44
Re: Easy Dialogs - by Fireline - 23.02.2013, 05:24
Re: Easy Dialogs - by devil77771 - 23.02.2013, 06:43
Re: Easy Dialogs - by Mance - 23.02.2013, 07:11
Re: Easy Dialogs - by Jon_De - 23.02.2013, 11:48
Re: Easy Dialogs - by Richard_Gere - 23.02.2013, 12:27
Re: Easy Dialogs - by Jon_De - 23.02.2013, 14:58
Re: Easy Dialogs - by Richard_Gere - 25.02.2013, 07:06
Re: Easy Dialogs - by Mance - 25.02.2013, 11:54

Forum Jump:


Users browsing this thread: 1 Guest(s)