插件

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

插件是為 Studio 增加額外功能或功能的一個擴展。你可以 從Creator Store 安裝社群製作的插件,或者你可以 在Toolbox中創建並發布自己的插件,以便在您的體驗中使用。

如果您選擇將您的插件也分發到創作者商店,您可以免費提供它們或以 美元 (最低價格為 $4.99) 的價格售出。 Roblox 為這些銷售提供市場領先的收益分成,因為只有稅收和付款處理費 (最低價格為 $4.99) 被扣除。 為了

建立新插件

您可以在 Studio 中創建自己的插件來改善您的工作流程。以下代碼示例是一個名為 EmptyScriptAdder 的插件,該插件將空腳本作為對象或在 Class.ServerScriptService 中的孩子插入。以下部分解釋了創建此外掛程式的主要部分。

首先,您應該在 Studio 的設定中啟用 插件Debugging Enabled 部分中啟用 PluginDebugService 來檢查查看您的外掛程式代碼是否為實時查看,並使重新載入和儲存您的外掛程式更容易。

EmptyScriptAdder 插件

local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- 建立名為「自訂指令碼工具」的新工具欄區
local toolbar = plugin:CreateToolbar("Custom Script Tools")
-- 增加名為「創建空白指令碼」的工具欄按鈕
local newScriptButton = toolbar:CreateButton("Create Empty Script", "Create an empty script", "rbxassetid://14978048121")
-- 即使 3D 視窗隱藏,按鈕仍然可以點擊
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)

儲存一個插件指令碼

插件從脚本開始。 要創建外掛程式,請先建立一個 Script 並使用 Explorer 儲存它作為插件。 例如,創建 EmptyScriptAdder 插件:

  1. Script 內插入新的 ServerStorage 並將其重命名為 EmptyScriptAdder

  2. 複製並貼入 EmptyScriptAdder 插件 代碼到新的 scrip指令碼 中。

  3. 在 Explorer 窗口中,右鍵點擊腳本並選擇 儲存為本地程式碼。

  4. 在 popup 窗口中,單擊 儲存 以將插件指令碼插入 Studio 安裝的本地 儲存 文件夾。

  5. 插件應該出現在 PluginDebugService 並且開始運行。

重裝和儲存變更

Plugin 內的 PluginDebugService 右鍵點擊,然後從上下文菜單選擇 儲存並重新載入插件 來更新插外掛程式。如果您想要儲存插件,例如使用中斷點擊一個區段的代碼,您可以選擇1>儲存並

添加工具欄按鈕

要將插件按鈕添加到 插件 標籤的 Studio 工具欄,請使用 Plugin:CreateToolbar()PluginToolbar:CreateButton() 方法。 在 1> EmptyScriptAdder1> 的代碼中,第 5 行在

New plugin button added to toolbar in Studio

單擊時執行代碼

要讓插件執行程式碼,當使用者按一下工具欄按鈕時,連接按鈕的 PluginToolbarButton.Click 事件。在 EmptyScriptAdder 的代碼中,連接函數是 onNewScriptButtonClicked()

檢查用戶選擇

要根據使用者的選擇修改外掛程式的行為,請使用 Selection 服務。onNewScriptButtonClicked() 功能檢查用戶是否選擇了任何內容,並創建新 script 作為其子而不是在 Class.ServerScriptService 內。 如果用戶未選擇任何內容

支援還原和重做

使用 ChangeHistoryService 允許使用者在體驗中撤消並重做插件所做的變更。在您的指令碼中,將插件設置為呼叫 ChangeHistoryService:TryBeginRecording() 並存儲指定給 API 呼叫之標識符,然後設置 plugin

下列代碼示例創建了一個可以應用霓虹材料到選定零件的範例插件。它使用 ChangeHistoryService 來記錄和管理外掛程式所做的變更:

有取消和重做錄音的素材插件範例

local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- 建立範例外掛程式
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
-- 連接一個函數到點擊事件
button.Click:Connect(function()
local parts = {}
for _, part in Selection:Get() do
if part:IsA("BasePart") then
parts[#parts + 1] = part
end
end
if #parts < 1 then
-- 沒有什麼可做的。
return
end
-- 嘗試使用特定的識別器來開始錄製
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- 檢查錄影有沒有成功
if not recording then
-- 處理這裡的錯誤。這表示您的插件已開始以前的
-- 錄像和永遠沒有完成。 您可能只有一個錄像
-- 每個插件在一個時間點上啟用。
return
end
-- 在選取的零件上反覆
for _, part in parts do
part.Material = Enum.Material.Neon -- 將零件的材料設為霓虹
end
-- 完成錄像,將變更提交到歷史
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)

上傳、分配和 monetize 插件

模型網格圖像 和 1> 動畫1> 一樣,您可以將插件分發到 Roblox,以便在 4> 工具箱4> 從容易重用。您可以選擇將

要分配外掛程式:

  1. Explorer 窗口中,右鍵單擊一個插件指令碼,然後從上下文菜單中選擇 以 Plugin 發布

  2. (可選)) 在資產設定窗口的左上角,單擊圖像上傳 512×512 圖像。

  3. 填寫以下字段:

    • 名稱 : 您外掛程式的標題。
    • 說明 : 說明潛在用戶應該期望插件做的事。
    • 創作者 : 您想將創作者屬寫為外掛程式的創作者。
  4. 點擊 提交 按鈕。您的插件現在可以在 工具箱創作 選單的1>道具欄1>和4>創作4>選項卡中使用。

  5. 點擊鏈接到創作者儀表板 以 配置分銷