Plugins

Um plugin é uma extensão que adiciona outros recursos ou funcionalidades ao Studio. Você pode encontrar, instalar e gerenciar plugins feitos pela comunidade no Mercado do Criador, ou você pode criar e publicar os seus próprios plugins na Caixa de ferramentas para usar em suas experiências. Se você optar por publicar os seus plugins no Mercado do Criador para que os criadores usem dentro de seus processos de desenvolvimento, você pode oferecê-los de graça ou vendê-los por Robux.

Criação de novos plugins

Você pode criar seus próprios plugins para aprimorar seu fluxo de trabalho no Studio. O seguinte exemplo de código é um plugin chamado EmptyScriptAdder que insere um script vazio como filho de um objeto ou no Class. ServerScriptService. As seções a seguir explicam as partes principais da criação desse plugin.

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)

Salvar um script de plugin

Os plugins são iniciados a partir de scripts. Para criar um plugin, crie um Script e salve-o como um plugin usando o Explorador. Por exemplo, para criar o plugin EmptyScriptAdder:

  1. Insira um novo Class. Script dentro do ServerStorage e renomeie-o como EmptyScriptAdder.

  2. Copie e cole o código do plugin EmptyScriptAdder no novo script.

  3. Clique com o botão direito do mouse no script no Explorador e selecione Salvar como um plugin local.

  4. Na janela pop-up, clique em Salvar para inserir o script de plugin na sua pasta local de Plugins da instalação do Studio. A janela Saída indica que o plugin foi salvo com sucesso e que o plugin é executado pela primeira vez depois de salvá-lo.

Adicionar um botão na barra de ferramentas

Para adicionar um botão para o seu plugin na aba Plugins da barra de ferramentas do Studio, use os métodos Class. Plugin:CreateToolbar() e `Class. No código do EmptyScriptAdder, a linha 5 cria uma nova seção na barra da ferramentas chamada Ferramentas de Script Personalizadas e a linha 8 cria um botão chamado Criar script vazio.

Executar código em clique

Para fazer com que o plugin execute o código quando um usuário clicar no botão da barra de ferramentas, conecte uma função ao evento do botão Class. PluginToolbarButton. Click. No código do EmptyScriptAdder, a função de conexão é onNewScriptButtonClicked.

Verificar a seleção do usuário

Para modificar um comportamento de plugin com base no que o usuário selecionou, use o serviço de Class. Selection. A função onNewScriptButtonClicked verifica se o usuário tem algo selecionado e cria um novo script como filho em vez de Class. ServerScriptService interno. Se o usuário não tiver nada selecionado, ele cria um novo script em Class. ServerScriptService.

Suporte à desfazer e refazer

Use ChangeHistoryService para permitir que os usuários desfaçam e refaçam alterações feitas por um plugin com uma experiência. No seu script, defina o plugin para chamar ChangeHistoryService:TryBeginRecording() e armazene o identificador atribuído à chamada da API antes de fazer alterações. Em seguida, defina o plugin para chamar ChangeHistoryService:FinishRecording() após fazer alterações, então ele captura quaisquer alterações feitas durante a sessão de gravação para desfazer e refazer.

A amostra de código a seguir cria um plugin de exemplo que pode aplicar o material neon às partes selecionadas. Ele usa ChangeHistoryService para gravar e gerenciar as alterações feitas pelo plugin:

Example Material Plugin with Recordings for Undo and Redo

local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Crie um plugin de exemplo
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
-- Conecte uma função ao evento de clique
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
-- Tente iniciar uma gravação com um identificador específico
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- Verifique se a gravação foi iniciada com sucesso
if not recording then
-- Handle error here. Isso indica que seu plug-in começou uma gravação anterior
-- e nunca a completou. Você só pode ter uma Gravação
-- por plugin ativo de cada vez.
return
end
-- Itere através das partes selecionadas
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon -- Set the material of the part to Neon
end
-- Termina a gravação, enviando mudanças para o histórico
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)

Publicação de plugins

Como com modelos, malhas, imagens, e animações, você pode publicar plugins na Roblox para que sejam fáceis de reutilizar na Caixa de ferramentas. Além disso você pode dar a outros criadores a capacidade de comprar e/ou instalar plugins publicando-os no Mercado do Criador com miniaturas suplementares que fornecem informações visuais sobre a funcionalidade do plugin. O valor mínimo que você pode vender plugins é 100 robux.

Para gerenciar um plugin depois de instalá-lo:

  1. Na janela Explorador, clique com o botão direito no script do plugin que você deseja publicar na Roblox. Um menu contextual é exibido.

  2. Selecione Publicar como plugin. A janela de Configuração de ativos é aberta.

  3. (Opcional) No canto superior esquerdo da janela, clique na imagem para carregar uma imagem 512×512.

  4. Preencha os seguintes campos:

    • Nome: um título para o seu plugin.
    • Descrição: uma descrição das funcionalidades do plugin.
    • Criador: Quem que você gostaria de atribuir como o criador do plugin. Se você estiver utilizando Criação em equipe, todo criador aparece, caso contrário "Eu" é a única opção.
  5. (Opcional) se você tiver uma ID ou telefone verificado, clique no botão + para adicionar até 5 miniaturas adicionais ao seu plugin.

  6. (Opcional) Habilite a alternância Distribuir no mercado para publicar o seu plugin no Mercado do criador. Se você verificou a sua conta anteriormente, o campo Preço estará disponível.

  7. (Opcional) No campo Preço, insira a quantidade de Robux que você gostaria de cobrar pelo plugin. Se você mantiver o valor padrão de 0 , o plug-in será gratuito para todos os criadores.

  8. Clique no botão Enviar. O seu plugin está disponível agora para você na Caixa de ferramentas.

Gerenciamento de plugins

Para publicar um plugin:

  1. Clique no botão Gerenciar plugins na aba Plugins para abrir a janela de Gerenciamento de Plugins.

  2. Para o plugin que você gostaria de gerenciar, use as seguintes opções:

    1. Atualizar - atualiza o plugin para a versão mais recente publicada. Se este botão não está visível, o plugin está atualizado.
    2. Ativo - Alterna se o plugin está ativo ou não.
    3. Detalhes / desinstalar - Abre um menu para visualizar os detalhes do plugin ou desinstalá-lo.