Fundamentos: tu primer recurso · Lección 2/6 · 10 min
Lua esencial para FiveM
Variables, tablas, funciones, condicionales y bucles: lo justo de Lua para empezar a escribir scripts.
FiveM usa Lua. No necesitas dominar todo el lenguaje: con variables, tablas, funciones y bucles ya puedes hacer mucho. Vamos a lo práctico.
Variables y tipos
local nombre = 'Crxative' -- string
local vida = 100 -- número
local vivo = true -- booleano
local nada = nil -- ausencia de valor
print(nombre, vida, vivo)Tipos básicos
Usa siempre local. Sin local, la variable es global y puede chocar con otros recursos (causa bugs difíciles).
Tablas (el todoterreno de Lua)
-- Lista
local frutas = { 'manzana', 'pera', 'uva' }
print(frutas[1]) -- 'manzana' (¡los índices empiezan en 1!)
-- Diccionario
local jugador = { nombre = 'Ana', dinero = 500 }
print(jugador.dinero) -- 500Tablas
Funciones
local function sumar(a, b)
return a + b
end
print(sumar(3, 4)) -- 7Funciones
Condicionales y bucles
local dinero = 500
if dinero >= 1000 then
print('rico')
elseif dinero > 0 then
print('vas tirando')
else
print('sin blanca')
end
-- Recorrer una lista
for i, fruta in ipairs(frutas) do
print(i, fruta)
end
-- Recorrer un diccionario
for clave, valor in pairs(jugador) do
print(clave, valor)
endControl de flujo
Practica lo aprendido
0/3En Lua, ¿en qué índice empieza una lista (tabla secuencial)?
Pista
Cuidado: NO es como en C o JavaScript.
Completa la función que suma dos números y devuelve el resultado.
local sumar(a, b) a + bendPista
Se declara con 'function' y el valor se entrega con 'return'.
Ordena el bloque para crear una lista y recorrerla imprimiéndola.
Coloca las líneas en el orden correcto con las flechas.
endfor i, fruta in ipairs(frutas) do print(i, fruta)local frutas = { 'manzana', 'pera' }Pista
Primero creas la tabla, luego abres el bucle, imprimes dentro y cierras con end.
Reto: prográmalo tú
Escribe una función en Lua que reciba una tabla de números y devuelva su suma total.
Escríbelo tú en tu editor (VS Code) y pruébalo en tu servidor. Aquí se aprende haciéndolo, no copiando.
Ver pista
Recorre la tabla con ipairs y ve acumulando en una variable que empiece en 0.
Escribe aquí tu solución:
