Studio-Plugins

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Ein Plugin ist eine Erweiterung, die zusätzliche Funktionen oder Features zu Studio hinzufügt. Sie können Community-Plugins installieren aus dem Creator Store oder Sie können Ihre eigenen erstellen und veröffentlichen, um sie im Toolbox in Ihren Spielen zu verwenden.

Wenn Sie sich entscheiden, Ihre Plugins auch im Creator Store zu vertreiben, können Sie sie entweder kostenlos anbieten oder für US-Dollar verkaufen. Roblox bietet eine marktführende Umsatzbeteiligung für diese Verkäufe, da nur Steuern und Zahlungsabwicklungsgebühren abgezogen werden. Weitere Informationen zum Verkauf von Plugins finden Sie unter Creator Store - Vermarkten und verkaufen von Assets.

Neue Plugins erstellen

Sie können Ihre eigenen Plugins erstellen, um Ihren Arbeitsablauf in Studio zu verbessern. Das folgende Codebeispiel ist ein Plugin namens AddEmptyScript, das ein leeres Script als Kind eines Instance oder in ServerScriptService einfügt. Die folgenden Abschnitte erklären die wichtigsten Teile zur Erstellung dieses Plugins.

Um zu beginnen, sollten Sie Plugin-Debugging aktiviert im Studio-Bereich der Studio-Einstellungen aktivieren. Dadurch wird der PluginDebugService in Studio freigegeben, der Echtzeit-Debugging für den Code Ihres Plugins bietet und es einfacher macht, Ihr Plugin neu zu laden und zu speichern.

AddEmptyScript Plugin
local ServerScriptService = game:GetService("ServerScriptService")
local Selection = game:GetService("Selection")
-- Erstellen Sie einen neuen Toolbar-Bereich und einen Plugins-Menüordner mit dem Titel "Custom"
local toolbar = plugin:CreateToolbar("Custom")
-- Fügen Sie eine Toolbar-Schaltfläche mit der Bezeichnung "Leeres Skript" hinzu
local newScriptButton = toolbar:CreateButton("Leeres Skript", "Erstellen Sie ein leeres Skript", "rbxassetid://14978048121")
-- Machen Sie die Schaltfläche klickbar, auch wenn die 3D-Ansicht verborgen ist
newScriptButton.ClickableWhenViewportHidden = true
local function onPluginButtonClicked()
local selectedObjects = Selection:Get()
local parent = selectedObjects[1] or ServerScriptService
local newScript = Instance.new("Script")
newScript.Source = ""
newScript.Parent = parent
end
newScriptButton.Click:Connect(onPluginButtonClicked)

Plugin-Skript speichern

Um ein Plugin zu erstellen, erstellen Sie zunächst ein Script und speichern es lokal.

  1. Fügen Sie ein neues Script in ServerStorage ein und benennen Sie es in AddEmptyScript um.

  2. Kopieren Sie den obenstehenden AddEmptyScript Plugin-Code in das neue Skript.

  3. Wählen Sie das neue Skript im Explorer-Fenster aus und wählen Sie Als lokales Plugin speichern aus dem Plugins-Menü von Studio.

  4. Klicken Sie im Popup-Fenster auf Speichern, um das Plugin-Skript in Ihren lokalen Plugins-Ordner der Studio-Installation einzufügen.

  5. Das Plugin sollte im PluginDebugService erscheinen und zu laufen beginnen.

  6. WICHTIG
    Löschen Sie das ursprüngliche Skript in ServerStorage und arbeiten Sie mit dem AddEmptyScript-Plugin im PluginDebugService, andernfalls könnten Sie Änderungen am falschen Skript vornehmen.

Schaltfläche zur Symbolleiste hinzufügen

Um eine Schaltfläche für Ihr Plugin im Plugins-Tab der Studio-Symbolleiste hinzuzufügen, verwenden Sie die Methoden Plugin:CreateToolbar() und PluginToolbar:CreateButton(). Im Code für AddEmptyScript erstellt Zeile 5 einen neuen Abschnitt in der Symbolleiste und einen Plugins-Menüordner mit dem Titel Custom, während Zeile 8 eine Schaltfläche mit der Bezeichnung Leeres Skript erstellt.

Neue Plugin-Schaltfläche zur Symbolleiste in Studio hinzugefügt

Code bei Klick ausführen

Um das Plugin dazu zu bringen, Code auszuführen, wenn ein Benutzer auf die Schaltfläche in der Symbolleiste klickt, verbinden Sie eine Funktion mit dem PluginToolbarButton.Click-Ereignis. Im Code für AddEmptyScript ist die verbindende Funktion onPluginButtonClicked().

Benutzerauswahl überprüfen

