学ぶ
エンジンクラス
Plugin
作成できません

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。


概要
方法
Activate(exclusiveMouse: boolean):()
CreateDockWidgetPluginGui(pluginGuiId: string,dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo):DockWidgetPluginGui
非推奨
CreatePluginAction(actionId: string,text: string,statusTip: string,iconName: string,allowBinding: boolean):PluginAction
GetSetting(key: string):Variant
ImportFbxAnimation(rigModel: Instance,isR15: boolean):Instance
非推奨
ImportFbxRig(isR15: boolean):Instance
非推奨
Intersect(objects: Instances):Instance
Negate(objects: Instances):Instances
OpenScript(script: LuaSourceContainer,lineNumber: number):()
非推奨
PromptSaveSelection(suggestedFileName: string):boolean
非推奨
Separate(objects: Instances):Instances
SetSetting(key: string,value: Variant):()
StartDrag(dragData: Dictionary):()
Union(objects: Instances):Instance
継承されたメンバー
コードサンプル
スクリプト - プラグイングローバルをModuleScriptに渡す
assert(plugin, "このスクリプトはプラグインとして実行する必要があります!")
-- この先のコードは、スクリプトがプラグインとして実行される場合のみ実行されます
-- モジュールをロードし、プラグイン参照を渡します
local pluginModule = require(script.Parent.PluginModule)
pluginModule:Initialize(plugin)
-- プラグイン参照が初期化されたか確認します
pluginModule:CheckForPluginGlobal()
ModuleScript - プラグイングローバルを受信して保存する
local pluginModule = {}
local plugin -- ローカルプラグイン参照
-- プラグイン参照がまだ設定されていない場合に初期化する
function pluginModule:Initialize(pluginReference: Plugin)
if plugin ~= pluginReference then
plugin = pluginReference
else
error("プラグインはすでに初期化されています")
end
end
-- プラグイン参照が設定されているか確認し、適切な情報を出力する
function pluginModule:CheckForPluginGlobal()
if plugin ~= nil then
print("プラグイン参照は設定されています!")
else
warn("プラグイン参照が不足しています!")
end
end
return pluginModule

APIリファレンス
プロパティ
CollisionEnabled
読み取り専用
複製されていません
並列読み取り
Plugin.CollisionEnabled:boolean

DisableUIDragDetectorDrags
Robloxのスクリプトセキュリティ
並列読み取り
Plugin.DisableUIDragDetectorDrags:boolean

GridSize
読み取り専用
複製されていません
並列読み取り
Plugin.GridSize:number

IsDebuggable
Robloxのスクリプトセキュリティ
並列読み取り
Plugin.IsDebuggable:boolean

方法
Activate
プラグインのセキュリティ
Plugin:Activate(exclusiveMouse:boolean):()
パラメータ
exclusiveMouse:boolean
戻り値
()

CreateDockWidgetPluginGui
非推奨

CreateDockWidgetPluginGuiAsync
イールド
プラグインのセキュリティ
Plugin:CreateDockWidgetPluginGuiAsync(
pluginGuiId:string, dockWidgetPluginGuiInfo:DockWidgetPluginGuiInfo
パラメータ
pluginGuiId:string
dockWidgetPluginGuiInfo:DockWidgetPluginGuiInfo
コードサンプル
ウィジェット GUI テキストボタン
-- 新しい 'DockWidgetPluginGuiInfo' オブジェクトを作成
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float, -- ウィジェットはフローティングパネルで初期化されます
true, -- ウィジェットは最初に有効になります
false, -- 前の有効状態を上書きしない
200, -- フローティングウィンドウのデフォルト幅
300, -- フローティングウィンドウのデフォルト高さ
150, -- フローティングウィンドウの最小幅(オプション)
150 -- フローティングウィンドウの最小高さ(オプション)
)
-- 新しいウィジェット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 = "クリックして下さい"
testButton.Parent = testWidget

