Informacje o wersji
Edukacja
Klasa silnika
Plugin
Brak możliwości tworzenia

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.


Podsumowanie
Metody
Activate(exclusiveMouse: boolean):()
CreateDockWidgetPluginGui(pluginGuiId: string,dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo):DockWidgetPluginGui
Przestarzałe
CreatePluginAction(actionId: string,text: string,statusTip: string,iconName: string,allowBinding: boolean):PluginAction
GetSetting(key: string):Variant
GetStudioUserId():number
Przestarzałe
ImportFbxAnimation(rigModel: Instance,isR15: boolean):Instance
Przestarzałe
ImportFbxRig(isR15: boolean):Instance
Przestarzałe
Intersect(objects: Instances):Instance
Negate(objects: Instances):Instances
OpenScript(script: LuaSourceContainer,lineNumber: number):()
Przestarzałe
PromptSaveSelection(suggestedFileName: string):boolean
Przestarzałe
Separate(objects: Instances):Instances
SetSetting(key: string,value: Variant):()
StartDrag(dragData: Dictionary):()
Union(objects: Instances):Instance
Członkowie odziedziczeni
Przykłady kodu
Skrypt - Przekaż globalny plugin do ModuleScript
assert(plugin, "Ten skrypt musi być uruchomiony jako plugin!")
-- Kod poza tym punktem zostanie wykonany tylko jeśli skrypt jest uruchomiony jako plugin
-- Załaduj moduł i przekaż odniesienie do pluginu
local pluginModule = require(script.Parent.PluginModule)
pluginModule:Initialize(plugin)
-- Zweryfikuj, czy odniesienie do pluginu zostało zainicjowane
pluginModule:CheckForPluginGlobal()
ModułSkryptu - Odbierz i przechowaj globalny plugin
local pluginModule = {}
local plugin -- Lokalna referencja pluginu
-- Zainicjalizuj referencję pluginu, jeśli nie została jeszcze ustawiona
function pluginModule:Initialize(pluginReference: Plugin)
if plugin ~= pluginReference then
plugin = pluginReference
else
error("Plugin jest już zainicjalizowany")
end
end
-- Sprawdź, czy referencja pluginu jest ustawiona i wypisz odpowiednie informacje
function pluginModule:CheckForPluginGlobal()
if plugin ~= nil then
print("Referencja pluginu jest ustawiona!")
else
warn("Referencja pluginu jest brakująca!")
end
end
return pluginModule

Materiały referencyjne dotyczące interfejsów API
Właściwości
CollisionEnabled
Tylko do odczytu
Bez replikacji
Odczyt równoległy
Plugin.CollisionEnabled:boolean

DisableUIDragDetectorDrags
Zabezpieczenia skryptów Roblox
Odczyt równoległy
Plugin.DisableUIDragDetectorDrags:boolean

GridSize
Tylko do odczytu
Bez replikacji
Odczyt równoległy
Plugin.GridSize:number

IsDebuggable
Zabezpieczenia skryptów Roblox
Odczyt równoległy
Plugin.IsDebuggable:boolean

Metody
Activate
Zabezpieczenia dodatku plug-in
Plugin:Activate(exclusiveMouse:boolean):()
Parametry
exclusiveMouse:boolean
Zwroty
()

CreateDockWidgetPluginGui
Przestarzałe

CreateDockWidgetPluginGuiAsync
Wynik
Zabezpieczenia dodatku plug-in
Plugin:CreateDockWidgetPluginGuiAsync(
pluginGuiId:string, dockWidgetPluginGuiInfo:DockWidgetPluginGuiInfo
Parametry
pluginGuiId:string
dockWidgetPluginGuiInfo:DockWidgetPluginGuiInfo
Przykłady kodu
Przycisk tekstowy GUI Widget
-- Utwórz nowy obiekt 'DockWidgetPluginGuiInfo'
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float, -- Widżet zostanie zainicjowany w pływającym panelu
true, -- Widżet będzie początkowo włączony
false, -- Nie nadpisuj poprzedniego stanu włączenia
200, -- Domyślna szerokość pływającego okna
300, -- Domyślna wysokość pływającego okna
150, -- Minimalna szerokość pływającego okna (opcjonalne)
150 -- Minimalna wysokość pływającego okna (opcjonalne)
)
-- Utwórz nowy interfejs użytkownika widżetu
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 = "Kliknij mnie"
testButton.Parent = testWidget

