Хотите выдавать игрокам очки опыта боевого пропуска, когда они проходят вашу игру, созданную в UEFN? В этом уроке вы узнаете, как использовать устройство для выдачи наград в UEFN и Verse, чтобы начислять игрокам очки опыта.
Для получения более подробной информации о том, как это устройство начисляет очки опыта игрокам, см. Устройства для выдачи наград для творческого режима Fortnite.
Начисление очков опыта за устранение зомби
-
Запустите UEFN из Epic Game Store.
-
Выберите новый остров или загрузите существующий.
-
В Каталоге ресурсов откройте All > Fortnite > Devices и выполните поиск по слову «наград».
-
Перетащите устройство для выдачи наград на уровень.
-
Убедитесь, что выбрано устройство для выдачи наград.
-
Измените следующие пользовательские настройки на панели «Сведения»:
Параметр Значение Пояснение Название Устранение зомби Краткое описание типа награды. Награда-опыт Очень небольшое значение Поскольку цели достигнуть очень просто, награда будет небольшой. Размер уведомления о награде Маленькое Сообщение займёт немного места на экране игрока. -
В Каталоге ресурсов откройте All > Fortnite > Devices и выполните поиск по словосочетанию «генератор существ».
-
Перетащите Генератор существ на уровень.
-
Найдите и перетащите Турель на уровень в радиусе действия генератора существ. Это позволит игрокам устранять зомби.
Прямая привязка событий
Для активации устройства для выдачи наград при устранении зомби можно использовать прямую привязку события. Этот рабочий процесс реализуется только через редактор. Как это сделать в Verse, см. в разделе Начисление очков опыта с помощью Verse.
-
Выберите устройство для выдачи наград, созданное ранее.
-
На панели Сведения прокрутите список до секции Пользовательские настройки — Функции.
-
Нажмите кнопку + рядом с «Наградить».
-
Откройте выпадающее меню и выберите генератор существ.
-
Нажмите на второе выпадающее меню и выберите «При устранении существа».

Начисление очков опыта за время, проведённое в игре
-
Повторите шаги с 1 по 5, описанные в примере с устранением зомби.
-
Измените следующие настройки на панели «Сведения»:
Параметр Значение Пояснение Название Спасибо за игру! Напишите краткое описание типа награды. Описание Благодарим за время, проведённое на острове. Напишите краткое пояснение, за что игроку начислены очки опыта. Награда-опыт Большое значение 15 минут игрового времени заслуживают большой награды. Ограничение на количество очков True, "1" Это количество очков опыта может быть начислено за раз. Значок Выберите два значка Найдите «Звезду», а затем выберите в качестве маленького значка версию «_64», а в качестве большого — «_128». -
Найдите устройство Таймер в Каталоге ресурсов и перетащите его на уровень.
-
Измените следующие настройки устройства «Таймер» на панели «Сведения»:
Параметр Значение Пояснение Длительность 900 Начисление произойдёт через 15 минут после начала игры. Запустить в начале игры True Таймер запустится автоматически в начале игры. Поведение после завершения Перезапуск Таймер перезапустится и начислит новые очки опыта по истечении следующих 15 минут. Отображение во время игры Скрыто Вы не можете видеть этот таймер и взаимодействовать с ним.
Прямая привязка событий
В целях активации устройства для выдачи наград используйте прямую привязку события, возникающего по истечении времени отсчёта таймера.
-
Выберите устройство для выдачи наград, созданное ранее.
-
На панели Сведения прокрутите список до секции Пользовательские настройки — Функции.
-
Нажмите кнопку + рядом с «Наградить».
-
Раскройте выпадающее меню и выберите устройство «Таймер».
-
Нажмите на второе выпадающее меню и выберите «При успехе».

