Plugin

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Tidak Dapat Dibuat

Contoh Kode

Script - Pass the Plugin Global to a ModuleScript

assert(plugin, "This script must be run as a plugin!")
-- Code beyond this point will execute only if the script is run as a plugin
-- Load the module and pass the plugin reference
local pluginModule = require(script.Parent.PluginModule)
pluginModule:Initialize(plugin)
-- Verify if the plugin reference was initialized
pluginModule:CheckForPluginGlobal()
ModuleScript - Receive and Store the Plugin Global

local pluginModule = {}
local plugin -- Local plugin reference
-- Initialize the plugin reference if not already set
function pluginModule:Initialize(pluginReference: Plugin)
if plugin ~= pluginReference then
plugin = pluginReference
else
error("Plugin is already initialized")
end
end
-- Check if the plugin reference is set and print out appropriate info
function pluginModule:CheckForPluginGlobal()
if plugin ~= nil then
print("Plugin reference is set!")
else
warn("Plugin reference is missing!")
end
end
return pluginModule

Rangkuman

Properti

Metode

Properti

CollisionEnabled

Hanya Baca
Tidak Direplikasi
Baca Paralel

DisableUIDragDetectorDrags

Keamanan Skrip Roblox
Baca Paralel

GridSize

Hanya Baca
Tidak Direplikasi
Baca Paralel

IsDebuggable

Keamanan Skrip Roblox
Baca Paralel

Metode

Activate

()
Keamanan Plugin

Parameter

exclusiveMouse: boolean
Nilai Default: ""

Memberikan nilai

()

CreatePluginAction

Keamanan Plugin

Parameter

actionId: string
Nilai Default: ""
text: string
Nilai Default: ""
statusTip: string
Nilai Default: ""
iconName: string
Nilai Default: ""
allowBinding: boolean
Nilai Default: true

Memberikan nilai

Contoh Kode

Creating a PluginAction

local pluginAction = plugin:CreatePluginAction(
"HelloWorldAction",
"Hello World",
"Prints a 'Hello world!'",
"rbxasset://textures/sparkle.png",
true
)
pluginAction.Name = "Test Action"
local function actionTriggered()
print("Hello world!")
end
pluginAction.Triggered:Connect(actionTriggered)

CreatePluginMenu

Keamanan Plugin

Parameter

id: string
Nilai Default: ""
title: string
Nilai Default: ""
icon: string
Nilai Default: ""

Memberikan nilai

Contoh Kode

Creating a PluginMenu and PluginMenuAction

-- This code can be pasted into the command bar, but only once
local pluginMenu = plugin:CreatePluginMenu(math.random(), "Test Menu")
pluginMenu.Name = "Test Menu"
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 = "Sub Menu"
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("Selected Action:", selectedAction.Text, "with ActionId:", selectedAction.ActionId)
else
print("User did not select an action!")
end
end
end
toggle.Changed:Connect(onToggled)

CreateToolbar

Keamanan Plugin

Parameter

name: string
Nilai Default: ""

Memberikan nilai

Contoh Kode

Plugin:CreateToolbar

plugin:CreateToolbar("ExampleToolbar")

Deactivate

()
Keamanan Plugin

Memberikan nilai

()
Keamanan Plugin

Memberikan nilai

GetMouse

Keamanan Plugin

Memberikan nilai

Contoh Kode

Plugin:GetMouse

local mouse = plugin:GetMouse()
local function button1Down()
print("Button 1 pressed from PluginMouse")
end
mouse.Button1Down:Connect(button1Down)

GetSelectedRibbonTool

Keamanan Plugin

Memberikan nilai

Contoh Kode

Plugin:GetSelectedRibbonTool

plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- wait for next frame
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("The selected RibbonTool is", selectedRibbonTool)

GetSetting

Variant
Keamanan Plugin

Parameter

key: string
Nilai Default: ""

Memberikan nilai

Variant

Contoh Kode

Plugin:GetSetting

local RAN_BEFORE_KEY = "RanBefore"
local didRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if didRunBefore then
print("Welcome back!")
else
plugin:SetSetting(RAN_BEFORE_KEY, true)
print("Welcome! Thanks for installing this plugin!")
end

