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

Plugin adalah objek utama yang bertanggung jawab untuk membuat widget Studio dasar, toolbar plugin, tombol plugin, dan banyak lagi.Ini adalah add-on khusus untuk Studio yang menambahkan perilaku dan fitur baru yang tidak biasanya termasuk.Objek Plugin dapat diakses melalui referensi global plugin di dalam Script yang dieksekusi sebagai plugin.

Contoh Kode

The plugin global reference is not passed to ModuleScripts within the plugin. In order to use it in a ModuleScript, you must explicitly pass it as seen in the example below.

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

Acara

Properti

CollisionEnabled

Hanya Baca
Tidak Direplikasi
Baca Paralel

Kembalikan apakah pengguna mengaktifkan Collisions di Studio di bawah tab Model.

DisableUIDragDetectorDrags

Keamanan Skrip Roblox
Baca Paralel

GridSize

Hanya Baca
Tidak Direplikasi
Baca Paralel

Kembalikan ukuran geser grid yang telah ditetapkan pengguna di Studio di bawah tab Model atau Avatar di bilah alat.Perhatikan bahwa properti ini mungkin memiliki kesalahan bulat sedikit; misalnya, mungkin 0.0099999997764826 untuk pengaturan pengguna 1 atau 0.4000000059604645 untuk pengaturan pengguna 0.4 .

IsDebuggable

Keamanan Skrip Roblox
Baca Paralel

Metode

Activate

()
Keamanan Plugin

Fungsi ini menetapkan status plugin panggil ke aktif. Mengaktifkan plugin memungkinkan kontrol mouse melalui metode Plugin:GetMouse().

Pada waktu tertentu ada 0 atau 1 Plugin Aktif.Mengaktifkan plugin akan menonaktifkan semua plugin lain (mereka akan menerima peristiwa Plugin.Deactivation).

Lihat juga:

  • Plugin:IsActivatedWithExclusiveMouse() , kembali benar jika plugin ini saat ini aktif dengan mouse eksklusif, setelah diaktifkan melalui fungsi ini
  • Plugin.Unloading , terbakar segera sebelum plugin tidak dimuat atau dimuat ulang melalui penghapusan, deaktivasi, atau pembaruan

Parameter

exclusiveMouse: boolean

Sebuah bilangan biner menentukan apakah akan mengaktifkan plugin dengan mouse eksklusif. Jika benar, PluginMouse dapat diambil melalui Plugin:GetMouse() .

Nilai Default: ""

Memberikan nilai

()

CreatePluginAction

Keamanan Plugin

Fungsi ini membuat PluginAction yang merupakan objek yang mewakili tindakan umum yang dapat dilakukan di Roblox Studio, tanpa terkait langsung Toolbar atau Enum.Button .Di Roblox Studio, mereka dapat ditugaskan pintasan keyboard di bawah File → Advanced → Customize Shortcuts… , dan mereka juga dapat ditambahkan ke Bilah Akses Cepat.

Ketika tindakan diaktifkan, peristiwa PluginAction.Triggered diberi sinyal.

Untuk PluginActions berfungsi seperti yang diharapkan, mereka harus dibuat menggunakan fungsi ini.

Lihat juga:

Parameter

actionId: string

Harus menjadi string unik yang mengidentifikasi PluginAction ini dari yang lain.

Nilai Default: ""
text: string

Nama actionyang ditampilkan.

Nilai Default: ""
statusTip: string

Deskripsi actionyang ditampilkan.

Nilai Default: ""
iconName: string

Nama ikon yang digunakan untuk menampilkan plugin.

Nilai Default: ""
allowBinding: boolean

Apakah PluginAction akan disembunyikan dari pandangan pintasan Studio. Berguna untuk tindakan kontekstual. Nilai default adalah benar.

Nilai Default: true

Memberikan nilai

Contoh Kode

This code sample visualizes how to create a PluginAction. These must be created using the Plugin:CreatePluginAction() method in order to work.

In order to work as expected, the code block must but pasted into the Command Bar, but only once. Consecutive attempts at executing the code in the Command Bar will result in an error because a plugin cannot create more than one PluginMenu with the same ID.

When the created action is bound and Triggered, it outputs Hello world!.

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

Fungsi ini membuat baru PluginMenu , yang merupakan menu konteks yang dapat ditampilkan di Studio yang menampilkan daftar PluginActions dan mendukung submenu.

Agar PluginMenus berfungsi seperti yang diharapkan, mereka harus dibuat menggunakan fungsi ini.

Lihat juga:

Parameter

id: string

ID unik untuk menu.

