Решение проблем
Проблемы, с которыми люди действительно сталкиваются, — примерно в том порядке, в каком они возникают.
Ресурс не запускается: «could not find dependency fmLib»
Заголовок раздела «Ресурс не запускается: «could not find dependency fmLib»»fmLib обязателен, а не опционален: серверная часть читает деньги, предметы и работы через него. Установите его и поставьте ensure fmLib выше ensure mic_questcreator в server.cfg. То же касается oxmysql.
«CRITICAL ERROR: FMLIB NOT FOUND!», «ESX NOT FOUND!» или «QBCore NOT FOUND!»
Заголовок раздела ««CRITICAL ERROR: FMLIB NOT FOUND!», «ESX NOT FOUND!» или «QBCore NOT FOUND!»»Либо Quest Creator запустился раньше fmLib или вашего фреймворка, либо в Config.Framework указан не тот. Он не определяется автоматически: задайте в config.lua значение 'esx' или 'qbcore' в соответствии с вашим сервером, затем проверьте порядок запуска.
На QBox значение — 'qbcore' (QBox запускает ресурсы QBCore через слой совместимости), а qbx_core должен запускаться раньше mic_questcreator.
Изменение в файле ни на что не повлияло
Заголовок раздела «Изменение в файле ни на что не повлияло»restart не перечитывает fxmanifest.lua. Если вы добавили файл — например, новую локализацию, — сначала введите refresh в консоли сервера, а затем restart mic_questcreator. Без этого сервер продолжит работать со старым списком файлов.
/questcreator пишет, что у меня нет прав
Заголовок раздела «/questcreator пишет, что у меня нет прав»Вам нужно ACE mic_questcreator.open. Убедитесь, что строка add_ace использует тот идентификатор, с которым вы действительно подключаетесь (Discord ID работает, только если ваш сервер читает идентификаторы Discord), или что строка с группой соответствует группе, в которой вы реально состоите. Изменения разрешений в server.cfg требуют перезапуска сервера; изменения, внесённые вживую через консоль, применяются сразу.
Сохранение квеста ничего не делает, либо в консоли написано, что таблицы не существует
Заголовок раздела «Сохранение квеста ничего не делает, либо в консоли написано, что таблицы не существует»install.sql не был импортирован либо был импортирован в другую базу данных, а не в ту, которую использует oxmysql. Ресурс сам таблицы не создаёт. Импортируйте файл один раз и перезапустите ресурс.
Квестодателя нет на месте
Заголовок раздела «Квестодателя нет на месте»- Персонаж не успел загрузиться. Квестодатели создаются, когда ваш фреймворк сообщает, что игрок загружен (
esx:playerLoadedилиQBCore:Client:OnPlayerLoaded). Если скрипт мультиперсонажей или спавна никогда не вызывает это событие, квестодателей не будет; перезапуск ресурса при игроке в игре создаёт их. - Неверная модель. Пед с несуществующей моделью не появляется. Выберите модель из списка в редакторе локаций.
- Вы только что сохранили. Сохранение обновляет NPC у всех игроков; если кто-то всё ещё отсутствует, перезапустите ресурс.
Я вижу NPC, но не могу с ним поговорить
Заголовок раздела «Я вижу NPC, но не могу с ним поговорить»Config.InteractionType не соответствует тому, что у вас запущено. По умолчанию стоит 'ox_target'. С qb-target укажите 'qb-target'; если нет ни того, ни другого — 'drawtext', и игроки нажимают E в пределах Config.InteractionDistance.
Квестовая машина остаётся запертой, либо я не получаю ключи
Заголовок раздела «Квестовая машина остаётся запертой, либо я не получаю ключи»Машина заперта намеренно. Игрок должен выбрать на ней Search for Keys или Break In. Ключи выдаются через fmLib, поэтому fmLib должен поддерживать ваш ресурс ключей от транспорта. Если для Break In нужен предмет, игрок должен иметь его при себе.
С qb-target или 'drawtext' эти подсказки отображаются в виде 3D-текста рядом с машиной, а не как опция target.
Денежная награда попадает не на тот счёт
Заголовок раздела «Денежная награда попадает не на тот счёт»Give Money, Remove Money и деньги в Reward Bundle всегда используют наличные, какой бы счёт ни показывал узел; в этой версии настройки для этого нет. Check Money — единственный узел, который читает выбранный вами счёт.
Узел Condition (IF/ELSE) с вариантом «Job» никогда не идёт дальше
Заголовок раздела «Узел Condition (IF/ELSE) с вариантом «Job» никогда не идёт дальше»Для проверки работы используйте узел Has Job. Вариант Job в универсальном узле Condition в этой версии не подключён, и поток на нём зависает.
Игрок умирает, и ничего не происходит
Заголовок раздела «Игрок умирает, и ничего не происходит»Обработчик смерти задаётся для каждого события и выключен, пока вы не включите его в настройках события. Когда он воскрешает игрока, то делает это через Bridge.Client.RevivePlayer в bridge/bridge_client.lua, который вызывает esx_ambulancejob:revive (ESX) или hospital:client:Revive (QBCore). Если у вас другой скрипт скорой помощи, укажите там его событие воскрешения.
Узел webhook ничего не отправляет
Заголовок раздела «Узел webhook ничего не отправляет»Принимаются только ссылки на Discord webhook; всё остальное отклоняется, а в консоли появляется Blocked invalid webhook URL. Для скриншота должен быть запущен screenshot-basic, а Config.ScreenshotBasic должен быть true.
Community Events пуст
Заголовок раздела «Community Events пуст»Список скачивается с GitHub при открытии. Если ваш хостинг блокирует исходящие запросы, он остаётся пустым, а в консоли появляется Error fetching community events.
Экспорт пишет, что сохранил в корень
Заголовок раздела «Экспорт пишет, что сохранил в корень»Папки exports в ресурсе не существует. Создайте пустую папку exports внутри mic_questcreator и выполните экспорт снова.
Я выбрал чешский и вижу «Translation [cs][…] does not exist»
Заголовок раздела «Я выбрал чешский и вижу «Translation [cs][…] does not exist»»locales/cs.lua поставляется, но не указан в fxmanifest.lua. Добавьте его в shared_scripts вместе с остальными файлами локализации, выполните refresh и перезапустите ресурс.