Plugin

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Brak możliwości tworzenia

Plugin jest głównym obiektem odpowiedzialnym za tworzenie podstawowych widgetów Studio, paseków narzędzi, przycisków pluginów i więcej.Jest to niestandardowy dodatek do Studio, który dodaje nowe zachowania i funkcje, które zwykle nie są włączone.Obiekt Plugin można uzyskać za pośrednictwem globalnego odniesienia plugin w Script, który jest wykonywany jako dodatek plug-in.

Przykłady kodu

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

Podsumowanie

Właściwości

Metody

Zdarzenia

Właściwości

CollisionEnabled

Tylko do odczytu
Bez replikacji
Odczyt równoległy

Zwraca, czy użytkownik włączył Collisions w Studio w zakładce Model.

DisableUIDragDetectorDrags

Zabezpieczenia skryptów Roblox
Odczyt równoległy

GridSize

Tylko do odczytu
Bez replikacji
Odczyt równoległy

Zwraca rozmiar przesuwania siatki, który użytkownik ustawił w Studio w zakładkach Model lub Awatar pod paskiem narzędzi.Zauważ, że ta właściwość może mieć niewielkie błędy zaokrąglenia; na przykład może to być 0.0099999997764826 dla ustawienia użytkownika 1 lub 0.4000000059604645 dla ustawienia użytkownika 0.4.

IsDebuggable

Zabezpieczenia skryptów Roblox
Odczyt równoległy

Metody

Activate

()
Zabezpieczenia dodatku plug-in

Funkcja ta ustawia stan wzywanego pluginu na aktywny. Aktywacja pluginu umożliwia kontrolę myszy za pomocą metody Plugin:GetMouse().

W dowolnym momencie istnieje 0 lub 1 aktywowanych pluginów.Aktywacja wtyczki dezaktywuje wszystkie inne wtyczki (otrzymają wydarzenie Plugin.Deactivation).

Zobacz także:

  • Plugin:IsActivatedWithExclusiveMouse() , zwraca prawdę, jeśli ten plugin jest obecnie aktywny z ekskluzywną myszką, po aktywacji za pomocą tej funkcji
  • Plugin.Unloading , zapala się natychmiast przed rozładowaniem lub ponownym załadowaniem wtyczki za pomocą dezaktywacji, dezaktywacji lub aktualizacji

Parametry

exclusiveMouse: boolean

Boolean określający, czy aktywować plugin za pomocą ekskluzywnej myszy. Jeśli jest prawda, PluginMouse można odzyskać za pomocą Plugin:GetMouse() .

Wartość domyślna: ""

Zwroty

()

CreatePluginAction

Zabezpieczenia dodatku plug-in

Funkcja ta tworzy PluginAction, który jest obiektem reprezentującym ogólną wykonalną akcję w Roblox Studio, bezpośrednio nie powiązaną z Toolbar lub Enum.Button.W Roblox Studio mogą one otrzymać skrót klawiszowy pod File → Advanced → Customize Shortcuts…, a także mogą być dodane do paska narzędzi Szybkiego dostępu.

Gdy akcja jest uruchamiana, sygnalizowane jest wydarzenie PluginAction.Triggered.

Aby akcje pluginów działały zgodnie z oczekiwaniami, muszą być tworzone za pomocą tej funkcji.

Zobacz także:

  • PluginMenu , menu kontekstowe, które można wyświetlić w Studio, które wyświetla listę akcji pluginów i wspiera podmenu
  • Plugin:CreatePluginMenu() , tworzy menu pluginów

Parametry

actionId: string

Musi być unikalną struną, która identyfikuje tę akcję pluginów od innych.

Wartość domyślna: ""
text: string

Wyświetlana nazwa akcji.

Wartość domyślna: ""
statusTip: string

Wyświetlana opis akcji.

Wartość domyślna: ""
iconName: string

Nazwa ikony używanej do wyświetlania dodatek plug-in.

Wartość domyślna: ""
allowBinding: boolean

Czy PluginAction zostanie ukryte z widoku skrótów Studio. Przydatne do działań kontekstowych. Domyślnie ustawione na prawdę.

Wartość domyślna: true

Zwroty

Przykłady kodu

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

Zabezpieczenia dodatku plug-in

Funkcja ta tworzy nowe PluginMenu, które jest menu kontekstowym, które można wyświetlić w Studio i wyświetla listę PluginActions oraz wspiera podmenu.

Aby menu pluginów działało tak, jak oczekiwano, muszą one zostać utworzone za pomocą tej funkcji.

