Impara
Classe motore
Plugin
Non costruibile

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.


Sommario
Metodi
Activate(exclusiveMouse: boolean):()
CreateDockWidgetPluginGui(pluginGuiId: string,dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo):DockWidgetPluginGui
Obsoleto
CreatePluginAction(actionId: string,text: string,statusTip: string,iconName: string,allowBinding: boolean):PluginAction
GetSetting(key: string):Variant
ImportFbxAnimation(rigModel: Instance,isR15: boolean):Instance
Obsoleto
ImportFbxRig(isR15: boolean):Instance
Obsoleto
Intersect(objects: Instances):Instance
Negate(objects: Instances):Instances
OpenScript(script: LuaSourceContainer,lineNumber: number):()
Obsoleto
PromptSaveSelection(suggestedFileName: string):boolean
Obsoleto
Separate(objects: Instances):Instances
SetSetting(key: string,value: Variant):()
StartDrag(dragData: Dictionary):()
Union(objects: Instances):Instance
Membri ereditati
Campioni di codice
Script - Passa il Plugin Global a un ModuleScript
assert(plugin, "Questo script deve essere eseguito come un plugin!")
-- Il codice oltre questo punto verrà eseguito solo se lo script è eseguito come un plugin
-- Carica il modulo e passa il riferimento del plugin
local pluginModule = require(script.Parent.PluginModule)
pluginModule:Initialize(plugin)
-- Verifica se il riferimento del plugin è stato inizializzato
pluginModule:CheckForPluginGlobal()
ModuleScript - Ricevi e Memorizza il Plugin Globale
local pluginModule = {}
local plugin -- Riferimento locale del plugin
-- Inizializza il riferimento del plugin se non è già impostato
function pluginModule:Initialize(pluginReference: Plugin)
if plugin ~= pluginReference then
plugin = pluginReference
else
error("Il plugin è già stato inizializzato")
end
end
-- Controlla se il riferimento del plugin è impostato e stampa informazioni appropriate
function pluginModule:CheckForPluginGlobal()
if plugin ~= nil then
print("Il riferimento del plugin è impostato!")
else
warn("Il riferimento del plugin è mancante!")
end
end
return pluginModule

Riferimento API
Proprietà
CollisionEnabled
Sola Lettura
Non Replicato
Lettura Parallela
Plugin.CollisionEnabled:boolean

DisableUIDragDetectorDrags
Sicurezza Script Roblox
Lettura Parallela
Plugin.DisableUIDragDetectorDrags:boolean

GridSize
Sola Lettura
Non Replicato
Lettura Parallela
Plugin.GridSize:number

IsDebuggable
Sicurezza Script Roblox
Lettura Parallela
Plugin.IsDebuggable:boolean

Metodi
Activate
Sicurezza Plugin
Plugin:Activate(exclusiveMouse:boolean):()
Parametri
exclusiveMouse:boolean
Restituzioni
()

CreateDockWidgetPluginGui
Obsoleto

CreateDockWidgetPluginGuiAsync
Resa
Sicurezza Plugin
Plugin:CreateDockWidgetPluginGuiAsync(
pluginGuiId:string, dockWidgetPluginGuiInfo:DockWidgetPluginGuiInfo
Parametri
pluginGuiId:string
dockWidgetPluginGuiInfo:DockWidgetPluginGuiInfo
Campioni di codice
Pulsante di Testo GUI Widget
-- Crea un nuovo oggetto 'DockWidgetPluginGuiInfo'
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float, -- Il widget sarà inizializzato in un pannello flottante
true, -- Il widget sarà inizialmente abilitato
false, -- Non sovrascrivere lo stato abilitato precedente
200, -- Larghezza predefinita della finestra flottante
300, -- Altezza predefinita della finestra flottante
150, -- Larghezza minima della finestra flottante (opzionale)
150 -- Altezza minima della finestra flottante (opzionale)
)
-- Crea una nuova GUI widget
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 = "Cliccami"
testButton.Parent = testWidget