Начисление очков опыта с помощью Verse
Этот пример основан на примере с устранением зомби выше. Зомби сбрасывают кости, которые можно подбирать. В следующем разделе описано, как начислить игроку много очков опыта, когда он принесёт 5 костей.
-
В Каталоге ресурсов откройте All > Fortnite > Devices и выполните поиск по слову «устранений».
-
Перетащите устройство Диспетчер устранений в сцену.
-
На панели Сведения в секции Пользовательские настройки:
-
Нажмите Добавить элемент в Списке предметов.
-
Откройте Индекс 0. В блоке Подборы для появления раскройте выпадающее меню инструмента выбора объекта.
-
Найдите «Кости животных». Теперь устранённые враги будут сбрасывать кости животных.
-
-
Перетащите ещё одно устройство для выдачи наград в сцену.
-
На панели Сведения нового устройства для выдачи наград:
-
Для параметра Название задайте «Награда за зомби».
-
Для параметра Награда-опыт задайте значение Очень большой.
-
Для параметра Размер уведомления о награде задайте значение Большой.
-
-
В Каталоге ресурсов выполните поиск по словосочетанию «с условием».
-
Перетащите устройство Кнопка с условием в сцену.
-
На панели Сведения нового устройства «Кнопка с условием»:
-
Включите параметр Количество требуемых предметов-ключей и задайте для него в той же строке значение 5.
-
Найдите Предмет-ключ 1 и разверните его настройки.
-
В свойстве Определение предмета разверните выпадающее меню.
-
Найдите «Кости животных».
-
Выберите объект «Кость животного».
-
Создание сценария Verse
-
Создайте новое устройство Verse с именем accolade_example с помощью Проводника Verse и перетащите это устройство на уровень. Чтобы узнать, как создать новое устройство в Verse, см. Создание собственного устройства с помощью Verse.
-
Откройте Проводник Verse и дважды нажмите на файл accolade_example.verse, чтобы открыть его в Visual Studio Code.
-
В определении класса
accolade_example
добавьте следующие поля:-
Редактируемое устройство для выдачи наград
Accolades
, которое ссылается на устройство для выдачи наград на уровне. -
Редактируемая кнопка с условием
ConditionalButton
. Она нужна для начисления очков игрокам, когда они принесут необходимое количество костей.
accolade_example := class(creative_device): @editable Accolades:accolades_device = accolades_device{} @editable ConditionalButton:conditional_button_device = conditional_button_device{}
-
-
В функции
OnBegin()
подпишите событиеActivatedEvent
кнопкиConditionalButton
на новую функцию с именемBountyComplete
.OnBegin<override>()<suspends>:void= ConditionalButton.ActivatedEvent.Subscribe(BountyComplete)
-
Добавьте новый метод
BountyComplete()
в классaccolade
. Это позволит начислить очкиAccolades
игроку, который активировал кнопкуConditionalButton
.# Начислить очки игроку, который активировал # ConditionalButton BountyComplete(Agent:agent):void= Accolades.Award(Agent)
-
Теперь ваш код
accolade_example
должен выглядеть так:using { /Fortnite.com/Devices } using { /Verse.org/Simulation } using { /UnrealEngine.com/Temporary/Diagnostics } accolade_example := class(creative_device): @editable Accolades:accolades_device = accolades_device{} @editable ConditionalButton:conditional_button_device = conditional_button_device{} OnBegin<override>()<suspends>:void= ConditionalButton.ActivatedEvent.Subscribe(BountyComplete) # Начислить очки игроку, который активировал # ConditionalButton BountyComplete(Agent:agent):void= Accolades.Award(Agent)
-
Сохраните сценарий в Visual Studio Code и нажмите Собрать код Verse в разделе Verse главного меню, чтобы скомпилировать код. Если возникнут ошибки, вы сможете ознакомиться с ними на панели Журнал сообщений в разделе Сборка Verse.
-
Выберите
Content > Creative Devices, найдите своё устройство Verse и перетащите его в сцену. -
Выбрав устройство Verse на панели Сведения, присвойте ссылку на объект устройству для выдачи наград и устройству «Кнопка с условием». Вы можете использовать пипетку для выбора объекта в окне просмотра. Либо раскройте выпадающее меню и найдите устройство там.
Игровой тест острова
После выполнения всех настроек выполните игровой тест острова, чтобы убедиться, что он работает в Fortnite должным образом.
Во время игры на уровне вы должны увидеть на экране сообщение со стандартным отладочным текстом, сообщающим, когда активируется устройство для выдачи наград, которое начисляет очки опыта.
Вот что происходит при устранении зомби.

Вот что происходит при сдаче 5 костей.

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