Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

Include Smart Dialog

sgtfox

Новичок
Всем привет, и сегодня я выкладываю на общий суд свой велосипед.
Я перешел в Samp скриптинг из CS 1.6, и мне показалась неудобной стандартная система диалогов, я привык к системе меню, как в cs amx.
И вот, зародилась идея, буквально час кодинга, два часа отладки и появился этот инклуд!

Итак друзья, знакомьтесь! Smart Dialog System!
Перечислю его функции:
PHP:
/* 
    function createDialog() 

    Создает диалог 

    @param szTitle - строка с заголовком диалога 
    @param iType - тип диалога (стандартные типы из a_samp.inc) 
    @param szFunction - коллбэк для данного диалога 

    @returns - id созданного диалога 
*/ 
stock createDialog(szTitle[128], iType, szFunction[64])
PHP:
/* 
    function setDialogButtonOne() 

    Устанавливает текст для первой кнопки 

    @param iDialogID - id диалога 
    @param szButtonText - строка с текстом для первой кнопки 

    @returns - 1 если успешно 
*/ 
stock setDialogButtonOne(iDialogID, szButtonText[64])
PHP:
/* 
    function setDialogButtonTwo() 

    Устанавливает текст для второй кнопки диалога 

    @param iDialogID - id диалога 
    @param szButtonText - строка с текстом для второй кнопки (оставьте пустым чтобы скрыть вторую кнопку) 

    @returns - 1 если успешно 
*/ 
stock setDialogButtonTwo(iDialogID, szButtonText[64])
PHP:
/* 
    function setDialogType() 

    Устанавливает тип диалога (стандартные типы из a_samp.inc) 

    @param iDialogID - id диалога 
    @param iType - тип для диалога 

    @returns - 1 если успешно 
*/ 
stock setDialogType(iDialogID, iType)
PHP:
/* 
    function setDialogText() 

    Устанавливает текст для диалога 

    @param iDialogID - id диалога 
    @param szText - строка с текстом для диалога (разрешены \n \t и цвета) 

    @returns - 1 если успешно 
*/ 
stock setDialogText(iDialogID, szText[MAX_DATA_SIZE])
PHP:
/* 
    function addDialogListItem() 

    Добавляет новый пункт в меню типа DIALOG_STYLE_LIST 

    @param iDialogID - id диалога 
    @param szItemText - строчка для пункта (разрешены \t и цвета) 

    @returns - 1 если успешно 
*/ 
stock addDialogListItem(iDialogID, szItemText[MAX_DATA_SIZE])
PHP:
/* 
    function showDialog() 

    Показывает диалог игроку 
     
    @param iPlayerID - id игрока 
    @param iDialogID - id диалога 

    @returns - 1 если успешно 
*/ 
stock showDialog(iPlayerID, iDialogID)
PHP:
/* 
    function closeDialog() 

    Закрывает все открытые у игрока диалоги 

    @param iPlayerID - id игрока 

    @returns - 1 если успешно 
*/ 
stock closeDialog(iPlayerID)
PHP:
/* 
    function isDialogExists() 
     
    Проверяет существование диалога 

    @param iDialogID -id диалога для проверки 

    @returns - true если диалог существует, иначе false 
*/ 
stock isDialogExists(iDialogID)
Также присутствуют и настройки:
PHP:
#define MAX_DIALOGS 1000 // Максимальное количество диалогов, можете поменять если нужно больше 
#define MAX_DATA_SIZE 1024 // Максимальный размер данных в диалоге, можете поменять если нужно больше
Я не спорю, что возможно это во много раз медленнее стандартной системы диалогов, но мне так удобнее, а за удобство иногда приходится платить.
Я также не спорю что возможно это велосипед, но мне так удобнее, а вы если хотите то пользуйтесь, а если нет... то не пользуйтесь
И в конце концов я не спорю что существующий мод будет довольно сложно переписать на эту систему, но она для этого и не создана. Я создал её для своего мода с нуля и просто решил выложить на общий суд, вдруг кому-то еще пригодится.

Ссылка на сам инклуд:
Ссылка на плагин с которым я тестировал данный инклуд (пример):
Автор: sgtfox aka 0ct0g3n

Всем спасибо, надеюсь на адекватную критику (ИНКУЛУД ДЕРЬМИЦО, АФФТАР ВЫПЕЙ ЙАДУ :D)
 
Последнее редактирование модератором:
Сверху Снизу