Complementos

Los complementos son extensiones que añaden características o funciones adicionales a Studio. Puedes buscar, instalar y administrar complementos creados por la comunidad en el Mercado de creadores o puedes crear y publicar los tuyos propios en la Caja de herramientas para usarlos en tus experiencias. Si también decides publicar tus complementos en el Mercado de creadores para que otros creadores los usen en sus propios procesos de desarrollo, puedes ofrecerlos de forma gratuita o venderlos por Robux.

Creación de complementos nuevos

Puedes crear tus propios complementos para mejorar tu flujo de trabajo en Studio. El siguiente código de ejemplo es un complemento llamado EmptyScriptAdder que inserta un script vacío como elemento secundario de un objeto o en ServerScriptService. En las siguientes secciones, se explican los aspectos principales de la creación de este complemento.

EmptyScriptAdder Plugin

local ChangeHistoryService = game: GetService("ChangeHistoryService")
local Selection = game: GetService("Selection")
-- Create a new toolbar section titled "Custom Script Tools"
local toolbar = plugin:CreateToolbar("Custom Script Tools")
-- Add a toolbar button named "Create Empty Script"
local newScriptButton = toolbar: CreateButton("Create Empty Script", "Create an empty script", "rbxassetid://4458901886")
-- Make button clickable even if 3D viewport is hidden
newScriptButton.ClickableWhenViewportHidden = true
local function onNewScriptButtonClicked()
local selectedObjects = Selection: Get()
local parent = game: GetService("ServerScriptService")
if #selectedObjects > 0 then
parent = selectedObjects[1]
end
local newScript = Instance.new("Script")
newScript.Source = ""
newScript.Parent = parent
ChangeHistoryService: SetWaypoint("Added new empty script")
end
newScriptButton.Click:Connect(onNewScriptButtonClicked)

Almacenamiento del script de un complemento

Los complementos se crean a partir de scripts. Por ejemplo, sigue estos para crear el complemento EmptyScriptAdder: Para crear un complemento, crea un Script y guárdalo como complemento a través del Explorador.

  1. Inserta un Script nuevo en ServerStorage y cámbiale el nombre a EmptyScriptAdder.

  2. Copia y pega el código del complemento EmptyScriptAdder en el script nuevo.

  3. Haz clic derecho en el script en el Explorador y selecciona Guardar como complemento local.

  4. En la ventana emergente, haz clic en Guardar para insertar el script del complemento en la carpeta local Complementos de la instalación de Studio. La ventana Salida indica que el complemento se guardó correctamente y este se ejecuta por primera vez después de guardarlo.

Adición de un botón a la barra de herramientas

Para añadir un botón para tu complemento a la pestaña Complementos de la barra de herramientas de Studio, usa los métodos Plugin:CreateToolbar() y PluginToolbar:CreateButton(). En el código de EmptyScriptAdder, en la línea 5, se crea una sección nueva en la barra de herramientas llamada Custom Script Tools (Herramientas de scripts personalizados) y, en la línea 8, se crea un botón llamado Create Empty Script (Crear script vacío).

Ejecución de código con un clic

Para hacer que el complemento ejecute código cuando un usuario hace clic en el botón de la barra de herramientas, conecta una función al evento PluginToolbarButton.Click del botón. En el código de EmptyScriptAdder, la función de conexión es onNewScriptButtonClicked.

Comprobación de la selección del usuario

Para modificar el comportamiento de un complemento en función de lo que el usuario selecciona, usa el servicio Selection. La función onNewScriptButtonClicked comprueba si el usuario tiene algo seleccionado y crea el script nuevo como elemento secundario en lugar de hacerlo dentro de ServerScriptService. Si el usuario no tiene nada seleccionado, crea el script nuevo en ServerScriptService.

Capacidad de deshacer y rehacer

