Frameworks: ESX y QBCore · Lección 5/5 · 8 min

QBCore: lo mismo con otros nombres

QBCore hace lo mismo que ESX con otra API. Si entiendes ESX, traducir a QBCore es directo.

QBCore es el otro gran framework. Hace lo mismo (jugadores, dinero, trabajos) pero con nombres distintos. Conociendo ESX, la traducción es casi mecánica.

Obtener el core y el jugador

lua
local QBCore = exports['qb-core']:GetCoreObject()

local Player = QBCore.Functions.GetPlayer(source)
if not Player then return end

QBCore: core y jugador

Dinero y trabajo

lua
-- Dinero
Player.Functions.AddMoney('cash', 500)
Player.Functions.RemoveMoney('bank', 200)
local cash = Player.PlayerData.money['cash']

-- Trabajo
local job = Player.PlayerData.job.name -- 'police'
local grade = Player.PlayerData.job.grade.level
Player.Functions.SetJob('police', 2)

QBCore: dinero y trabajo

Tabla rápida ESX ↔ QBCore

  • ESX.GetPlayerFromId(src) ↔ QBCore.Functions.GetPlayer(src)
  • xPlayer.addMoney(n) ↔ Player.Functions.AddMoney('cash', n)
  • xPlayer.getAccount('bank').money ↔ Player.PlayerData.money['bank']
  • xPlayer.job.name ↔ Player.PlayerData.job.name
  • xPlayer.setJob(name, grade) ↔ Player.Functions.SetJob(name, grade)

Muchos scripts modernos usan un «bridge» (puente) para funcionar en ESX y QBCore a la vez. Si entiendes los dos, podrás adaptar casi cualquier recurso.

Practica lo aprendido

0/3
Rellena los huecos

Completa para obtener el objeto del core de QBCore.

1local QBCore = exports['qb-core']:()
2local Player = QBCore.Functions.GetPlayer(source)
Pista

Es el equivalente de tener la global ESX en su framework.

Test

¿Cuál es el equivalente en QBCore de xPlayer.addMoney(500)?

Ordena el código

Ordena la traducción a QBCore de: obtener el jugador, comprobar que existe y darle 1000€ al banco.

Coloca las líneas en el orden correcto con las flechas.

Player.Functions.AddMoney('bank', 1000)
local Player = QBCore.Functions.GetPlayer(source)
if not Player then return end
local QBCore = exports['qb-core']:GetCoreObject()
Pista

Core → jugador → comprobación → dinero. Es el paralelo de GetPlayerFromId + addAccountMoney.

Reto: prográmalo tú

Traduce a QBCore este código ESX: dar 1000€ al banco de un jugador comprobando que existe.

Escríbelo tú en tu editor (VS Code) y pruébalo en tu servidor. Aquí se aprende haciéndolo, no copiando.

Ver pista

GetCoreObject → GetPlayer → Player.Functions.AddMoney('bank', 1000).

Escribe aquí tu solución:

¿Qué tal esta lección?