qbcore-development
QBCore Framework Development
This skill provides guidelines and patterns for developing resources using the QBCore Framework.
1. Core Object Retrieval
To interact with QBCore, you must retrieve the Core Object. Always cache this in a local variable at the top of your scripts.
Client & Server:
local QBCore = exports['qb-core']:GetCoreObject()
2. Key Concepts
Player Data (Server-side)
- Identify players by Source temporarily, but use CitizenID for database persistence.
- QBCore.Functions.GetPlayer(source): Returns the Player object with all data.
- Player.PlayerData: Contains
job,gang,money,items,metadata, etc.
Callbacks (Server -> Client Data)
- Use QBCore.Functions.CreateCallback (Server) to send data to client.
- Use QBCore.Functions.TriggerCallback (Client) to request data from server.
- Rule: Never trust client data blindly in callbacks. Always validate on server.
Items
- Use QBCore.Functions.CreateUseableItem (Server) to register items.
- Items are defined in
qb-core/shared/items.lua(orqb-inventory).
Database
- QBCore uses oxmysql by default.
- Use
MySQL.query,MySQL.insert,MySQL.update,MySQL.scalar.
3. Standard Resource Structure
my-resource/
├── fxmanifest.lua
├── config.lua
├── client/
│ └── main.lua
└── server/
└── main.lua
4. Best Practices
- Cache Core Object: Do not call
exports['qb-core']:GetCoreObject()inside loops. - Use Callbacks for Data: Avoid
TriggerClientEventfor data retrieval if a callback is cleaner. - Validate Inputs: Client can send any data. Verify job, money, and ownership on server.
- Optimized Loops: Use dynamic sleep (Wait) based on distance.
- Localization: Use
qb-core/shared/locale.luaor standardLangobject if available.
5. Documentation
- Official Docs: https://docs.qbcore.org/
- Github: https://github.com/qbcore-framework/qb-core
More from proelias7/fivem-skill
fivem-development
Develops resources for FiveM using vRP Creative Network with Lua. Covers resource creation, Proxy/Tunnel system, inventory, money, groups, identity, NUI, database (oxmysql), security, and performance. Use when the user works with FiveM, vRP, Lua scripts for GTA V servers, or mentions resources, client/server scripts, natives, NUI, or any system of the vRP Creative Network framework.
101esx-framework
Develops resources for FiveM using the ESX Framework (Legacy). Covers resource creation, Core Object (ESX), xPlayer functions, Events, Callbacks, Items, Jobs, Database (oxmysql), and best practices. Use when the user works with FiveM, ESX, ESX Legacy, or mentions `ESX.GetCoreObject`, `xPlayer`, `ESX.GetPlayerFromId`, or `esx:`.
53qbox-framework
Develops resources for FiveM using the Qbox Project (qbx_core). Covers the exports-based API, bridge compatibility, Ox integration (ox_lib, ox_inventory), and best practices. Use when the user works with FiveM, Qbox, qbx_core, or mentions `exports.qbx_core`, `QBX.PlayerData`, or `ox_lib`.
44qbcore-framework
Develops resources for FiveM using the QBCore Framework. Covers resource creation, Core Object usage, Player management, Callbacks, Events, Items, Jobs, Gangs, Database (oxmysql), and best practices. Use when the user works with FiveM, QBCore, Lua scripts for QBCore servers, or mentions `QBCore.Functions`, `GetCoreObject`, `CitizenID`, or any system of the QBCore Framework.
35