Nilai Default: ""
title: string

Teks yang akan ditampilkan saat digunakan sebagai sub menu.

Nilai Default: ""
icon: string

Ikon yang akan ditampilkan saat digunakan sebagai sub menu.

Nilai Default: ""

Memberikan nilai

Contoh Kode

This code sample visualizes how PluginMenus and PluginActions behave when created for a Plugin. Outside of this example, you should not parent the plugin or its functional components to the experience's workspace.

In order to work as expected, the code block must but pasted into the Command Bar, but only once. Consecutive attempts at executing the code in the Command Bar will result in an error because a plugin cannot create more than one PluginMenu with the same ID.

After executing the code, changing the created BoolValue in the experience's workspace opens the plugin's menus. Selecting an action from the menus the function connected to the trigger signal.

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

Fungsi Buat Bilah Alat membuat baru PluginToolbar dengan nama yang diberikan. Bilah alat kemudian dapat digunakan untuk membuat tombol plugin.

Parameter

name: string

Teks yang terlihat di bilah alat, menandai kelompok tombol yang terkandung di dalamnya.

Nilai Default: ""

Memberikan nilai

Contoh Kode

This code creates a toolbar with the name "ExampleToolbar".

Plugin:CreateToolbar

plugin:CreateToolbar("ExampleToolbar")

Deactivate

()
Keamanan Plugin

Nonaktifkan plugin. Ini akan memutuskan PluginMouse yang terkait jika telah diaktifkan

Lihat juga:


Memberikan nilai

()
Keamanan Plugin

Kembalikan Enum.JointCreationMode pengguna telah atur di Studio di bawah tab Model.


Memberikan nilai

GetMouse

Keamanan Plugin

Dapatkan Mouse mengembalikan PluginMouse yang dapat digunakan saat plugin aktif melalui Plugin:Activate() .


Memberikan nilai

Contoh Kode

This code would print Button 1 pressed from PluginMouse each time the mouse's left button was clicked.

Plugin:GetMouse

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

GetSelectedRibbonTool

Keamanan Plugin

GetSelectedRibbonTool kembalikan yang saat ini dipilih Enum.RibbonTool .Ini mengembalikan Enum yang sesuai dengan alat tertentu.Ini akan kembali apakah alat tersebut dipilih secara manual atau secara programatik melalui Plugin:SelectRibbonTool() .


Memberikan nilai

Contoh Kode

This code must be run from a plugin. This code selects the move tool, checks which tool is selected, then prints out to the console which tool is selected. SelectRibbonTool will not return the value until the next frame.

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

Mengambil nilai yang disimpan sebelumnya dengan unityang diberikan, atau nil jika kunci yang diberikan tidak ada.

Karena beberapa instansi plugin yang sama dapat berjalan secara bersamaan (misalnya, jika beberapa jendela Studio terbuka), Anda tidak harus bergantung pada nilai ini tetap sama seiring waktu.Instansi plugin lain dapat memperbarui pengaturan kapan saja.

Panggilan ini bisa gagal diam-diam dan kembali nil jika beberapa instansi plugin yang sama sedang membaca dan menulis data aktif.Jika plugin Anda berharap menulis ke pengaturan sering, Anda harus memeriksa ulang nilai yang dikembalikan dari panggilan ini setelah sesaat untuk membedakan antara pengaturan yang tidak tersedia sementara dan pengaturan yang tidak ada.

Parameter

key: string
Nilai Default: ""

Memberikan nilai

Variant

Contoh Kode

The below example would print the value saved to the key FirstTime. If the key doesn't exist, it would print nil.

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

Fungsi ini mengembalikan benar jika plugin ini saat ini aktif, setelah diaktifkan melalui fungsi Plugin:Activate().


Memberikan nilai

Boolean yang menunjukkan apakah plugin saat ini aktif.

IsActivatedWithExclusiveMouse

Keamanan Plugin

Fungsi ini mengembalikan benar jika plugin ini saat ini aktif dengan mouse eksklusif, setelah diaktifkan melalui fungsi Plugin:Activate().Jika ini kembali benar, PluginMouse dapat diambil melalui Plugin:GetMouse() .

Lihat juga:

  • Plugin.Deactivation , terbakar saat plugin dinonaktifkan
  • Plugin.Unloading , terbakar segera sebelum plugin tidak dimuat atau dimuat ulang melalui penghapusan, deaktivasi, atau pembaruan

Memberikan nilai

Apakah plugin ini saat ini aktif dengan mouse eksklusif.

Negate

Instances
Keamanan Plugin

Menolak bagian yang diberikan dan mengembalikan Operasi Penolakan yang dihasilkan.

Parameter

objects: Instances
Nilai Default: ""

Memberikan nilai

Instances

OpenScript

()
Keamanan Plugin

Digunakan untuk membuka instansi skrip yang diberikan di jendela editor, di studio Roblox, di baris yang diberikan.Jika tidak ada baris yang diberikan sebagai argumen, itu akan default ke 1.

Parameter

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

Memberikan nilai

()

Contoh Kode

The following would open a newly created Script in Workspace, assuming the variable "Plugin" was already declared.

Plugin:OpenScript

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

OpenWikiPage

()
Keamanan Plugin

Membuka jendela bantuan konteks ke halaman wiki yang url terhubung ke.

Parameter

url: string
Nilai Default: ""

Memberikan nilai

()

Contoh Kode

The following, when executed in a plugin, will open the BasePart API page in the context help.

Plugin:OpenWikiPage

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

SaveSelectedToRoblox

()
Keamanan Plugin

Membuka jendela unggahan untuk pilihan saat ini pengguna.


Memberikan nilai

()

SelectRibbonTool

()
Keamanan Plugin

Aktifkan alat Roblox Studio yang ditentukan. Jika alat membuka jendela, parameter posisi menentukan di mana harus ditampilkan di layar.

Catatan:

  • Objek harus dipilih agar ini berfungsi dengan benar.
  • Mengubah bidang skala dari properti position tidak akan memengaruhi popup dialog.

Parameter

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

Memberikan nilai

()

Separate

Instances
Keamanan Plugin

Memisahkan Operasi Union yang diberikan dan mengembalikan bagian yang dihasilkan.

Parameter

objects: Instances
Nilai Default: ""

Memberikan nilai

Instances

SetSetting

()
Keamanan Plugin

Menyimpan nilai tertentu untuk digunakan nanti di bawah unityang diberikan.Nilai akan bertahan bahkan setelah Roblox Studio ditutup.Pengaturan ini disimpan dalam format JSON sebagai peta dengan kunci string.배열 secara otomatis diubah menjadi peta dengan mengubah kunci numerik ke string terlebih dahulu.

