скрипт на меню с персонажами

Мод Character Menu / Изменение внешнего вида для GTA 5

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажамискрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажамискрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажамискрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажамискрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Остальное будем делать с нуля. Я придерживаюсь политики минимального вмешательства в уже имеющиеся файлы.

Итак, как это сделать. Начнем с самого простого. Сначала создадим наш новый скрипт, который и будет заниматься вызовом других скриптов. Назовем его ui_cheat.script и положим ко всем остальным скриптам.
Вот его содержание:

function cheat:__init(owner) super()
self.owner = owner
self:InitControls()
self:InitCallBacks()
end

function cheat:__finalize() end

function cheat:InitControls()
— здесь будут все контролы
end

function cheat:InitCallBacks()
— здесь будут все каллбаки (ну или обработчики)
end

— сразу созадим ф-ию для выхода
function cheat:on_quit()
local console = get_console()
self:GetHolder():start_stop_menu (self.owner, true)
self:GetHolder():start_stop_menu (self,true)
self.owner:Show (true)
— если мы вызывались из игры, то убираем главное меню
if level.present() and (db.actor

= nil) and db.actor:alive() then
console:execute(«main_menu off»)
end
end

Теперь нужно как-то этот скрипт вызвать. Я решил пойти по проторенной дорожке, и вызывать его из главного меню. Пока мы не будем создавать там новых кнопок, а повесим его запуск на горячую клавишу. Например на F1, из игры будет удобно жать Esc и сразу F1. Но можете и другую кнопку использовать. Итак, открываем файл ui_main_menu.script, идем в самый конец и ищем там такую ф-ию:

Это обработчик нажатий клавиш. Ииспользуемые клавиши перечислены в lua_help.script (ищите строку C++ class DIK_keys). Итак, вместо

— else
if dik == DIK_keys.DIK_Q then
self:OnMessageQuitWin()
end

мы напишем (раскоментируем и заодно включим убранное спавн меню)

То есть, вот один из вариантов запуска, привязка к горячей клавише. Но еще нет самой ф-ии, поэтому допишем в конец файла:

Запуск по кнопке уже есть, но нет возврата обратно. Исправим это, вернемся к файлу ui_cheat.script и сделаем там обработчик нажатий клавиш. В конец файла допишем:

Теперь наша задача в том, чтобы в обработчик нажатий клавиш внести новые ф-ии. Начнем, например, со спавна предметов. Посмотрим, как спавнятся квестовые монстры и вещи и сделаем также (добаляем в конец ui_cheat.script):

