Lernen
Engine-Klasse
Plugin
Nicht erstellbar

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.


Zusammenfassung
Methoden
Activate(exclusiveMouse: boolean):()
CreateDockWidgetPluginGui(pluginGuiId: string,dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo):DockWidgetPluginGui
Veraltet
CreatePluginAction(actionId: string,text: string,statusTip: string,iconName: string,allowBinding: boolean):PluginAction
GetSetting(key: string):Variant
ImportFbxAnimation(rigModel: Instance,isR15: boolean):Instance
Veraltet
ImportFbxRig(isR15: boolean):Instance
Veraltet
Intersect(objects: Instances):Instance
Negate(objects: Instances):Instances
OpenScript(script: LuaSourceContainer,lineNumber: number):()
Veraltet
PromptSaveSelection(suggestedFileName: string):boolean
Veraltet
Separate(objects: Instances):Instances
SetSetting(key: string,value: Variant):()
StartDrag(dragData: Dictionary):()
Union(objects: Instances):Instance
Geerbte Mitglieder
Code-Beispiele
Skript - Übergeben Sie das Plugin-Global an ein Modulskript
assert(plugin, "Dieses Skript muss als Plugin ausgeführt werden!")
-- Code über diesen Punkt hinaus wird nur ausgeführt, wenn das Skript als Plugin ausgeführt wird
-- Lade das Modul und übergebe die Plugin-Referenz
local pluginModule = require(script.Parent.PluginModule)
pluginModule:Initialize(plugin)
-- Überprüfen Sie, ob die Plugin-Referenz initialisiert wurde
pluginModule:CheckForPluginGlobal()
ModuleScript - Empfangen und Speichern des Plugin-Globals
local pluginModule = {}
local plugin -- Lokale Plugin-Referenz
-- Initialisiere die Plugin-Referenz, falls noch nicht gesetzt
function pluginModule:Initialize(pluginReference: Plugin)
if plugin ~= pluginReference then
plugin = pluginReference
else
error("Plugin ist bereits initialisiert")
end
end
-- Überprüfe, ob die Plugin-Referenz gesetzt ist, und drucke die entsprechenden Informationen aus
function pluginModule:CheckForPluginGlobal()
if plugin ~= nil then
print("Plugin-Referenz ist gesetzt!")
else
warn("Plugin-Referenz fehlt!")
end
end
return pluginModule

API-Referenz
Eigenschaften
CollisionEnabled
Schreibgeschützt
Nicht repliziert
Parallel lesen
Plugin.CollisionEnabled:boolean

DisableUIDragDetectorDrags
Roblox-Skript-Sicherheit
Parallel lesen
Plugin.DisableUIDragDetectorDrags:boolean

GridSize
Schreibgeschützt
Nicht repliziert
Parallel lesen
Plugin.GridSize:number

IsDebuggable
Roblox-Skript-Sicherheit
Parallel lesen
Plugin.IsDebuggable:boolean

Methoden
Activate
Plugin-Sicherheit
Plugin:Activate(exclusiveMouse:boolean):()
Parameter
exclusiveMouse:boolean
Rückgaben
()

CreateDockWidgetPluginGui
Veraltet

CreateDockWidgetPluginGuiAsync
Angehalten
Plugin-Sicherheit
Plugin:CreateDockWidgetPluginGuiAsync(
pluginGuiId:string, dockWidgetPluginGuiInfo:DockWidgetPluginGuiInfo
Parameter
pluginGuiId:string
dockWidgetPluginGuiInfo:DockWidgetPluginGuiInfo
Code-Beispiele
Widget GUI Text Button
-- Erstelle ein neues 'DockWidgetPluginGuiInfo' Objekt
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float, -- Das Widget wird in einem schwebenden Panel initialisiert
true, -- Das Widget wird anfänglich aktiviert sein
false, -- Überschreibe nicht den vorherigen aktivierten Zustand
200, -- Standardbreite des schwebenden Fensters
300, -- Standardhöhe des schwebenden Fensters
150, -- Minimale Breite des schwebenden Fensters (optional)
150 -- Minimale Höhe des schwebenden Fensters (optional)
)
-- Erstelle eine neue Widget GUI
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 = "Klicke Mich"
testButton.Parent = testWidget