Intersect

Keamanan Plugin

Parameter

objects: Instances
Nilai Default: ""

Memberikan nilai

IsActivated

Keamanan Plugin

Memberikan nilai

IsActivatedWithExclusiveMouse

Keamanan Plugin

Memberikan nilai

Negate

Instances
Keamanan Plugin

Parameter

objects: Instances
Nilai Default: ""

Memberikan nilai

Instances

OpenScript

()
Keamanan Plugin

Parameter

Nilai Default: ""
lineNumber: number
Nilai Default: 1

Memberikan nilai

()

Contoh Kode

Plugin:OpenScript

local newScript = Instance.new("Script")
newScript.Parent = workspace
plugin:OpenScript(newScript)

OpenWikiPage

()
Keamanan Plugin

Parameter

url: string
Nilai Default: ""

Memberikan nilai

()

Contoh Kode

Plugin:OpenWikiPage

plugin:OpenWikiPage("API:Class/BasePart")

SaveSelectedToRoblox

()
Keamanan Plugin

Memberikan nilai

()

SelectRibbonTool

()
Keamanan Plugin

Parameter

Nilai Default: ""
position: UDim2
Nilai Default: ""

Memberikan nilai

()

Separate

Instances
Keamanan Plugin

Parameter

objects: Instances
Nilai Default: ""

Memberikan nilai

Instances

SetSetting

()
Keamanan Plugin

Parameter

key: string
Nilai Default: ""
value: Variant
Nilai Default: ""

Memberikan nilai

()

Contoh Kode

Plugin:GetSetting and Plugin:SetSetting

local RAN_BEFORE_KEY = "RunBefore"
local hasRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if hasRunBefore then
print("Welcome back!")
else
print("Thanks for installing this plugin!")
plugin:SetSetting(RAN_BEFORE_KEY, true)
end

StartDrag

()
Keamanan Plugin

Parameter

dragData: Dictionary
Nilai Default: ""

Memberikan nilai

()

Contoh Kode

Plugin Drag and Drop

assert(plugin, "This script must be run as a Studio plugin")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGui("Drag Source", widgetInfo)
dragSourceWidget.Title = "Drag Source"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Hello, plugin drags"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Edit the text above, then start drag here"
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)
-- This widget will receive drops
local dragTargetWidget = plugin:CreateDockWidgetPluginGui("Drop Target", widgetInfo)
dragTargetWidget.Title = "Drop Target"
-- This TextLabel will display what was dropped
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Drop here..."
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)
Keamanan Plugin

Parameter

objects: Instances
Nilai Default: ""

Memberikan nilai

CreateDockWidgetPluginGui

Hasil
Keamanan Plugin

Parameter

pluginGuiId: string
Nilai Default: ""
dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo
Nilai Default: ""

Memberikan nilai

Contoh Kode

Widget GUI Text Button

-- Create new 'DockWidgetPluginGuiInfo' object
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float, -- Widget will be initialized in floating panel
true, -- Widget will be initially enabled
false, -- Don't override the previous enabled state
200, -- Default width of the floating window
300, -- Default height of the floating window
150, -- Minimum width of the floating window (optional)
150 -- Minimum height of the floating window (optional)
)
-- Create new widget GUI
local testWidget = plugin:CreateDockWidgetPluginGui("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 = "Click Me"
testButton.Parent = testWidget

ImportFbxAnimation

Hasil
Keamanan Plugin

Parameter

rigModel: Instance
Nilai Default: ""
isR15: boolean
Nilai Default: true

Memberikan nilai

ImportFbxRig

Hasil
Keamanan Plugin

Parameter

isR15: boolean
Nilai Default: true

Memberikan nilai

PromptForExistingAssetId

Hasil
Keamanan Plugin

Parameter

assetType: string
Nilai Default: ""

Memberikan nilai

PromptSaveSelection

Hasil
Keamanan Plugin

Parameter

suggestedFileName: string
Nilai Default: ""

Memberikan nilai

Acara

Deactivation

Keamanan Plugin

Unloading

Keamanan Plugin