Добавление от HikeR.
Таким образом, кстати, передаются квестовые предметы. Используйте в своих скриптах и новых квестах.
Функцию можно добавить к существующей, тогда при ее вызове будет проверятся количество аргументов
и вызываться нужная. В С++ это называется «перегрузка» (если не ошибаюсь скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Теперь необходимо вызвать эту функцию. Привяжем кнопки 1 и 2 на цифровой клавиатуре к появлению Грозы и патронов к ней. В функцию cheat:OnKeyboard после строки:

Источник

Как создать внутриигровое меню в Unity

Создание и дизайн главного меню и меню настроек

1. Создаем две сцены: Menu и Game
2. Открываем File->BuildSettings и перетаскиваем созданные сцены в Scenes in build.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Теперь можем приступать к созданию пользовательского интерфейса. Откройте сцену Menu и добавьте Panel. Сразу добавляется Canvas(Холст) и дочерним объектом к нему добавляется Panel (Панель).

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Обратим внимание на инспектор для Canvas. А именно на компонент Canvas.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Render Mode автоматически выставлен на Screen Space – Overlay.

Screen Space – Overlay:

Способ рендеринга, при котором Canvas напрямую привязан к экрану. Если изменить разрешение экрана или размер, то Canvas с такой настройкой тоже изменит свой масштаб на подходящий. UI в таком случае будет отрисовываться поверх других объектов.

Важен порядок размещения объектов в иерархии. Холст Screen Space – Overlay должен находиться в самом верху иерархии, иначе он может пропасть из виду.

Screen Space – Camera:

В таком случае, Холст прикрепляется в камере. Для такой настройки обязательно нужно указать камеру которой соответствует Холст. Как и в предыдущем пункте, Холст будет менять свой масштаб в зависимости от разрешения и размера экрана, а также от области видимости камеры.

Так же для Холста с такими настройками важно размещение относительно других объектов. На переднем плане будут объекты, которые находятся ближе к камере, не зависимо от того, это UI или другие GameObjects.

Холст размещается, как любой другой объект без привязки к камере или экрану, он может быть ориентирован как вам угодно, размер Холста задается с помощью RectTransform, но то, как его будет видно во время игры, будет зависеть от положения камеры.
В данном задании мы будем использовать Screen Space – Overlay.
Давайте настроим цвет панели. Можно также добавить картинку на фон. Для этого нужно обратить внимание на компонент Image в Инспекторе панели.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Как видите, картинка добавляется в поле Source Image. Картинку можно просто перетащить из файлов проекта, либо кликнуть на кружочек справа от поля.

Цвет выбирается в поле Color, либо с помощью инструмента пипетки.
Важно знать, что пипетка позволяет выбрать цвет за пределами Unity.
После того, как выбрали цвет или картинку, нам нужно разместить кнопки, которые всем будут управлять, а так же текст. Чтобы упростить себе задачу, для Panel мы добавим еще один компонент, который называется Vertical Layout Group. И сразу настроим его.

Нам необходимо разместить все кнопки и текст по центру экрана. Для этого находим в компоненте Vertical Layout Group пункт Child Alignment и выбираем Middle Center. Теперь все наши элементы, будь то кнопки или текст, будут выравниваться по центру, независимо от разрешения экрана.

Так же убираем галочки с ChildForceExpand. Должно получиться так:

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Данный компонент можно настраивать в зависимости от того, какой вид вы хотите получить.

В нашем меню должны быть следующие кнопки:

1. Start Game
2. Settings
3. Exit

Сейчас, добавляем Text дочерним элементом нашей Панели. Можете заметить, как он прикрепляется по центру. Иногда для этого требуется созданный элемент в окне Scene просто передвинуть на Panel и тогда он выровняется. Настраиваем текст так, как хочется с помощью компонента Text(Script) в инспекторе.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

После добавляем Button. Кнопка добавится под текст.

Разберем компонент Button нашей кнопки. Нас интересует Transition – то, как кнопка будет реагировать на действия мышки. В Unity реализовано несколько способов. Пока рассмотрим довольно простой Color Tint. Это значит, что кнопка будет менять свой цвет при определенных состояниях. Интерфейс для настройки довольно удобный. Настраиваем так, как нравится.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Так же у объекта Button есть дочерний объект Text – это текст который будет отображаться на кнопке. В тексте прописываем Play.

Кажется, Текст и Кнопки находятся слишком близко друг к другу.

Что бы это исправить для нашего Текста Menu добавляем еще один компонент, который называется Layout Element. И ставим галочку напротив Ignore Layout.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

После этого выставляем Anchor на Middle-Center.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Потом добавляем еще три кнопки и называем их Settings, Credits, Exit.
Можно поменять размеры кнопок. На этом этапе меню выглядит так:

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Переходы между main menu и settings

Что бы переходить на меню опций не обязательно делать новую сцену.
Для начала создаем пустой GameObject (Create Empty) как Child нашего Холста. Назовем его Main menu. Потом нашу панель, со всеми инструментами сделаем дочерними элементами этого объекта. Должно получиться так:

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Выбираем наш MainMenu объект и сделаем его дубликат. С выбранным элементом нажимаем комбинацию клавиш Ctrl+D. У нас появится новый объект.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Переименовываем новый объект в Settings. Для удобства управления инактивируем MainMenu.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Дальше в панели Settings переписываем текст на Settings, а так же удаляем все кнопки.
В настройках мы сделаем следующее – Fullscreeen, настройки громкости, качество изображения, разрешение экрана.

За контроль Fullscreen будет отвечать элемент Toggle.
За громкость – Slider.
За качество изображения и разрешение – Dropdown.

Между каждыми элементами следует разместить текст, который будет обозначать название каждой настройки. Следует также добавить кнопку, которая будет возвращать нас обратно в главное меню.

Можно настроить Spacing в Vertical layout group, чтобы между элементами было немного пространства. Добавим на панель картинку и в итоге получим такой результат:

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Программирование кнопок

Перейдем к написанию скрипта меню.

Нам нужно, чтобы по нажатию кнопки Play у нас запускалась другая сцена с нашей игрой, а по нажатию кнопки Exit игра закрывалась.

Это мы и пропишем в нашем скрипте.

Для MainMenu добавляем новый компонент MenuControls.cs и отрываем его.

Первое что надо сделать – удалить существующие методы Start() и Update() – тут они нам не нужны.

Дальше нам надо подключить следующее:

После этого напишем свой метод для нажатия кнопки Play. Метод должен быть public — нам нужно иметь возможность видеть его за пределами нашего скрипта.

За загрузку сцены отвечает SceneManager и у него есть метод LoadScene. Существует несколько перегрузок метода. Можно передавать имя сцены, которую вы хотите загрузить. В нашем случае это сцена «Game».

В итоге функция будет выглядеть следующим образом.

Так же создаем метод для выхода из игры:

Однако в Unity мы не увидим результата работы этого метода, так как подобное работает только в билде. Для того что бы проверить, что все работает правильно, добавляем в метод строчку

Теперь необходимо прикрепить события кнопок к этим методам. Выбираем кнопку Play и находим в инспекторе следующее:

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Это событие кнопки, которое по нажатию будет вызывать подписанные на событие методы. Добавляем метод нажимая на +.

В появившееся окно нужно перетащить объект, в котором содержится нужный скрипт. В нашем случае это Main Menu.

После этого нужно выбрать скрипт MenuControls и найти метод PlayPressed().

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Точно также делаем для кнопки Exit. Только теперь выбираем метод ExitPressed().
Для кнопки Settings нам не нужно писать никакой код, так как некоторый функционал уже встроен.

Суть в том, что мы будем активировать GameObject. На этом этапе у вас должен быть активным MainMenu, а Settings не должно быть видно. Так же видим, что когда мы активируем Settings, он полностью перекрывает Menu. Суть в том, что играет роль порядок расположения дочерних объектов Холста – в каком порядке они расположены в иерархии в том порядке они и будут прорисовываться. Поскольку Settings у нас находятся над Main Menu, то они перекрывают меню.
Это мы и будем использовать.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Ну а для кнопки Back, которая находится в меню опций, можно таким же образом подключить событие SetActive для объекта Settings, но на этот раз нам нужно инактивировать наш объект, поэтому мы просто не ставим галочку.

Вот и все, мы закончили создание меню, а в следующей части продолжим и сделаем так, чтобы игра реагировала на изменения настроек.

Настройки

Настройки полного экрана

Первое что мы пропишем это переключение полноэкранного и оконного режимов.
Нужно убрать галочку с пункта Is On нашего Toggle элемента.
Создаем скрипт для объекта Settings. Назовем его Settings.cs.

Для начала нам надо хранить переменную типа bool которая будет отображать текущее состояние – полноэкранный режим или нет. А потом, по изменению toggle эта переменная будет переключаться на противоположное значение.

У экрана есть свойство Screen.fullScreen типа bool. Можно просто будем присваивать значение нашей переменной isFullScreen этому свойству.

Увидеть результат можно только в билде. Давайте сейчас это сделаем. Учтите, что для того что бы билд был правильным нужно оставить активным только объект MainMenu, а Settings отключить. Если это сделано, то запускаем билд через File->BuildSettings и нажимаем кнопку Build.

После этого можно проверить работу программы. Если все правильно, то по нажатию галочки сразу будет изменяться режим.

Изменения громкости звука в игре

Для работы с настройками звука нам для начала понадобится AudioMixer, а также какой-нибудь трек, на котором мы будем проверять работу наших настроек.

Называем его GameSettings. После этого открываем окно AudioMixer: Window->Audio Mixer (Ctrl + 8).

Что бы контролировать параметры миксера через скрипт, их нужно сделать видимыми для этого скрипта. Эта процедура называется ExposeParameters. Для этого кликаем на Mixer и в инспекторе находим volume и кликаем правой кнопкой мыши. Выбираем Expose to script:

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Теперь в окне Audio Mixer обратите внимание на пункт Exposed Parameters в верхней левой части.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Теперь там есть параметр. Кликаем на него и называем наш параметр masterVolume. Следует запомнить имя, которое ему присваиваем – его нужно будет указать в коде.

Переходим в Settings.cs и создаем поле AudioMixer, чтобы получить ссылку на него в коде.

потом создаем метод

Метод SetFloat будет принимать значения нашего слайдера и присваивать это значение параметру “masterVolume”.

Осталось прикрепить наш метод к событиям слайдера. Находим в инспекторе слайдера поле On Value Changed и точно так же прикрепляем объект. Вот только теперь нам надо не просто выбирать метод из списка, а использовать поле Dynamic float. Как видите, там уже есть наш метод, и он будет получать переменную от самого слайдера. Также нужно не забыть перетащить AudioMixer в соответствующее поле в компоненте Settings.cs.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Теперь добавим звуки в нашу игру, чтобы проверить работу скрипта.
На canvas добавим компонент Audio Source.
Настроим его следующим образом:

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Audio Clip – саундтрек
Output – Мастер нашего миксера (дочерний объект)
Loop – поставить галочку – зациклить композицию, чтобы она играла постоянно.

Качество изображения

В Unity уже встроены настройки качества изображения. Edit->Project Settings->Quality. В инспекторе видим Quality settings. Их можно добавлять и настраивать.

Особенностью работы с настройками качества является следующее:
Каждой настройке соответствует индекс, который мы можем получить из Dropdown. Все что нужно сделать – переписать соответствующие пункты в нужные индексы в нашем UI элементе. Открываем его и в инспекторе находим Dropdown(Script) и в нем пункт Options. Дальше вписываем настройки в нужном порядке. У меня получилось так:

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Дальше нужно прописать код. Мы продолжаем дополнять методами наш скрипт Settings.cs
Создаем метод, который будет принимать int – индекс выбранного пункта.

Сохраняем скрипт и подключаем метод к событию на нашем меню. На этот раз это событие Dropdown – On Value Changed.

Поскольку наш метод будет получать значение от самого UI элемента, то мы выбираем название метода из группы Dymanic int. по аналогии с предыдущим пунктом.

Разрешение экрана

Экраны у всех разные и наперед угадать какие разрешения на них будут поддерживаться невозможно. Поэтому для настроек разрешения экрана нужно сначала получить все возможные разрешения, а потом заполнить список разрешений этими значениями.

Первое что нам понадобится – массив типа Resolution[] где мы будем хранить значения разрешений экрана.

Однако для пунктов выпадающего списка тип – string. Поэтому создаем список List<> в который мы будем сохранять значения возможных разрешений. Для работы со списками необходимо подключить:

Также нам понадобится ссылка на соответствующий Dropdown. Для работы с UI элементами следует также прописать:

В скрипте получим следующие поля:

Инициализацию и заполнение проводим в методе Awake. Этот метод вызывается при запуске объекта, соответственно выполняется раньше, чем все остальные методы.

Получаем значения и каждое из них добавляем в List в формате ширина*высота. После этого очищаем список Dropdown и заполняем его новыми опциями.

Теперь нужно создать метод, который будет менять разрешение экрана. Как и в предыдущих пунктах – принимать значение будем от UI элемента. Создаем функцию, которая принимает int

В SetResolution необходимо передать параметры – ширина, высота и булевскую переменную, отвечающую за полный экран. У нас такая уже есть – это isFullScreen. Передаем ее в функцию.
Дальше не забываем подключить к соответствующему событию наш метод Resolution из группы Dynamic Int, а так же добавить ссылку на нужный Dropdown.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Готово. Теперь можно использовать это меню вместо скучного дефолтного лаунчера. Однако, чтобы был толк нужно отключить его запуск.

Edit->ProjectSettings-> Display Resolution Dialog-Disabled

Источник

Назначение скриптам горячих кнопок. Часть 1. Скрипт

Материал из S.T.A.L.K.E.R. Inside Wiki

Содержание

Вступление

Поизучав мод от камрада Jeppa, решил создать небольшое руководство по созданию новых интерфейсных окон, привязки скриптов на кнопки, реакцию на нажатия клавиш, спавн предметов прямо в игре.

К сожалению в самой игре возможность прибиндить запуск скрипта или еще какое действие на новую кнопку отсутствует, поэтому приходится придумывать что-то свое. Jeppa вышел из положения создав новое диалоговое окно на основе старого интерфейса загрузки спавн файлов. Он добавил на него 10 кнопок с описаниями, при нажатии на каждую вызывался какой-либо скрипт или функция.

Нам понадобятся следующие распакованные (или имеющиеся) файлы:

Остальное будем делать с нуля. Я придерживаюсь политики минимального вмешательства в уже имеющиеся файлы.

Скрипт

Итак, как это сделать. Начнем с самого простого. Сначала создадим наш новый скрипт, который и будет заниматься вызовом других скриптов. Назовем его ui_cheat.script и положим ко всем остальным скриптам.

скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажами

Глобальный мод для смены имиджа, одежды, внешнего вида главных героев и NPC в игре GTA 5! Работает только в одиночном режиме. Если вы будете использовать это дополнение в сетевой игре, есть вероятность, что будете заблокированы со стороны Rockstar.

В этом скрипте собрана огромная база образов для главных героев – Майкла, Тревора и Франклина. Вы можете переключаться между персонажами одной кнопкой. Для этого в меню предусмотрена быстрая навигация. Можно выбрать как цельный образ с различными аксессуарами, так и собрать собственный.

Всего в данной версии представлено более 500 NPC, 350 из которых имеют настраиваемые параметры отдельных частей.

Особенности

Выбрать внешний вид можно для следующих частей тела и отдельных вещей: лицо, борода, усы, ноги, руки, глаза, дополнительные аксессуары, головные уборы, перчатки на руки, ботинки, сумки, эмблемы на майки, дополнительное оборудование, например, акваланг.
скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажамиВы можете превратиться в государственного служащего, например, в охранника первых лиц или полицейского, в животного – овца, Чоп, кошка. Даже для животных имеются настраиваемые параметры. Например, для Чопа можно выбрать цвет ошейника, для кошек тип окраса и многое другое.
скрипт на меню с персонажами. Смотреть фото скрипт на меню с персонажами. Смотреть картинку скрипт на меню с персонажами. Картинка про скрипт на меню с персонажами. Фото скрипт на меню с персонажамиУ вас будет следующее меню:

Как активировать

В моде Character Menu используйте следующие клавиши для навигации:

Источник

Скрипт на меню с персонажами

При клике на иконку стрелки выезжает боковая панель с навигацией. Анимация сделана с помощью GSAP.

Эффект зачеркивания при наведении в меню

Эффект зачеркивания при наведении на пункт в горизонтальном меню. Наиболее эффектно будет смотреться на лендингах, где горизонтальное меню расположено поверх фонового изображения.

Slinky — адаптивное многоуровневое меню

Легкий адаптивный плагин многоуровневого меню. Меню больше подходит для отображений на мобильных устройствах.

Гибкое горизонтальное меню

Slide out sidebar меню

Плавно выдвигающееся меню боковой панели. Реализации данного меню уже несколько лет, однако мы решили вспомнить о нём и прикрутить иконки font-awesome, шрифт roboto и обновить modernizr.

Mega dropdown меню

Вертикальное accordion меню

Вертикальное многоуровневое меню типа аккордеон, раскрывающееся по клику на стрелке.

Вертикальное раскрывающееся меню типа аккордеон в стиле flat design. Простое в понимании и стилизации.

Диагональное меню на CSS

Используя возможности CSS3 в этом уроке сделаем диагональное меню, и напишем media queries, чтобы придать ему адаптивности.

Lavalamp меню на CSS3

Скользящий эффект для меню при наведении, который более известен, как lavalamp эффект. Эффект реализован только на CSS с помощью transitions и селектора

Анимированный border с меню

Создание off-canvas (вне основной страницы) навигации с анимированным border эффектом.

Источник

Скрипт на меню с персонажами

Нам понадобятся следующие распакованные (или имеющиеся) файлы:

Вот его содержание:

Теперь нужно как-то этот скрипт вызвать. Я решил пойти по проторенной дорожке и вызывать его из главного меню. Пока мы не будем создавать там новых кнопок, а повесим его запуск на горячую клавишу. Например, на F1, из игры будет удобно жать Esc и сразу F1. Но можете и другую кнопку использовать. Итак, открываем файл ui_main_menu.script, идем в самый конец и ищем там такую ф-ию:

Это обработчик нажатий клавиш. Используемые клавиши перечислены в lua_help.script (ищите строку C++ class DIK_keys). Итак, вместо

Запуск по кнопке уже есть, но нет возврата обратно. Исправим это, вернемся к файлу ui_cheat.script и сделаем там обработчик нажатий клавиш. В конец файла допишем:

Предметы

Теперь наша задача в том, чтобы в обработчик нажатий клавиш внести новые ф-ии. Начнем, например, со спавна предметов. Посмотрим, как спавнятся квестовые монстры и вещи и сделаем также (добаляем в конец ui_cheat.script):

Теперь необходимо вызвать эту функцию. Привяжем кнопки 1 и 2 на цифровой клавиатуре к появлению Грозы и патронов к ней. В функцию cheat:OnKeyboard после строки:

и создадим эти функции (опять добавляем в конец файла):

Транспорт

Спавнить транспорт мы будем аналогично, но тут есть небольшая проблема. В конфигах для траспорта отсутствуют необходимые параметры, все-таки машины в игре были вырезаны. Но нам это не помеха, поэтому начнем с Нивы.

Создадим новый файл с именем cars_spawn.ltx

Далее по накатанной дорожке. Допишем функцию вызова спавна:

и назначим ей кнопку 3 на цифровой клавиатуре:

Все. Можно запускаться и смотреть. Жмем Esc, потом F1 (главное меню пропадает, остается просто картинка), потом 1, 2 или 3 на цифровой клавиатуре. в выбранном радиусе будут появляться автоматы, патроны и Нивы.

Монстры

Аналогично добавляем монстров и прочую живность. Функция:

Обработка клавиши 4

Сон по желанию

Предполагается, что имя скрипта sleep_manager.script, а в нем есть функция sleep_three_hours(), то есть спать 3 часа. Сам я не пользовал этот мод, поэтому могу ошибаться.

Внимание.

При описанном способе спавна есть некоторые трудности. Предмет создает в направлении вектора игрока, который не всегда совпадает с направдением взгляда. Можете включить внешний обзор и увидеть, что при небольших поворотах ноги игрока не двигаются. Чтобы гарантированно повернуться сделайте пару шагов вперед

Ссылки на ресурсы

Благодарности

Что дальше?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *