Skip to content

Installation

Installation

Четыре шага: импортируйте SQL, выдайте себе доступ к редактору, зарегистрируйте предметы, запустите ресурс.

1. Dependencies

Resource Required Why
ox_lib Yes Callbacks, notifications, locales
oxmysql Yes Storing substances and player addiction state
A targeting resource Optional Examining a player without a command

2. server.cfg — ensure order

Запускайте bupa-addictioncreator после ресурсов, от которых он зависит.

server.cfg
ensure ox_lib
ensure oxmysql
ensure ox_target
ensure bupa-addictioncreator

3. Database

Импортируйте sql/bupa_addictioncreator.sql. Он создаст две таблицы:

Table Holds
bupa_substances The substance definitions you build in the editor
bupa_addictions Per-character addiction level, tolerance, dose count and history

Обе таблицы можно переименовать в Config.Tables, если они конфликтуют с тем, что вы уже используете.

4. Access to the editor

Редактор изменяет поведение наркотиков на вашем сервере, поэтому доступ к нему ограничен.

server.cfg
add_ace group.admin bupa.substances allow

На сервере разработки, где ACE-права еще никто не настраивал, вместо этого укажите свой идентификатор лицензии в конфиге:

config.lua
Config.Creator = {
    Command = 'substances',
    UseAce  = true,
    Ace     = 'bupa.substances',
    Developers = { 'license:0000000000000000000000000000000000000000' },
    LivePreview = true,
}

5. Register your items

Каждое вещество, созданное в редакторе, ссылается на предмет инвентаря, и этот предмет должен существовать. Скопируйте блок для вашего инвентаря из соответствующего файла в папке install/inv/:

File Covers
inv/ox_inventory.txt ox_inventory
inv/qb-inventory.txt qb-inventory, lj-inventory, ps-inventory
inv/qs-inventory.txt qs-inventory
inv/codem-inventory.txt codem-inventory
inv/tgiann-inventory.txt tgiann-inventory
inv/esx.txt classic ESX inventories

Для ox_inventory важны две строки в этой записи:

ox_inventory/data/items.lua
['meth_syringe'] = {
    label = 'Meth',
    weight = 20,
    stack = true,
    close = true,
    consume = 0,
    description = 'A loaded syringe',
    client = { image = 'meth_syringe.png' },
    server = { export = 'bupa-addictioncreator.useSubstance' },
},
  • server.export — у ox_inventory нет функции CreateUseableItem, поэтому данный экспорт сообщает ресурсу об использовании предмета.
  • consume = 0 — без этого ox_inventory удалит предмет до того, как ресурс определит, разрешена ли доза. Ресурс удаляет предмет самостоятельно после проверки.

На QBox, QB-Core и ESX ресурс регистрирует используемый предмет через ядро самостоятельно, поэтому достаточно указать useable = true для самого предмета.

Название предмета в редакторе и название предмета в инвентаре должны точно совпадать и быть написаны в нижнем регистре. Редактор автоматически переводит вводимый текст в нижний регистр, и ваш файл предметов должен соответствовать этому требованию.