Skip to main content

FAQ

El recurso no arranca y dice que falta una dependencia​

Comprueba el orden en server.cfg:

ensure oxmysql
ensure qbx_core # o qb-core / es_extended, si aplica
ensure cold_lib
ensure cold_inventory

Las dependencias obligatorias declaradas por el recurso son oxmysql y cold_lib.

¿Tengo que importar un archivo SQL?​

No. cold_inventory crea automaticamente sus tablas MySQL al iniciar.

Comprueba que oxmysql este conectado y que el usuario de la base de datos tenga permisos para crear y modificar tablas.

Uso cold_inventory como reemplazo de ox_inventory. ¿Debo iniciar los dos?​

No.

cold_inventory declara:

provide 'ox_inventory'

Si lo estas usando como sustituto, deja ox_inventory original detenido y arranca solo cold_inventory.

Un recurso dice que necesita ox_inventory​

El provide 'ox_inventory' permite satisfacer esa dependencia para recursos que consumen contratos compatibles.

Si el recurso externo usa codigo interno, APIs no publicas o comportamiento muy especifico del inventario original, puede necesitar una adaptacion.

¿Como fuerzo mi framework?​

En server.cfg:

setr cold_inventory:mode "qbox"

Tambien puedes usar:

setr cold_inventory:mode "qbcore"
setr cold_inventory:mode "esx"
setr cold_inventory:mode "solo"

Para autodeteccion:

setr cold_inventory:mode "auto"

TAB no abre el inventario​

Comprueba:

  1. Que cold_inventory este iniciado sin errores.
  2. Que la NUI haya cargado correctamente.
  3. Que no exista otro recurso capturando/bloqueando la misma tecla.
  4. Los key bindings de FiveM, porque TAB se registra mediante RegisterKeyMapping.

Tambien puedes probar el comando:

/inv

Quiero cambiar /inv​

En server.cfg:

setr cold_inventory:command "inventario"

Despues reinicia el recurso o el servidor.

/giveitem o /colditems no funciona​

Los comandos usan ACE por defecto:

setr cold_inventory:give_command_ace "cold_inventory.give"
setr cold_inventory:list_command_ace "cold_inventory.give"

Da permiso al grupo adecuado:

add_ace group.admin cold_inventory.give allow

¿Como doy un item a otro jugador?​

/giveitem [serverId] [item] [cantidad]

Ejemplo:

/giveitem 12 water 5

Para dartelo a ti mismo:

/giveitem water 5

Un item no aparece en el inventario​

Comprueba que existe en:

data/items.lua

Revisa tambien:

  • Nombre exacto del item.
  • Errores Lua al cargar el catalogo.
  • Limites de peso y slots.
  • Que no estes intentando entregar una cantidad fuera de los limites configurados.

Un item aparece sin imagen​

Coloca su icono en:

web/images/

Y revisa el campo image del item en data/items.lua.

El nombre y la extension deben coincidir con el archivo real.

Los items desaparecen despues de reiniciar​

Comprueba:

setr cold_inventory:save_interval_ms 30000
setr cold_inventory:save_on_disconnect 1

Revisa tambien la consola por errores de oxmysql y confirma que las tablas cold_inventory_players / cold_inventory reciben datos.

El recurso vuelve a intentar guardar si una escritura falla, pero una base de datos desconectada impide persistir los cambios.

Los drops desaparecen tras reiniciar​

Comprueba:

setr cold_inventory:persist_drops 1

Y verifica que exista y funcione la tabla:

cold_inventory_drops

No puedo abrir un drop aunque lo veo​

El servidor valida distancia e instancia. Revisa:

setr cold_inventory:drop_interact_distance 2.2

Tambien comprueba que jugador y drop esten en el mismo routing bucket.

El maletero no se abre​

Comprueba:

setr cold_inventory:vehicle_trunks 1

Y las distancias:

setr cold_inventory:vehicle_trunk_search_distance 6.0
setr cold_inventory:vehicle_trunk_interact_distance 1.85

La capacidad y posicion por modelo/marca/clase se encuentran en shared/settings.lua.

Algunos modelos pueden estar configurados con storage = 'none' o con maletero delantero.

El glovebox no se abre​

Comprueba:

setr cold_inventory:vehicle_gloveboxes 1

El sistema intenta abrirlo cuando estas dentro del vehiculo o cerca de la zona delantera. Revisa tambien las distancias de glovebox configuradas.

Los cargadores o la municion de un arma no funcionan como esperaba​

cold_inventory usa un sistema de cargadores persistentes. La municion suelta no se introduce directamente en el arma: primero llena un cargador compatible.

Ejemplo:

/giveitem WEAPON_PISTOL 1
/giveitem magazine_weapon_pistol 3
/giveitem ammo-9 100

Equipa el arma y usa R para intercambiar el cargador.

La configuracion de armas esta en:

data/weapons.lua

Quiero desactivar las animaciones de armas​

