Ghi chú phát hành
Học
Lớp công cụ
Plugin
Không Thể Tạo

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.


Tóm Tắt
Phương Pháp
Activate(exclusiveMouse: boolean):()
CreateDockWidgetPluginGui(pluginGuiId: string,dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo):DockWidgetPluginGui
Đã Lỗi Thời
CreatePluginAction(actionId: string,text: string,statusTip: string,iconName: string,allowBinding: boolean):PluginAction
GetSetting(key: string):Variant
GetStudioUserId():number
Đã Lỗi Thời
ImportFbxAnimation(rigModel: Instance,isR15: boolean):Instance
Đã Lỗi Thời
ImportFbxRig(isR15: boolean):Instance
Đã Lỗi Thời
Intersect(objects: Instances):Instance
Negate(objects: Instances):Instances
OpenScript(script: LuaSourceContainer,lineNumber: number):()
Đã Lỗi Thời
PromptSaveSelection(suggestedFileName: string):boolean
Đã Lỗi Thời
Separate(objects: Instances):Instances
SetSetting(key: string,value: Variant):()
StartDrag(dragData: Dictionary):()
Union(objects: Instances):Instance
Thành viên kế thừa
Mẫu mã
Mã - Truyền Plugin Global vào ModuleScript
assert(plugin, "Mã này phải được chạy như một plugin!")
-- Mã phía bên ngoài điểm này chỉ sẽ thực thi nếu mã được chạy như một plugin
-- Tải module và truyền tham chiếu plugin
local pluginModule = require(script.Parent.PluginModule)
pluginModule:Initialize(plugin)
-- Xác minh xem tham chiếu plugin đã được khởi tạo chưa
pluginModule:CheckForPluginGlobal()
ModuleScript - Nhận và Lưu Trữ Global của Plugin
local pluginModule = {}
local plugin -- Tham chiếu plugin cục bộ
-- Khởi tạo tham chiếu plugin nếu chưa được thiết lập
function pluginModule:Initialize(pluginReference: Plugin)
if plugin ~= pluginReference then
plugin = pluginReference
else
error("Plugin đã được khởi tạo")
end
end
-- Kiểm tra xem tham chiếu plugin đã được thiết lập và in ra thông tin phù hợp
function pluginModule:CheckForPluginGlobal()
if plugin ~= nil then
print("Tham chiếu plugin đã được thiết lập!")
else
warn("Tham chiếu plugin bị thiếu!")
end
end
return pluginModule

Tài Liệu Tham Khảo API
Thuộc Tính
CollisionEnabled
Chỉ Đọc
Không Sao Chép
Đọc Song Song
Plugin.CollisionEnabled:boolean

DisableUIDragDetectorDrags
Bảo Mật Kịch Bản Roblox
Đọc Song Song
Plugin.DisableUIDragDetectorDrags:boolean

GridSize
Chỉ Đọc
Không Sao Chép
Đọc Song Song
Plugin.GridSize:number

IsDebuggable
Bảo Mật Kịch Bản Roblox
Đọc Song Song
Plugin.IsDebuggable:boolean

Phương Pháp
Activate
Bảo Mật Plugin
Plugin:Activate(exclusiveMouse:boolean):()
Tham Số
exclusiveMouse:boolean
Lợi Nhuận
()

CreateDockWidgetPluginGui
Đã Lỗi Thời

CreateDockWidgetPluginGuiAsync
Sinh Lợi
Bảo Mật Plugin
Plugin:CreateDockWidgetPluginGuiAsync(
pluginGuiId:string, dockWidgetPluginGuiInfo:DockWidgetPluginGuiInfo
Tham Số
pluginGuiId:string
dockWidgetPluginGuiInfo:DockWidgetPluginGuiInfo
Lợi Nhuận
Mẫu mã
Nút văn bản GUI Widget
-- Tạo đối tượng 'DockWidgetPluginGuiInfo' mới
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float, -- Widget sẽ được khởi tạo trong panel nổi
true, -- Widget sẽ được bật ban đầu
false, -- Không ghi đè trạng thái đã bật trước đó
200, -- Chiều rộng mặc định của cửa sổ nổi
300, -- Chiều cao mặc định của cửa sổ nổi
150, -- Chiều rộng tối thiểu của cửa sổ nổi (tùy chọn)
150 -- Chiều cao tối thiểu của cửa sổ nổi (tùy chọn)
)
-- Tạo giao diện widget mới
local testWidget = plugin:CreateDockWidgetPluginGuiAsync("TestWidget", widgetInfo)
local testButton = Instance.new("TextButton")
testButton.BorderSizePixel = 0
testButton.TextSize = 20
testButton.TextColor3 = Color3.new(1, 0.2, 0.4)
testButton.AnchorPoint = Vector2.new(0.5, 0.5)
testButton.Size = UDim2.new(1, 0, 1, 0)
testButton.Position = UDim2.new(0.5, 0, 0.5, 0)
testButton.SizeConstraint = Enum.SizeConstraint.RelativeYY
testButton.Text = "Nhấn Tôi"
testButton.Parent = testWidget