Zobacz także:

Parametry

id: string

Unikalny identyfikator dla menu.

Wartość domyślna: ""
title: string

Tekst, który będzie wyświetlony, gdy używany jest jako podmenu.

Wartość domyślna: ""
icon: string

Ikona, która będzie wyświetlana, gdy używana jako podmenu.

Wartość domyślna: ""

Zwroty

Przykłady kodu

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

Zabezpieczenia dodatku plug-in

Funkcja tworzenia paska narzędzi tworzy nowy PluginToolbar z podaną nazwą. Pasek narzędzi może następnie być używany do tworzenia przycisków pluginów.

Parametry

name: string

Widoczny tekst na pasku narzędzi, etykietujący grupę przycisków znajdującą się w środku.

Wartość domyślna: ""

Zwroty

Przykłady kodu

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

Plugin:CreateToolbar

plugin:CreateToolbar("ExampleToolbar")

Deactivate

()
Zabezpieczenia dodatku plug-in

Dezaktywuje dodatek plug-in. Spowoduje to odłączenie powiązanego PluginMouse, jeśli został aktywowany

Zobacz także:

  • Plugin:Activate() , ustawia stan wtyczki wezwania na aktywny
  • Plugin.Deactivation , wypala się, gdy wtyczka jest wyłączona
  • Plugin.Unloading , zapala się natychmiast przed rozładowaniem lub ponownym załadowaniem wtyczki za pomocą dezaktywacji, dezaktywacji lub aktualizacji

Zwroty

()
Zabezpieczenia dodatku plug-in

Zwraca Enum.JointCreationMode użytkownik ustawił w Studio w zakładce Model.


Zwroty

GetMouse

Zabezpieczenia dodatku plug-in

Zdobądź mysz zwraca PluginMouse, które można używać, gdy wtyczka jest aktywna poprzez Plugin:Activate() .


Zwroty

Przykłady kodu

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

Zabezpieczenia dodatku plug-in

GetSelectedRibbonTool zwraca obecnie wybrane Enum.RibbonTool .Zwraca Enum, które odpowiada konkretnemu narzędziu.Wynikiem tego będzie to, czy narzędzie zostało wybrane ręcznie lub programowo za pomocą Plugin:SelectRibbonTool() .


Zwroty

Przykłady kodu

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
Zabezpieczenia dodatku plug-in

Zwraca wcześniej zapisany wartość z podanym kluczem, lub nil jeśli podany klucz nie istnieje.

Ponieważ wiele instancji tego samego pluginu może działać jednocześnie (na przykład, jeśli wiele okien Studio jest otwartych), nie powinieneś polegać na tym, że ta wartość pozostaje taka sama z czasem.Inne instancje pluginów mogą aktualizować ustawienie w dowolnym momencie.

Wezwanie to może cicho zawieść i zwrócić nil, jeśli wiele instancji tego samego pluginu aktywnie odczytuje i zapisuje dane.Jeśli twój plugin oczekuje pisania do ustawień często, powinieneś sprawdzić dwukrotnie zwróconą wartość z tego wezwania po krótkim czasie, aby odróżnić ustawienie tymczasowo niedostępne od ustawienia niewystępującego.

Parametry

key: string
Wartość domyślna: ""

Zwroty

Variant

Przykłady kodu

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

Zabezpieczenia dodatku plug-in

Parametry

objects: Instances
Wartość domyślna: ""

Zwroty

IsActivated

Zabezpieczenia dodatku plug-in

Funkcja ta zwraca prawdę, jeśli ten plugin jest obecnie aktywny, po aktywacji za pomocą funkcji Plugin:Activate().


Zwroty

Boolean wskazujący, czy wtyczka jest obecnie aktywna.

IsActivatedWithExclusiveMouse

Zabezpieczenia dodatku plug-in

Funkcja ta zwraca prawdę, jeśli ten plugin jest obecnie aktywny z ekskluzywną myszką, po aktywacji za pomocą funkcji Plugin:Activate().Jeśli to zwraca prawdę, PluginMouse można odzyskać za pomocą Plugin:GetMouse() .

Zobacz także:

  • Plugin.Deactivation , wypala się, gdy wtyczka jest wyłączona
  • Plugin.Unloading , zapala się natychmiast przed rozładowaniem lub ponownym załadowaniem wtyczki za pomocą dezaktywacji, dezaktywacji lub aktualizacji

Zwroty

Czy ten plugin jest obecnie aktywny z ekskluzywną myszką.

Negate

Instances
Zabezpieczenia dodatku plug-in

Odrzuca podane części i zwraca wynikowe operacje zaprzeczania.

Parametry

objects: Instances
Wartość domyślna: ""

Zwroty

Instances

OpenScript

()
Zabezpieczenia dodatku plug-in

Używany do otwierania danego przykładu skryptu w oknie edytora, w Roblox Studio, na danej linii.Jeśli nie zostanie podana linia jako argument, domyślnie zostanie ustawiona na 1.

Parametry

Wartość domyślna: ""
lineNumber: number
Wartość domyślna: 1

Zwroty

()

Przykłady kodu

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

()
Zabezpieczenia dodatku plug-in

Otwiera okno pomocy kontekstowej na stronę wiki, do której łączy się url.

Parametry

url: string
Wartość domyślna: ""

Zwroty

()

Przykłady kodu

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

()
Zabezpieczenia dodatku plug-in

Otwiera okno przesyłania dla obecnego wyboru użytkownika.


Zwroty

()

SelectRibbonTool

()
Zabezpieczenia dodatku plug-in

Aktywuje określone narzędzie Roblox Studio. Jeśli narzędzie otwiera okno, parametr pozycji określa, gdzie powinno być wyświetlone na ekranie.

Uwaga:

  • Musi zostać wybrany obiekt, aby to działało poprawnie.
  • Zmiana pól skali właściwości position nie wpłynie na okienka dialogowe.

Parametry

Wartość domyślna: ""
position: UDim2
Wartość domyślna: ""

Zwroty

()

Separate

Instances
Zabezpieczenia dodatku plug-in

Rozdziela podane operacje związane z unią i zwraca uzyskane części.

Parametry

objects: Instances
Wartość domyślna: ""

Zwroty

Instances

SetSetting

()
Zabezpieczenia dodatku plug-in

Przechowuje określoną wartość na późniejsze użycie pod danym kluczem.Wartość będzie istnieć nawet po zamknięciu Roblox Studio.Te ustawienia są zapisywane w formacie JSON jako mapa z kluczami ciągów.Matryce są automatycznie konwertowane na mapy, konwertując najpierw klucze liczbowe na struny.

