Решение проблем
Проблемы, с которыми люди действительно сталкиваются, — примерно в том порядке, в каком они возникают.
Изменение в файле ни на что не повлияло
Заголовок раздела «Изменение в файле ни на что не повлияло»restart не перечитывает fxmanifest.lua. Если вы добавили файл — например, новую локализацию, — сначала введите refresh в консоли сервера, а затем restart mic_shopcreator.
Ошибки про es_extended или qb-core при запуске
Заголовок раздела «Ошибки про es_extended или qb-core при запуске»Config.Framework не определяется автоматически. Укажите 'esx' или 'qbcore' в соответствии с вашим сервером и запускайте mic_shopcreator после вашего фреймворка в server.cfg.
На QBox значение — 'qbcore' (QBox запускает ресурсы QBCore через слой совместимости), а qbx_core должен запускаться раньше mic_shopcreator.
/shopcreator пишет, что у меня нет прав
Заголовок раздела «/shopcreator пишет, что у меня нет прав»ACE называется mic_shop.open, а не mic_shopcreator.open. Проверьте написание в вашей строке add_ace, а также то, что в ней указан идентификатор, с которым вы действительно подключаетесь, или группа, в которой вы реально состоите.
Везде написано «Translation not found»
Заголовок раздела «Везде написано «Translation not found»»Config.Locale указывает на файл, которого нет в locales/ или в shared_scripts в fxmanifest.lua. В этом случае консоль пишет Locale file not found for ….
Продавца нет на месте
Заголовок раздела «Продавца нет на месте»- Вы слишком далеко. Продавцы существуют только в пределах
Config.PedSpawnDistance(по умолчанию 20 метров). - Локацию ограбили. Ограбленная локация закрывается на время кулдауна: продавец и блип исчезают для всех до его окончания. См. ниже.
Config.SpawnNPCвыключен. Тогда продавца нет по замыслу, есть только маркер или точка target.- Недействительная модель. Модель локации, которая не загружается, заменяется на
Config.DefaultPed, а консоль пишетUsing default.Если не загружается и модель по умолчанию, вы получаетеCRITICAL: Could not load default ped modelи ни одного продавца — укажите вConfig.DefaultPedдействующую модель.
Я вижу продавца, но не могу открыть магазин
Заголовок раздела «Я вижу продавца, но не могу открыть магазин»Config.Interaction не соответствует тому, что у вас запущено. По умолчанию стоит 'ox_target'. Укажите 'qb-target' для qb-target или 'default', чтобы подходить и нажимать E в пределах Config.RadiusInteract.
На QBCore с 'default' подсказка не показывается — ShowHelpNotification в bridge/client.lua для QBCore пуста. E по-прежнему работает; заполните эту функцию собственным вызовом подсказки, чтобы она отображалась.
«This shop is currently on cooldown» / ограбленный магазин остаётся закрытым часами
Заголовок раздела ««This shop is currently on cooldown» / ограбленный магазин остаётся закрытым часами»Ограбленная локация остаётся закрытой на Cooldown (minutes) магазина. Если у магазина кулдаун не сохранён, используется запасное значение Config.RobberyCooldown — оно тоже читается как минуты, так что стандартные 300 — это пять часов. Задайте кулдаун для каждого магазина, который можно грабить, в панели или уменьшите запасное значение.
Нет картинок товаров
Заголовок раздела «Нет картинок товаров»Окно магазина по очереди ищет <item name>.png в каждой папке из Config.InventoryImagePath. По умолчанию указана папка ox_inventory. Если у вас другой инвентарь, укажите папку с его картинками путём вида nui://. Если название предмета и имя файла картинки различаются, картинки не будет.
Покупка за чёрные деньги не проходит на QBCore
Заголовок раздела «Покупка за чёрные деньги не проходит на QBCore»Чёрные деньги списываются со счёта black_money. В QBCore такого счёта из коробки нет, поэтому для товаров на QBCore используйте Cash, Bank или All (Cash + Bank) — либо добавьте этот счёт и измените GetAccount в bridge/server.lua под то, как ваш сервер работает с грязными деньгами.
Владелец открывает магазин, а кнопки-шестерёнки нет
Заголовок раздела «Владелец открывает магазин, а кнопки-шестерёнки нет»В списке владельцев должен стоять идентификатор, который использует Config.IdentifierType:
Config.IdentifierType | Что вводить как владельца |
|---|---|
'discord' | Только число — Discord ID, без discord: |
'license' | Лицензия целиком, включая license: |
'esx' | Идентификатор ESX в том виде, как он хранится в users, включая префикс вроде char1: |
'citizenid' | Citizen ID из QBCore |
Если вы изменили Config.IdentifierType после добавления владельцев, добавьте их заново.
Игроков не удаётся нанять
Заголовок раздела «Игроков не удаётся нанять»- При
'discord'у игрока должен быть привязан Discord; иначе ему предложат его привязать. - Они должны находиться в пределах 10 метров от владельца, когда тот открывает список.
- Они должны нажать Y, когда их спросят. На QBCore вопрос показывается через
ShowHelpNotificationвbridge/client.lua, которая для QBCore пуста, — заполните её или скажите игроку нажать Y.
Ограбление не начинается
Заголовок раздела «Ограбление не начинается»Ограбление должно быть включено для этого магазина, а игрок должен целиться из оружия — не голыми руками — в продавца с расстояния не более 5 метров. Локация, которую уже грабят или у которой идёт кулдаун, отказывает.
Логи Discord не приходят
Заголовок раздела «Логи Discord не приходят»- Для этого магазина должны быть включены Webhooks с действительной ссылкой на Discord webhook.
Config.Screenshotвключён, ноscreenshot-basicне запущен. Лог отправляется через скриншот, поэтому без этого ресурса ничего не уходит. Запуститеscreenshot-basicраньше этого ресурса или задайтеConfig.Screenshot = false.
Полиция не получает оповещение
Заголовок раздела «Полиция не получает оповещение»Config.PoliceAlert = "default" уведомляет игроков, чья работа указана в Config.RobberyNotifyJobs, по названию работы. При "custom" ничего не отправляется, пока вы не впишете вызов диспетчерского скрипта в TriggerPoliceAlert в bridge/server.lua — по умолчанию она пуста.