Perhatikan bahwa format JSON menetapkan batasan tambahan, termasuk karakter berikut yang dapat merusak file pengaturan:

  • Backslashes ( \ ) dalam kunci atau nilai, khususnya kutipan yang lolos ( \" ).
  • Baris baru ( \n ) di kunci.
  • Kutipan ( " ) dalam kunci.
  • Periode ( . ) dalam kunci.

Panggilan ini bisa gagal diam-diam jika beberapa instansi plugin yang sama aktif membaca dan menulis data.Jika plugin Anda berharap untuk sering menulis ke pengaturan, Anda dapat memeriksa apakah data telah ditulis dengan benar dengan memanggil Plugin:GetSetting().

Parameter

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

Memberikan nilai

()

Contoh Kode

This code sample demonstrates use of the Plugin:GetSetting() and Plugin:SetSetting() functions. They detect if a plugin is running for the first time by setting a key. If the key is true, it prints a "welcome back" message; otherwise it prints a "first run" message and sets the key to true.

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

MulaiDrag memulai tindakan seret menggunakan kamus parameter. Para parameter adalah sebagai berikut:


<th>Jenis</th>
<th>Standar</th>
<th>Deskripsi</th>
</tr>
</thead>
<tbody>
<tr>
<td><b>Pengirim</b></td><td>string</td><td><code>""</code></td>
<td>
Mengidentifikasi sumber tindakan seret ke target jatuh
</td>
</tr>
<tr>
<td><b>Tipe Mime</b></td><td>string</td><td><code>""</code></td>
<td>
Jenis <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME</a> dari <b>Data</b>.
</td>
</tr>
<tr>
<td><b>Data</b></td><td>string</td><td><code>""</code> ></td>
<td>
Informasi tentang actionseret, misalnya apa yang diseret. Harus digunakan oleh target jatuh.
</td>
</tr>
<tr>
<td><b>MouseIcon</b></td><td><code>Datatype.Content</code> ></td><td><code>""</code> ></td>
<td>
Ikon yang digunakan untuk kursor mouse selama seretan. Jika kosong, menggunakan kursor default.
</td>
</tr>
<tr>
<td><b>DragIcon</b></td><td><code>Jenis Data.Konten</code> ></td><td><code>""</code> ></td>
<td>
Gambar untuk ditampilkan di bawah kursor mouse selama seretan. Ini harus mewakili item yang diseret.
</td>
</tr>
<tr>
<td><b>HotSpot</b></td><td><code>Datatype.Vector2</code></td><td><code>Datatype.Vector2.new(0, 0)</code> ></td>
<td>
Offset piksel dari bagian atas kiri di mana kursor harus "tahan" <b>DragIcon</b>.
</td>
</tr>
</tbody>
Nama

Lihat juga:

Parameter

dragData: Dictionary
Nilai Default: ""

Memberikan nilai

()

Contoh Kode

This code sample creates two plugin widget windows: a drag source and a drop target. In the source window, the script creates a TextBox and TextButton to allow the user to begin a plugin drag action. The drop target window will display the MimeType of whatever is dragged into it using a TextLabel. If the MimeType is text/plain, it will display the plain text data instead.

To run this code sample as a plugin, paste it into a Script. Then, right-click the script in the Explorer window and choose "Save as Local Plugin".

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

Menggabungkan bagian yang diberikan dan mengembalikan UnionOperation yang dihasilkan.

Parameter

objects: Instances
Nilai Default: ""

Memberikan nilai

CreateDockWidgetPluginGui

Hasil
Keamanan Plugin

CreateDockWidgetPluginGui membuat baru DockWidgetPluginGui dari yang diberikan DockWidgetPluginGuiInfo .Parameter pertama, pluginGuiId , harus menjadi string unik dan konsisten.Ini digunakan untuk menyimpan status dok pada widget dan rincian internal lainnya.

Parameter

pluginGuiId: string

Pengenal unik dan konsisten yang digunakan untuk menyimpan status dok dok widget dan rincian internal lainnya.

Nilai Default: ""
dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo

Menggambarkan DockWidgetPluginGui untuk membuat (status awal, ukuran, dll).

Nilai Default: ""

Memberikan nilai

Contoh Kode

This code, when ran inside a Plugin, creates a DockWidgetPluginGui with a simple TextButton.

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

Fungsi ini meminta pengguna untuk membuka file animasi .fbx yang dapat dimuat ke rigModel , kemudian melanjutkan untuk menyisipkan animasi sebagai KeyframeSequence di Workspace .

Parameter

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

Memberikan nilai

ImportFbxRig

Hasil
Keamanan Plugin

Meminta pengguna untuk membuka file .fbx, mengunggah komponen individu model sebagai meshes, dan menghasilkan karakter rig untuk digunakan dalam animasi, yang dimuat ke dalam Workspace .

Parameter

isR15: boolean
Nilai Default: true

Memberikan nilai

PromptForExistingAssetId

Hasil
Keamanan Plugin

Membuka jendela di Roblox Studio, yang meminta pengguna untuk memilih aset berdasarkan assetType yang ditentukan.Kembalikan asetId yang dipilih, atau -1 jika jendela ditutup.

Parameter

assetType: string
Nilai Default: ""

Memberikan nilai

PromptSaveSelection

Hasil
Keamanan Plugin

Meminta pengguna untuk menyimpan pilihan saat ini dengan nama file yang ditentukan. Kembalikan benar jika pengguna menyimpan file.

Parameter

suggestedFileName: string
Nilai Default: ""

Memberikan nilai

Acara

Deactivation

Keamanan Plugin

Dipecat ketika Plugin dinonaktifkan.Ini terjadi ketika kode plugin memanggil Plugin:Deactivate() , atau karena beberapa plugin lain dipanggil Plugin:Activate() , yang memaksa semua plugin lain kehilangan status aktif mereka.

Lihat juga:

  • Plugin.Unloading , terbakar segera sebelum plugin tidak dimuat atau dimuat ulang melalui penghapusan, deaktivasi, atau pembaruan

Unloading

Keamanan Plugin

Peristiwa ini terbakar segera sebelum Plugin berhenti berjalan.Plugin tidak dimuat saat dinonaktifkan, dihapus, akan diperbarui, atau saat tempat ditutup.

Ini memungkinkan plugin untuk membersihkan setelah dirinya sendiri sebelum skripnya berhenti berjalan, misalnyauntuk menghapus instansi yang tidak perlu dari DataModel .Jika plugin tidak dibersihkan dengan benar, salinan lama akan tetap ada.Ketika ini terjadi, pengguna mungkin dipaksa untuk menutup dan membuka kembali tempat yang merupakan pengalaman pengguna buruk.

Instansi terkait plugin seperti PluginToolbarButtons , DockWidgetPluginGuis , dan PluginGuis dihapus secara otomatis saat plugin dihapus sehingga tidak perlu menghapusnya.