Zauważ, że format JSON narzuca dodatkowe ograniczenia, w tym następujące znaki, które mogą zniszczyć plik ustawień:

  • Wsteczki ( \ ) w kluczach lub wartościach, w szczególności uciekłe cytaty ( \" ).
  • Nowe linie ( \n ) w kluczach.
  • Cytaty ( " ) w kluczach.
  • Okresy ( . ) w kluczach.

Wezwanie to może cicho zawieść, jeśli wiele instancji tego samego pluginu aktywnie odczytuje i zapisuje dane.Jeśli twój plugin oczekuje pisania do ustawień często, możesz sprawdzić, czy dane zostały poprawnie napisane, wywołując Plugin:GetSetting() .

Parametry

key: string
Wartość domyślna: ""
value: Variant
Wartość domyślna: ""

Zwroty

()

Przykłady kodu

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

()
Zabezpieczenia dodatku plug-in

Rozpoczęcie przeciągania inicjuje akcję przeciągania za pomocą słownika parametrów. Parametry są następujące:


<th>Typ</th>
<th>Domyślny</th>
<th>Opis</th>
</tr>
</thead>
<tbody>
<tr>
<td><b>Nadawca</b></td><td>ciąg</td><td><code>""</code></td>
<td>
Określa źródło akcji przeciągania do celu upuszczenia
</td>
</tr>
<tr>
<td><b>Typ mime</b></td><td>strunę</td><td><code>""</code></td>
<td>
Typ <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME</a> rodzaju <b>danych</b>.
</td>
</tr>
<tr>
<td><b>Dane</b></td><td>struny</td><td><code>""</code> ></td>
<td>
Informacje o akcji przeciągania, na przykład o tym, co jest przeciągane. Powinny być używane przez cel upuszczenia.
</td>
</tr>
<tr>
<td><b>Ikona myszy</b></td><td><code>Typ danych.Content</code> ></td><td><code>""</code> ></td>
<td>
Ikona, którą należy używać dla kurora myszy podczas przeciągania. Jeśli jest pusta, używa domyślnego kurora.
</td>
</tr>
<tr>
<td><b>Przeciągnij ikonę</b></td><td><code>Typ danych.Content</code> ></td><td><code>""</code> ></td>
<td>
Obraz do renderowania pod kursorem myszy podczas przeciągania. Powinien reprezentować przedmiot, który jest przeciągany.
</td>
</tr>
<tr>
<td><b>Punkt gorący</b></td><td><code>Typ danych.Vector2</code></td><td><code>Typ danych.Vector2.new(0, 0)</code></td>
<td>
Odległość piksela od lewej góry, gdzie kurser powinien "przytrzymać" <b>ikonę przeciągania</b>.
</td>
</tr>
</tbody>
Nazwa

Zobacz także:

Parametry

dragData: Dictionary
Wartość domyślna: ""

Zwroty

()

Przykłady kodu

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)
Zabezpieczenia dodatku plug-in

Połącza podane części i zwraca wynikową operację związku.

Parametry

objects: Instances
Wartość domyślna: ""

Zwroty

CreateDockWidgetPluginGui

Wynik
Zabezpieczenia dodatku plug-in

CreateDockWidgetPluginGui tworzy nowy DockWidgetPluginGui z podanego DockWidgetPluginGuiInfo.Pierwszy parametr, pluginGuiId, powinien być unikalną i spójną ciąg.Służy do zapisywania stanu docka widgetu i innych wewnętrznych szczegółów.

Parametry

pluginGuiId: string

Unikalny i spójny identyfikator używany do przechowywania stanu dokowania widgetu i innych wewnętrznych szczegółów.

Wartość domyślna: ""
dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo

Opisuje DockWidgetPluginGui tworzenie (pierwotny stan, rozmiar itp.).

Wartość domyślna: ""

Zwroty

Przykłady kodu

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

Wynik
Zabezpieczenia dodatku plug-in

Funkcja ta wymaga od użytkownika otwarcia pliku animacji .fbx, który można załadować na rigModel, a następnie dokonuje wstawienia animacji jako KeyframeSequence w Workspace.

Parametry

rigModel: Instance
Wartość domyślna: ""
isR15: boolean
Wartość domyślna: true

Zwroty

ImportFbxRig

Wynik
Zabezpieczenia dodatku plug-in

Wymaga od użytkownika otwarcia pliku .fbx, przesyła poszczególne komponenty modelu jako siatki i generuje postać do użycia w animacja, która jest wczytywana w Workspace.

Parametry

isR15: boolean
Wartość domyślna: true

Zwroty

PromptForExistingAssetId

Wynik
Zabezpieczenia dodatku plug-in

Otwiera okno w Roblox Studio, które wymaga od użytkownika wyboru zasobu na podstawie określonego assetType.Zwraca, jaki ID aktywa został wybrany, lub -1, jeśli okno zostało zamknięte.

Parametry

assetType: string
Wartość domyślna: ""

Zwroty

PromptSaveSelection

Wynik
Zabezpieczenia dodatku plug-in

Wymaga od użytkownika zapisanie obecnego wyboru za pomocą określonej nazwy pliku. Powraca prawdą, jeśli użytkownik zapisał plik.

Parametry

suggestedFileName: string
Wartość domyślna: ""

Zwroty

Zdarzenia

Deactivation

Zabezpieczenia dodatku plug-in

Wystrzeliwany, gdy Plugin jest wyłączony.Występuje to, gdy kod pluginów wezwie Plugin:Deactivate() lub dlatego, że jakiś inny plugin nazwał Plugin:Activate(), który zmusza wszystkie inne pluginy do utraty aktywnego stanu.

Zobacz także:

  • Plugin.Unloading , zapala się natychmiast przed rozładowaniem lub ponownym załadowaniem wtyczki za pomocą dezaktywacji, dezaktywacji lub aktualizacji

Unloading

Zabezpieczenia dodatku plug-in

To wydarzenie uruchamia się natychmiast przed tym, jak Plugin przestanie działać.Wtyczki są rozładowane, gdy są wyłączone, usuwane, mają zostać zaktualizowane lub gdy miejsce się zamyka.

Umożliwia pluginowi sprzątanie po sobie, zanim jego skrypty przestaną działać, np.aby usunąć niepotrzebne instancje z DataModel.Jeśli wtyczka nie zostanie prawidłowo wyczyszczona, pozostaną stare kopie.Kiedy to się zdarza, użytkownicy mogą zostać zmuszeni do zamknięcia i ponownego otwarcia miejsca, które jest złym doświadczeniem użytkownika.

Instancje związane z wtyczkami, takie jak PluginToolbarButtons , DockWidgetPluginGuis i PluginGuis są automatycznie czyszczone, gdy wtyczka jest rozładowywana, więc nie ma potrzeby ich usuwania.