Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 1 из 1
  1. #1
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±

    TextList - система списков на Text Draw

    TextList
    GitHub

    Описание
    Система списков на Text Draw.

    Скриншоты
    На скриншотах изображена реально работающая система тюнинга, выполенная с использованием данной библиотеки. Посмотреть её код можно здесь, но учтите, что данная реализация частично привязана к различным системам режима Open-GTO.


    Функции
    Показать созданный TextList
    1. TextList_Show(playerid, function[]);

    Открыть TextList
    1. TextList_Open(playerid, function[], list_items[][], list_size = sizeof(list_items), header[] = "",
    2. button1[] = "", button2[] = "", Float:pos_x = 89.0, Float:pos_y = 140.0,
    3. select_color = 0xFFA500FF,
    4. lists_bg_color[TEXTLIST_MAX_ITEMS] = {0x212121A0, ...},
    5. lists_fg_color[TEXTLIST_MAX_ITEMS] = {0xFFFFFFFF, ...},
    6. header_bg_color = 0xB71C1CAA, header_fg_color = 0xFFFFFFFF,
    7. paginator_bg_color = 0x21212160, paginator_fg_color = 0xFFFFFFFF,
    8. button1_bg_color = 0x6D4C41AA, button1_fg_color = 0xFFFFFFFF,
    9. button2_bg_color = 0x6D4C41AA, button2_fg_color = 0xFFFFFFFF);

    Закрыть TextList
    1. TextList_Close(playerid);

    Статус TextList
    1. TextList_IsOpen(playerid);


    Автовызываемые функции
    Для каждого TextList оформляется собственная функция-обработчик, выглядит она следующим образом:
    1. TextListResponse:example_tl(playerid, TextListType:response, itemid, itemvalue[])
    2. {
    3. return 1;
    4. }

    Эта функция вызывается при любом взаимодействии пользователя с TextList.

    TextListType может принимать следующие значения:
    • TextList_None
    • TextList_Button1
    • TextList_Button2
    • TextList_ListItem
    • TextList_ListUp
    • TextList_ListDown
    • TextList_Cancel


    Константы
    Доступно несколько констант, некоторые из них можно переназначить.
    Константа Значение по умолчанию Можно переназначить?
    TEXTLIST_MAX_ITEMS 30 Да
    TEXTLIST_MAX_ITEMS_ON_LIST 10 Да
    TEXTLIST_MAX_ITEM_NAME 32 Нет
    TEXTLIST_MAX_FUNCTION_NAME 31 Нет
    TEXTLIST_MAX_BUTTON_NAME 12 Нет

    Использование
    Для более удобного использования, в системе предусмотрена возможность создавать функцию для открытия TextList, это полезно при множественном вызове одного списка (в основном используется при создании вложенных меню):
    1. TextListCreate:example_tl(playerid)
    2. {
    3. new items[][TEXTLIST_MAX_ITEM_NAME] = {
    4. "Test 1",
    5. "Big Test 2"
    6. };
    7.  
    8. new bg_colors[TEXTLIST_MAX_ITEMS] = {
    9. 0xFF0000FF,
    10. 0x00FF00FF
    11. };
    12.  
    13. TextList_Open(playerid, TextList:example_tl, items, sizeof(items),
    14. "Example header",
    15. "Button 1", "Button 2",
    16. .lists_bg_color = bg_colors);
    17. }
    18.  
    19. TextListResponse:example_tl(playerid, TextListType:response, itemid, itemvalue[])
    20. {
    21. new string[128];
    22. format(string, sizeof(string), " %d | %d | %d | %s", playerid, _:response, itemid, itemvalue);
    23. SendClientMessage(playerid, -1, string);
    24. return 1;
    25. }

    И где-то вы можете открыть созданный TextList:
    1. TextList_Show(playerid, TextList:example_tl);

    Естественно вас никто не заставляет пользоваться этой системой, вы можете обойтись без TextListCreate.

    Скачать
    Последний раз редактировалось ziggi; 15.03.2018 в 20:23.

  2. 7 пользователя(ей) сказали cпасибо:
    $continue$ (04.09.2016) Battista (28.09.2016) Blood (04.09.2016) DeimoS (05.09.2016) Nash_Brigers (04.09.2016) Profyan (04.09.2016) Saibot (04.09.2016)
 

 

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

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

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

Ваши права

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