Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 3 1 2 3 ПоследняяПоследняя
Показано с 1 по 10 из 27

Тема: TDW Dialog Library

  1. #1
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±

    TDW Dialog Library

    TDW Dialog library
    библиотека для удобной работы с диалогами

    Описание
    Библиотека разработана для удобной работы с обычными диалогами. Теперь появилась возможность обрабатывать значения диалогов в отдельных друг от друга функциях. Данная возможность обеспечивает достаточно хорошую читаемость. Кроме того, данная библиотека поддерживает и другие библиотеки, например, библиотеку y_hooks (из проекта YSI).

    Документация
    Создание обработчика
    Особенностью данной библиотеки является её синтаксис. Он достаточно гибкий, поскольку в любой момент можно добавить собственный функционал.
    PHP код:
    dialog [<атрибуты>] название_функции(аргументы)
    {
        
    // код..

    • Квадратные скобки и атрибуты в них могут не использоваться.
    • Вместо "dialog" можно использовать "Dialog:", "DialogResponse:".

    Доступные атрибуты:
    • hook
    • nohook
    • template - генерирует функцию-шаблон.

    Добавление нового атрибута
    Для добавления нового атрибута его сначала необходимо зарегистрировать, а уже после - использовать. Пример регистрации атрибута:
    PHP код:
    // Регистрация нового атрибута "symbol". Макрос получает
    // название функции (параметр 1), аргументы (параметр 2),
    // флаги (ещё не реализованы).
    #define r@symbol:%8$%1(%2)(%3) %8$// код реализации... 
    Опции и значения по умолчанию
    Кроме того, библиотека позволяет определять значения по умолчанию.
    Название Описание
    TDW_DIALOG_DEFAULT_HOOK Позволяет использовать hook'и по умолчанию. Стоит отметить, что данная возможность работает только при включении библиотеки y_hooks.
    TDW_DIALOG_SKIP_ARGS С данной опцией появляется возможность пропускать аргументы. Предупреждение: данная опция может увеличить размер кода. Кроме того, запрещает использовать иные названия аргументов (то есть только: playerid, response, listitem, inputtext[])
    TDW_DIALOG_ID Содержит идентификатор диалога, который будет использоваться для обработки. По умолчанию имеет значение "32767".
    Функции
    Название Описание
    OpenDialog/Dialog_Open Позволяет открыть диалоговое окно.
    CloseDialog/Dialog_Close Закрывает диалоговое окно для игрока.
    ShowDialog/Dialog_Show Показывает шаблон для игрока.
    IsPlayerInDialog Возвращает состояние игрока. 1 - игрок находиться в диалоговом окне, иначе нуль.

    Пример использования:
    PHP код:
    #include <a_samp>
    #define TDW_DIALOG_SKIP_ARGS
    #include <dialog\tdw_dialog>

    dialog [hookregister(playerid)
    {

    }

    dialog [templateregister(playerid)
    {
        
    OpenDialog(playeriddfunc:registerDIALOG_STYLE_MSGBOX,
            
    "Register",
            
    "Hello!",
            
    "Register""Cancel"
        
    );
    }

    public 
    OnPlayerConnect(playerid)
    {
        
    ShowDialog(playeriddfunc:register);
        return 
    1;

    Скачать
    1. Перейдите в репозиторий на github (ссылка выше).
    2. Для скачивания на открывшейся странице нажмите на кнопку "Clone or download" (зелёного цвета) и в открывшемся меню - "Download ZIP".
    3. Все файлы библиотеки перемести в папку '/pawno/includes/'.
    4. Скомпилировать изменённые вами скрипты.


    Благодарность:
    • $continue$ - тестирование библиотеки.


    Автор:

    Лицензия
    Библиотека доступна по лицензии Zlib.
    Последний раз редактировалось VVWVV; 06.10.2017 в 20:06.

  2. 5 пользователя(ей) сказали cпасибо:
    $continue$ (06.10.2017) Desulaid (19.07.2017) Geebrox (14.12.2016) Osetin (11.12.2016) oukibt (05.06.2021)
  3. #2
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    А когда через читы допустим Dialog Hider юзаешь то он как то вызовет OnDialogPerformed или функцию закрытия?
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  4. #3
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    А когда через читы допустим Dialog Hider юзаешь то он как то вызовет OnDialogPerformed или функцию закрытия?
    Нет. Впрочем, если вы хотите, то могу сделать.

    UPD: Сделал.
    Последний раз редактировалось VVWVV; 12.12.2016 в 19:48.

  5. #4
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Нет. Впрочем, если вы хотите, то могу сделать.
    В сампце не ковыряюсь уже почти, так просто уточнил,
    вдруг кто то остался кто воюет с читерами и ему понравилась эта система,
    а защиты в ней нету)
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  6. #5
    Аватар для Battista
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2016
    Адрес
    Улан-Удэ
    Сообщений
    27
    Репутация:
    1 ±
    Если в include записал dialog , а вызываешь его в gamemode , то игроку вылезают "кракозябры", а если записываешь и вызываешь его самом gamemode , то все нормально.
    Почему?
    Последний раз редактировалось Battista; 13.02.2017 в 12:48.

  7. #6
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Battista Посмотреть сообщение
    Если в include записал dialog , а вызываешь его в gamemode , то игроку вылезают "кракозябры", а если записываешь и вызываешь его самом gamemode , то все нормально.
    Почему?
    Мне кажется, что это проблема с кодировкой файла
    Последний раз редактировалось VVWVV; 14.02.2017 в 10:09.

  8. #7
    Аватар для Battista
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2016
    Адрес
    Улан-Удэ
    Сообщений
    27
    Репутация:
    1 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Мне кажется, что это проблема с кодировкой файла.
    Кодировка файла UTF-8, проблема все такая же
    Последний раз редактировалось Battista; 13.02.2017 в 14:06.

  9. #8
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Battista Посмотреть сообщение
    Кодировка файла UTF-8, проблема все такая же
    Используйте кодировку Windows 1251

  10. #9
    Аватар для Battista
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2016
    Адрес
    Улан-Удэ
    Сообщений
    27
    Репутация:
    1 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Используйте кодировку Windows 1251
    Тогда "кракозябры" появляются в файле .inc

    UPD:
    в Notepad++ переводит кодировку криво
    SublimeText 3 все нормально

    Извините за беспокойство, удачного дня :)

  11. #10
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Неплохо было бы вшить библиотеку центр текста.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  12. Пользователь сказал cпасибо:
    VVWVV (19.07.2017)
 

 
Страница 1 из 3 1 2 3 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •