Wtyczka plugin to rozszerzenie, które dodaje dodatkowe funkcje lub możliwości do Studio. Możesz zainstalować wtyczki stworzone przez społeczność z Creator Store lub możesz stworzyć i opublikować własne do Skrzynki narzędziowej, aby używać ich we wszystkich swoich doświadczeniach.
Jeśli zdecydujesz się również na dystrybucję swoich wtyczek w Creator Store, możesz je zaoferować za darmo lub sprzedać za dolar amerykański. Roblox oferuje wiodącą na rynku stawkę dochodów z tych sprzedaży, ponieważ tylko podatki i opłaty za przetwarzanie płatności są odliczane. Aby uzyskać więcej informacji na temat sprzedaży wtyczek, zobacz Creator Store - Dystrybucja i sprzedaż zasobów.
Tworzenie nowych wtyczek
Możesz stworzyć własne wtyczki, aby poprawić swój workflow w Studio. Poniższy przykładowy kod to wtyczka o nazwie AddEmptyScript, która wstawia pusty Script jako dziecko Instance lub w ServerScriptService. Kolejne sekcje wyjaśniają główne części tworzenia tej wtyczki.
Na początek powinieneś włączyć Plugin Debugging Enabled w sekcji Studio ustawień Studio. Umożliwi to eksponowanie PluginDebugService w Studio, co zapewnia debugowanie w czasie rzeczywistym dla kodu Twojej wtyczki i ułatwia przeładowanie i zapisanie wtyczki.
Wtyczka AddEmptyScript
local ServerScriptService = game:GetService("ServerScriptService")
local Selection = game:GetService("Selection")
-- Utwórz nową sekcję paska narzędzi i folder menu Wtyczki zatytułowany "Custom"
local toolbar = plugin:CreateToolbar("Custom")
-- Dodaj przycisk paska narzędzi zatytułowany "Pusty Skrypt"
local newScriptButton = toolbar:CreateButton("Pusty Skrypt", "Utwórz pusty skrypt", "rbxassetid://14978048121")
-- Umożliw przyciskowi klikanie nawet jeśli widok 3D jest ukryty
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)
Zapisz skrypt wtyczki
Aby stworzyć wtyczkę, najpierw utwórz Script i zapisz go lokalnie.
Wstaw nowy Script do ServerStorage i zmień jego nazwę na AddEmptyScript.

Skopiuj i wklej kod Wtyczki AddEmptyScript powyżej do nowego skryptu.
Z nowym skryptem wybranym w oknie Eksploratora, wybierz Zapisz jako lokalną wtyczkę z menu Wtyczki w Studio.
W oknie popup kliknij Zapisz, aby wstawić skrypt wtyczki do lokalnego folderu Wtyczki instalacji Studio.
Wtyczka powinna pojawić się w PluginDebugService i rozpocząć działanie.
- WAŻNEUsuń oryginalny skrypt w ServerStorage i pracuj z wtyczką AddEmptyScript w PluginDebugService, w przeciwnym razie możesz zakończyć, wprowadzając zmiany w niewłaściwym skrypcie.

Dodaj przycisk paska narzędzi
Aby dodać przycisk do swojej wtyczki na karcie Wtyczki paska narzędzi Studio, użyj metod Plugin:CreateToolbar() i PluginToolbar:CreateButton(). W kodzie dla AddEmptyScript, linia 5 tworzy nową sekcję w pasku narzędzi i folderze menu Wtyczki zatytułowany Custom, podczas gdy linia 8 tworzy przycisk zatytułowany Pusty Skrypt.

Wykonaj kod po kliknięciu
Aby wtyczka wykonała kod po kliknięciu przycisku na pasku narzędzi, połącz funkcję z zdarzeniem PluginToolbarButton.Click przycisku. W kodzie dla AddEmptyScript funkcja łącząca to onPluginButtonClicked().
Sprawdź wybór użytkownika
Aby zmodyfikować działanie wtyczki w zależności od tego, co użytkownik wybrał, użyj usługi Selection. Funkcja onPluginButtonClicked() sprawdza, czy użytkownik ma coś wybranego i tworzy nowy skrypt jako jego dziecko zamiast w ServerScriptService. Jeśli użytkownik nie ma nic wybranego, nowy skrypt jest tworzony w ServerScriptService.

Obsługa cofania i ponawiania
Użyj ChangeHistoryService, aby umożliwić użytkownikom cofanie i ponawianie zmian wprowadzonych przez wtyczkę w ramach doświadczenia. W swoim skrypcie ustaw wtyczkę, aby wywołała TryBeginRecording() i przechowaj identyfikator przypisany do wywołania API przed wprowadzeniem zmian. Następnie ustaw wtyczkę, aby wywołała FinishRecording() po wprowadzeniu zmian, aby zarejestrować wszystkie zmiany dokonane podczas sesji nagrywania, aby mogły być cofnięte i ponowione.
Poniższy przykład kodu tworzy wtyczkę, która może zastosować materiał neonowy do wybranych części. Używa ChangeHistoryService, aby nagrywać i zarządzać zmianami dokonanymi przez wtyczkę:
Przykład Wtyczki Materiału z Nagrywaniem dla Cofania i Ponawiania
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Utwórz przykładową wtyczkę
local toolbar = plugin:CreateToolbar("Przykładowa Wtyczka")
local button = toolbar:CreateButton("Neon it up", "", "")
-- Połącz funkcję z zdarzeniem kliknięcia
button.Click:Connect(function()
-- Spróbuj rozpocząć nagrywanie z określonym identyfikatorem
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- Sprawdź, czy nagrywanie zostało pomyślnie zainicjowane
if not recording then
-- Oznacza to, że Twoja wtyczka rozpoczęła wcześniejsze nagrywanie i nigdy go nie zakończyła
-- Możesz mieć aktywne tylko jedno nagrywanie na wtyczkę w danym czasie
return
end
-- Iteruj przez wybrane instancje
for _, instance in Selection:Get() do
-- Sprawdź, czy instancja jest BasePart
if instance:IsA("BasePart") then
instance.Material = Enum.Material.Neon -- Ustaw materiał części na Neon
end
end
-- Zakończ nagrywanie, zatwierdzając zmiany do historii
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)
Prześlij wtyczki
Po zakończeniu tworzenia wtyczki możesz ją przesłać do swojej inwentarza, aby była dostępna we wszystkich Twoich projektach.
Aby przesłać wtyczkę:
W oknie Eksploratora wybierz skrypt wtyczki.
Przejdź do menu Wtyczki w Studio, a następnie wybierz Opublikuj jako Wtyczkę.
- OPCJONALNEW lewym górnym rogu okna konfiguracji zasobu kliknij na domyślny obraz puzzla, aby przesłać miniaturę o rozmiarze 512×512 dla swojej wtyczki.
Wypełnij następujące pola:
- Nazwa — Tytuł dla Twojej wtyczki.
- Opis — Opis, który wyjaśnia, co użytkownik może oczekiwać od wtyczki.
- Twórca — Twórca lub grupa, której chcesz przypisać autorstwo wtyczki.
Kliknij przycisk Prześlij. Twoja wtyczka jest teraz dostępna w Skrzynce narzędziowej w zakładkach Inwentarz i Tworzenia.
Dystrybucja i sprzedaż wtyczek
Możesz publicznie dystrybuować i sprzedawać swoje wtyczki w Creator Store, aby inni mogli z nich korzystać w swoim rozwoju gier. Ta metoda monetyzacji pozwala Ci zarabiać 100% netto na transakcjach, omijając opłaty platformowe i stawki DevEx. Aby uzyskać więcej informacji na ten temat, w tym jak założyć konto sprzedawcy, aby ustawić ceny i otrzymywać wypłaty, zobacz Creator Store - Wymagania.