إضافات ستوديو

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

أ الإضافة هي امتداد يضيف ميزات أو وظائف إضافية إلى ستوديو. يمكنك تثبيت الإضافات التي أنشأها المجتمع من متجر المبدعين، أو يمكنك إنشاء و نشر إضافاتك الخاصة إلى صندوق الأدوات لاستخدامها عبر تجاربك.

إذا اخترت أيضًا توزيع إضافاتك في متجر المبدعين، يمكنك إما تقديمها مجانًا أو بيعها مقابل الدولارات الأمريكية. تقدم Roblox حصة دخل رائدة في السوق لهذه المبيعات، حيث يتم خصم الضرائب ومصاريف معالجة الدفع فقط. لمزيد من المعلومات حول بيع الإضافات، انظر متجر المبدعين - توزيع وبيع الأصول.

إنشاء إضافات جديدة

يمكنك إنشاء إضافاتك الخاصة لتحسين سير عملك في ستوديو. نموذج الشيفرة التالي هو إضافة تسمى AddEmptyScript التي تقوم بإدراج سكريبت فارغ Script كطفل لـ Instance أو في ServerScriptService. تشرح الأقسام التالية الأجزاء الرئيسية لإنشاء هذه الإضافة.

للبدء، يجب عليك تمكين تمكين تصحيح الإضافات في قسم ستوديو من إعدادات ستوديو. سيؤدي ذلك إلى إظهار PluginDebugService في ستوديو والذي يوفر تصحيحًا في الوقت الحقيقي لشيفرة الإضافة الخاصة بك ويجعل من الأسهل إعادة تحميل وحفظ الإضافة الخاصة بك.

AddEmptyScript Plugin

local ServerScriptService = game:GetService("ServerScriptService")
local Selection = game:GetService("Selection")
-- إنشاء قسم شريط أدوات جديد ومجلد قائمة الإضافات بعنوان "مخصص"
local toolbar = plugin:CreateToolbar("مخصص")
-- إضافة زر شريط أدوات بعنوان "سكريبت فارغ"
local newScriptButton = toolbar:CreateButton("سكريبت فارغ", "إنشاء سكريبت فارغ", "rbxassetid://14978048121")
-- جعل الزر قابلاً للنقر حتى لو كانت واجهة العرض ثلاثية الأبعاد مخفية
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)

حفظ سكريبت الإضافة

لإنشاء إضافة، قم أولاً بإنشاء Script واحفظه محليًا.

  1. أدخل Script جديد داخل ServerStorage وأعد تسميته إلى AddEmptyScript.

  2. انسخ والصق شيفرة AddEmptyScript Plugin أعلاه في السكريبت الجديد.

  3. مع تحديد السكريبت الجديد في نافذة المستكشف، اختر حفظ كإضافة محلية من قائمة الإضافات في ستوديو.

  4. في نافذة المنبثقة، انقر على حفظ لإدراج سكريبت الإضافة في مجلد الإضافات المحلي الخاصة بتثبيت ستوديو.

  5. يجب أن تظهر الإضافة في PluginDebugService وتبدأ في العمل.

  6. هام
    احذف السكريبت الأصلي في ServerStorage واعمل من إضافة AddEmptyScript داخل PluginDebugService، وإلا فقد تقوم بتطبيق التغييرات على السكريبت الخطأ.

إضافة زر شريط أدوات

لإضافة زر لإضافتك إلى علامة تبويب الإضافات في شريط أدوات ستوديو، استخدم الدوال Plugin:CreateToolbar() و PluginToolbar:CreateButton(). في شيفرة AddEmptyScript، تقوم السطر 5 بإنشاء قسم جديد في شريط الأدوات ومجلد قائمة الإضافات بعنوان مخصص، بينما السطر 8 ينشئ زرًا بعنوان سكريبت فارغ.

زر إضافة جديد تمت إضافته إلى شريط الأدوات في ستوديو

تنفيذ الشيفرة عند النقر

لجعل الإضافة تنفذ الشيفرة عندما ينقر المستخدم على زر شريط الأدوات، اربط دالة بحدث PluginToolbarButton.Click للزر. في شيفرة AddEmptyScript، الدالة المرتبطة هي onPluginButtonClicked().

