Programación

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

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 messageToUser
print(messageToUser) --> nulo
print(type(message)) --> nulo
if messageToUser then
-- la declaración se evaluó a false
end

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]) --> chips
print(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ándar
print(index, value)
end
for key, value in pairs(myDictionary) do -- Lua estándar
print(key, value)
end
for key, value in myDictionary do -- Luau generalizado itération
print(key, value)
end

Tu primer script

  1. En Roblox Studio, pasa el cursor sobre ServerScriptService en la ventana Explorer y haz clic en + .

  2. Seleccione Script para agregar un nuevo script.

  3. Haga clic con el botón derecho en el script y renombre en HelloScript .

  4. Haga clic doblemente en el script para abrirlo en el Editor de Scripts .

  5. 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 do
    print(value)
    end
    print(table.concat(worldArray))
  6. Asegúrese de que la ventana Salida esté abierta.

  7. Haga clic en Jugar para ejecutar su experiencia.

  8. Nota la Salida:


    h
    e
    l (x2)
    o
    world

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

  1. En Roblox Studio, agregue un script a ReplicatedStorage en la ventana Explorador y renombrelo a OhNo .

  2. Agregue el siguiente código al archivo:


    print("Hello script types and locations!")
  3. Haga clic en Jugar para ejecutar su experiencia.

  4. 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 .