Los scripts son archivos de texto plano que te permiten agregar comportamiento personalizado, dinámico a tus experiencias. Puedes usar scripts para activar eventos en el juego, responder a la entrada del jugador, guardar datos del jugador, crear tablas de clasificación, generar enemigos, controlar el comportamiento de NPC y mucho, mucho más.
Luau
Los scripts de Roblox usan el lenguaje de programación Luau, que se deriva de Lua 5.1.
- En comparación con Lua 5.1, Luau agrega mejoras de rendimiento y muchas funciones útiles, incluidos un sistema de escribatura opcional, la interpolaciónde cadenas y la generalización de la repetición para las tablas.
- Todo el código Lua 5.1 válido es código Luau válido, pero lo contrario no es cierto.
La mayoría de los libros y recursos en línea para Lua siguen siendo ampliamente aplicables a Luau. Para obtener una descripción detallada de las diferencias, consulte compatibilidad en la documentación de Luau. Para la sintaxis de lenguaje, consulte el referencia de Luau.
Luau Básicos
Luau se escribe gradualmente, por lo que no es necesario especificar un tipo cuando creas una variable. Puedes usar type() para comprobar el introducirobjeto:
logMessage = "User has more than 10 items!"print(logMessage) --> ¡El usuario tiene más de 10 artículos!print(type(logMessage)) --> string
Luau tiene alcances globales y locales, pero casi siempre es mejor declarar variables y funciones localmente con la palabra clave local :
local logMessage = "User has more than 10 items!"
local function printMessage()
print(logMessage)
end
printMessage() --> User has more than 10 items!
Lua usa nil para representar la nulidad o nada, que se valora como false en declaraciones condicionales:
local messageToUserprint(messageToUser) --> nuloprint(type(message)) --> nuloif messageToUser then-- la declaración se evaluó a falseend
Como habrás notado, -- comienza un hacer un comentariode una línea. --[[]] crea un hacer un comentariode bloque:
--]]
Shuts off the cosmic moon ray immediately.
Should only be called within 15 minutes of midnight Mountain Standard
Time to avoid damage to the cosmic moon ray.
]]
local function stopCosmicMoonRay()
-- añade esto más tarde, puede ser importante
end
Las tablas son el término genérico para los arrays y diccionarios. Los arrays son uno-basados en lugar de zero-basados, por lo que el primer artículo es [1] . Declaras arrays y diccionarios con un solo conjunto de curly braces:
local myArray = {"chips", "sparkling water", "salsa"}local myDictionary = {snack = "chips",drink = "sparkling water",dip = "salsa"}print(myArray[1]) --> chipsprint(myDictionary.dip) --> salsa
Puedes repetir sobre tablas usando for bucles con la función ipairs() para arreglos y la función pairs() para diccionarios, pero Luau también te permite omitir estas funciones para una sintaxis más limpia:
for index, value in ipairs(myArray) do -- Lua estándarprint(index, value)endfor key, value in pairs(myDictionary) do -- Lua estándarprint(key, value)endfor key, value in myDictionary do -- Luau generalizado itérationprint(key, value)end
Tu primer script
En Roblox Studio, pasa el cursor sobre ServerScriptService en la ventana Explorer y haz clic en + .
Seleccione Script para agregar un nuevo script.
Haga clic con el botón derecho en el script y renombre en HelloScript .
Haga clic doblemente en el script para abrirlo en el Editor de Scripts .
Agregue el siguiente código al archivo:
local helloArray = {"h", "e", "l", "l", "o"}local worldArray = {"w", "o", "r", "l", "d"}for index, value in helloArray doprint(value)endprint(table.concat(worldArray))Asegúrese de que la ventana Salida esté abierta.
Haga clic en Jugar para ejecutar su experiencia.
Nota la Salida:
hel (x2)oworld
Cómodose
Una gran parte de adaptarse a un nuevo entorno de desarrollo es configurarlo para cumplir con sus necesidades y entender las herramientas a su disposición:
- La sección Editor de Scripts de Configuración de Studio te permite ajustar las características de la calidad de vida, como fuentes, colores, espaciado, autocompletado, brackets y herramientas de medición. Es posible que también quieras habilitar el modo oscuro en la sección Studio .
- Mantener presionada la Ctrl o Comando y hacer clic en una función o variable te lleva a su declaración en tu código de base (o su documentación en línea). Usar Buscar y encontrar todo puede ayudarte a navegar por proyectos más grandes.
- La ventana Salida es la herramienta más básica para entender el comportamiento de tus scripts. Usa el menú ⋯ para habilitar Mostrar contexto y 1>Mostrar fuente1>.
- La ventana Análisis de Script muestra un resumen de errores y advertencias, pero puede que encuentre que su utilidad es limitada; el Editor de Script ya destaca estos problemas mientras introducir.
- Las capacidades de registro son mínimas, con no hay concepto de niveles de registro como DEBUG o FATAL . Usa print() y 1> Global.RobloxGlobals.warn()1> .
Para obtener más información sobre la configuración de Studio para scripting, consulte Editor de script. Para obtener información sobre la utilización de su editor de texto favorito y el sistema de control de versiones, consulte Herramientas externas .
Tu segundo script
En Roblox Studio, agregue un script a ReplicatedStorage en la ventana Explorador y renombrelo a OhNo .
Agregue el siguiente código al archivo:
print("Hello script types and locations!")Haga clic en Jugar para ejecutar su experiencia.
Nota cómo la salida no es diferente a cuando se ejecutó tu primer script .
Para entender por qué el script no se ejecutar, see Tipos y ubicación de scripts .