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
tienda_247/
├── fxmanifest.lua
├── config.lua -- coords + catálogo (item, precio)
├── client.lua -- qb-target + menú
└── server.lua -- callback de compra validadoEstructura
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/3En la tienda 24/7, ¿quién decide el precio y si se cobra al jugador?
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 servidorEl jugador interactúa con la zona qb-target del dependienteEl servidor entrega el item y notifica al jugadorEl servidor busca el precio en Config, comprueba el dinero y cobraEl cliente abre el menú con los productos de ConfigPista
Cliente: target → menú → pedir. Servidor: validar → cobrar → entregar.
Completa la estructura de archivos del recurso de la tienda: el archivo donde van las coordenadas y el catálogo.
tienda_247/├── fxmanifest.lua├── -- coords + catálogo (item, precio)├── client.lua└── server.luaPista
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:
