1. BanDiTuK24.04.2024 в 10:47от
  2. 180lb24.04.2024 в 09:27от
Загрузка...
Загрузка...

[INC] 3DMenu

Тема в разделе "Grand Theft Auto", создана пользователем SDraw, 29.04.2013.

  1. SDraw

    SDraw

    Статус:
    Оффлайн
    Регистрация:
    29.04.13
    Сообщения:
    3
    Репутация:
    0 +/-
    3DMenu

    Данный инклуд позволяет создать новый тип меню взамен стандартного меню и диалогов.
    • Создание меню для каждого игрока.
    • Поворот меню по оси Z.
    • Установка параметров для секций схожа с установкой текста для объекта.
    • Автовычисление позиций новых линий и смещений секций.
    • Лимиты: MAX_PLAYERS+10 меню и неограниченное количество секций для каждого меню (регулируется вручную).

    Что можно сделать с помощью данного инклуда


    Вы можете сделать все, что угодно, если поймете функционал.
    [​IMG][​IMG][​IMG]
    [video=youtube;haKTJ2ShylA https://www.youtube.com/watch?v=haKTJ2ShylA

    Требования

    - 0.3e+ клиент/сервер
    - Incognito's Streamer (0.3e+)
    - foreach


    Функции
    • Create3DMenu(Float: x,Float:y,Float:z,Float:rotation,boxes,playerid);
      • Создание меню на определенной позиции с определенным количеством секций и для определенного игрока.
        Заметка #1: Если Вы хотите, чтобы все видели меню, используйте -1 в параметре playerid.
        Заметка #2: Поворот должен быть от 0 до 360. Большие или меньшие значения сделают выбор меню невозможным.
        Заметка #3: Функция возвращает ID созданного меню.

    • SetBoxText(MenuID,box,text[],materialsize,fontface[],fontsize,bold,fontcolor,selectcolor,unselectcolor,textalignment);
      • Указание текста для секции.
        Заметка #1: Функция схожа с функцией SetObjectMaterialText.
        Заметка #2: Если указан неверный ID секции или меню, функция вернет -1.
      • selectcolor - цвет фона при активной секции, unselectcolor - при неактивной.

    • Select3DMenu(playerid,MenuID);
      • Начать выбор меню для игрока. Клавиши - смена секций: Y,N ; выбор - Пробел.
        Заметка #1: Функция вернет -1, если указан неверный ID меню.

    • CancelSelect3DMenu(playerid);
      • Отменить выбор меню для игрока.
        Заметка #1: Функция вернет -1, если игрок не выбирает никакое меню.

    • Destroy3DMenu(MenuID);
      • Уничтожение меню.
        Заметка #1: Если какой-то из игроков выбирает меню с данным ID, функция CancelSelect3DMenu будет вызвана автоматически.
        Заметка #2: Функция вернет -1, если меню с данным ID не существует.

    Callback'и

    • OnPlayerChange3DMenuBox(playerid,MenuID,boxid);
      • Данный callback вызывается, когда игрок нажимает Y или N при выборе меню.
        Заметка #1: Параметр boxid равен ID отображаемой секции.

    • OnPlayerSelect3DMenuBox(playerid,MenuID,selected);
      • Данный callback вызывается, когда игрок нажимает Пробел при выборе.
        Заметка #1: Параметр selected равен ID выбранной секции.

    Загрузка


    GitHub: 3DMenu

    Автор: SDraw
     
    Последнее редактирование: 02.05.2013
  2. Silvestr92

    Silvestr92

    Статус:
    Оффлайн
    Регистрация:
    07.04.13
    Сообщения:
    38
    Репутация:
    5 +/-
    с павно ру?
     
  3. zgira

    zgira

    Статус:
    Оффлайн
    Регистрация:
    10.08.13
    Сообщения:
    10
    Репутация:
    0 +/-
    Один вопрос: зачем?
     
  4. Добрый)

    Добрый)

    Статус:
    Оффлайн
    Регистрация:
    21.03.15
    Сообщения:
    262
    Репутация:
    112 +/-
    Круто. Но всё же лучше через обычный диалог делать меню.