Ein Plugin ist eine Erweiterung, die dem Studio zusätzliche Features oder Funktionen hinzufügt. Du kannst installieren Community-gefertigte Plugins aus dem Creator-Store, oder du kannst erstellen und 2> veröffentlichen2> deine eigenen in der 5>Toolbox5> , um sie in deinen Erlebnissen zu verwenden.
Wenn Sie sich auch dafür entscheiden, Ihre Plugins im Creator-Store zu verteilen, können Sie sie entweder für kostenlos anbieten oder für Vereinigte Staaten-Dollar (der Mindestpreis beträgt 4,99 $) verkaufen. Roblox bietet für diesen Verkauf einen Marktanteil für diese Verkäufe, da nur Steuern und Zahlungsverarbeitungsgebühren abgezogen werden. Weitere Informationen zum Verkauf
Neue Plugins erstellen
Du kannst deine eigenen Plugins erstellen, um deinen Workflow in Studio zu verbessern. Das folgende Codebeispiel ist ein Plugin namens EmptyScriptAdder , das ein leeres Skript als Kind eines Objekts oder in ServerScriptService einfügt. Die folgenden Abschnitte erklären die wichtigsten Teile zum Erstellen dieses Plug-in.
Um zu beginnen, solltest du Plugin-Debugging aktiviert im Studio-Abschnitt der Einstellungen aktivieren. Dies wird das PluginDebugService im Studio anzeigen, das Echtzeit-Debugging für den Code deines Plug-inbereitstellt und es einfacher macht, dein Plug-inneu zu laden und zu speichern.
EmptyScriptAdder-Plugin
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Erstellen Sie einen neuen Toolbar-Bereich mit dem Titel "Benutzerdefinierte Skript-Tools"
local toolbar = plugin:CreateToolbar("Custom Script Tools")
-- Fügen Sie einen Toolbar-Button namens "Leeres Skript erstellen" hinzu
local newScriptButton = toolbar:CreateButton("Create Empty Script", "Create an empty script", "rbxassetid://14978048121")
-- Lassen Sie die Schaltfläche auch klickbar, wenn der 3D-Ansichtsbereich versteckt ist
newScriptButton.ClickableWhenViewportHidden = true
local function onNewScriptButtonClicked()
local selectedObjects = Selection:Get()
local parent = game:GetService("ServerScriptService")
if #selectedObjects > 0 then
parent = selectedObjects[1]
end
local newScript = Instance.new("Script")
newScript.Source = ""
newScript.Parent = parent
ChangeHistoryService:SetWaypoint("Added new empty script")
end
newScriptButton.Click:Connect(onNewScriptButtonClicked)
das Speichern eines Plugin-Skripts
Plugins starten von Skripten. Um ein Plug-inzu erstellen, erstellen Sie ein Script und speichern Sie es als Plugin mit dem Explorer. Zum Beispiel, um das EmptyScriptAdder Plugin zu erstellen:
Fügen Sie einen neuen Script in ServerStorage ein und benennen Sie ihn zu EmptyScriptAdder um.
Kopiere und füge den EmptyScriptAdder Plugin Code in das neue Skript, das. PL: die Skriptsein.
In dem Explorer-Fenster , klicken Sie mit der rechten Maustaste auf das Skript und wählen Sie als lokales Plugin speichern .
In dem Popup-Fenster klicken Sie auf Speichern , um das Plugin-Skript in Ihren lokalen Plugins -Ordner der Studio-Installation einzufügen.
Das Plugin sollte in PluginDebugService erscheinen und beginnen zu laufen.
Änderungen neu laden und speichern
Mit deinem Plugin innerhalb von PluginDebugService kannst du das Plugin leicht aktualisieren, indem du mit der rechten Maustaste darauf klickst und dann Plugin speichern und neu laden aus dem Kontextmenü auswählst. Wenn du das Plugin einfach neu laden möchtest, zum Beispiel um einen Abschnitt des Plug-inmit einem Haltepunkt zu durch
Einen Toolbar-Button hinzufügen
Um der Registerkarte Plugins der Studio-Symbolleiste eine Schaltfläche für Ihr Plugin hinzuzufügen, verwenden Sie die Methoden Plugin:CreateToolbar() und PluginToolbar:CreateButton(). Im Code für 1> EmptyScriptAdder1> erstellt Zeile 5 einen neuen Abschnitt
Executing Code beim Klicken
Damit das Plugin Code ausführt, wenn ein Benutzer auf die Schaltfläche in der Symbolleiste klickt, verbinden Sie eine Funktion mit dem Ereignis PluginToolbarButton.Click der Schaltfläche. Im Code für EmptyScriptAdder ist die Verbindungsfunktion onNewScriptButtonClicked() .
Auswahl des Benutzers überprüfen
Um das Verhalten eines Plug-inbasierend auf dem, was der Benutzer ausgewählt hat, zu modifizieren, verwenden Sie den Selection -Dienst. Die onNewScriptButtonClicked() -Funktion prüft, ob der Benutzer etwas ausgewählt hat, und erstellt das neue Skript als sein Kind anstelle von ServerScriptService. Wenn der
Unterstützung für Rückgängigmachen und Wiederholen
Verwenden Sie ChangeHistoryService, um Benutzern zu ermöglichen, Änderungen, die von einem Plugin innerhalb einer Erlebnisgemacht wurden, rückgängig zu machen und zu wiederholen. In Ihrem Skript, das. PL: die Skriptsstellen Sie das Plugin so ein, dass es ChangeHistoryService:TryBeginRecording() aufruft, und speichern Sie
Das folgende Codebeispiel erstellt ein Beispiel-Plugin, dass das Neon-Material auf ausgewählte Teile anwenden kann. Es verwendet ChangeHistoryService, um die vom Plug-invorgenommenen Änderungen aufzuzeichnen und zu verwalten:
Beispiel-Material-Plugin mit Aufnahmen für Rückgängig und Wiederholen
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Plug-inerstellen
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
-- Verbinden Sie eine Funktion mit dem Klickevent
button.Click:Connect(function()
local parts = {}
for _, part in Selection:Get() do
if part:IsA("BasePart") then
parts[#parts + 1] = part
end
end
if #parts < 1 then
-- Hier gibts nix zu tun.
return
end
-- Versuchen Sie, mit einem bestimmten Identifikator aufzunehmen
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- Überprüfen, ob das Aufzeichnen erfolgreich initiiert wurde
if not recording then
-- Behandeln Sie hier den Fehler. Dies zeigt an, dass Ihr Plugin einen früheren
-- aufgezeichnet und niemals fertiggestellt. Du kannst nur ein Aufnahme haben
-- für jedes plugin aktiviert zu einem zeitpunkt.
return
end
-- Iterate durch die ausgewählten Teile
for _, part in parts do
part.Material = Enum.Material.Neon -- Setzen Sie das Material des Teils auf Neon
end
-- Beende das Aufzeichnung und übertrage die Änderungen in die Geschichte
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)
Plugins hochladen, verteilen und monetarisieren
Wie bei Modellen, Meshes, Bildern und 1>Animationen1>, kannst du Plugins in Roblox verteilen, um sie aus der 4>Toolbox4> leicht wiederverwenden zu können. Du kannst sie allen anderen Schöpfern im 7>Creator-
Um ein Plug-inzu verteilen:
Im Explorer-Fenster , klicken Sie mit der rechten Maustaste auf ein Skript, das. PL: die Skripts, dann wählen Sie Als Plugin veröffentlichen aus dem Kontextmenü.
(Optional) Klicken Sie in der oberen linken Ecke des Asset-Konfigurationsfensters auf das Bild, um ein 512×512-Bild hochzuladen.
Füllen Sie die folgenden Felder aus:
- Name : Ein Titel für dein Plug-in.
- Beschreibung : Eine Beschreibung, die beschreibt, was ein potenzieller Benutzer von dem Plugin erwarten sollte.
- Ersteller : Der Ersteller, den du als Ersteller des Plug-inzuordnen möchtest.
Klicken Sie auf die Einreichen-Schaltfläche. Ihr Plugin ist jetzt in der Inventar-Schaltfläche und Kreationen-Schaltfläche der 2>Toolbox2> verfügbar.
Klicken Sie auf die Schaltfläche zum Creator-Dashboard, um die Verteilung konfigurieren.