Roblox GuidebookBase de conocimiento
Español ⌄
Todas las guías

Desarrollo / ROBLOX

Tu primer script en Luau: escribe, ejecuta y comprueba

Crea un Script, diferencia números y texto, completa tres ejercicios y revisa los mensajes de Output. Con código, esquemas y resultados esperados.

Script TrainingMessage dentro de ServerScriptService
Esquema propio del archivo de práctica, no una captura de Studio.
Actualizado:

Qué aprenderás #

Crearemos un script de práctica que muestra el nombre de una ruta y una cantidad prevista de puntos de control. No coloca puntos en el mapa ni guarda el progreso del jugador. La variable sirve para aprender a almacenar un valor y comprobar su salida. El objetivo es relacionar una línea con un resultado observable.

Al terminar podrás localizar el archivo en Explorer, explicar las líneas, cambiar un número y verificarlo. Usa Studio y un proyecto de práctica separado. Guarda antes de experimentar. Los mensajes de una gran experiencia existente pueden dificultar estas primeras comprobaciones.

1. Crea un Script en ServerScriptService #

Abre Explorer, localiza ServerScriptService y añade un Script normal mediante el control de añadir objetos. Llámalo TrainingMessage. Es el nombre elegido para este ejercicio porque explica su función. Confirma que elegiste Script, no LocalScript ni ModuleScript.

Abre el archivo y sustituye su contenido inicial por el ejemplo. No borres scripts desconocidos de una experiencia existente. Si no ves Explorer o el editor, abre primero el panel correspondiente. El esquema muestra la ubicación de nuestro archivo de práctica.

2. Escribe el código y entiende sus líneas #

La primera línea crea la variable local checkpointCount con el número 3. La segunda guarda el texto Training course en message. La tercera pasa ambos valores a print. Los números se escriben sin comillas y el texto entre comillas. La coma separa los argumentos.

Copia las tres líneas completas, incluidos paréntesis y comillas. Los nombres deben coincidir al declararse y utilizarse: checkpointCount y checkpointcount son diferentes. El número es un dato de práctica; no añade plataformas ni activa puntos de control reales.

local checkpointCount = 3
local message = "Training course"
print(message, checkpointCount)

3. Ejecuta una prueba y busca el mensaje #

Abre Output desde Window o la herramienta correspondiente de Studio. Inicia una prueba y busca Training course junto con 3. También pueden aparecer hora, origen y contexto. Compara los valores, sin exigir que todos los detalles visuales sean idénticos.

print escribe en el registro del desarrollador. No crea un texto sobre la plataforma ni en la pantalla del jugador. El esquema sigue el mensaje desde el código hasta Output. Detén la prueba después de comprobarlo para editar el archivo original.

Los valores pasan por print al registro Output
Código → ejecución → registro. print no crea una interfaz para jugadores.

4. Cambia un solo valor #

Sustituye 3 por 5. Antes del nuevo inicio predice el resultado: el nombre permanecerá igual y el número cambiará a 5. Ejecuta y compara con tu predicción. Así cada prueba tiene una pregunta concreta.

Si sigues viendo 3, verifica que editaste TrainingMessage, detuviste la prueba anterior y estás leyendo un mensaje nuevo. Las entradas antiguas pueden seguir visibles. Crear una segunda copia del script para reparar la primera produce más confusión.

5. Añade un cálculo sencillo #

Detén la prueba y reemplaza el contenido por el segundo ejemplo. Hay tres puntos previstos y uno completado, por lo que quedan dos. La resta utiliza números y print muestra Remaining con 2. Los valores son manuales; todavía no responden al personaje.

Cambia completedCheckpoints a 2, predice 1 y compruébalo. Con 3 el resultado es 0, y con 4 será −1. Esto demuestra que una sintaxis válida no garantiza reglas de juego correctas: un sistema real tendría que gestionar estados inválidos.

local plannedCheckpoints = 3
local completedCheckpoints = 1
local remainingCheckpoints = plannedCheckpoints - completedCheckpoints
print("Remaining", remainingCheckpoints)

6. Investiga un error controlado #

En una copia guardada de práctica, elimina temporalmente la comilla final de Training course en el primer ejemplo. Intenta ejecutarlo y lee el error. Restaura la comilla y verifica que vuelve la salida correcta. Al modificar un carácter conoces el primer lugar que revisar.

Hazlo únicamente en el proyecto de práctica. El texto exacto del error puede variar según el editor y la ubicación. Localiza el archivo y el fragmento indicado, compáralos con la versión funcional y restaura la línea. No modifiques varias zonas sin relación a la vez.

7. Si Output parece vacío #

Comprueba en orden: la prueba está en marcha; hay un Script normal en ServerScriptService; está habilitado; ningún error impide ejecutarlo; los filtros permiten ver mensajes. Revisa también el filtro de contexto de este ejemplo de servidor. Una búsqueda de texto puede ocultar una salida correcta.

Si hay mensajes repetidos, mira su origen. Puede haber dos TrainingMessage o entradas de varias pruebas. Localiza las copias en Explorer antes de borrar. Para pedir ayuda, conserva el error exacto y el nombre del archivo responsable.

8. Comprueba sin copiar #

Crea una variante con courseName para el nombre de tu ruta y stageCount para el número 4. Muestra ambos con print. Utiliza los nombres nuevos de forma coherente. Cambia después solo el nombre y confirma que el número no cambia.

Explica cuál es texto, cuál es número y qué línea genera el mensaje. Si cuesta, vuelve al primer ejemplo y modifica un valor cada vez. Entender tres líneas resulta más útil que pegar un sistema enorme que todavía no puedes comprobar.

Qué aprender después #

Guarda una versión funcional con un nombre reconocible. Puedes continuar con una condición que avise si los puntos completados superan los previstos. Los puntos de control reales necesitarán objetos, eventos y estado por jugador. Nuestra variable no es un sistema de progreso terminado.

Mantén esta costumbre con Output: predice, ejecuta, compara e investiga una causa de cada diferencia. Será útil cuando tus mecánicas sean más complejas.

Fuentes originales

Roblox Creator Hub
Roblox Creator Hub: Output