Bir plugin Studio'ya ekstra özellikler veya işlevler ekleyen bir uzantıdır.Yaratıcı Mağazadan topluluk tarafından oluşturulmuş pluginleri yükleyebilirsiniz, veya kendi deneyimleriniz boyunca kullanmak için oluşturabilir ve yayınlayabilir kendi Araç Kutusu 'a.
Eğer yazılımlarınızı Yaratıcı Mağazaya dağıtmayı seçerseniz, onları ücretsiz olarak sunabilir veya Birleşik Devletler Doları (minimum fiyat 4,99 $) için satabilirsiniz.Roblox, bu satışlar için pazar lideri bir gelir payı sunuyor, çünkü sadece vergi ve ödeme işlem ücretleri düşürülüyor.Eklentilerin satışı hakkında daha fazla bilgi için, Yaratıcı Mağazada satış yapma bakın.
Yeni eklentiler oluştur
Studio'daki çalışma akışınızı geliştirmek için kendi pluginlerinizi oluşturabilirsiniz.Aşağıdaki kod örneği, boş bir scripti nesnenin çocu veya ServerScriptService içine yerleştiren bir eklenti olan EmptyScriptAdder adlı bir eklentidir.Aşağıdaki bölümler, bu eklentiyi oluşturmak için önemli parçaları açıklar.
Başlamak için, Studio'nun ayarlarının Studio bölümünde Eklenti Deparmanı Etkinleştirildi özelliğini etkinleştirmelisiniz.Bu, Studio'da bulunan PluginDebugService kod için gerçek zamanlı depuraj sağlayan ve eklenti'inizi yeniden yüklemeyi ve kaydetmeyi kolaylaştıran çözümü ortaya çıkaracaktır.
EmptyScriptAdder Eklentisi
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Özel Araçlar başlıklı yeni bir araç çubuğu bölümü oluştur "Özel Kod Araçları"
local toolbar = plugin:CreateToolbar("Custom Script Tools")
-- Boş bir senaryo oluşturma adında bir araç çubuğu ekleyin "Create Empty Script"
local newScriptButton = toolbar:CreateButton("Create Empty Script", "Create an empty script", "rbxassetid://14978048121")
-- 3B görüntü penceresi gizli olsa bile düğmeye tıklanabilir hale getirin
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)
Eklenti senaryolarını kaydet
Plugins, senaryolardan başlar.Bir eklenti oluşturmak için, bir Script oluşturun ve bir Gezgini kullanarak eklenti olarak kaydedin.Örneğin, BoşScriptAdder Eklentisi oluşturmak için:
Yeni bir içine ekleyin ve adını EmptyScriptAdder olarak değiştirin.
Boş EmptyScriptAdder Eklentisi kodunu yeni scriptin içine kopyalayın ve yapıştırın.
Gezgini penceresinde, kodu sağ tıklayın ve Yerel Plugin olarak kaydet seçin.
Açılır pencerede, Kaydet düğmesine tıklayarak Studio yüklemesinin yerel Plugins klasörüne plugin kodunu ekleyin.
Eklenti PluginDebugService 'de görünmeli ve çalışmaya başlamalıdır.
Değişiklikleri yeniden yükle ve kaydet
İçinde ile, eklentiyi sağ tıklayarak kolayca güncelleyebilir ve ardından konteks menüsünden Eklentiyi Kaydet ve Yeniden Yükle seçerek seçebilirsiniz.Eğer sadece eklentiyi yeniden yüklemek istiyorsanız, örneğin kırılma noktasını kullanarak bir kod bölümünden geçerek kodu kaydetmeden eklentiyi yeniden yükle, alternatif olarak Eklentiyi Yeniden Yükle seçebilirsiniz.
Alet çubuğu düğmeleri ekleyin
Eklentiler için düğme eklemek için Studio arayüz çubuğunun Eklentiler sekmesine, Plugin:CreateToolbar() ve PluginToolbar:CreateButton() yöntemlerini kullanın. EmptyScriptAdder kodunda, 5. satır araç çubuğunda yeni bir bölüm oluşturur ve 8. satır Özel Script Araçları adlı yeni bir düğme oluşturur ve 17. satır Boş Senaryo Oluştur düğmesini oluşturur.

