Wtyczka 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 utworzyć i opublikować własne wtyczki do Toolbox, aby używać ich w swoich grach.
Jeśli zdecydujesz się również dystrybuować swoje wtyczki w Creator Store, możesz je oferować za darmo lub sprzedawać za dolar amerykański. Roblox oferuje wiodący w branży podział przychodó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 przepływ pracy w Studio. Poniższy przykład kodu to wtyczka o nazwie AddEmptyScript, która wstawia pusty Script jako dziecko Instance lub w ServerScriptService. Poniższe sekcje wyjaśniają główne części tworzenia tej wtyczki.
Aby rozpocząć, powinieneś włączyć Plugin Debugging Enabled w sekcji Studio ustawień Studio. To ujawni PluginDebugService w Studio, co zapewnia debugowanie w czasie rzeczywistym dla kodu twojej wtyczki i ułatwia ponowne ładowanie i zapisywanie wtyczki.
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 oznaczony "Pusty skrypt"
local newScriptButton = toolbar:CreateButton("Pusty skrypt", "Utwórz pusty skrypt", "rbxassetid://14978048121")
-- Umożliw kliknięcie przycisku, 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 Explorer, 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 zacząć działać.
- WAŻNEUsuń oryginalny skrypt w ServerStorage i pracuj z wtyczką AddEmptyScript wewnątrz PluginDebugService, w przeciwnym razie możesz zakończyć stosowanie zmian do niewłaściwego skryptu.

Dodaj przycisk paska narzędzi
Aby dodać przycisk dla swojej wtyczki do zakładki 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łowanym Custom, podczas gdy linia 8 tworzy przycisk oznaczony Pusty skrypt.

Wykonaj kod po kliknięciu
Aby wtyczka wykonała kod, gdy użytkownik kliknie przycisk paska narzędzi, połącz funkcję z zdarzeniem PluginToolbarButton.Click przycisku. W kodzie dla AddEmptyScript, funkcją łączącą jest onPluginButtonClicked().
Sprawdź wybór użytkownika
Aby zmodyfikować zachowanie 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 wewnątrz ServerScriptService. Jeśli użytkownik nie ma nic wybranego, tworzy nowy skrypt w ServerScriptService.

Obsługuje cofanie i ponawianie
Użyj ChangeHistoryService, aby umożliwić użytkownikom cofanie i ponawianie zmian dokonanych przez wtyczkę w grze. W swoim skrypcie ustaw wtyczkę, aby wywołała TryBeginRecording() i zapisz identyfikator przypisany do wywołania API przed dokonaniem zmian. Następnie ustaw wtyczkę, aby wywołała FinishRecording() po dokonaniu zmian, aby zarejestrować wszelkie zmiany dokonane podczas sesji nagrywania do cofania i ponawiania.
Poniższy przykład kodu tworzy przykładową wtyczkę, która może zastosować materiał neonowy do wybranych części. Używa ChangeHistoryService, aby rejestrować i zarządzać zmianami dokonanymi przez wtyczkę:
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("Ustaw wybór na neon")
-- Sprawdź, czy nagrywanie zostało pomyślnie zainicjowane
if not recording then
-- To wskazuje, że twoja wtyczka rozpoczęła wcześniejsze nagrywanie i nigdy go nie zakończyła
-- Możesz mieć tylko jedno nagrywanie aktywne 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 w historii
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)Prześlij wtyczki
Po zakończeniu tworzenia wtyczki możesz ją przesłać do swojego inwentarza, aby była dostępna we wszystkich twoich projektach.
Aby przesłać wtyczkę:
W oknie Explorer wybierz skrypt wtyczki.
Przejdź do menu Wtyczki w Studio, a następnie wybierz Opublikuj jako wtyczkę.
- OPCJONALNEW lewym górnym rogu okna konfiguracji zasobów kliknij domyślny obrazek puzzli, aby przesłać miniaturę obrazu 512×512 dla swojej wtyczki.
Wypełnij następujące pola:
- Nazwa — Tytuł dla twojej wtyczki.
- Opis — Opis, który wyjaśnia, czego potencjalny użytkownik może się spodziewać po wtyczce.
- Twórca — Twórca lub grupa, którą chcesz przypisać jako twórcę wtyczki.
Kliknij przycisk Wyślij. Twoja wtyczka jest teraz dostępna w Toolbox w zakładkach Inwentarz i Tworzenia.
Dystrybucja i sprzedaż wtyczek
Możesz publicznie dystrybuować i sprzedawać własne wtyczki w Creator Store, aby inni mogli z nich korzystać w swoim rozwoju gier. Ta metoda monetyzacji pozwala ci zarobić 100% zysków netto z transakcji, 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 ustalać ceny i otrzymywać wypłaty, zobacz Creator Store - Wymagania.