Para brindarles a los usuarios la capacidad de deshacer y rehacer los cambios que realiza un complemento, establece puntos de referencia con ChangeHistoryService. En tu script, configura el plugin para que llame a ChangeHistoryService:TryBeginRecording() y almacena el identificador asignado a la llamada a la API antes de hacer cambios. A continuación, configura el plugin para que llame a ChangeHistoryService:FinishRecording() después de hacer cambios, de modo que capture cualquier cambio realizado durante la sesión de grabación para deshacer y rehacer.

El siguiente ejemplo de código crea un plugin de ejemplo que puede aplicar el material de neón a las piezas seleccionadas. Utiliza ChangeHistoryService para registrar y administrar los cambios realizados por el plugin:

Example Material Plugin with Recordings for Undo and Redo

local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Crear un plugin de ejemplo
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
-- Conectar una función a un evento de clic
button.Click:Connect(function()
local parts = {}
for _, part in pairs(Selection:Get()) do
if part:IsA("BasePart") then
parts[#parts + 1] = part
end
end
if #parts < 1 then
-- Nothing to do.
return
end
-- Intenta iniciar una grabación con un identificador específico
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- Comprueba si la grabación se inició con éxito
if not recording then
-- Gestionar el error aquí. Esto indica que tu plugin comenzó un anterior
-- grabación y nunca lo completó. Solo puedes tener una grabación
-- por plugin activo a la vez.
return
end
-- Iterar por las piezas seleccionadas
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon -- Set the material of the part to Neon
end
-- Finaliza la grabación, registrando los cambios en el historial
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)

Publicación de complementos

Al igual que con los modelos, las mallas, las imágenes y las animaciones, puedes publicar complementos en Roblox para que se puedan reutilizar fácilmente desde la Caja de herramientas. Además, puedes brindarles a otros creadores la posibilidad de comprar o instalar tus complementos al publicarlos en el Mercado de creadores con miniaturas complementarias que proporcionan información visual sobre las funciones del complemento. El importe mínimo por el que puedes vender complementos es de 100 Robux.

Sigue estos pasos para publicar un complemento:

  1. En la ventana del Explorador, haz clic derecho en el script del complemento que quieras publicar en Roblox. Se muestra un menú contextual.

  2. Selecciona Publicar como complemento. Se abre la ventana de Configuración de recursos.

  3. (Opcional) En la esquina superior izquierda de la ventana, haz clic en la imagen para cargar una imagen de 512 x 512.

  4. Completa los siguientes campos:

    • Nombre: el título de tu complemento.
    • Descripción: una descripción que indique lo que los usuarios pueden esperar que haga el complemento.
    • Creador: el creador que te gustaría asignar como creador del complemento. Si usas Crear en equipo, se muestran todos los creadores; de lo contrario, la única opción es “Yo”.
  5. (Opcional) Si tienes una identificación o un teléfono verificado, haz clic en el botón + para añadir hasta cinco miniaturas complementarias para tu complemento.

  6. (Opcional) Activa el botón de alternancia Distribuir en el mercado para publicar tu complemento en el Mercado de creadores. Si verificaste tu cuenta anteriormente, el campo Precio estará disponible.

  7. (Opcional) En el campo Precio, ingresa la cantidad de Robux que deseas cobrar por el complemento. Si mantienes el valor predeterminado de 0, el complemento será gratuito para todos los creadores.

  8. Haz clic en el botón Enviar. Con esto, tu complemento ya estará disponible para ti en la Caja de herramientas.

Administración de los complementos

Sigue estos pasos para administrar los complementos después de instalarlos:

  1. Haz clic en el botón Administrar complementos en la pestaña Complementos para abrir la ventana Administración de complementos.

  2. Utiliza las siguientes opciones para el complemento que deseas administrar.

    1. Actualizar: actualiza el complemento a su última versión publicada. Si este botón no está visible, quiere decir que el complemento está actualizado.
    2. Activar – te permite seleccionar si quieres activar el complemento o no.
    3. Detalles o desinstalar: abre un menú para ver los detalles del complemento o desinstalarlo.