• Страница 1 из 1
  • 1
[Include] 3DMenu
fenix05Дата: Вторник, 16.04.2013, 10:51 | Сообщение # 1
.::Offline::.
Гангстер
Сообщений: 151
[ 62 ]
Награды: 4

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

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

    Вы можете сделать все, что угодно, если поймете функционал.



    Изменения

    - Добавлены "playerid" и "rotation" параметры в Create3DMenu().
    - Увеличен лимит секций до 16.
    - Изменен тип создания секций. Теперь их нумерация идет с верху в низ. Добавлен OnPlayerChange3DMenuBox(playerid,MenuID,boxid) callback. Добавлен FS для демонстрации
    - Удален параметр MenuID из функции CancelSelect3DMenu. Увеличен лимит меню - 1024.
    - Обновлены ложные native'ы.
    - Добавлено перемещение секций.
    - Изменен алгоритм вычисления линий и поворота.
    - Добавлены 2 цвета на задний фон: при активной секции и неактивной
    - Убран y_hook (из-за рекурсии и run-time ошибки в 0.3x), исправлен баг с отключением игрока, когда он выбирал меню.

    Требования

  • 0.3e client/server
  • 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 выбранной секции.

    Автор: SDraw

    Файловый архив


  • Alien Brickman [vk.com/alien_brickman]Обложка:
     
    islam9894Дата: Суббота, 31.08.2013, 12:30 | Сообщение # 2
    .::Offline::.
    Бандит
    Сообщений: 20
    [ 0 ]
    Награды: 0

    Статус отсутствует
    +
     
    gold_deagle007Дата: Воскресенье, 16.02.2014, 12:31 | Сообщение # 3
    .::Offline::.
    Разбойник
    Сообщений: 30
    [ 1 ]
    Награды: 0

    Статус отсутствует
    + happy
     
    • Страница 1 из 1
    • 1
    Поиск:


    Copyright www.SAMP-TEAM.com (c) 2009-2024
    Правила использования материалов сайта

    При копировании материалов из нашего сайта
    ссылка на www.SAMP-TEAM.com обязательна!
    Нарушители правил будут строго наказаны!

    Хостинг от uCoz   
    Для корректного просмотра мы рекомендуем Вам использовать браузер Google Chrome.
    Яндекс.Метрика
    Яндекс.Метрика