QBCore para FiveM: qué es, errores comunes y la skill de IA
198 instalaciones en skills.sh
Actualizado
¿No quieres gestionar las skills tú mismo? Consigue la app completa.
QBCore es un framework de rol de FiveM construido alrededor del objeto Player, trabajos, bandas, inventario y callbacks. Esta guía cubre su API principal, los errores que rompen scripts QBCore y la skill de IA que escribe código contra la API real.
QBCore es un framework de roleplay para FiveM que gestiona jugadores, trabajos, bandas, dinero e inventario a través del recurso qb-core y un conjunto de módulos qb-. Si programas para un servidor QBCore, trabajas con el objeto QBCore, el objeto Player en el servidor y PlayerData en el cliente. Esta página explica qué documenta la skill de QBCore de FiveAI, los errores que más rompen scripts QBCore y cómo instalar la skill en tu asistente de IA.
Qué te da la skill de QBCore
La skill es un archivo SKILL.md con un archivo de reglas por cada área del framework:
core-concepts: cómo se inicializaqb-core, la forma dePlayerDatay qué contiene el objetoPlayeren el servidor.client-functionsyserver-functions: notificaciones y estado del jugador en el cliente,QBCore.Functions.GetPlayer(source)en el servidor, callbacks e items usables.player-methods: los métodos dePlayer.Functionspara dinero, items, trabajos, bandas, metadata y cuentas.jobs-gangs: los sistemas de trabajos y bandas, pagos y estado de servicio (duty).inventory-items: manejo de items y el flujo de items usables.events-callbacks: eventos de QBCore, callbacks de servidor, callbacks de cliente y manejo de eventos.best-practices: comprobaciones de nil, objetos de jugador cacheados, tiempos deWaitdinámicos, camelCase, locales antes que globales y ox_lib para menús, diálogos, notificaciones y barras de progreso.
Recurre a ella cuando crees un recurso QBCore, añadas un trabajo o una banda, toques dinero o items, o leas datos del jugador en cualquier sitio.
Errores comunes con QBCore
- Usar
Playersin comprobar nil. Síntoma: "attempt to index a nil value" en la consola del servidor cuando el source ya se fue o no es válido. Solución:local Player = QBCore.Functions.GetPlayer(source)seguido deif not Player then return end. - Mezclar
xPlayer(ESX) yPlayer(QBCore). Síntoma: una llamada axPlayer.addMoneyen un recurso QBCore y un error de nil en ejecución. El script se adaptó de un ejemplo de ESX. Solución: usaQBCore.Functions.GetPlayery solo los métodos dePlayer.Functions. - Leer
PlayerDataen el cliente antes de que el jugador cargue. Síntoma: trabajo o citizen id vacíos justo después del spawn. Solución: espera al estado de jugador cargado antes de tocarPlayerData, como describe la regla de funciones de cliente. - Confiar en las cantidades que envía el cliente. Síntoma: un cliente modificado dispara tu evento de servidor con un precio inventado y el servidor lo acepta. Solución: calcula precios y recompensas en el servidor, valida el source y asegura tus eventos.
- Bucles
Wait(0)que nunca duermen. Síntoma: un hilo de cliente que corre cada frame aunque el jugador esté lejos de la zona que vigila, y un recurso con tiempo alto en resmon. Solución: usa tiempos deWaitdinámicos, cortos cerca del punto de interés y largos en el resto.
Por qué los asistentes de IA se equivocan con QBCore
Un asistente genérico mezcla versiones de QBCore y frameworks. A menudo obtiene el objeto core con el patrón antiguo basado en el evento QBCore:GetObject en vez del export exports['qb-core']:GetCoreObject(), inventa métodos de Player.Functions que no existen o escribe lógica de bandas con funciones de trabajos porque se parecen. También coloca llamadas exclusivas de servidor como GetPlayer en un archivo de cliente, y eso falla en ejecución.
La skill le da al asistente una referencia compacta y actual. Los archivos core-concepts y player-methods listan la forma real del objeto y sus métodos, jobs-gangs separa los dos sistemas, y los principios (comprobar nil, esperar la carga del jugador, no confiar en el cliente, cachear objetos de jugador, Wait dinámico, ox_lib para la UI) se cargan cada vez que pides código QBCore. El resultado es un script que usa la API que corre tu servidor, no una mezcla de tres tutoriales.
Instala la skill de QBCore en 30 segundos
- Haz clic en "Download SKILL.md" en la parte superior de esta página.
- Descomprímelo en la carpeta de skills o reglas de tu herramienta de IA. La sección de instalación de abajo muestra la ruta exacta para Claude Code, Cursor y VS Code.
- Pide al asistente algo concreto, como un item usable que compruebe el trabajo del jugador antes de pagar, y confirma que usa
QBCore.Functions.GetPlayercon comprobación de nil.
Cómo instalar esta skill
Descarga el zip, descomprímelo y coloca la carpeta donde tu herramienta carga skills o reglas. La ruta exacta depende de la herramienta:
Claude Code
Descomprime en .claude/skills/qbcore-framework/ dentro del proyecto (la carpeta debe contener SKILL.md). Para todos los proyectos, usa ~/.claude/skills/qbcore-framework/.
Cursor
Cursor carga las reglas del proyecto desde .cursor/rules/. Añade ahí un archivo de regla que apunte a la skill descomprimida, o pega el contenido de SKILL.md y los archivos de reglas en una regla. El formato es .mdc con frontmatter y cambia entre versiones, así que revisa la documentación de tu versión.
VS Code / Copilot
Copilot lee archivos de instrucciones desde .github/instructions/*.instructions.md. Copia SKILL.md ahí con un glob applyTo para tus archivos Lua y deja los archivos de reglas al lado.
El archivo SKILL.md
Este es el archivo que lee tu asistente de IA. Enlaza a los archivos de reglas incluidos en la descarga.
El contenido de la skill está en inglés: es documentación técnica pensada para agentes de IA.
QBCore Framework Development
Complete guide for developing with QBCore Framework — a comprehensive FiveM roleplay framework providing core functionalities and modules.
When to use
- Creating or editing QBCore resources/scripts
- Working with player data (Player object, PlayerData)
- Implementing jobs, gangs, economy, or inventory systems
- Using QBCore client/server functions, callbacks, or events
- Questions about QBCore best practices and optimization
How to use
Read individual rule files for detailed explanations and examples:
- rules/core-concepts.md — QBCore architecture, PlayerData structure, Player object, framework initialization
- rules/client-functions.md — Client-side QBCore functions, notifications, player state management
- rules/server-functions.md — Server-side functions, player retrieval, callbacks, usable items
- rules/player-methods.md — Player object methods: money, items, jobs, gangs, metadata, accounts
- rules/jobs-gangs.md — Job system, gang system, payments, duty status
- rules/inventory-items.md — Inventory management, item handling, usable items
- rules/events-callbacks.md — QBCore events, server callbacks, client callbacks, event handling
- rules/best-practices.md — QBCore coding standards, optimization, security, naming conventions
- rules/reference-links.md — Official QBCore documentation links
Key principles
- Always check for nil —
if Player then ... endbefore using Player object - Use QBCore.Functions.GetPlayer — Standard player retrieval:
local Player = QBCore.Functions.GetPlayer(source) - Wait for player load — Check player loaded state on client before accessing PlayerData
- Never trust client — Validate all data server-side, secure your events
- Follow QBCore patterns — Use QBCore functions instead of reinventing (callbacks, notifications, etc.)
- Optimize loops — Cache player objects, use dynamic Wait times, avoid unnecessary calls
- Use camelCase — Follow Lua naming:
myVariable, local over global - Minimal globals — Keep variables local unless they need global scope
- Use ox_lib for UI — Prefer ox_lib for menus, dialogs, notifications, progress bars
Preguntas frecuentes
- No. Qbox es un fork de QBCore con sus propios cambios. Esta skill apunta a QBCore. Buena parte del objeto Player y la lógica de trabajos coincide, pero revisa los exports y los nombres de funciones antes de correr código QBCore en un servidor Qbox.
- Cubre las funciones de items e inventario del objeto Player de QBCore y el flujo de items usables. Los recursos de inventario como qb-inventory y ox_inventory tienen sus propios exports; para esos consulta su documentación.
- Sí. SKILL.md es markdown plano. Pégalo en una instrucción personalizada o adjúntalo a un proyecto de ChatGPT. Claude Code, Cursor y VS Code lo leen desde su carpeta de skills o reglas.
¿Qbox es lo mismo que QBCore?
¿La skill cubre qb-inventory u ox_inventory?
¿Puedo usar esta skill con ChatGPT?
Guías relacionadas
Lecturas más largas del blog de FiveAI sobre el mismo tema.