CreatePluginAction
Zabezpieczenia dodatku plug-in
Plugin:CreatePluginAction(
actionId:string, text:string, statusTip:string, iconName:string, allowBinding:boolean
Parametry
actionId:string
text:string
statusTip:string
iconName:string
allowBinding:boolean
Wartość domyślna: true
Przykłady kodu
Tworzenie PluginAction
local pluginAction = plugin:CreatePluginAction(
"HelloWorldAction",
"Hello World",
"Wyświetla 'Hello world!'",
"rbxasset://textures/sparkle.png",
true
)
pluginAction.Name = "Test Action"
local function actionTriggered()
print("Hello world!")
end
pluginAction.Triggered:Connect(actionTriggered)

CreatePluginMenu
Zabezpieczenia dodatku plug-in
Plugin:CreatePluginMenu(
id:string, title:string, icon:string
Parametry
title:string
icon:string
Przykłady kodu
Tworzenie PluginMenu i PluginMenuAction
-- Ten kod można wkleić do Command Bar, ale tylko raz
local pluginMenu = plugin:CreatePluginMenu(math.random(), "Menu Testowe")
pluginMenu.Name = "Menu Testowe"
pluginMenu:AddNewAction("AkcjaA", "A", "rbxasset://textures/loading/robloxTiltRed.png")
pluginMenu:AddNewAction("AkcjaB", "B", "rbxasset://textures/loading/robloxTilt.png")
local subMenu = plugin:CreatePluginMenu(math.random(), "C", "rbxasset://textures/explosion.png")
subMenu.Name = "Podmenu"
subMenu:AddNewAction("AkcjaD", "D", "rbxasset://textures/whiteCircle.png")
subMenu:AddNewAction("AkcjaE", "E", "rbxasset://textures/icon_ROBUX.png")
pluginMenu:AddMenu(subMenu)
pluginMenu:AddSeparator()
pluginMenu:AddNewAction("AkcjaF", "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("Wybrana akcja:", selectedAction.Text, "z ActionId:", selectedAction.ActionId)
else
print("Użytkownik nie wybrał akcji!")
end
end
end
toggle.Changed:Connect(onToggled)

CreateToolbar
Zabezpieczenia dodatku plug-in
Plugin:CreateToolbar(name:string):PluginToolbar
Parametry
name:string
Przykłady kodu
Plugin:UtwórzPasekNarzędzi
plugin:CreateToolbar("ExampleToolbar")

Deactivate
Zabezpieczenia dodatku plug-in
Plugin:Deactivate():()
Zwroty
()

GetJoinMode
Zabezpieczenia dodatku plug-in
Plugin:GetJoinMode():Enum.JointCreationMode

GetMouse
Zabezpieczenia dodatku plug-in
Plugin:GetMouse():PluginMouse
Przykłady kodu
Plugin:GetMouse
local mouse = plugin:GetMouse()
local function button1Down()
print("Naciśnięty przycisk 1 z PluginMouse")
end
mouse.Button1Down:Connect(button1Down)

GetSelectedRibbonTool
Zabezpieczenia dodatku plug-in
Plugin:GetSelectedRibbonTool():Enum.RibbonTool
Przykłady kodu
Plugin:GetSelectedRibbonTool
plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- czekaj na następną klatkę
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("Wybrane narzędzie RibbonTool to", selectedRibbonTool)

GetSetting
Zabezpieczenia dodatku plug-in
Plugin:GetSetting(key:string):Variant
Parametry
key:string
Zwroty
Variant
Przykłady kodu
Plugin:GetSetting
local RAN_BEFORE_KEY = "RanBefore"
local didRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if didRunBefore then
print("Witamy z powrotem!")
else
plugin:SetSetting(RAN_BEFORE_KEY, true)
print("Witamy! Dziękujemy za zainstalowanie tego pluginu!")
end

GetStudioUserId
Przestarzałe

ImportFbxAnimation
Przestarzałe

ImportFbxAnimationAsync
Wynik
Zabezpieczenia dodatku plug-in
Plugin:ImportFbxAnimationAsync(
rigModel:Instance, isR15:boolean
Parametry
rigModel:Instance
isR15:boolean
Wartość domyślna: true
Zwroty

ImportFbxRig
Przestarzałe

ImportFbxRigAsync
Wynik
Zabezpieczenia dodatku plug-in
Plugin:ImportFbxRigAsync(isR15:boolean):Instance
Parametry
isR15:boolean
Wartość domyślna: true
Zwroty

Intersect
Zabezpieczenia dodatku plug-in
Plugin:Intersect(objects:Instances):Instance
Parametry
objects:Instances
Zwroty

IsActivated
Zabezpieczenia dodatku plug-in
Plugin:IsActivated():boolean
Zwroty

IsActivatedWithExclusiveMouse
Zabezpieczenia dodatku plug-in
Plugin:IsActivatedWithExclusiveMouse():boolean
Zwroty

Negate
Zabezpieczenia dodatku plug-in
Plugin:Negate(objects:Instances):Instances
Parametry
objects:Instances
Zwroty
Instances

OpenScript
Przestarzałe

OpenWikiPage
Zabezpieczenia dodatku plug-in
Plugin:OpenWikiPage(url:string):()
Parametry
url:string
Zwroty
()
Przykłady kodu
Wtyczka:OtwórzStronęWiki
plugin:OpenWikiPage("API:Klasa/BasePart")

PromptForExistingAssetId
Wynik
Zabezpieczenia dodatku plug-in
Plugin:PromptForExistingAssetId(assetType:string):number
Parametry
assetType:string
Zwroty

PromptForExistingAssetIdAsync
Wynik
Zabezpieczenia dodatku plug-in
Plugin:PromptForExistingAssetIdAsync(assetType:string):number
Parametry
assetType:string
Zwroty

PromptSaveSelection
Przestarzałe

PromptSaveSelectionAsync
Wynik
Zabezpieczenia dodatku plug-in
Plugin:PromptSaveSelectionAsync(suggestedFileName:string):boolean
Parametry
suggestedFileName:string
Zwroty

SaveSelectedToRoblox
Zabezpieczenia dodatku plug-in
Plugin:SaveSelectedToRoblox():()
Zwroty
()

SelectRibbonTool
Zabezpieczenia dodatku plug-in
Plugin:SelectRibbonTool(
tool:Enum.RibbonTool, position:UDim2
):()
Parametry
position:UDim2
Zwroty
()

Separate
Zabezpieczenia dodatku plug-in
Plugin:Separate(objects:Instances):Instances
Parametry
objects:Instances
Zwroty
Instances

SetSetting
Zabezpieczenia dodatku plug-in
Plugin:SetSetting(
key:string, value:Variant
):()
Parametry
key:string
value:Variant
Zwroty
()
Przykłady kodu
Plugin:GetSetting i Plugin:SetSetting
local RAN_BEFORE_KEY = "RunBefore"
local hasRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if hasRunBefore then
print("Witaj z powrotem!")
else
print("Dziękujemy za zainstalowanie tej wtyczki!")
plugin:SetSetting(RAN_BEFORE_KEY, true)
end

StartDrag
Zabezpieczenia dodatku plug-in
Plugin:StartDrag(dragData:Dictionary):()
Parametry
dragData:Dictionary
Zwroty
()
Przykłady kodu
Plugin Przeciągnij i Upuść
assert(plugin, "Ten skrypt musi być uruchomiony jako plugin Studio")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("Źródło Przeciągania", widgetInfo)
dragSourceWidget.Title = "Źródło Przeciągania"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Witaj, przeciąganie pluginów"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Edytuj tekst powyżej, a następnie zacznij przeciągać tutaj"
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)
-- Ten widżet będzie odbierał upuszczenia
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("Cel Upuszczenia", widgetInfo)
dragTargetWidget.Title = "Cel Upuszczenia"
-- Ten TextLabel wyświetli, co zostało upuszczone
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Upuść tutaj..."
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
Zabezpieczenia dodatku plug-in
Plugin:Union(objects:Instances):Instance
Parametry
objects:Instances
Zwroty

Zdarzenia
Deactivation
Zabezpieczenia dodatku plug-in
Plugin.Deactivation():RBXScriptSignal

Unloading
Zabezpieczenia dodatku plug-in
Plugin.Unloading():RBXScriptSignal

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.