QBCore a fondo: el jugador y su dinero · Lección 1/4 · 8 min
Obtener el Core en cliente y servidor
Todo en QBCore empieza por GetCoreObject. Aprende a obtenerlo bien en ambos lados y a esperar a que el jugador cargue.
QBCore expone un objeto central (el «Core») desde el recurso qb-core. Lo obtienes con un export, igual en cliente que en servidor. A partir de ahí tienes Functions, Shared, etc.
-- Vale en client.lua y en server.lua
local QBCore = exports['qb-core']:GetCoreObject()Obtener el Core
En versiones modernas de QBCore puedes obtenerlo directamente con exports['qb-core']:GetCoreObject(). El viejo TriggerEvent('QBCore:GetObject', ...) ya no hace falta.
En el cliente: esperar a que el jugador cargue
local QBCore = exports['qb-core']:GetCoreObject()
local PlayerData = {}
-- Cuando el jugador entra y carga su personaje
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
PlayerData = QBCore.Functions.GetPlayerData()
end)
-- Cuando cambia algún dato (trabajo, dinero…)
RegisterNetEvent('QBCore:Player:SetPlayerData', function(data)
PlayerData = data
end)client.lua
En el cliente NO tienes el objeto Player completo (ese vive en el servidor). Tienes una COPIA de solo lectura: PlayerData. Para cualquier acción con consecuencias (dinero, items) pides al servidor.
Practica lo aprendido
0/3Completa la línea que obtiene el objeto Core de QBCore (vale igual en cliente y servidor).
local QBCore = exports['qb-core']:()Pista
Es un export del recurso qb-core; el viejo TriggerEvent('QBCore:GetObject', ...) ya no hace falta.
En el cliente, ¿qué obtienes realmente del jugador con QBCore?
Ordena el código de cliente que guarda PlayerData al cargar el personaje e imprime el citizenid.
Coloca las líneas en el orden correcto con las flechas.
local QBCore = exports['qb-core']:GetCoreObject() print(PlayerData.citizenid)end)RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function() PlayerData = QBCore.Functions.GetPlayerData()local PlayerData = {}Pista
Core → variable PlayerData → escuchar OnPlayerLoaded → rellenar con GetPlayerData → imprimir.
Reto: prográmalo tú
En el cliente, imprime por consola tu citizenid en cuanto cargue el personaje.
Escríbelo tú en tu editor (VS Code) y pruébalo en tu servidor. Aquí se aprende haciéndolo, no copiando.
Ver pista
Guarda QBCore.Functions.GetPlayerData() en OnPlayerLoaded y haz print(PlayerData.citizenid).
Escribe aquí tu solución:
