Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4

Тема: 3DMenu

  1. #1
    Аватар для Osetin
    •Администратор•

    Статус
    Оффлайн
    Регистрация
    26.03.2013
    Адрес
    ♔Osetia, Vladikavkaz♔
    Сообщений
    3,432
    Репутация:
    1093 ±

    3DMenu

    Данный инклуд позволяет создать новый тип меню взамен стандартного меню и диалогов.

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

    Изменения

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

    Требования

    - 0.3e client/server
    - Incognito's Streamer (0.3e)


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


    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,boxid);
    Данный callback вызывается, когда игрок нажимает Пробел при выборе.
    Заметка #1: Параметр boxid равен ID выбранной секции.

    Скрины: http://imgur.com/a/4NuuL
    Ссылка: https://github.com/SDraw/3DMenu

    Автор: SDraw

  2. 4 пользователя(ей) сказали cпасибо:
    DeimoS (28.03.2014) QspeaKTV (13.01.2014) TWIX (13.01.2014) [ForD] (13.01.2014)
  3. #2
    Аватар для TWIX
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.10.2013
    Сообщений
    100
    Репутация:
    41 ±
    Отличная работа.
    Уважаю данных Людей:

    1. Osetin(Хороший Администратор)
    2.Daniel_Cortez(Классный скриптер)
    3.Londlem(Офигенный скриптер)
    4.#Carleone(Просто хороший человек)

  4. #3
    Аватар для Chery*
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.03.2014
    Адрес
    Тульская область
    Сообщений
    32
    Репутация:
    15 ±
    Это отлично! Спасибо!
    Последний раз редактировалось Salvacore; 28.03.2014 в 11:02.

  5. #4
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Посмотрю где можно использовать.

 

 

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

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

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

Ваши права

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