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

lua
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)

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) -- 500

Tablas

Funciones

lua
local function sumar(a, b)
  return a + b
end

print(sumar(3, 4)) -- 7

Funciones

Condicionales y bucles

lua
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)
end

Control de flujo

Practica lo aprendido

0/3
Test

En Lua, ¿en qué índice empieza una lista (tabla secuencial)?

Pista

Cuidado: NO es como en C o JavaScript.

Rellena los huecos

Completa la función que suma dos números y devuelve el resultado.

1local sumar(a, b)
2 a + b
3end
Pista

Se declara con 'function' y el valor se entrega con 'return'.

Ordena el código

Ordena el bloque para crear una lista y recorrerla imprimiéndola.

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

end
for 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:

¿Qué tal esta lección?