रोब्लॉक्स स्टूडियो प्लगइन डेवलपमेंट: DockWidget UI, टूल्स और क्रिएटर स्टोर से कमाई

DopaBrain गेम देव लैब • अपडेट: सितंबर 2026 • पढ़ने का समय: 9 मिनट

डेवलपर व मानसिक टूल्स

रोब्लॉक्स में केवल गेम्स बनाना ही कमाई का एकमात्र जरिया नहीं है। कई होशियार डेवलपर्स साथी डेवलपर्स के लिए स्टूडियो प्लगइन्स बनाकर सीधे डॉलर (USD) और रोबक्स में बहुत अच्छी कमाई कर रहे हैं।

स्टूडियो प्लगइन बनाने के लिए खास APIs की जरूरत होती है: DockWidgetPluginGui से स्टूडियो में फ्लोटिंग पैनल बनाना, ChangeHistoryService से अनडू (Ctrl+Z) को सुरक्षित रखना और Selection API से पार्ट्स को बदलना। यह गाइड पूरी प्रक्रिया सिखाती है।

1. स्टूडियो प्लगइन की बनावट और अनुमतियां

प्लगइन रोब्लॉक्स स्टूडियो में विशेष अधिकारों के साथ चलते हैं:

2. DockWidgetPluginGui से पैनल UI बनाना

स्टूडियो की थीम के साथ मैच करने वाले फ्लोटिंग पैनल्स:

3. ChangeHistoryService से सुरक्षित Undo/Redo

नए प्लगइन डेवलपर्स की सबसे बड़ी गलती अनडू सिस्टम खराब करना है:

4. पूरा प्लगइन कोड: पार्ट ऑप्टिमाइजर टूल

एक चलता हुआ प्लगइन कोड जो चुने हुए पार्ट्स को ऑप्टिमाइज़ करता है:

स्टूडियो प्लगइन पूरा कोड (Toolbar & DockWidget)
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 = "चयनित पार्ट्स ऑप्टिमाइज़ करें"
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)

कैसे काम करता है: ऊपर टूलबार में बटन बनाता है, फ्लोटिंग विंडो खोलता है और बटन दबाने पर पार्ट्स की परछाइयां बंद करके अनडू वेपॉइंट दर्ज करता है।

5. क्रिएटर स्टोर पर प्लगइन बेचना और कमाई

अपने प्लगइन को मोनेटाइज करने के तरीके:

अपनी समस्या सुलझाने की क्षमता की जांच करें

टूल डेवलपमेंट में शांत और स्पष्ट सोच की जरूरत होती है। हमारे मुफ्त टूल्स से अपनी सोचने की शैली पहचानें।

फ्री ब्रेन टाइप टेस्ट लें

अक्सर पूछे जाने वाले प्रश्न (रोब्लॉक्स प्लगइन डेवलपमेंट)

क्या प्लगइन को बिना पब्लिश किए टेस्ट कर सकते हैं?

हाँ, फाइल को स्टूडियो के लोकल प्लगइन्स फोल्डर में डालने से वह तुरंत चलने लगता है।

क्या प्लगइन्स को असली पैसों में बेच सकते हैं?

हाँ, रोब्लॉक्स क्रिएटर स्टोर पर सत्यापित डेवलपर्स डॉलर में दाम तय कर सकते हैं।

ChangeHistoryService जरूरी क्यों है?

ताकि डेवलपर अगर चाहे तो Ctrl+Z दबाकर प्लगइन के काम को सुरक्षित रूप से वापस कर सके।

डार्क और लाइट थीम कैसे सपोर्ट करें?

settings().Studio.Theme:GetColor() का इस्तेमाल करके सिस्टम रंग प्राप्त करें।