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
Статус
отсутствует
| +
|
|
| |