Inicio › Documentación › Instalación · origen_tradingcards

Instalación · origen_tradingcards

1. Base de datos

No hace falta ningún SQL manual. El recurso crea todas las tablas necesarias automáticamente la primera vez que arranca, mediante oxmysql.

Se crean las siguientes tablas:

sql
CREATE TABLE IF NOT EXISTS origen_albumcards_albums (
    id    INT AUTO_INCREMENT PRIMARY KEY,
    name  VARCHAR(255) UNIQUE,
    label VARCHAR(255),
    image TEXT
);
 
CREATE TABLE IF NOT EXISTS origen_albumcards_cards (
    id          INT AUTO_INCREMENT PRIMARY KEY,
    number      INT UNIQUE,
    name        VARCHAR(255),
    description TEXT,
    image       TEXT,
    rarity      VARCHAR(50),
    album_id    INT,
    FOREIGN KEY (album_id) REFERENCES origen_albumcards_albums(id) ON DELETE SET NULL
);
 
CREATE TABLE IF NOT EXISTS origen_albumcards_player (
    identifier VARCHAR(60),
    card_id    INT,
    quantity   INT DEFAULT 1,
    PRIMARY KEY (identifier, card_id)
);
 
CREATE TABLE IF NOT EXISTS origen_albumcards_shops (
    id        INT AUTO_INCREMENT PRIMARY KEY,
    name      VARCHAR(255),
    coords    TEXT,
    npc_model VARCHAR(50),
    items     TEXT
);

Si actualizas desde una versión anterior que usaba una columna card_number, el recurso realiza una migración automática al nuevo sistema card_id al arrancar. No hace falta ninguna acción manual.


2. Objetos

Añade los siguientes objetos a tu inventario. Cada objeto usa el campo client.export para enlazarse con el recurso.

ox_inventory

Añade a tu ox_inventory/data/items.lua:

lua
['album'] = {
    label       = 'Card Album',
    weight      = 500,
    stack       = false,
    description = 'An album to store your card collection.',
    close       = true,
    client      = { export = 'origen_tradingcards.album' },
},
['albumpack'] = {
    label       = 'Card Pack',
    weight      = 100,
    stack       = true,
    description = 'Contains collectible cards. Open it to see what you get.',
    close       = true,
    client      = { export = 'origen_tradingcards.albumpack' },
},
['albumcardcommon'] = {
    label       = 'Collectible Card',
    weight      = 0,
    stack       = false,
    description = 'A common collection card.',
    close       = true,
    client      = { export = 'origen_tradingcards.albumcard' },
},
['albumcardunrare'] = {
    label       = 'Collectible Card',
    weight      = 0,
    stack       = false,
    description = 'An uncommon collection card.',
    close       = true,
    client      = { export = 'origen_tradingcards.albumcard' },
},
['albumcardrare'] = {
    label       = 'Collectible Card',
    weight      = 0,
    stack       = false,
    description = 'A rare collection card.',
    close       = true,
    client      = { export = 'origen_tradingcards.albumcard' },
},
['albumcardepic'] = {
    label       = 'Collectible Card',
    weight      = 0,
    stack       = false,
    description = 'An epic collection card.',
    close       = true,
    client      = { export = 'origen_tradingcards.albumcard' },
},
['albumcardlegendary'] = {
    label       = 'Collectible Card',
    weight      = 0,
    stack       = false,
    description = 'A legendary collection card.',
    close       = true,
    client      = { export = 'origen_tradingcards.albumcard' },
},

QBCore / QBX

Añade a tu tabla de objetos compartidos:

lua
['album']             = { name = 'album',             label = 'Card Album',      weight = 500, type = 'item', image = 'album.png',             unique = true,  useable = true, shouldClose = true, combinable = nil, description = 'An album to store your card collection.' },
['albumpack']         = { name = 'albumpack',         label = 'Card Pack',       weight = 100, type = 'item', image = 'albumpack.png',         unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Contains collectible cards.' },
['albumcardcommon']   = { name = 'albumcardcommon',   label = 'Collectible Card', weight = 0,   type = 'item', image = 'albumcardcommon.png',   unique = true,  useable = true, shouldClose = true, combinable = nil, description = 'A common collection card.' },
['albumcardunrare']   = { name = 'albumcardunrare',   label = 'Collectible Card', weight = 0,   type = 'item', image = 'albumcardunrare.png',   unique = true,  useable = true, shouldClose = true, combinable = nil, description = 'An uncommon collection card.' },
['albumcardrare']     = { name = 'albumcardrare',     label = 'Collectible Card', weight = 0,   type = 'item', image = 'albumcardrare.png',     unique = true,  useable = true, shouldClose = true, combinable = nil, description = 'A rare collection card.' },
['albumcardepic']     = { name = 'albumcardepic',     label = 'Collectible Card', weight = 0,   type = 'item', image = 'albumcardepic.png',     unique = true,  useable = true, shouldClose = true, combinable = nil, description = 'An epic collection card.' },
['albumcardlegendary'] = { name = 'albumcardlegendary', label = 'Collectible Card', weight = 0, type = 'item', image = 'albumcardlegendary.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'A legendary collection card.' },

Imágenes de los objetos

Copia las imágenes de items/img/ a la carpeta de imágenes de tu inventario:

Fichero Objeto
album.png album
albumpack.png albumpack
albumcardcommon.png albumcardcommon
albumcardunrare.png albumcardunrare
albumcardrare.png albumcardrare
albumcardepic.png albumcardepic
albumcardlegendary.png albumcardlegendary

3. server.cfg

text
ensure oxmysql
ensure origen_tradingcards

oxmysql debe arrancar antes que origen_tradingcards para que las tablas se creen en el primer arranque.