Servicios

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

En Reutilizar código, es posible que hayas notado el uso frecuente del método game:GetService(). Los servicios de Roblox te permiten acceder a las características integradas del motor, como vender artículos en el juego, habilitar chat, reproducir sonidos, animar objetos y gestionar instancias.

De hecho, los servicios son el primer paso en el patrón más fundamental y común del desarrollo en Roblox:

  1. Obtener servicios.
  2. Requerir scripts de módulo.
  3. Añadir funciones locales.
  4. Añadir los eventos que disparan esas funciones.

Por ejemplo, podrías querer guardar las posiciones de los jugadores en el mundo cuando salgan de tu juego:


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- Función local que llama a una función reutilizable en el script de módulo.
local function saveProgress(character)
-- Obtener la posición del personaje del jugador.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Usar la función saveData en el script de módulo, que escribe en el
-- DataStoreService.
SaveManager.saveData(character, position)
end
-- Otra función local que llama a saveProgress() cuando un personaje es eliminado
-- del juego (en este caso, cuando el jugador se va).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Llama a onPlayerAdded cuando un jugador se conecta por primera vez al juego.
Players.PlayerAdded:Connect(onPlayerAdded)

Algunos detalles clave incluyen:

  • Debido a que solo debes recuperar un servicio una vez por script, la convención es darle a la variable el mismo nombre que el servicio. Esta convención también se aplica a los scripts de módulo.
  • Recuperas servicios con la variable global game, una referencia a la raíz del modelo de datos.
  • Roblox no garantiza el orden de carga (y el streaming de instancias complica aún más lo que está o no está cargado en un momento dado), por lo que el uso de Instance:WaitForChild() es una medida de seguridad importante.

En lugar de comparar bibliotecas estándar, funciones y variables globales, o bibliotecas de terceros, gran parte del desarrollo en Roblox consiste en identificar cuáles de los muchos servicios pueden ayudarte a añadir la funcionalidad deseada a tus juegos. En el ejemplo anterior, en lugar de usar una biblioteca estándar de E/S para escribir en disco, utilizas servicios en la nube para almacenar datos.

Servicios de contenedor

Los servicios de contenedor pueden contener e influir en otros objetos. Estos servicios de contenedor residen en la raíz del modelo de datos y son visibles en la ventana del Explorador de Studio. Colectivamente, estos servicios de contenedor forman una jerarquía estructurada para el modelo de datos, por lo que el motor de Roblox puede interpretar y renderizar correctamente tu lugar. La siguiente tabla incluye algunos servicios de contenedor comunes.

ServicioDescripción
WorkspaceContiene todos los objetos que se renderizan en el mundo 3D, como partes y terreno.
LightingContiene objetos para establecer efectos de iluminación universales, como Atmosphere y Sky.
ReplicatedStorage y ReplicatedFirstContienen contenido y lógica que se replica entre el servidor y el cliente.

Para examinar más a fondo el modelo de datos, puedes usar estos métodos:

  • game:FindService() busca la instancia del servicio especificado.
  • game:GetChildren() devuelve un array de todos los hijos raíz del modelo de datos, que son los servicios de contenedor de nivel superior.
  • game:GetDescendants() devuelve un array de todos los descendientes del modelo de datos, incluidos todos los servicios de contenedor y sus hijos.

Para obtener más información sobre los servicios de contenedor, consulta la documentación del modelo de datos.

Servicios de scripting

Los servicios de scripting proporcionan funcionalidad estándar en el motor de Roblox que se llama dentro de scripts. La siguiente tabla incluye algunos servicios de scripting comunes.

ServicioDescripción
TweenServiceSe utiliza para interpolar propiedades numéricas de otras instancias desde un valor inicial hasta un valor final, con opciones para dirección y estilo de suavizado, repetición y retraso.
MarketplaceServiceEl servicio responsable de las transacciones en el juego, como solicitar al jugador que compre un producto de desarrollador, una suscripción, un pase, Roblox Premium, etc.
RunServiceContiene métodos y eventos para la gestión del tiempo cuadro a cuadro, así como para verificar el contexto (servidor, cliente, modo Studio) en el que se está ejecutando el juego. Útil para ejecutar cualquier proceso o actualización en cada cuadro de tiempo de ejecución.
SoundServiceControla varios aspectos globales de cómo se reproduce el audio en un juego, como la escala Doppler y el audio volumétrico. También puede contener grupos de sonido para controlar el volumen y las propiedades de efectos dinámicos de múltiples señales de audio a la vez.
CollectionServiceGestiona grupos (colecciones) de instancias con etiquetas que se replican del servidor al cliente, facilitándote asignar y trabajar con grupos de instancias relacionadas.

Servicios en la nube

Roblox también tiene servicios en la nube especiales para manejar tareas y procesos que ocurren en la nube de Roblox. La siguiente tabla incluye algunos servicios en la nube comunes.

ServicioDescripción
DataStoreServicePara almacenar datos persistentes entre sesiones.
MemoryStoreServicePara almacenar datos frecuentes y efímeros que cambian rápidamente.
MessagingServicePara comunicar entre múltiples servidores durante sesiones en vivo.

Los servicios en la nube también tienen APIs web correspondientes; son accesibles desde scripts o herramientas externas. Para obtener más información, consulta Open Cloud.

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.