Proyecto final: una tienda 24/7 con QBCore · Lección 1/4 · 6 min

Diseña la tienda

Antes de teclear, define qué hace y qué archivos necesitas. Un buen plan es media batalla.

Vamos a construir un recurso real que junta todo el curso: una tienda 24/7. El jugador se acerca al dependiente, abre un menú, elige un item y, si tiene dinero, se lo lleva. Todo validado en el servidor.

Alcance (qué hace y qué NO)

  • Hay una zona de tienda (qb-target) en unas coordenadas de Config.
  • Al interactuar se abre un menú (qb-menu u ox_lib) con los productos.
  • Al elegir, el cliente PIDE comprar; el servidor comprueba dinero y entrega el item.
  • Precios e items salen de Config en el servidor, nunca del cliente.

Archivos

text
tienda_247/
├── fxmanifest.lua
├── config.lua    -- coords + catálogo (item, precio)
├── client.lua    -- qb-target + menú
└── server.lua    -- callback de compra validado

Estructura

Diseñar primero evita el 90% de los líos. Server-authoritative desde el minuto cero: el cliente abre el menú y pide; el servidor decide si cobra y entrega.

Practica lo aprendido

0/3
Test

En la tienda 24/7, ¿quién decide el precio y si se cobra al jugador?

Ordena el código

Ordena el flujo de una compra en la tienda, desde que el jugador interactúa hasta que recibe el item.

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

El jugador elige un item y el cliente manda su NOMBRE al servidor
El jugador interactúa con la zona qb-target del dependiente
El servidor entrega el item y notifica al jugador
El servidor busca el precio en Config, comprueba el dinero y cobra
El cliente abre el menú con los productos de Config
Pista

Cliente: target → menú → pedir. Servidor: validar → cobrar → entregar.

Rellena los huecos

Completa la estructura de archivos del recurso de la tienda: el archivo donde van las coordenadas y el catálogo.

1tienda_247/
2├── fxmanifest.lua
3├── -- coords + catálogo (item, precio)
4├── client.lua
5└── server.lua
Pista

Es un archivo compartido (shared_script) con la tabla Config.

Reto: prográmalo tú

Escribe en 3 líneas qué decide el servidor y qué hace el cliente en esta tienda.

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

Ver pista

Cliente: target + menú + pedir. Servidor: comprobar dinero, cobrar y entregar el item.

Escribe aquí tu solución:

¿Qué tal esta lección?