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

Qué es un framework y por qué lo necesitas

Un framework como ESX o QBCore te da jugadores, dinero, trabajos e inventario ya resueltos para no reinventar la rueda.

FiveM por sí solo te da el motor del juego, pero no sabe qué es un «jugador con dinero», un «trabajo de policía» o un «inventario». Eso lo aporta un framework de roleplay. Los dos más usados son ESX y QBCore.

Qué te resuelve un framework

  • Cuentas de dinero (efectivo, banco) por jugador, guardadas en la base de datos.
  • Trabajos y rangos (policía, EMS, mecánico…).
  • Inventario e items.
  • Una identidad persistente del jugador (su personaje) entre sesiones.
  • Funciones listas para que tu script hable con todo eso.

Sin framework tendrías que programar todo eso desde cero. Con ESX/QBCore, tu script pide «dale 500€ a este jugador» y el framework se encarga del resto (validar, actualizar BD, sincronizar).

Cómo se carga en tu recurso

lua
-- En el fxmanifest.lua, importa ESX:
shared_scripts {
  '@es_extended/imports.lua',
  'config/config.lua',
}

-- A partir de ahí, en client y server tienes la variable global ESX disponible.

fxmanifest.lua con ESX

ESX Legacy moderno usa imports.lua (ya no hace falta el viejo TriggerEvent('esx:getSharedObject')). En QBCore se importa con exports['qb-core']:GetCoreObject().

Practica lo aprendido

0/3
Test

¿Qué aporta un framework de roleplay como ESX o QBCore que FiveM por sí solo no da?

Rellena los huecos

Completa la línea del fxmanifest que importa ESX Legacy en shared_scripts.

1shared_scripts {
2 '@es_extended/',
3 'config/config.lua',
4}
Pista

ESX Legacy moderno se carga con imports.lua, no con el viejo esx:getSharedObject.

Test

En QBCore, ¿cómo obtienes el objeto del core?

Reto: prográmalo tú

Explica con tus palabras qué pasaría si intentaras dar dinero a un jugador SIN usar un framework.

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

Escribe aquí tu solución:

¿Qué tal esta lección?