Skip to content

Instalação

Installation

Quatro passos: importe o SQL, dê a si mesmo acesso ao editor, registre seus itens, inicie o recurso.

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

Inicie o bupa-addictioncreator após os recursos dos quais ele depende.

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

3. Database

Importe sql/bupa_addictioncreator.sql. Ele cria duas tabelas:

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

Ambos os nomes podem ser alterados em Config.Tables caso entrem em conflito com algo que você já utilize.

4. Access to the editor

O editor altera o que as drogas fazem no seu servidor, portanto ele é protegido por permissões.

server.cfg
add_ace group.admin bupa.substances allow

Em um servidor de desenvolvimento onde ninguém configurou as ACEs ainda, insira o identificador da sua licença no config:

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

5. Register your items

Cada substância que você cria no editor aponta para um item de inventário, e esse item precisa existir. Copie o bloco referente ao seu inventário do arquivo correspondente em 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

Para o ox_inventory, duas linhas nessa entrada são importantes:

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 — o ox_inventory não possui CreateUseableItem, portanto este export é a forma como o recurso sabe que o item foi utilizado.
  • consume = 0 — sem isso, o ox_inventory remove o item antes que o recurso decida se a dose é permitida. O recurso remove o item por conta própria assim que decidir.

No QBox, QB-Core e ESX, o recurso registra o item utilizável automaticamente através da base, então apenas definir useable = true no item é o suficiente.

O nome do item no editor e o nome do item no seu inventário devem coincidir exatamente, em letras minúsculas. O editor converte o que você digita para minúsculas; o arquivo dos seus itens deve corresponder a isso.