Tıklamada kodu çalıştırın
Kullanıcı bir araç çubuğu düğmesine tıkladığında eklenti kodunu çalıştırmak için, bir fonksiyonu düğmenin PluginToolbarButton.Click etkinliğine bağlayın. EmptyScriptAdder kodunda, bağlantı işlevi onNewScriptButtonClicked() dir.
Kullanıcı seçimini kontrol et
Kullanıcının seçtiği şeye dayanarak bir eklentidavranışını değiştirmek için, Selection servisini kullanın.The onNewScriptButtonClicked() fonksiyonu kullanıcının herhangi bir şey seçip seçmediğini kontrol eder ve yeni kodu çocuk olarak ServerScriptService içerisinde değil yerine yaratır.Kullanıcının seçilmiş bir şeyi yoksa, yeni senaryoyu ServerScriptService 'de oluşturur.

Geri alma ve yeniden yapma desteği
Bir deneyim içinde bir plugin tarafından yapılan değişiklikleri geri almak ve yeniden yapmak için ChangeHistoryService kullanın.Senaryonuzda, eklentiyi ChangeHistoryService:TryBeginRecording() çağırması ve değişiklik yapmadan önce API çağrısına atanan tanımlayıcıyı saklaması için eklentiyi ayarlayın.Sonra, değişiklikler yapıldıktan sonra ChangeHistoryService:FinishRecording() arayan bir eklenti ayarlayın, böylece kayıt seansı sırasında yapılan herhangi bir değişikliği geri almak ve yeniden yapmak için yakalar.
Aşağıdaki kod örneği, seçili parçalara neon malzemesini uygulayabilen bir örnek plugin oluşturur.eklentitarafından yapılan değişiklikleri kaydetmek ve yönetmek için ChangeHistoryService kullanır:
Geri Al ve Yeniden Yap için Kayıtlı Örnek Malzeme Eklentisi
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Bir örnek eklentioluştur
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
-- Bir işlevi tıklama olayına bağla
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
-- Yapılacak bir şey yok.
return
end
-- Belirli bir tanımlayıcı ile kayıt başlatmayı deneyin
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- Kaydın başarıyla başlatıldığını kontrol et
if not recording then
-- Burada hata ele alın. Bu, eklentinizin önceki bir süreç başlattığını gösterir
-- kaydetmek ve asla bitirmek. Sadece bir kayıt olabilir
-- tek seferde aktif olan eklenti başına.
return
end
-- Seçilen parçalar arasında dolaşın
for _, part in parts do
part.Material = Enum.Material.Neon -- Parçanın malzemesini Neona ayarla
end
-- Kaydı bitir ve değişiklikleri tarihe gönder
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)
Eklentileri yükle, dağıt ve para kazan
modeller , örgüler , resimler ve animasyonlar ile birlikte, onları Araç Çubuğu 'dan yeniden kullanılmasını kolaylaştırmak için Roblox'a eklentiler dağıtabilirsiniz.Onları Yaratıcı Mağazası 'da tüm diğer yaratıcılara halka açık hale getirmeyi veya kendi kullanımınız için özel olarak dağıtmayı seçebilirsiniz.Eklentinizi genel olarak dağıtmayı seçerseniz, başka yaratıcılara satmak için bir fiyat belirleyebilirsiniz.
Bir eklenti dağıtmak için:
Gezgini penceresinde, bir eklenti kodunu sağ tıklayın, ardından konteks menüsünden Eklenti olarak yayınla seçin.
(Opsiyonel) Varlık yapılandırma penceresinin üst sol köşesinde, 512×512 görüntüsünü yükletmek için görüntüye tıklayın.
Aşağıdaki alanları doldurun:
- İsim : Plugininiz için bir başlık.
- Açıklama : Potansiyel bir kullanıcının pluginin yapması gerekenleri tanımlayan bir açıklama.
- Yaratıcı : eklentiyaratıcısı olarak atfetmek istediğiniz yaratıcı.
Gönder düğmesine tıklayın.Eklentiniz artık Envanter ve Yaratımlar sekmelerinde Araç Çantası 'nda kullanılabilir durumda.
Dağıtımı yapılandırmak için Yaratıcı Panosu'na bağlantıyı tıklayın .