CreatePluginAction
Sicurezza Plugin
Plugin:CreatePluginAction(
actionId:string, text:string, statusTip:string, iconName:string, allowBinding:boolean
Parametri
actionId:string
text:string
statusTip:string
iconName:string
allowBinding:boolean
Valore predefinito: true
Restituzioni
Campioni di codice
Creare un PluginAction
local pluginAction = plugin:CreatePluginAction(
"HelloWorldAction",
"Ciao Mondo",
"Stampa un 'Hello world!'",
"rbxasset://textures/sparkle.png",
true
)
pluginAction.Name = "Azione di Test"
local function actionTriggered()
print("Hello world!")
end
pluginAction.Triggered:Connect(actionTriggered)

CreatePluginMenu
Sicurezza Plugin
Plugin:CreatePluginMenu(
id:string, title:string, icon:string
Parametri
title:string
icon:string
Restituzioni
Campioni di codice
Creare un PluginMenu e un PluginMenuAction
-- Questo codice può essere incollato nella Barra dei Comandi, ma solo una volta
local pluginMenu = plugin:CreatePluginMenu(math.random(), "Menu di Test")
pluginMenu.Name = "Menu di Test"
pluginMenu:AddNewAction("AzioneA", "A", "rbxasset://textures/loading/robloxTiltRed.png")
pluginMenu:AddNewAction("AzioneB", "B", "rbxasset://textures/loading/robloxTilt.png")
local subMenu = plugin:CreatePluginMenu(math.random(), "C", "rbxasset://textures/explosion.png")
subMenu.Name = "Sottomenu"
subMenu:AddNewAction("AzioneD", "D", "rbxasset://textures/whiteCircle.png")
subMenu:AddNewAction("AzioneE", "E", "rbxasset://textures/icon_ROBUX.png")
pluginMenu:AddMenu(subMenu)
pluginMenu:AddSeparator()
pluginMenu:AddNewAction("AzioneF", "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("Azione Selezionata:", selectedAction.Text, "con ActionId:", selectedAction.ActionId)
else
print("L'utente non ha selezionato un'azione!")
end
end
end
toggle.Changed:Connect(onToggled)

CreateToolbar
Sicurezza Plugin
Plugin:CreateToolbar(name:string):PluginToolbar
Parametri
name:string
Restituzioni
Campioni di codice
Plugin:CreaToolbar
plugin:CreateToolbar("ExampleToolbar")

Deactivate
Sicurezza Plugin
Plugin:Deactivate():()
Restituzioni
()

GetJoinMode
Sicurezza Plugin
Plugin:GetJoinMode():Enum.JointCreationMode

GetMouse
Sicurezza Plugin
Plugin:GetMouse():PluginMouse
Restituzioni
Campioni di codice
Plugin:GetMouse
local mouse = plugin:GetMouse()
local function button1Down()
print("Button 1 pressed from PluginMouse")
end
mouse.Button1Down:Connect(button1Down)

GetSelectedRibbonTool
Sicurezza Plugin
Plugin:GetSelectedRibbonTool():Enum.RibbonTool
Restituzioni
Campioni di codice
Plugin:GetSelectedRibbonTool
plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- attendi il fotogramma successivo
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("Lo strumento RibbonTool selezionato è", selectedRibbonTool)

GetSetting
Sicurezza Plugin
Plugin:GetSetting(key:string):Variant
Parametri
key:string
Restituzioni
Variant
Campioni di codice
Plugin:GetSetting
local RAN_BEFORE_KEY = "RanBefore"
local didRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if didRunBefore then
print("Bentornato!")
else
plugin:SetSetting(RAN_BEFORE_KEY, true)
print("Benvenuto! Grazie per aver installato questo plugin!")
end

GetStudioUserId
Obsoleto

ImportFbxAnimation
Obsoleto

ImportFbxAnimationAsync
Resa
Sicurezza Plugin
Plugin:ImportFbxAnimationAsync(
rigModel:Instance, isR15:boolean
Parametri
rigModel:Instance
isR15:boolean
Valore predefinito: true
Restituzioni

ImportFbxRig
Obsoleto

ImportFbxRigAsync
Resa
Sicurezza Plugin
Plugin:ImportFbxRigAsync(isR15:boolean):Instance
Parametri
isR15:boolean
Valore predefinito: true
Restituzioni

Intersect
Sicurezza Plugin
Plugin:Intersect(objects:Instances):Instance
Parametri
objects:Instances
Restituzioni

IsActivated
Sicurezza Plugin
Plugin:IsActivated():boolean
Restituzioni

IsActivatedWithExclusiveMouse
Sicurezza Plugin
Plugin:IsActivatedWithExclusiveMouse():boolean
Restituzioni

Negate
Sicurezza Plugin
Plugin:Negate(objects:Instances):Instances
Parametri
objects:Instances
Restituzioni
Instances

OpenScript
Obsoleto

OpenWikiPage
Sicurezza Plugin
Plugin:OpenWikiPage(url:string):()
Parametri
url:string
Restituzioni
()
Campioni di codice
Plugin:ApriPaginaWiki
plugin:OpenWikiPage("API:Class/BasePart")

PromptForExistingAssetId
Resa
Sicurezza Plugin
Plugin:PromptForExistingAssetId(assetType:string):number
Parametri
assetType:string
Restituzioni

PromptForExistingAssetIdAsync
Resa
Sicurezza Plugin
Plugin:PromptForExistingAssetIdAsync(assetType:string):number
Parametri
assetType:string
Restituzioni

PromptSaveSelection
Obsoleto

PromptSaveSelectionAsync
Resa
Sicurezza Plugin
Plugin:PromptSaveSelectionAsync(suggestedFileName:string):boolean
Parametri
suggestedFileName:string
Restituzioni

SaveSelectedToRoblox
Sicurezza Plugin
Plugin:SaveSelectedToRoblox():()
Restituzioni
()

SelectRibbonTool
Sicurezza Plugin
Plugin:SelectRibbonTool(
tool:Enum.RibbonTool, position:UDim2
):()
Parametri
position:UDim2
Restituzioni
()

Separate
Sicurezza Plugin
Plugin:Separate(objects:Instances):Instances
Parametri
objects:Instances
Restituzioni
Instances

SetSetting
Sicurezza Plugin
Plugin:SetSetting(
key:string, value:Variant
):()
Parametri
key:string
value:Variant
Restituzioni
()
Campioni di codice
Plugin:GetSetting e Plugin:SetSetting
local RAN_BEFORE_KEY = "RunBefore"
local hasRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if hasRunBefore then
print("Ben tornato!")
else
print("Grazie per aver installato questo plugin!")
plugin:SetSetting(RAN_BEFORE_KEY, true)
end

StartDrag
Sicurezza Plugin
Plugin:StartDrag(dragData:Dictionary):()
Parametri
dragData:Dictionary
Restituzioni
()
Campioni di codice
Plugin Trascina e Rilascia
assert(plugin, "Questo script deve essere eseguito come un plugin di Studio")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("Fonte di Trascinamento", widgetInfo)
dragSourceWidget.Title = "Fonte di Trascinamento"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Ciao, trascinamenti del plugin"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Modifica il testo sopra, poi inizia a trascinare qui"
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)
-- Questo widget riceverà rilasci
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("Obiettivo di Rilascio", widgetInfo)
dragTargetWidget.Title = "Obiettivo di Rilascio"
-- Questa TextLabel mostrerà cosa è stato rilasciato
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Rilascia qui..."
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("PluginDragEntrato")
end)
dragTargetWidget.PluginDragLeft:Connect(function(_dragData)
print("PluginDragUscito")
end)
dragTargetWidget.PluginDragMoved:Connect(function(_dragData)
print("PluginDragMosso")
end)

Union
Sicurezza Plugin
Plugin:Union(objects:Instances):Instance
Parametri
objects:Instances
Restituzioni

Eventi
Deactivation
Sicurezza Plugin
Plugin.Deactivation():RBXScriptSignal

Unloading
Sicurezza Plugin
Plugin.Unloading():RBXScriptSignal

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.