sgtfox
Новичок
Всем привет, и сегодня я выкладываю на общий суд свой велосипед.
Я перешел в Samp скриптинг из CS 1.6, и мне показалась неудобной стандартная система диалогов, я привык к системе меню, как в cs amx.
И вот, зародилась идея, буквально час кодинга, два часа отладки и появился этот инклуд!
Итак друзья, знакомьтесь! Smart Dialog System!
Перечислю его функции:
Также присутствуют и настройки:
Я не спорю, что возможно это во много раз медленнее стандартной системы диалогов, но мне так удобнее, а за удобство иногда приходится платить.
Я также не спорю что возможно это велосипед, но мне так удобнее, а вы если хотите то пользуйтесь, а если нет... то не пользуйтесь
И в конце концов я не спорю что существующий мод будет довольно сложно переписать на эту систему, но она для этого и не создана. Я создал её для своего мода с нуля и просто решил выложить на общий суд, вдруг кому-то еще пригодится.
Ссылка на сам инклуд:
Ссылка на плагин с которым я тестировал данный инклуд (пример):
Автор: sgtfox aka 0ct0g3n
Всем спасибо, надеюсь на адекватную критику (ИНКУЛУД ДЕРЬМИЦО, АФФТАР ВЫПЕЙ ЙАДУ
)
Я перешел в 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
Всем спасибо, надеюсь на адекватную критику (ИНКУЛУД ДЕРЬМИЦО, АФФТАР ВЫПЕЙ ЙАДУ
Последнее редактирование модератором:
