Một ugin là một mở rộng điều khiển hoặc chức năng thêm vào Studio. Bạn có thể cài đặt các plugin được tạo bởi cộng đồng từ Creator Store, hoặc bạn có thể tạo và 1>phát điều khiển1> plugin của riêng bạ
Nếu bạn chọn để phân phối các plugin của bạn vào Cửa hàng của người sáng tạo, bạn có thể cung cấp chúng miễn phí hoặc bán chúng với giá Đô la Mỹ (giá tối thiểu là $4.99). Roblox cung cấp một lợi nhuận chia s
Tạo Plugin Mới
Bạn có thể tạo các plugin của riêng bạn để cải thiện workflow của bạn trong Studio. Mẫu mã code sau đây là một plugin tên là EmptyScriptAdder được thêm vào một script rỗng như con của một đối tượng hoặc trong ServerScriptService . Các mục tiếp theo giải thích các bộ
Để bắt đầu, bạn nên bật Phản xạ Diệt chế Có thể mở rộng trong phần Studio của cài đặt Studio. Điều này sẽ tiết lộ PluginDebugService trong Studio, một công cụ phản xạ thời gian thực cho mã của plugin của bạn và dễ dàng hơn
Plugin EmptyScriptAdder
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Tạo một mục mới trong thanh công cụ có tên "Công cụ tạo mã"
local toolbar = plugin:CreateToolbar("Custom Script Tools")
-- Thêm một nút thanh công cụ tên là "Tạo một kịch bản trống"
local newScriptButton = toolbar:CreateButton("Create Empty Script", "Create an empty script", "rbxassetid://14978048121")
-- Làm cho nút nhấp chuột được nhìn thấy ngay cả khi 3D viewport đã được ẩn
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)
Lưu một Tập lệnh Plugin
Plugins bắt đầu từ các script. Để tạo một plugin, tạo một Script và lưu nó như một plugin bằng cách sử dụng Explorer . Ví dụ, để tạo một EmptyScriptAdder Plugin :
Làm mới một Script mới bên trong ServerStorage và đổi tên nó thành EmptyScriptAdder .
Bạn dán EmptyScriptAdder Plugin mã vào script mới.
Trong cửa sổ Explorer , nhấp chuột phải vào script và chọn Lưu như Plugin Địa phương .
Trong cửa sổ pop-up, hãy nhấp vào Lưu để nhúc nhích script plugin vào dịch vụ local Plugins của máy chủ.
Plugin nên xuất hiện ở PluginDebugService và bắt đầu hoạt động.
Đổi và Lưu các Thay đổi
Với Plugin trong PluginDebugService của bạn, bạn có thể dễ dàng cập nhật plugin bằng cách nhấp chuột phải vào nó và sau đó chọn Lưu và khởi động lại plugin từ menu context. Nếu b
Thêm nút thanh công cụ
Để thêm một nút cho plugin của bạn vào trang Plugins của thanh công cụ Studio, hãy sử dụng các phương thức Plugin:CreateToolbar() và PluginToolbar:CreateButton(). Trong mã cho
Thi Hành Mã Khi Bạn Nhấp Chuột
Để làm cho plugin thi hành mã khi một người nhấp vào nút dòng công cụ, kết nối một chức năng vào sự kiện PluginToolbarButton.Click của nút. Trong mã cho EmptyScriptAdder , chức năng kết nối là onNewScriptButtonClicked() .
Kiểm tra lựa chọn của người dùng
Để điều chỉnh hành vi của một plugin dựa trên những gì người dùng đã chọn, hãy sử dụng dịch vụ Selection. Hành động onNewScriptButtonClicked() kiểm tra xem người dùng có bất kỳ điều g
Hỗ trợ Hủy và Làm lại
Sử dụng ChangeHistoryService để cho phép người dùng thực hiện lại và thực hiện lại những thay đổi đã được thực hiện bởi một plugin trong một trải nghiệm. Trong kịch bả
Các mẫu code sau đây tạo một plugin ví dụ có thể ứng dụng vật liệu neon vào các bộ phận được chọn. Nó sử dụng ChangeHistoryService để ghi lại và quản lý các thay đổi được thực hiện bởi plugin:
Ví dụ Plugin vật liệu với ghi lại để huỷ và để làm lại
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Tạo một plugin ví dụ
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
-- Kết nối một chức năng với sự kiểm tra nhấp chuột
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
-- Không có gì để làm.
return
end
-- Cố gắng bắt đầu một cuộc ghi với một식별
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- Kiểm tra có phải kích hoạt ghi lại thành công hay không
if not recording then
-- Xử lý lỗi ở đây. Điều này cho thấy rằng plugin của bạn đã bắt đầu một trò chơi trước đó
-- ghi lại và không bao giờ hoàn thành nó. Bạn chỉ có thể có một lần ghi lại
-- per plugin hoạt động tại một thời điểm.
return
end
-- Lặp qua các bộ phận được chọn
for _, part in parts do
part.Material = Enum.Material.Neon -- Chỉnh vật liệu của bộ phận thành Neon
end
-- Kết thúc lượt ghi, gửi các thay đổi vào lịch sử
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)
Tải, Phân phối và Thu tiền Plugins
Giống như với mô hình , lưới , hình ảnh và 1> hoạt họa animatronik1>, bạn có thể phân phối plugin cho Roblox để dễ dàng tái sử
Để phân phối một plugin:
Trong cửa sổ Explorer , nhấp chuột vào một tập tin plugin, sau đó chọn Xuất như Plugin từ menu上下文菜单.
(Tùy chọn) Ở góc trên cùng bên trái của cửa sổ cấu hình tài sản, hãy nhấp vào hình ảnh để tải hình ảnh 512×512.
Điền các trường dưới đây:
- Tên : Một tiêu đề cho plugin của bạn.
- Mô tả : Một mô tả mà một người dùng tiềm năng nên mong đợi plugin làm.
- Creator : Người sáng tạo bạn muốn đóng góp như là người sáng tạo của plugin.
Nhấp vào nút Gửi . Your plugin is now available to you in the Inventory and Creations tabs of the 1> Toolbox1> .
Nhấp vào liên kết đến Creator Dashboard để tùy chỉnh phân phối .