Çoğu geliştirici sadece oyuncular için deneyim üretirken, vizyoner geliştiriciler diğer yapımcılara yönelik eklentiler (Studio Plugins) tasarlayarak Roblox Creator Store üzerinden gerçek dolar (USD) ve Robux kazanmaktadır.
Kullanışlı bir Studio eklentisi yapmak için özel API'leri bilmek gerekir: pencereler için DockWidgetPluginGui, Ctrl+Z geri alma işlemleri için ChangeHistoryService ve seçili parçaları yönetmek için Selection API. Bu rehber tüm adımları öğretir.
1. Eklenti Mimarisi ve Güvenlik İzinleri
Eklentiler Studio içinde özel yetkilerle çalışır:
- Çalışma Ortamı: Studio istemcisinde yerel olarak çalışarak nesneleri ve hiyerarşiyi düzenleme iznine sahiptir.
- Yerel Eklenti Testi: Kodlarınızı
%localappdata%\Roblox\Pluginsklasörüne kaydederek anında deneyebilirsiniz. - Güvenlik İzinleri: Dış HTTP istekleri için kullanıcıdan onay penceresiyle izin alınmalıdır.
2. DockWidgetPluginGui ile Yerleşik Panel Tasarımı
Studio pencerelerine tam oturan paneller tasarlamak:
- Pencere Ayarları: Başlangıç konumunu (sol, sağ, serbest) ve minimum boyutları belirleyin.
- Tema Uyumu:
settings().Studio.Themeile açık ve koyu tema renklerine dinamik olarak uyum sağlayın. - Esnek Arayüz: UIListLayout ile panel boyutu değiştiğinde butonların bozulmasını önleyin.
3. ChangeHistoryService ile Güvenli Geri Alma (Undo)
Amatör eklentilerin en büyük hatası kullanıcının Ctrl+Z geçmişini bozmasıdır:
- Waypoint Ekleme: Değişiklik yaptıktan hemen sonra
ChangeHistoryService:SetWaypoint()çağırın. - Tek Adımda Geri Alma: İşlemleri gruplayarak tek bir Ctrl+Z ile eski haline dönebilmesini sağlayın.
- Seçim Servisi: Sadece seçilen parçaları işlemek için
Selection:Get()kullanın.
4. Eksiksiz Eklenti Kodu: Toplu Parça İyileştirici
Araç çubuğu butonu, pencere ve model optimizasyonu yapan çalışan script:
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Optimization Tools")
local button = toolbar:CreateButton("Optimizer", "Open Batch Part Optimizer", "rbxassetid://4458901886")
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float,
false, false, 260, 180, 200, 140
)
local widget = plugin:CreateDockWidgetPluginGui("BatchOptimizerGui", widgetInfo)
widget.Title = "Mesh Optimizer"
local btnOptimize = Instance.new("TextButton")
btnOptimize.Size = UDim2.new(1, -20, 0, 44)
btnOptimize.Position = UDim2.new(0, 10, 0, 10)
btnOptimize.Text = "Secili Parcalari Iyilestir"
btnOptimize.BackgroundColor3 = Color3.fromRGB(16, 185, 129)
btnOptimize.TextColor3 = Color3.fromRGB(255, 255, 255)
btnOptimize.Parent = widget
button.Click:Connect(function()
widget.Enabled = not widget.Enabled
end)
btnOptimize.MouseButton1Click:Connect(function()
local selected = Selection:Get()
local count = 0
for _, obj in ipairs(selected) do
if obj:IsA("BasePart") then
obj.CastShadow = false
if obj:IsA("MeshPart") then
obj.CollisionFidelity = Enum.CollisionFidelity.Box
end
count = count + 1
end
end
ChangeHistoryService:SetWaypoint("Optimized " .. count .. " Parts")
end)
Çalışma Mantığı: Üst menüde buton oluşturur, pencere açar ve seçilen modellerin gölgelerini kapatıp çarpışmalarını Box yaparak güvenli geri alma noktası oluşturur.
5. Creator Store'da Dolar ($USD) ile Satış
Eklentinizi küresel pazara sunma rehberi:
- Gerçek Para ile Satış: Creator Store'da $4.99 ile $19.99 arasında fiyat belirleyip doğrudan dolar kazanın.
- Freemium Stratejisi: Güven için ücretsiz basit sürüm, gelişmiş özellikler için ücretli Pro sürüm sunun.
- DevForum Tanıtımı: Video demoları eklemek satışları katbekat artırır.
Mühendislik ve Analitik Düşünce Gücünüzü Ölçün
Yazılım araçları tasarlamak derin bir mantıksal odak gerektirir. Ücretsiz testlerimizle zihinsel güçlü yönlerinizi keşfedin.
Ücretsiz Beyin Tipi Testi YapSıkça Sorulan Sorular (Roblox Studio Eklenti Geliştirme)
Eklentiyi yüklemeden bilgisayarımda nasıl test edebilirim?
Dosyayı Studio'nun yerel eklenti klasörüne kaydetmeniz yeterlidir; eklenti anında çalışacaktır.
Eklentiler gerçek para (dolar) karşılığı satılabilir mi?
Evet, kimlik doğrulaması yapmış geliştiriciler Creator Store'da dolar ile satış yapabilir.
ChangeHistoryService neden bu kadar önemlidir?
Kullanıcının yaptığı işlemleri Ctrl+Z ile güvenle geri alabilmesini sağlar.
Açık ve koyu temaya arayüz nasıl uyarlanır?
settings().Studio.Theme:GetColor() fonksiyonu ile sistemin resmi renkleri dinamik olarak alınır.