CreatePluginAction
Plugin-Sicherheit
Plugin:CreatePluginAction(
actionId:string, text:string, statusTip:string, iconName:string, allowBinding:boolean
Parameter
actionId:string
text:string
statusTip:string
iconName:string
allowBinding:boolean
Standardwert: true
Rückgaben
Code-Beispiele
Erstellen einer PluginAktion
local pluginAction = plugin:CreatePluginAction(
"HalloWeltAktion",
"Hallo Welt",
"Gibt 'Hallo Welt!' aus",
"rbxasset://textures/sparkle.png",
true
)
pluginAction.Name = "Test Aktion"
local function actionTriggered()
print("Hallo Welt!")
end
pluginAction.Triggered:Connect(actionTriggered)

CreatePluginMenu
Plugin-Sicherheit
Plugin:CreatePluginMenu(
id:string, title:string, icon:string
Parameter
title:string
icon:string
Rückgaben
Code-Beispiele
Erstellen eines PluginMenus und PluginMenuActions
-- Dieser Code kann in die Befehlszeile eingefügt werden, jedoch nur einmal
local pluginMenu = plugin:CreatePluginMenu(math.random(), "Testmenü")
pluginMenu.Name = "Testmenü"
pluginMenu:AddNewAction("AktionA", "A", "rbxasset://textures/loading/robloxTiltRed.png")
pluginMenu:AddNewAction("AktionB", "B", "rbxasset://textures/loading/robloxTilt.png")
local subMenu = plugin:CreatePluginMenu(math.random(), "C", "rbxasset://textures/explosion.png")
subMenu.Name = "Untermenü"
subMenu:AddNewAction("AktionD", "D", "rbxasset://textures/whiteCircle.png")
subMenu:AddNewAction("AktionE", "E", "rbxasset://textures/icon_ROBUX.png")
pluginMenu:AddMenu(subMenu)
pluginMenu:AddSeparator()
pluginMenu:AddNewAction("AktionF", "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("Ausgewählte Aktion:", selectedAction.Text, "mit ActionId:", selectedAction.ActionId)
else
print("Benutzer hat keine Aktion ausgewählt!")
end
end
end
toggle.Changed:Connect(onToggled)

CreateToolbar
Plugin-Sicherheit
Plugin:CreateToolbar(name:string):PluginToolbar
Parameter
name:string
Rückgaben
Code-Beispiele
Plugin:ErstelleWerkzeugleiste
plugin:CreateToolbar("BeispielWerkzeugleiste")

Deactivate
Plugin-Sicherheit
Plugin:Deactivate():()
Rückgaben
()

GetJoinMode
Plugin-Sicherheit
Plugin:GetJoinMode():Enum.JointCreationMode

GetMouse
Plugin-Sicherheit
Plugin:GetMouse():PluginMouse
Rückgaben
Code-Beispiele
Plugin:GetMouse
local mouse = plugin:GetMouse()
local function button1Down()
print("Button 1 gedrückt von PluginMouse")
end
mouse.Button1Down:Connect(button1Down)

GetSelectedRibbonTool
Plugin-Sicherheit
Plugin:GetSelectedRibbonTool():Enum.RibbonTool
Rückgaben
Code-Beispiele
Plugin:GetSelectedRibbonTool
plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- auf den nächsten Frame warten
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("Das ausgewählte RibbonTool ist", selectedRibbonTool)

GetSetting
Plugin-Sicherheit
Plugin:GetSetting(key:string):Variant
Parameter
key:string
Rückgaben
Variant
Code-Beispiele
Plugin:GetSetting
local RAN_BEFORE_KEY = "RanBefore"
local didRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if didRunBefore then
print("Willkommen zurück!")
else
plugin:SetSetting(RAN_BEFORE_KEY, true)
print("Willkommen! Danke für die Installation dieses Plugins!")
end

GetStudioUserId
Veraltet

ImportFbxAnimation
Veraltet

ImportFbxAnimationAsync
Angehalten
Plugin-Sicherheit
Plugin:ImportFbxAnimationAsync(
rigModel:Instance, isR15:boolean
Parameter
rigModel:Instance
isR15:boolean
Standardwert: true
Rückgaben

ImportFbxRig
Veraltet

ImportFbxRigAsync
Angehalten
Plugin-Sicherheit
Plugin:ImportFbxRigAsync(isR15:boolean):Instance
Parameter
isR15:boolean
Standardwert: true
Rückgaben

Intersect
Plugin-Sicherheit
Plugin:Intersect(objects:Instances):Instance
Parameter
objects:Instances
Rückgaben

IsActivated
Plugin-Sicherheit
Plugin:IsActivated():boolean
Rückgaben

IsActivatedWithExclusiveMouse
Plugin-Sicherheit
Plugin:IsActivatedWithExclusiveMouse():boolean
Rückgaben

Negate
Plugin-Sicherheit
Plugin:Negate(objects:Instances):Instances
Parameter
objects:Instances
Rückgaben
Instances

OpenScript
Veraltet

OpenWikiPage
Plugin-Sicherheit
Plugin:OpenWikiPage(url:string):()
Parameter
url:string
Rückgaben
()
Code-Beispiele
Plugin:OpenWikiSeite
plugin:OpenWikiPage("API:Class/BasePart")

PromptForExistingAssetId
Angehalten
Plugin-Sicherheit
Plugin:PromptForExistingAssetId(assetType:string):number
Parameter
assetType:string
Rückgaben

PromptForExistingAssetIdAsync
Angehalten
Plugin-Sicherheit
Plugin:PromptForExistingAssetIdAsync(assetType:string):number
Parameter
assetType:string
Rückgaben

PromptSaveSelection
Veraltet

PromptSaveSelectionAsync
Angehalten
Plugin-Sicherheit
Plugin:PromptSaveSelectionAsync(suggestedFileName:string):boolean
Parameter
suggestedFileName:string
Rückgaben

SaveSelectedToRoblox
Plugin-Sicherheit
Plugin:SaveSelectedToRoblox():()
Rückgaben
()

SelectRibbonTool
Plugin-Sicherheit
Plugin:SelectRibbonTool(
tool:Enum.RibbonTool, position:UDim2
):()
Parameter
position:UDim2
Rückgaben
()

Separate
Plugin-Sicherheit
Plugin:Separate(objects:Instances):Instances
Parameter
objects:Instances
Rückgaben
Instances

SetSetting
Plugin-Sicherheit
Plugin:SetSetting(
key:string, value:Variant
):()
Parameter
key:string
value:Variant
Rückgaben
()
Code-Beispiele
Plugin:GetSetting und Plugin:SetSetting
local RAN_BEFORE_KEY = "RunBefore"
local hasRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if hasRunBefore then
print("Willkommen zurück!")
else
print("Danke für die Installation dieses Plugins!")
plugin:SetSetting(RAN_BEFORE_KEY, true)
end

StartDrag
Plugin-Sicherheit
Plugin:StartDrag(dragData:Dictionary):()
Parameter
dragData:Dictionary
Rückgaben
()
Code-Beispiele
Plugin Ziehen und Ablegen
assert(plugin, "Dieses Skript muss als Studio-Plugin ausgeführt werden")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("Zugquelle", widgetInfo)
dragSourceWidget.Title = "Zugquelle"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Hallo, Plugin-Zug"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Bearbeiten Sie den obigen Text, und starten Sie dann den Zug hier"
dragButton.Parent = dragSourceWidget
function onMouseButton1Down()
local dragData = {
Sender = "IrgendeineZugquelle",
MimeType = "text/plain",
Data = textBox.Text,
MouseIcon = "",
DragIcon = "",
HotSpot = Vector2.new(0, 0),
}
plugin:StartDrag(dragData)
end
dragButton.MouseButton1Down:Connect(onMouseButton1Down)
-- Dieses Widget wird Drops empfangen
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("Drop-Ziel", widgetInfo)
dragTargetWidget.Title = "Drop-Ziel"
-- Dieses TextLabel zeigt an, was abgelegt wurde
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Hier ablegen..."
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
Plugin-Sicherheit
Plugin:Union(objects:Instances):Instance
Parameter
objects:Instances
Rückgaben

Events
Deactivation
Plugin-Sicherheit
Plugin.Deactivation():RBXScriptSignal

Unloading
Plugin-Sicherheit
Plugin.Unloading():RBXScriptSignal

©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.