Установка
В этом руководстве используется дистрибутив с уже собранным интерфейсом. Для установки не нужны Node.js и повторная сборка UI.
Требования
| Компонент | Когда требуется |
|---|---|
oxmysql и действующее подключение к базе данных | Обязательны для сохранения данных ресурса. |
| Qbox, QBCore или ESX | Если используется их экономика и система прав. К другой экономике можно подключиться через standalone callbacks. |
| Наборы татуировок | Необязательны. Можно не устанавливать ни одного, установить несколько или все. |
ox_lib | Необязателен для уведомления TextUI; есть встроенная альтернатива. |
| Система внешнего вида | Если сервер её использует, ознакомьтесь с bridge-модулем внешнего вида. |
Чертежи передаются с помощью кодов. Для использования включённой конфигурации не нужно добавлять предмет в инвентарь.
Разместите ресурс
- Распакуйте пакет в папку ресурсов сервера.
- В этих руководствах папка называется
cxg-tattoos. Если у вас папка называется иначе, указывайте её фактическое имя в командахensureиrestart. - Сохраните структуру пакета. Убедитесь, что вместе с файлами пакета находятся
config.lua,shared/tattoos.json,bridge/иui/dist/index.html. - Настройте подключение к базе данных и убедитесь, что
oxmysqlзапускается без ошибок.
Порядок запуска
Пример для Qbox без внешних наборов:
ensure oxmysql
ensure qbx_core
ensure cxg-tattoos
Для QBCore или ESX замените qbx_core на qb-core или es_extended. Если используете систему внешнего вида, запустите её до этого ресурса. Для standalone сначала настройте callbacks платежей и прав доступа.
Если у вас есть наборы, запускайте только установленные и перед этим ресурсом. Например:
ensure oxmysql
ensure qbx_core
ensure xgc_TattooClasic
ensure xgc_TattooGangs
ensure cxg-tattoos
Не добавляйте строки ensure для отсутствующих наборов. Источники по умолчанию могут оставаться в Config.TattooCatalog.sources: не запущенные наборы будут пропущены.
Первый запуск
Ресурс автоматически подготовит хранилище. Для новой установки вручную импортировать схему не требуется.
Перед проверкой просмотрите в config.lua следующие параметры:
Config.Locale: общий язык.Config.Purchases: экономика и счета для списания.Config.Permissions: административный доступ.Config.Identity: система идентификации сервера и идентификатор, который используется для сохранения и загрузки данных игрока. См. раздел Система идентификации.Config.Shops: начальные места расположения магазинов.
Подойдите к настроенному магазину и воспользуйтесь взаимодействием. Проверьте каталог, предпросмотр и покупку на тестовом персонаже. Загрузите персонажа заново и убедитесь, что татуировка сохранилась.
Встроенная административная команда настраивается через Config.AdminCommand; начальное имя — /tattooadmin. Перед использованием прочтите раздел Права доступа и платежи.
Применение изменений
После изменения config.lua или bridge-модуля сохраните файл и перезапустите ресурс:
restart cxg-tattoos
Источники каталога считываются при запуске и могут синхронизироваться через административную панель. Настройки, сохранённые в панели, сохраняются; перед тем как ожидать замены их значений из файла, ознакомьтесь с разделами Настройка и Каталог.
Частые проблемы
| Симптом | Что проверить |
|---|---|
| Ресурс не запускается | Запущен ли oxmysql, работает ли подключение и полностью ли распакован пакет. |
| В магазине нет набора | Запущен ли его ресурс, не установлено ли enabled в false и совпадает ли путь JSON с путём в наборе. |
| Интерфейс пустой | Скопированы ли вместе ui/dist/index.html и файлы из ui/dist/assets/, на которые он ссылается. |
| Панель отказывает в доступе | Проверьте Config.AdminCommand.permission, привязки прав, роли и настройки ACE. |
| Платёж отклонён | Проверьте выбранный framework, имена ресурсов, баланс и standalone callbacks, если они используются. |
| В одном месте отображаются два взаимодействия с татуировками | Проверьте, не активировали ли эту же точку другой ресурс внешнего вида или магазинов. Оставьте только один доступ к нужному магазину. |
| Изменение магазина или уровня не применяется | Возможно, значение уже сохранено через панель. Измените действующее значение там. |
Для диагностики можно временно включить Config.Debug и Config.Permissions.debug. По окончании отключите их.