CreatePluginAction
プラグインのセキュリティ
Plugin:CreatePluginAction(
actionId:string, text:string, statusTip:string, iconName:string, allowBinding:boolean
パラメータ
actionId:string
text:string
statusTip:string
iconName:string
allowBinding:boolean
既定値: true
戻り値
コードサンプル
プラグインアクションの作成
local pluginAction = plugin:CreatePluginAction(
"HelloWorldAction",
"こんにちは世界",
"'Hello world!'を出力します",
"rbxasset://textures/sparkle.png",
true
)
pluginAction.Name = "テストアクション"
local function actionTriggered()
print("こんにちは世界!")
end
pluginAction.Triggered:Connect(actionTriggered)

CreatePluginMenu
プラグインのセキュリティ
Plugin:CreatePluginMenu(
id:string, title:string, icon:string
パラメータ
title:string
icon:string
戻り値
コードサンプル
プラグインメニューとプラグインメニューアクションの作成
-- このコードはコマンドバーに貼り付けることができますが、1回だけです
local pluginMenu = plugin:CreatePluginMenu(math.random(), "テストメニュー")
pluginMenu.Name = "テストメニュー"
pluginMenu:AddNewAction("ActionA", "A", "rbxasset://textures/loading/robloxTiltRed.png")
pluginMenu:AddNewAction("ActionB", "B", "rbxasset://textures/loading/robloxTilt.png")
local subMenu = plugin:CreatePluginMenu(math.random(), "C", "rbxasset://textures/explosion.png")
subMenu.Name = "サブメニュー"
subMenu:AddNewAction("ActionD", "D", "rbxasset://textures/whiteCircle.png")
subMenu:AddNewAction("ActionE", "E", "rbxasset://textures/icon_ROBUX.png")
pluginMenu:AddMenu(subMenu)
pluginMenu:AddSeparator()
pluginMenu:AddNewAction("ActionF", "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("選択したアクション:", selectedAction.Text, "アクションID:", selectedAction.ActionId)
else
print("ユーザーはアクションを選択しませんでした!")
end
end
end
toggle.Changed:Connect(onToggled)

CreateToolbar
プラグインのセキュリティ
Plugin:CreateToolbar(name:string):PluginToolbar
パラメータ
name:string
戻り値
コードサンプル
プラグイン:ツールバーを作成
plugin:CreateToolbar("ExampleToolbar")

Deactivate
プラグインのセキュリティ
Plugin:Deactivate():()
戻り値
()

GetJoinMode
プラグインのセキュリティ
Plugin:GetJoinMode():Enum.JointCreationMode

GetMouse
プラグインのセキュリティ
Plugin:GetMouse():PluginMouse
戻り値
コードサンプル
プラグイン:マウスを取得
local mouse = plugin:GetMouse()
local function button1Down()
print("PluginMouse からボタン 1 が押されました")
end
mouse.Button1Down:Connect(button1Down)

GetSelectedRibbonTool
プラグインのセキュリティ
Plugin:GetSelectedRibbonTool():Enum.RibbonTool
コードサンプル
プラグイン:GetSelectedRibbonTool
plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- 次のフレームを待つ
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("選択された RibbonTool は", selectedRibbonTool)

GetSetting
プラグインのセキュリティ
Plugin:GetSetting(key:string):Variant
パラメータ
key:string
戻り値
Variant
コードサンプル
プラグイン:設定を取得
local RAN_BEFORE_KEY = "RanBefore"
local didRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if didRunBefore then
print("お帰りなさい!")
else
plugin:SetSetting(RAN_BEFORE_KEY, true)
print("ようこそ! このプラグインをインストールしていただきありがとうございます!")
end

GetStudioUserId
非推奨

ImportFbxAnimation
非推奨

ImportFbxAnimationAsync
イールド
プラグインのセキュリティ
Plugin:ImportFbxAnimationAsync(
rigModel:Instance, isR15:boolean
パラメータ
rigModel:Instance
isR15:boolean
既定値: true
戻り値

ImportFbxRig
非推奨

ImportFbxRigAsync
イールド
プラグインのセキュリティ
Plugin:ImportFbxRigAsync(isR15:boolean):Instance
パラメータ
isR15:boolean
既定値: true
戻り値

Intersect
プラグインのセキュリティ
Plugin:Intersect(objects:Instances):Instance
パラメータ
objects:Instances
戻り値

IsActivated
プラグインのセキュリティ
Plugin:IsActivated():boolean
戻り値

IsActivatedWithExclusiveMouse
プラグインのセキュリティ
Plugin:IsActivatedWithExclusiveMouse():boolean
戻り値

Negate
プラグインのセキュリティ
Plugin:Negate(objects:Instances):Instances
パラメータ
objects:Instances
戻り値
Instances

OpenScript
非推奨

OpenWikiPage
プラグインのセキュリティ
Plugin:OpenWikiPage(url:string):()
パラメータ
url:string
戻り値
()
コードサンプル
プラグイン:OpenWikiPage
plugin:OpenWikiPage("API:Class/BasePart")

PromptForExistingAssetId
イールド
プラグインのセキュリティ
Plugin:PromptForExistingAssetId(assetType:string):number
パラメータ
assetType:string
戻り値

PromptForExistingAssetIdAsync
イールド
プラグインのセキュリティ
Plugin:PromptForExistingAssetIdAsync(assetType:string):number
パラメータ
assetType:string
戻り値

PromptSaveSelection
非推奨

PromptSaveSelectionAsync
イールド
プラグインのセキュリティ
Plugin:PromptSaveSelectionAsync(suggestedFileName:string):boolean
パラメータ
suggestedFileName:string
戻り値

SaveSelectedToRoblox
プラグインのセキュリティ
Plugin:SaveSelectedToRoblox():()
戻り値
()

SelectRibbonTool
プラグインのセキュリティ
Plugin:SelectRibbonTool(
tool:Enum.RibbonTool, position:UDim2
):()
パラメータ
position:UDim2
戻り値
()

Separate
プラグインのセキュリティ
Plugin:Separate(objects:Instances):Instances
パラメータ
objects:Instances
戻り値
Instances

SetSetting
プラグインのセキュリティ
Plugin:SetSetting(
key:string, value:Variant
):()
パラメータ
key:string
value:Variant
戻り値
()
コードサンプル
プラグイン:GetSetting と プラグイン:SetSetting
local RAN_BEFORE_KEY = "RunBefore"
local hasRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if hasRunBefore then
print("おかえりなさい!")
else
print("このプラグインをインストールしていただきありがとうございます!")
plugin:SetSetting(RAN_BEFORE_KEY, true)
end

StartDrag
プラグインのセキュリティ
Plugin:StartDrag(dragData:Dictionary):()
パラメータ
dragData:Dictionary
戻り値
()
コードサンプル
プラグインのドラッグアンドドロップ
assert(plugin, "このスクリプトはスタジオプラグインとして実行する必要があります")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("ドラッグソース", widgetInfo)
dragSourceWidget.Title = "ドラッグソース"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "こんにちは、プラグインドラッグ"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "上のテキストを編集して、ここでドラッグを開始してください"
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)
-- このウィジェットはドロップを受け取ります
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("ドロップターゲット", widgetInfo)
dragTargetWidget.Title = "ドロップターゲット"
-- このTextLabelはドロップされたものを表示します
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "ここにドロップ..."
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:Union(objects:Instances):Instance
パラメータ
objects:Instances
戻り値

イベント
Deactivation
プラグインのセキュリティ
Plugin.Deactivation():RBXScriptSignal

Unloading
プラグインのセキュリティ
Plugin.Unloading():RBXScriptSignal

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。