Um das Verhalten eines Plugins basierend auf der Auswahl des Benutzers zu ändern, verwenden Sie den Selection-Dienst. Die Funktion onPluginButtonClicked() überprüft, ob der Benutzer etwas ausgewählt hat, und erstellt das neue Skript als Kind davon, anstatt es in ServerScriptService zu erstellen. Wenn der Benutzer nichts ausgewählt hat, wird das neue Skript in ServerScriptService erstellt.

Rückgängig und Wiederherstellen unterstützen

Verwenden Sie ChangeHistoryService, um Benutzern zu ermöglichen, Änderungen, die von einem Plugin innerhalb eines Spiels vorgenommen wurden, rückgängig zu machen und wiederherzustellen. In Ihrem Skript setzen Sie das Plugin so, dass es ChangeHistoryService:TryBeginRecording() aufruft und die Kennung speichert, die dem API-Aufruf zugewiesen ist, bevor Änderungen vorgenommen werden. Rufen Sie dann ChangeHistoryService:FinishRecording() auf, nachdem Änderungen vorgenommen wurden, damit alle während der Aufzeichnungssitzung vorgenommenen Änderungen für Rückgängig und Wiederherstellen erfasst werden.

Das folgende Codebeispiel erstellt ein Beispiel-Plugin, das das Neon-Material auf ausgewählte Teile anwenden kann. Es verwendet ChangeHistoryService, um die durch das Plugin vorgenommenen Änderungen aufzuzeichnen und zu verwalten:

Beispielmaterial-Plugin mit Aufzeichnungen für Rückgängig und Wiederherstellen
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Erstellen Sie ein Beispiel-Plugin
local toolbar = plugin:CreateToolbar("Beispiel-Plugin")
local button = toolbar:CreateButton("Neon aktivieren", "", "")
-- Verbinden Sie eine Funktion mit dem Klickereignis
button.Click:Connect(function()
-- Versuchen Sie, eine Aufzeichnung mit einer bestimmten Kennung zu beginnen
local recording = ChangeHistoryService:TryBeginRecording("Auswahl auf Neon setzen")
-- Überprüfen Sie, ob die Aufzeichnung erfolgreich initiiert wurde
if not recording then
-- Dies zeigt an, dass Ihr Plugin eine vorherige Aufzeichnung begonnen hat und diese nie abgeschlossen wurde
-- Sie können pro Plugin nur eine Aufzeichnung aktiv haben
return
end
-- Durchlaufen Sie die ausgewählten Instanzen
for _, instance in Selection:Get() do
-- Überprüfen Sie, ob die Instanz ein BasePart ist
if instance:IsA("BasePart") then
instance.Material = Enum.Material.Neon -- Setzen Sie das Material des Teils auf Neon
end
end
-- Beenden Sie die Aufzeichnung und bestätigen Sie die Änderungen in der Historie
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)

Plugins hochladen

Nachdem Sie ein Plugin erstellt haben, können Sie es in Ihr Inventar hochladen, damit es in all Ihren Projekten zugänglich ist.

Um ein Plugin hochzuladen:

  1. Wählen Sie im Explorer-Fenster ein Plugin-Skript aus.

  2. Navigieren Sie zum Plugins-Menü von Studio und wählen Sie Als Plugin veröffentlichen.

  3. OPTIONAL
    Klicken Sie in der oberen linken Ecke des Fensters zur Asset-Konfiguration auf das Standard-Puzzlestückbild, um ein 512×512-Bild-Thumbnail für Ihr Plugin hochzuladen.

  4. Füllen Sie die folgenden Felder aus:

    • Name — Ein Titel für Ihr Plugin.
    • Beschreibung — Eine Beschreibung, die erklärt, was ein potenzieller Benutzer von dem Plugin erwarten kann.
    • Ersteller — Der Ersteller oder die Gruppe, die Sie als Ersteller des Plugins angeben möchten.
  5. Klicken Sie auf die Schaltfläche Einreichen. Ihr Plugin ist jetzt für Sie im Toolbox unter den Tabs Inventar und Kreationen verfügbar.

Plugins verteilen und verkaufen

Sie können Ihre eigenen Plugins öffentlich im Creator Store verteilen und verkaufen, damit andere sie in ihrer eigenen Spielentwicklung verwenden können. Diese Monetarisierungsmethode ermöglicht es Ihnen, 100 % der Nettoprovisionen aus Transaktionen zu verdienen, indem Sie Plattformgebühren und DevEx-Raten umgehen. Weitere Informationen zu diesem Prozess, einschließlich der Einrichtung eines Verkäuferkontos zur Festlegung von Preisen und zum Erhalt von Auszahlungen, finden Sie unter Creator Store - Vermarkten und verkaufen von Assets.

©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.