Fundamentos: tu primer recurso en QBCore · Lección 2/5 · 10 min
Lua esencial para FiveM
Variables, tablas, funciones, condicionales y bucles: lo justo de Lua para empezar a escribir scripts.
FiveM usa Lua, igual con ESX que con QBCore. 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 de encontrar).
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
for i, fruta in ipairs(frutas) do
print(i, fruta)
end
for clave, valor in pairs(jugador) do
print(clave, valor)
endControl de flujo
Practica lo aprendido
0/3Esta variable está declarada como global por error y puede chocar con otros recursos. Conviértela en local.
Este código tiene un fallo:
nombre = 'Crxative'print(nombre)Reescríbelo corregido:
Pista
Sin local, la variable es global. Añade local delante de la declaración.
En Lua, ¿cuál es el primer índice de una lista (tabla secuencial)?
Completa el bucle que recorre una lista con su índice y su valor.
local frutas = { 'manzana', 'pera', 'uva' }for i, fruta in (frutas) do print(i, fruta)endPista
Para listas con índices numéricos en orden se usa ipairs; para diccionarios clave/valor, pairs.
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:
