Установка
Десять минут. Единственный шаг, который обычно пропускают, — fmLib: без него ресурс не запустится.
Перед началом
Заголовок раздела «Перед началом»| Что нужно | Зачем |
|---|---|
| ESX, QBCore или QBox | Колбэки, уведомления и данные игрока берутся из фреймворка |
| fmLib | Обязателен. Деньги, предметы, работы и ключи от транспорта проходят через него. Собственное руководство ресурса ссылается на fmLib v2.0.2 |
| oxmysql | Каждый квест, событие и прогресс каждого игрока хранятся в вашей базе данных |
| ox_target или qb-target | Необязательно. По умолчанию используется ox_target; если у вас нет ни того, ни другого, переключитесь на 3D-текст |
| screenshot-basic | Необязательно, нужен только для скриншотов в узле webhook |
1. Поместите папку на место
Заголовок раздела «1. Поместите папку на место»Скачайте mic_questcreator из ваших Cfx.re granted assets и положите папку в ресурсы, например resources/[mic]/mic_questcreator. Если fmLib ещё не установлен, положите его в ресурсы тоже.
2. Запустите его после того, на что он опирается
Заголовок раздела «2. Запустите его после того, на что он опирается»В server.cfg строка ensure mic_questcreator должна стоять ниже oxmysql, вашего фреймворка (es_extended, qb-core или qbx_core), fmLib и вашего ресурса target. В манифесте fmLib и oxmysql указаны как зависимости, поэтому если одного из них нет или он запускается позже, FiveM откажется запускать Quest Creator и сообщит, какой именно ресурс не найден.
Всё сработало, если при запуске ресурса в консоли появляется [QuestCreator] FMLIB Initialized successfully.. Красные сообщения CRITICAL ERROR: FMLIB NOT FOUND!, ESX NOT FOUND! или QBCore NOT FOUND! означают, что порядок запуска неверный или в Config.Framework указан не тот фреймворк.
3. База данных
Заголовок раздела «3. База данных»Импортируйте install.sql из папки ресурса один раз — через HeidiSQL, phpMyAdmin или то, чем вы пользуетесь. Ресурс сам таблицы не создаёт.
Он создаёт восемь таблиц, названия которых начинаются с mic_questcreator_:
| Таблица | Что в ней хранится |
|---|---|
mic_questcreator_list | Квесты |
mic_questcreator_locations | Где стоит каждый квестодатель и какая у него модель |
mic_questcreator_dialogs | Варианты «вопрос — ответ» и их кулдауны |
mic_questcreator_personalization | Приветственное сообщение, заголовок и подзаголовок квеста |
mic_questcreator_events | События, которые вы рисуете в редакторе узлов |
mic_questcreator_progress | На каком этапе квеста находится каждый игрок |
mic_questcreator_cooldowns | Когда каждый игрок снова сможет использовать вариант диалога |
mic_questcreator_unlocks | Какие события открыты у каждого игрока |
Всё сработало, если эти восемь таблиц есть в вашей базе данных. При удалении квеста вместе с ним удаляются его локации, диалоги и персонализация.
4. Предметы
Заголовок раздела «4. Предметы»Никаких. Ресурс не поставляет собственных предметов. Предметы, которые квест выдаёт, забирает или проверяет, — это те, что вы вводите в узлах, поэтому они уже должны существовать в вашем инвентаре.
5. Фреймворк и target
Заголовок раздела «5. Фреймворк и target»Откройте config.lua и проверьте две строки:
| Параметр | Значение |
|---|---|
Config.Framework | 'esx' (по умолчанию) или 'qbcore'. Автоматически не определяется. На QBox используйте 'qbcore' — QBox запускает ресурсы QBCore через слой совместимости |
Config.InteractionType | 'ox_target' (по умолчанию), 'qb-target' или 'drawtext' |
Если ни одного из ресурсов target у вас нет, задайте 'drawtext': игроки будут подходить к NPC и нажимать E.
6. Выдайте редактор себе
Заголовок раздела «6. Выдайте редактор себе»Редактор закрыт ACE-разрешением mic_questcreator.open. Выдайте его в server.cfg (или в вашем файле разрешений) строкой add_ace: одному человеку по идентификатору, например add_ace identifier.discord:YOUR_DISCORD_ID mic_questcreator.open allow, или целой группе, например add_ace group.admin mic_questcreator.open allow.
Всё сработало, если /questcreator открывает Quest & Event Creator. Без разрешения сервер отвечает «You do not have permission to access the Quest Creator.»
7. Первая проверка
Заголовок раздела «7. Первая проверка»- На вкладке Events создайте событие, откройте его в редакторе узлов и соедините Start → Notification → Give Money → End. Сохраните.
- На вкладке Quests создайте квест. Добавьте локацию: выберите модель педа, нажмите Set Position, подойдите к нужному месту и подтвердите клавишей E.
- Добавьте диалог с вопросом и ответом и выберите своё событие в поле Trigger Event. Сохраните квест.
Всё сработало, если NPC стоит там, где вы его поставили, разговор с ним открывает окно диалога, а выбор вашего варианта показывает уведомление и выплачивает деньги.
Перед открытием города
Заголовок раздела «Перед открытием города»mic_questcreator.openесть только у нужных людей. Любой, у кого оно есть, может создавать и удалять все квесты на сервере.- Проверьте, что
Config.FrameworkиConfig.InteractionTypeсовпадают с тем, что реально работает на вашем сервере. - Решите, нужен ли
/cancelquest. По умолчанию он включён; отключить его можно черезConfig.EnableCancelQuest. - Проверьте квест с наградой на обычном персонаже, а не только на админском, чтобы увидеть те же права и тот же инвентарь, что будут у ваших игроков.