setr cold_inventory:weapon_animations 0

Un alimento aparece caducado​

La caducidad automatica se controla con:

setr cold_inventory:auto_food_expiry 1
setr cold_inventory:food_expire_minutes 4320

Tambien puedes configurar degrade directamente en la definicion del item.

Un item roto no se puede usar​

Es el comportamiento esperado. Los objetos rotos permanecen en el inventario, pero el servidor bloquea su uso hasta repararlos.

Revisa la configuracion condition del item y los ajustes de reparacion.

No aparece la opcion de reparar en taller​

Los talleres base estan en shared/settings.lua y la distancia se controla con:

setr cold_inventory:repair_distance 7.5

Otros recursos pueden añadir talleres mediante RegisterRepairWorkshop.

No funciona la oficina NPC de documentos​

Comprueba en config.lua:

ColdInventoryConfig.DocumentShop.enabled = true

Revisa tambien:

  • Coordenadas del NPC.
  • Modelo del ped.
  • Que cold_lib este iniciado.
  • Distancias interactionDistance y serverDistance.
  • Que el tipo de documento exista en data/documents.lua.

No puedo comprar un duplicado de documento​

Por defecto:

onlyWhenMissing = true
replacementOnly = true

Esto significa:

  • No puedes comprarlo si aun conservas una copia valida.
  • No puedes comprar un duplicado si ese tipo de documento nunca fue expedido al personaje.

/emitirdoc o /revocardoc no responde​

Necesitas el ACE configurado en:

setr cold_inventory:document_ace "cold_inventory.documents"

Ejemplo:

add_ace group.admin cold_inventory.documents allow

Los comandos /coldinv... no funcionan​

Necesitan por defecto:

add_ace group.admin cold_inventory.admin allow

Los comandos son:

/coldinvhealth
/coldinvinspect [serverId]
/coldinvfreeze [serverId] [on|off] [motivo]
/coldinvrepair [serverId]
/coldinvaudit [ownerKey]

Un inventario quedo congelado​

Un admin autorizado puede ejecutar:

/coldinvfreeze [serverId] off

Si necesitas diagnosticar antes:

/coldinvinspect [serverId]
/coldinvhealth

El cuarto jugador no puede abrir el mismo stash​

El limite global por defecto es:

setr cold_inventory:max_context_viewers 3

Puedes aumentarlo, aunque cada stash puede imponer un maxViewers inferior.

OpenInventory rechaza un stash desde otro recurso​

OpenInventory valida permisos, distancia e instancia.

Si estas implementando una accion administrativa o interna de confianza existe:

exports.cold_inventory:ForceOpenInventory(...)
warning

No uses ForceOpenInventory para interacciones normales de jugadores: precisamente evita varias validaciones de acceso.

Un webhook de Discord no recibe mensajes​

Comprueba que uses set, no setr:

set cold_inventory:webhooks_enabled 1
set cold_inventory:webhook "https://discord.com/api/webhooks/ID/TOKEN"

Si usas endpoints especializados, revisa tambien:

set cold_inventory:webhook_security "..."
set cold_inventory:webhook_admin "..."
set cold_inventory:webhook_transactions "..."

Si una URL especializada esta vacia, esa categoria utiliza el webhook general.

¿Por que no debo usar setr para el webhook?​

Porque setr replica la convar a los clientes. Eso podria revelar la URL y el token del webhook.

Usa siempre:

set cold_inventory:webhook "..."

Me expulsa por una violacion de seguridad durante una integracion​

Si activaste:

setr cold_inventory:security_drop_player 1

vuelve temporalmente a:

setr cold_inventory:security_drop_player 0

Corrige primero la integracion que esta enviando acciones invalidas o demasiado rapidas. No es recomendable desactivar globalmente las validaciones server-side.

¿Puedo usar stashes creados por otro script?​

Si. Ejemplo:

exports.cold_inventory:RegisterStash(
'police_armory',
'POLICE ARMORY',
60,
350000,
false,
{ police = 0 },
vec3(441.2, -981.9, 30.7)
)

Despues puedes abrirlo con OpenInventory o mediante el evento/integracion de tu propio recurso.

¿Puedo crear inventarios temporales?​

Si. Usa:

exports.cold_inventory:CreateTemporaryStash({...})

Puedes definir label, slots, peso, owner, items iniciales y duracion.

¿Puedo registrar acciones nuevas en el menu contextual?​

Si. El recurso expone una API para registrar acciones contextuales desde otros recursos. La validacion final se ejecuta en servidor y la accion se elimina si se detiene el recurso que la registro.

Un recurso compatible con ox_inventory sigue fallando​

La compatibilidad reproduce contratos publicos habituales, pero no garantiza compatibilidad con scripts que dependan de implementacion interna, archivos privados o comportamiento no publico del inventario original.

Revisa el error exacto y compara el export/evento que espera ese recurso con los exports disponibles en server/ox_compat.lua y client/ox_compat.lua.