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

text
mi_cajero/
├── fxmanifest.lua
├── config.lua
├── client.lua   -- zona + tecla E
└── server.lua   -- ingresar/retirar validado

Estructura

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/3
Test

En el cajero, ¿quién comprueba el saldo y mueve el dinero de verdad?

Pista

¿Qué parte puede manipular un tramposo?

Rellena los huecos

Completa el config.lua con la tecla E (38) y la distancia de uso.

1Config = {}
2Config.Tecla = -- E
3Config.Distancia =
Pista

La tecla E es el control 38; una distancia de ~1.5 metros va bien para un cajero.

Ordena el código

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:

¿Qué tal esta lección?