Посібник користувача QuestSystemDemo¶
🇬🇧 English | 🇺🇦 Українська
Це повний довідковий посібник із плагіна QuestSystemDemo — подієво-орієнтованої, дата-керованої системи квестів для Unreal Engine 5.8 з повноцінною підтримкою мультиплеєра та інтеграцією без налаштування. Дизайнери створюють квести як Data Assets; геймплей-код повідомляє про кілька подій; решту робить плагін, включно з мережевою реплікацією.
Швидкий старт¶
- Скопіюйте
Plugins/QuestSystemDemoу папкуPlugins/свого проєкту. - Увімкніть його: Edit > Plugins > QuestSystemDemo.
- Усе — код поки не потрібен.
UDemoQuestWorldSubsystemавтоматично додає менеджер квестів кожному гравцю та ігровому стану.
Створіть свій перший квест:
- У Content Browser: Add > Miscellaneous > Data Asset, оберіть Quest Objective Data. Задайте
ObjectiveType,TargetCountтаObjectiveIdentifier(наприклад,KillTarget/3/"Bandit"). - Додайте ще один Data Asset, цього разу Quest Data. Дайте йому
QuestNameі додайте вашу ціль доObjectives. - Додайте Quest Giver Component на будь-який Actor на рівні та вкиньте свій квест у
AvailableQuests. - Додайте Quest Interactor Component на пешку гравця та прив'яжіть введення до
TryInteract. - Натисніть Play, підійдіть до актора, взаємодійте — квест почнеться. Повідомляйте про прогрес зі свого геймплей-коду:
// напр., у коді обробки шкоди, коли ворог гине:
UDemoQuestBlueprintLibrary::NotifyKillEvent(PlayerState, "Bandit");
Ціль оновиться, квест завершиться, і спрацює GiveQuestRewards() — перевизначте його (у Blueprint чи C++), щоб видавати власні нагороди. Решта цього посібника детально розкриває все вище, плюс мультиплеєр, збереження/завантаження, повний Blueprint API та точки розширення на C++.
Кому що читати¶
- Дизайнерам, авторам контенту квестів: 01, 03, 05.
- Геймплей-програмістам, що підключають події та нагороди: 02, 04, 10.
- Програмістам мультиплеєра: 06 після 01.
- UI-програмістам: 08.
- Тулінгу / QA: 09.
Поспішаєте або щось поводиться дивно? Починайте з 11 — Поширені запитання.
Розділи¶
| # | Розділ | Що всередині |
|---|---|---|
| 00 | Обмеження демоверсії | Що демо обмежує, чого не обмежує і що змінюється при переході на повну версію |
| 01 | Основні поняття | Квести, цілі, стани, режими розподілу прогресу, модель «один компонент — два місця» |
| 02 | Інтеграція без налаштування | UDemoQuestWorldSubsystem, UDemoQuestSystemSettings, отримання менеджера квестів |
| 03 | Авторинг квестів | Повний довідник полів UDemoQuestData / UDemoQuestObjectiveData |
| 04 | Подієвий прогрес | NotifyQuestEvent, правила зіставлення, послідовні цілі, спільний залік убивств |
| 05 | Компоненти сцени | Giver, Receiver, нащадки маркера, Interactor, Quest Target, Location Trigger, готові актори |
| 06 | Мультиплеєр | Реплікація, party-квести, одиночна гра + мультиплеєр на одній карті |
| 07 | Серіалізація | ExportState / ImportState, вбудовування у свій save game |
| 08 | Довідник Blueprint-бібліотеки | Повний довідник функцій UDemoQuestBlueprintLibrary |
| 09 | Валідація та чити | Виявлення циклічних залежностей, консольні команди |
| 10 | Інтеграція на C++ | Кастомні нагороди, розширення компонентів, надсилання подій із геймплей-коду |
| 11 | Поширені запитання | Короткі відповіді на часті запитання та чеклист «чому не працює?» |
Домовленості цього посібника¶
UDemoQuestData— це ассет квесту;UDemoQuestObjectiveData— ассет цілі. Обидва —UPrimaryDataAsset, створюються в Content Browser.- Сніпети коду — на C++, якщо не вказано інше; кожна показана функція викликається і з Blueprint.
- «Менеджер» означає
UDemoQuestManagerComponent— де він живе і що робить, див. 01.