التحقق من اختيار المستخدم

لتعديل سلوك الإضافة بناءً على ما اختاره المستخدم، استخدم خدمة Selection. تتأكد الدالة onPluginButtonClicked() إذا كان لدى المستخدم أي شيء محدد وتقوم بإنشاء السكريبت الجديد كطفل له بدلاً من داخل ServerScriptService. إذا لم يكن لدى المستخدم أي شيء محدد، تقوم بإنشاء السكريبت الجديد في ServerScriptService.

دعم التراجع والإعادة

استخدم ChangeHistoryService للسماح للمستخدمين بالتراجع وإعادة التغييرات التي قامت بها الإضافة ضمن تجربة. في سكريبتك، قم بتعيين الإضافة لاستدعاء TryBeginRecording() وتخزين المعرف المعين لاستدعاء API قبل إجراء التغييرات. بعد ذلك، قم بتعيين الإضافة لاستدعاء FinishRecording() بعد إجراء التغييرات، بحيث يتم التقاط أي تغييرات حدثت خلال جلسة التسجيل للتراجع والإعادة.

تقوم شيفرة المثال التالية بإنشاء إضافة مثال يمكنها تطبيق مادة النيون على الأجزاء المحددة. تستخدم ChangeHistoryService لتسجيل وإدارة التغييرات التي تحدثها الإضافة:

مثال على إضافة مادة مع تسجيلات للتراجع والإعادة

local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- إنشاء إضافة مثال
local toolbar = plugin:CreateToolbar("إضافة مثال")
local button = toolbar:CreateButton("اجعلها نيون", "", "")
-- ربط دالة بحدث النقر
button.Click:Connect(function()
-- حاول بدء تسجيل بمعرف محدد
local recording = ChangeHistoryService:TryBeginRecording("حدد الاختيار ليكون نيون")
-- تحقق مما إذا تم بدء التسجيل بنجاح
if not recording then
-- يشير هذا إلى أن الإضافة الخاصة بك بدأت تسجيلًا سابقًا ولم تكمله أبدًا
-- قد يكون لديك تسجيل واحدة فقط لكل إضافة نشطة في وقت واحد
return
end
-- التكرار عبر المثيلات المحددة
for _, instance in Selection:Get() do
-- تحقق مما إذا كانت المثيل عبارة عن BasePart
if instance:IsA("BasePart") then
instance.Material = Enum.Material.Neon -- تعيين مادة الجزء إلى نيون
end
end
-- انتهي من التسجيل، مما يلتزم بالتغييرات في السجل
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)

رفع الإضافات

بعد الانتهاء من إنشاء إضافة، يمكنك رفعها إلى مخزونك بحيث يمكن الوصول إليها عبر جميع مشاريعك.

لرفع إضافة:

  1. في نافذة المستكشف، حدد سكريبت إضافة.

  2. انتقل إلى قائمة الإضافات في ستوديو، ثم اختر نشر كإضافة.

  3. اختياري
    في الزاوية العلوية اليسرى من نافذة تكوين الأصل، انقر على الصورة الافتراضية على شكل قطعة اللغز لرفع صورة مصغرة بابعاد 512×512 لإضافتك.

  4. املأ الحقول التالية:

    • الاسم — عنوان لإضافتك.
    • الوصف — وصف يوضح ما يمكن أن يتوقعه المستخدم المحتمل من الإضافة.
    • المنشئ — المنشئ أو المجموعة التي ترغب في نسبها كمنشئ للإضافة.
  5. انقر على زر إرسال. أصبحت الإضافة الآن متاحة لك في صندوق الأدوات تحت علامات التبويب المخزون و الإنشاءات.

توزيع وبيع الإضافات

يمكنك توزيع وبيع إضافاتك الخاصة علنًا في متجر المبدعين لتمكين الآخرين من استخدامها في تطوير ألعابهم. تتيح لك هذه الطريقة لتحقيق الدخل كسب 100% من العائدات الصافية من المعاملات، متجاوزةً رسوم المنصة ومعدلات DevEx. لمزيد من المعلومات حول هذه العملية، بما في ذلك كيفية إعداد حساب بائع لتحديد الأسعار وتلقي المدفوعات، انظر متجر المبدعين - المتطلبات.

©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.