Proyecto final: tu primer cajero (ATM) · Lección 1/4 · 6 min
Diseña el cajero
Antes de teclear, define qué hace y qué archivos necesitas. Un buen plan es media batalla.
Vamos a construir un recurso de verdad que junta todo lo del curso: un cajero (ATM). El jugador se acerca, pulsa E, ve su saldo y puede ingresar o retirar dinero del banco.
Alcance (qué hace y qué NO)
- Hay cajeros en unas coordenadas (Config).
- Cerca de uno, sale 'Pulsa E' y al pulsar se abre.
- El jugador ve su saldo de banco y efectivo.
- Puede ingresar (cash → bank) y retirar (bank → cash), validado en el servidor.
- Por ahora sin NUI bonita: lo haremos simple y sólido. La interfaz la mejoras luego.
Archivos
mi_cajero/
├── fxmanifest.lua
├── config.lua
├── client.lua -- zona + tecla E
└── server.lua -- ingresar/retirar validadoEstructura
Diseñar primero evita el 90% de los líos. Sabes qué archivos tocas, qué decide el servidor y qué hace el cliente. Server-authoritative desde el minuto cero.
Practica lo aprendido
0/3En el cajero, ¿quién comprueba el saldo y mueve el dinero de verdad?
Pista
¿Qué parte puede manipular un tramposo?
Completa el config.lua con la tecla E (38) y la distancia de uso.
Config = {}Config.Tecla = -- EConfig.Distancia = Pista
La tecla E es el control 38; una distancia de ~1.5 metros va bien para un cajero.
Ordena el flujo completo de un retiro, desde que el jugador llega hasta que ve el resultado.
Coloca las líneas en el orden correcto con las flechas.
-- 5) El cliente muestra el resultado al jugador-- 1) El jugador se acerca al cajero-- 4) El servidor valida el saldo y mueve el dinero-- 3) Al pulsar E, el cliente pide al servidor-- 2) El cliente detecta la cercania y muestra 'Pulsa E'Pista
Primero detectar, luego pedir, el servidor decide y el cliente solo muestra.
Reto: prográmalo tú
Escribe en 3 líneas qué decide el servidor y qué hace el cliente en este cajero.
Escríbelo tú en tu editor (VS Code) y pruébalo en tu servidor. Aquí se aprende haciéndolo, no copiando.
Ver pista
Cliente: detectar cercanía y pedir. Servidor: comprobar saldo y mover el dinero.
Escribe aquí tu solución:
