Guía para Principiantes de Luau en Roblox Studio
No necesitás ser programador para usar herramientas comunitarias, pero entender cómo funciona Luau hace la diferencia entre adivinar qué hace una herramienta y realmente leer el código antes de confiar en ella. Esta guía te lleva a ese punto en aproximadamente una hora de lectura.
Lua, Luau, y por qué Roblox usa uno y no el otro
Lua es un lenguaje de scripting chico, rápido y embebible diseñado en los 90s en Brasil. Roblox originalmente embebió Lua tal cual, después en la última década lo forkeó en Luau — agregando gradualmente tipado estático opcional, mejoras de performance y ajustes de seguridad. Hoy cada línea de código que corre dentro de un juego de Roblox es Luau, incluso cuando parece Lua plano.
Para los autores de herramientas esto importa porque el lenguaje te da primitivas como type checking y la sentencia continue que el Lua vainilla no tiene. Para los lectores de herramientas importa porque código Luau que "se ve raro" — anotaciones ::, declaraciones type Foo, el operador && — no es un typo. Es sintaxis Luau más nueva.
Los cinco conceptos que desbloquean todo lo demás
Las tablas son el único tipo de colección
Luau tiene un único tipo de colección — la tabla — y funciona como array, diccionario, struct y clase. Cuando ves local players = {} la variable puede convertirse en una lista de objetos jugador, un mapa key-value de usernames a scores, o un registro con campos nombrados. El contexto te dice cuál.
Las funciones son valores
Podés poner una función en una variable, en una tabla, o pasarla como argumento. El patrón game:GetService("Players").PlayerAdded:Connect(function(plr) ... end) al inicio de cada script de Roblox es un valor de función siendo pasado a un evento.
Los servicios son cómo alcanzás al motor
game:GetService("Workspace") devuelve el Workspace global; game:GetService("ReplicatedStorage") devuelve el contenedor compartido replicado; game:GetService("RunService") te da loops frame por frame. Leer cualquier herramienta comunitaria empieza por saber qué hacen los servicios más usados.
Eventos y conexiones
La mayoría del código de Roblox reacciona a eventos: un jugador entrando, una tecla presionada, una parte tocada. Las herramientas usualmente attachean una función a un evento con :Connect(...). Cuando la herramienta se descarga, esas conexiones necesitan :Disconnect()-earse o la herramienta sigue consumiendo CPU en silencio.
Corrutinas y task scheduling
task.spawn, task.delay y task.wait reemplazan los patrones viejos wait() y spawn(). Las herramientas modernas los usan porque se integran apropiadamente con el scheduler de Roblox y evitan el throttling que Roblox aplica a las funciones de timing legadas.
Leyendo una herramienta real
Abrí cualquier listing de herramienta en RblxScript y mirá el bloque de código. Las primeras diez líneas casi siempre te dicen qué va a hacer la herramienta: qué servicios trae, qué tablas globales setea, qué UI inyecta. El medio es la lógica en sí, usualmente algunos event handlers y loops. El final es teardown — cómo la herramienta se limpia a sí misma.
Dónde aprender el lenguaje en serio
Roblox publica el Luau Reference Manual en luau-lang.org y un curso práctico de código en create.roblox.com/docs. Los dos son gratis y el segundo cubre los básicos de Studio además del lenguaje. Después de un fin de semana yendo por los tutoriales oficiales vas a leer la mayoría de las herramientas comunitarias con fluidez.
Explorá herramientas comunitarias
Ahora que podés leer Luau, mirá qué están construyendo los autores.