CreatePluginAction
Bảo Mật Plugin
Plugin:CreatePluginAction(
actionId:string, text:string, statusTip:string, iconName:string, allowBinding:boolean
Tham Số
actionId:string
text:string
statusTip:string
iconName:string
allowBinding:boolean
Giá Trị Mặc Định: true
Lợi Nhuận
Mẫu mã
Tạo một PluginAction
local pluginAction = plugin:CreatePluginAction(
"HelloWorldAction",
"Hello World",
"In ra một 'Hello world!'",
"rbxasset://textures/sparkle.png",
true
)
pluginAction.Name = "Hành động thử nghiệm"
local function actionTriggered()
print("Hello world!")
end
pluginAction.Triggered:Connect(actionTriggered)

CreatePluginMenu
Bảo Mật Plugin
Plugin:CreatePluginMenu(
id:string, title:string, icon:string
Tham Số
title:string
icon:string
Lợi Nhuận
Mẫu mã
Tạo PluginMenu và PluginMenuAction
-- Mã này có thể được dán vào Command Bar, nhưng chỉ một lần
local pluginMenu = plugin:CreatePluginMenu(math.random(), "Menu Kiểm Tra")
pluginMenu.Name = "Menu Kiểm Tra"
pluginMenu:AddNewAction("Hành động A", "A", "rbxasset://textures/loading/robloxTiltRed.png")
pluginMenu:AddNewAction("Hành động B", "B", "rbxasset://textures/loading/robloxTilt.png")
local subMenu = plugin:CreatePluginMenu(math.random(), "C", "rbxasset://textures/explosion.png")
subMenu.Name = "Menu Con"
subMenu:AddNewAction("Hành động D", "D", "rbxasset://textures/whiteCircle.png")
subMenu:AddNewAction("Hành động E", "E", "rbxasset://textures/icon_ROBUX.png")
pluginMenu:AddMenu(subMenu)
pluginMenu:AddSeparator()
pluginMenu:AddNewAction("Hành động F", "F", "rbxasset://textures/sparkle.png")
local toggle = Instance.new("BoolValue")
toggle.Name = "TogglePluginMenu"
toggle.Parent = workspace
local function onToggled()
if toggle.Value then
toggle.Value = false
local selectedAction = pluginMenu:ShowAsync()
if selectedAction then
print("Hành động Đã Chọn:", selectedAction.Text, "với ActionId:", selectedAction.ActionId)
else
print("Người dùng không chọn hành động nào!")
end
end
end
toggle.Changed:Connect(onToggled)

CreateToolbar
Bảo Mật Plugin
Plugin:CreateToolbar(name:string):PluginToolbar
Tham Số
name:string
Lợi Nhuận
Mẫu mã
Plugin:TạoThanhCôngCụ
plugin:CreateToolbar("VíDụThanhCôngCụ")

Deactivate
Bảo Mật Plugin
Plugin:Deactivate():()
Lợi Nhuận
()

GetJoinMode
Bảo Mật Plugin
Plugin:GetJoinMode():Enum.JointCreationMode

GetMouse
Bảo Mật Plugin
Plugin:GetMouse():PluginMouse
Lợi Nhuận
Mẫu mã
Plugin:GetMouse
local mouse = plugin:GetMouse()
local function button1Down()
print("Nút 1 được nhấn từ PluginMouse")
end
mouse.Button1Down:Connect(button1Down)

GetSelectedRibbonTool
Bảo Mật Plugin
Plugin:GetSelectedRibbonTool():Enum.RibbonTool
Lợi Nhuận
Mẫu mã
Plugin:LấyCôngCụRuyBăngĐãChọn
plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- chờ khung hình tiếp theo
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("Công cụ Ruy Băng đã chọn là", selectedRibbonTool)

GetSetting
Bảo Mật Plugin
Plugin:GetSetting(key:string):Variant
Tham Số
key:string
Lợi Nhuận
Variant
Mẫu mã
Plugin: Lấy Cài Đặt
local RAN_BEFORE_KEY = "RanBefore"
local didRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if didRunBefore then
print("Chào mừng bạn trở lại!")
else
plugin:SetSetting(RAN_BEFORE_KEY, true)
print("Chào mừng! Cảm ơn bạn đã cài đặt plugin này!")
end

GetStudioUserId
Đã Lỗi Thời

ImportFbxAnimation
Đã Lỗi Thời

ImportFbxAnimationAsync
Sinh Lợi
Bảo Mật Plugin
Plugin:ImportFbxAnimationAsync(
rigModel:Instance, isR15:boolean
Tham Số
rigModel:Instance
isR15:boolean
Giá Trị Mặc Định: true
Lợi Nhuận

ImportFbxRig
Đã Lỗi Thời

ImportFbxRigAsync
Sinh Lợi
Bảo Mật Plugin
Plugin:ImportFbxRigAsync(isR15:boolean):Instance
Tham Số
isR15:boolean
Giá Trị Mặc Định: true
Lợi Nhuận

Intersect
Bảo Mật Plugin
Plugin:Intersect(objects:Instances):Instance
Tham Số
objects:Instances
Lợi Nhuận

IsActivated
Bảo Mật Plugin
Plugin:IsActivated():boolean
Lợi Nhuận

IsActivatedWithExclusiveMouse
Bảo Mật Plugin
Plugin:IsActivatedWithExclusiveMouse():boolean
Lợi Nhuận

Negate
Bảo Mật Plugin
Plugin:Negate(objects:Instances):Instances
Tham Số
objects:Instances
Lợi Nhuận
Instances

OpenScript
Đã Lỗi Thời

OpenWikiPage
Bảo Mật Plugin
Plugin:OpenWikiPage(url:string):()
Tham Số
url:string
Lợi Nhuận
()
Mẫu mã
Plugin:MởTrangWiki
plugin:MởTrangWiki("API:Class/BasePart")

PromptForExistingAssetId
Sinh Lợi
Bảo Mật Plugin
Plugin:PromptForExistingAssetId(assetType:string):number
Tham Số
assetType:string
Lợi Nhuận

PromptForExistingAssetIdAsync
Sinh Lợi
Bảo Mật Plugin
Plugin:PromptForExistingAssetIdAsync(assetType:string):number
Tham Số
assetType:string
Lợi Nhuận

PromptSaveSelection
Đã Lỗi Thời

PromptSaveSelectionAsync
Sinh Lợi
Bảo Mật Plugin
Plugin:PromptSaveSelectionAsync(suggestedFileName:string):boolean
Tham Số
suggestedFileName:string
Lợi Nhuận

SaveSelectedToRoblox
Bảo Mật Plugin
Plugin:SaveSelectedToRoblox():()
Lợi Nhuận
()

SelectRibbonTool
Bảo Mật Plugin
Plugin:SelectRibbonTool(
tool:Enum.RibbonTool, position:UDim2
):()
Tham Số
position:UDim2
Lợi Nhuận
()

Separate
Bảo Mật Plugin
Plugin:Separate(objects:Instances):Instances
Tham Số
objects:Instances
Lợi Nhuận
Instances

SetSetting
Bảo Mật Plugin
Plugin:SetSetting(
key:string, value:Variant
):()
Tham Số
key:string
value:Variant
Lợi Nhuận
()
Mẫu mã
Plugin:GetSetting và Plugin:SetSetting
local RAN_BEFORE_KEY = "RunBefore"
local hasRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if hasRunBefore then
print("Chào mừng trở lại!")
else
print("Cảm ơn bạn đã cài đặt plugin này!")
plugin:SetSetting(RAN_BEFORE_KEY, true)
end

StartDrag
Bảo Mật Plugin
Plugin:StartDrag(dragData:Dictionary):()
Tham Số
dragData:Dictionary
Lợi Nhuận
()
Mẫu mã
Tiện ích Kéo và Thả
assert(plugin, "Script này phải được chạy như một plugin trong Studio")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("Nguồn Kéo", widgetInfo)
dragSourceWidget.Title = "Nguồn Kéo"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Xin chào, kéo plugin"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Chỉnh sửa văn bản ở trên, sau đó bắt đầu kéo ở đây"
dragButton.Parent = dragSourceWidget
function onMouseButton1Down()
local dragData = {
Sender = "SomeDragSource",
MimeType = "text/plain",
Data = textBox.Text,
MouseIcon = "",
DragIcon = "",
HotSpot = Vector2.new(0, 0),
}
plugin:StartDrag(dragData)
end
dragButton.MouseButton1Down:Connect(onMouseButton1Down)
-- Widget này sẽ nhận drops
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("Mục Tiêu Thả", widgetInfo)
dragTargetWidget.Title = "Mục Tiêu Thả"
-- TextLabel này sẽ hiển thị những gì đã được thả
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Thả ở đây..."
textLabel.Parent = dragTargetWidget
local function onDragDrop(dragData)
if dragData.MimeType == "text/plain" then
textLabel.Text = dragData.Data
else
textLabel.Text = dragData.MimeType
end
end
dragTargetWidget.PluginDragDropped:Connect(onDragDrop)
dragTargetWidget.PluginDragEntered:Connect(function(_dragData)
print("PluginDragEntered")
end)
dragTargetWidget.PluginDragLeft:Connect(function(_dragData)
print("PluginDragLeft")
end)
dragTargetWidget.PluginDragMoved:Connect(function(_dragData)
print("PluginDragMoved")
end)

Union
Bảo Mật Plugin
Plugin:Union(objects:Instances):Instance
Tham Số
objects:Instances
Lợi Nhuận

Sự Kiện
Deactivation
Bảo Mật Plugin
Plugin.Deactivation():RBXScriptSignal

Unloading
Bảo Mật Plugin
Plugin.Unloading():RBXScriptSignal

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.