EXOTICA NETWORKDocs

Recompensas y objetos usables

Crear presets, registrar consumibles y adaptar inventarios

Tabla de loot

Las recompensas viven en el servidor. En un preset puedes usar nombres simples, que entregan una unidad, o tablas con nombre y cantidad:

configs/items.lua
Items = {
    ['suministros'] = {
        Item = 'airdrop_supply',
        Label = 'Suministros médicos',
        DropType = 'event',
        LockSeconds = 20,
        RadiusSize = 100,
        PlaneEnabled = true,
        SmokeEnabled = true,
        AnnounceEnabled = true,
        WebhookEnabled = true,
        Reward = {
            { name = 'water', amount = 3 },
            { name = 'bandage', amount = 2 },
        },
    },
}

La clave suministros identifica el preset, mientras Item identifica el objeto usable. Son valores diferentes. El objeto se consume después de que la creación sea aceptada. Tener un preset no concede un objeto al jugador ni lo registra en su inventario.

El servidor acepta en una recompensa las claves name o item, y amount o qty; se recomienda la forma name/amount. Recorta la cantidad a un entero entre 1 y MaxRewardAmount, y considera hasta MaxRewardEntries entradas. No valida que todos los nombres existan en el inventario antes de iniciar el evento.

Registrar el consumible

En QBCore agrega el item a la tabla de tu inventario/core. Ejemplo que debes adaptar a la estructura de tu versión:

['airdrop_supply'] = {
    name = 'airdrop_supply', label = 'Suministros aéreos', weight = 100,
    type = 'item', image = 'airdrop_supply.png', unique = false,
    useable = true, shouldClose = true,
    description = 'Solicita una entrega de suministros',
},

En ESX usa el registro de objetos que corresponde a tu inventario. No importes una definición SQL de otra versión sin revisar sus columnas. El recurso registra ESX.RegisterUsableItem; en un inventario que sustituye el flujo de uso, conecta su acción a ese flujo de servidor mediante una integración compatible.

Inventarios y armas

  • ESX DEFAULT entrega con xPlayer.addInventoryItem.
  • ESX QS entrega con exports['qs-inventory']:AddItem.
  • QB/QBX entrega con Player.Functions.AddItem y muestra ItemBox usando QBCore.Shared.Items[item].
  • No hay rama directa de entrega por export de ox_inventory. Verifica la compatibilidad de tu core o adapta wrapper/sv_wrapper.lua, que está abierto en escrow.
  • Un nombre como weapon_carbinerifle debe ser un objeto válido de tu inventario. En ESX clásico, entregar un ítem no equivale a addWeapon; adapta el wrapper si las armas son loadout.

Prueba todos los objetos y espacio/peso antes de vender un preset. La caja se marca recogida antes de llamar al wrapper; esta versión no ofrece una transacción de rollback si la entrega de un objeto falla o el inventario está lleno.

Los presets por objetos usan un flujo autorizado por posesión del consumible, aunque el jugador no sea administrador de la tablet. Controla quién recibe esos consumibles.

En esta página