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:
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.AddItemy muestra ItemBox usandoQBCore.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_carbinerifledebe ser un objeto válido de tu inventario. En ESX clásico, entregar un ítem no equivale aaddWeapon; 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.
