Verse — это язык программирования, который поддерживается редактором UEFN. Здесь описаны основные шаги для быстрого добавления кода на Verse в ваш проект. Не важно, есть ли у вас опыт в программировании: вы сможете получить общее понимание того, что можно сделать с помощью языка.
Сейчас созданные нами устройства, которые выступают в качестве мишеней, нельзя сбить с одного выстрела, поэтому вы узнаете, как настроить их с помощью Verse!
Создайте новое устройство Verse
Создадим устройство Verse и разместим его на острове.
По сути это будет устройство, которое будет сообщать другим устройствам, что делать, следуя вашим инструкциям. Другими словами, мы создадим программу на Verse, которая «перепрограммирует» наше устройство в редакторе UEFN!
В строке меню выберите Verse > Проводник Verse.
В проводнике Verse нажмите правой кнопкой мыши на ваш проект и выберите Добавить новый файл Verse в проект.
Откроется окно Создать сценарий Verse.
В окне Создать сценарий Verse выберите шаблон Устройство Verse.
Переименуйте устройство в shooting_range_manager_device в нижней части окна, а затем нажмите Создать.
Устройство shooting_range_manager_device можно будет найти в Каталоге ресурсов под названием проекта или в поле для поиска.
В строке меню выберите Verse > Собрать код Verse.
При работе с кодом для устройства Verse, чтобы он заработал, его необходимо собрать (или скомпилировать). Это необходимо, чтобы Verse преобразовал ваш код в формат, который можно запускать как игру или её часть. Устройство Verse не будет отображаться в Каталоге ресурсов или в окне «Структура» до тех пор, пока оно не будет «собрано».
Устройство shooting_range_manager_device будет находиться в Каталоге ресурсов под названием проекта. Кроме того, найти его можно через поле для поиска.
Перетащите устройство в окно просмотра.
На панели Сведения, в разделе Пользовательские настройки снимите флажок с параметра Отображать в игре, чтобы устройство в игре стало невидимым.
Настройте мишени, за которые будут начисляться очки
Помните хорошие мишени из раздела 3. «Создание тира»?
С помощью устройства Verse мы настроим мишени таким образом, чтобы они падали с одного попадания, а игроку за это начислялись очки.
В Проводнике Verse дважды нажмите на
shooting_range_manager_device.verse, чтобы открыть файл Verse.Удалите из этого файла весь код, после чего скопируйте следующий код и вставьте его на место прежнего.
Verseusing { /Fortnite.com/Devices } using { /Verse.org/Simulation } # A device that manages shooting range gameplay. shooting_range_manager_device := class(creative_device): @editable GoodTarget1:shooting_range_target_track_device = shooting_range_target_track_device{} @editableПеременная в Verse — это информация в программе, которая может меняться в процессе её работы.
Если переменная является редактируемой, это означает, что её код будет доступен напрямую в редакторе UEFN и её можно будет менять в самом редакторе без необходимости каждый раз компилировать код Verse.
Благодаря коду, который мы добавили в устройство Verse, мы создали три переменные (GuardTarget1, UseTarget2 и TopTarget3) типа
shooting_range_track_device. Они будут представлять мишени, за попадание в которые игрок будет получать очки. Добавление этим переменным модификатора@editableпозволяет работать с ними напрямую через панель Сведения без необходимости вносить изменения непосредственно в сам код Verse. Код, что мы добавили чуть ранее, все ещё нужно скомпилировать, поскольку мы добавили его впервые.Открыв панель «Сведения» устройства shooting_range_manager_device, выберите shooting_range_manager_device в окне просмотра.
Скомпилируйте код.
На панели Сведения привяжите каждую из наших «хороших» мишеней к отдельному устройству «Путь мишени».
Начиная с комментария
<# --- New Code Start --- #>в коде ниже, скопируйте и вставьте следующий фрагмент кода в файл Verse.Скомпилируйте код после вставки.
Добавьте следующий код, чтобы мишень падала при попадании в неё.
С помощью подписки на события мы свяжем событие мишени HitEvent и обратный вызов, заданный для этой мишени.
Verseusing { /Fortnite.com/Devices } using { /Verse.org/Simulation } # A device that manages shooting range gameplay. shooting_range_manager_device := class(creative_device): @editable GoodTarget1:shooting_range_target_track_device = shooting_range_target_track_device{} @editable
Строки кода, которые начинаются с # или с <# и заканчивается на #>, являются комментариями к коду.
Такие комментарии не являются непосредственной частью программы. Они пишутся программистами, чтобы другие могли понять, что именно выполняет тот или иной код, либо для собственного удобства, чтобы не забыть, почему было решено написать код именно так, а не иначе.
Дополнительную информацию о комментариях к коду вы можете найти в разделе Комментарии к коду в Кратком справочнике по Verse.
Настройка мишеней, отнимающих очки
В качестве «плохих» мишеней у нас будут выступать устройства Мишень, настроенные как Плюшевые медведи. На этот раз мы добавим их в своё устройство Verse, чтобы они падали с одного попадания и при этом игрок терял, а не получал за это очки.
Добавьте следующий код, чтобы создать три переменные
shooting_range_target_device, где будут храниться ссылки на наши «плохие» мишени.Verseusing { /Fortnite.com/Devices } using { /Verse.org/Simulation } # A device that manages shooting range gameplay. shooting_range_manager_device := class(creative_device): @editable GoodTarget1:shooting_range_target_track_device = shooting_range_target_track_device{} @editableСкомпилируйте код.
Выберите shooting_range_manager_device в окне просмотра.
На панели Сведения привяжите каждую из наших «плохих» мишеней к отдельному устройству «Мишень».
Добавьте следующий код, чтобы эти мишени падали при попадании.
Verseusing { /Fortnite.com/Devices } using { /Verse.org/Simulation } # A device that manages shooting range gameplay. shooting_range_manager_device := class(creative_device): @editable GoodTarget1:shooting_range_target_track_device = shooting_range_target_track_device{} @editable
Настройте систему начисления очков
Прежде чем работать с Verse для настройки устройства, вам необходимо это устройство добавить.
Систему начисления очков можно настроить и при помощи исключительно устройств Fortnite, но в Verse это сделать проще и самих устройств нам понадобится меньше.
Добавьте устройство для начисления очков
Хоть мы и будет настраивать систему как для начисления, так и для вычитания очков, в Verse для этих целей нам понадобится лишь одно устройство.
В Каталоге ресурсов введите Панель управления счётом в строке поиска и найдите устройство «Панель управления счётом».
Перетащите устройство Панель управления счётом в окно просмотра. На панели Сведения для Панели управления счётом должны открыться пользовательские настройки.
На панели Сведения измените следующее:
Настройка и значение Включить во время фазы = Только игровой процесс
Отображать обновление счёта в интерфейсе = Установите флажок
Настройте устройство для начисления очков с помощью Verse
Теперь вы можете добавить Панель управления счётом к устройству Verse и менять счёт игрока при попадании в мишень.
Добавьте следующий код, чтобы создать переменные для хранения ссылок на Панель управления счётом и значения счёта. Вы можете изменить количество очков по умолчанию, изменив присвоенные значения, или переопределить значения по умолчанию, изменив значения на панели Сведения.
Verseusing { /Fortnite.com/Devices } using { /Verse.org/Simulation } # A device that manages shooting range gameplay. shooting_range_manager_device := class(creative_device): <# --- New Code Start --- #> @editable ScoreManager:score_manager_device = score_manager_device{}Скомпилируйте код.
Выберите shooting_range_manager_device в окне просмотра.
На панели Сведения устройства shooting_range_manager_device привяжите ScoreManager к устройству Панель управления счётом.
Добавьте следующий код, который позволит обновлять счёт игрока при попадании в мишень.
Verseusing { /Fortnite.com/Devices } using { /Verse.org/Simulation } # A device that manages shooting range gameplay. shooting_range_manager_device := class(creative_device): @editable ScoreManager:score_manager_device = score_manager_device{} @editableСкомпилируйте код.
В строке меню выберите Verse > Собрать код Verse.
Если сеанс Fortnite у вас открыт, нажмите «Применить изменения» в режиме редактирования по сети, чтобы применить к нему изменения, внесённые вами в Verse. При этом может потребоваться завершить и перезапустить игру, чтобы изменения вступили в силу.
Протестируйте изменения, внесённые в сеанс Fortnite, чтобы проверить следующее:
При попадании в мишень счёт изменяется. (Таблица со счётом должна открываться по нажатию клавиши M во время игры)
При попадании в «плохую» мишень очки снимаются.
Мишени падают с одного попадания.