الخدمات

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

في إعادة استخدام الكود، قد تكون قد لاحظت الاستخدام المتكرر لطريقة game:GetService(). تتيح لك خدمات Roblox الوصول إلى الميزات المدمجة في المحرك، مثل بيع العناصر داخل اللعبة، وتمكين الدردشة، وتشغيل الأصوات، وتحريك الكائنات، وإدارة الحالات.

في الواقع، تعتبر الخدمات الخطوة الأولى في أكثر الأنماط الأساسية والشائعة لتطوير Roblox:

  1. الحصول على الخدمات.
  2. مطالبة سكربتات الوحدة.
  3. إضافة وظائف محلية.
  4. إضافة الأحداث التي تؤدي إلى تشغيل تلك الوظائف.

على سبيل المثال، قد ترغب في حفظ مواقع اللاعبين في العالم عندما يخرجون من لعبتك:


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- دالة محلية تستدعي دالة قابلة لإعادة الاستخدام في سكربت الوحدة.
local function saveProgress(character)
-- احصل على موقع شخصية اللاعب.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- استخدم وظيفة saveData في سكربت الوحدة، التي تكتب إلى
-- DataStoreService.
SaveManager.saveData(character, position)
end
-- دالة محلية أخرى تستدعي saveProgress() عند إزالة شخصية
-- من اللعبة (في هذه الحالة، عندما يغادر اللاعب).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- تستدعي onPlayerAdded عندما يتصل لاعب لأول مرة باللعبة.
Players.PlayerAdded:Connect(onPlayerAdded)

بعض التفاصيل الرئيسية تشمل:

  • لأنه يجب عليك استرداد الخدمة مرة واحدة فقط لكل سكربت، فإن التقليد هو إعطاء المتغير نفس اسم الخدمة. هذا التقليد ينطبق أيضًا على سكربتات الوحدة.
  • تسترد الخدمات باستخدام المتغير العالمي game، وهو مرجع لجذر نموذج البيانات.
  • لا تضمن Roblox ترتيب التحميل (و تدفق الحالات يعقد الأمور حول ما هو محمل وما ليس محملاً في أي وقت)، لذا فإن استخدام Instance:WaitForChild() هو تدبير أمان مهم.

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

خدمات الحاويات

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

ServiceDescription
Workspaceيحتوي على جميع الكائنات التي يتم عرضها في العالم ثلاثي الأبعاد، مثل الأجزاء والتضاريس.
Lightingيحتوي على كائنات لإعداد تأثيرات الإضاءة العالمية، مثل Atmosphere و Sky.
ReplicatedStorage و ReplicatedFirstيحتويان على المحتوى والمنطق الذي يتكرر بين الخادم والعميل.

لمزيد من تحليل نموذج البيانات، يمكنك استخدام هذه الطرق:

  • game:FindService() يبحث عن مثيل الخدمة المحددة.
  • game:GetChildren() يعيد مصفوفة بجميع الأطفال الجذرية لنموذج البيانات، وهي الخدمات الحاوية على المستوى العلوي.
  • game:GetDescendants() تعود بمصفوفة بجميع السلالات لنموذج البيانات، بما في ذلك جميع خدمات الحاويات وأطفالها.

للحصول على مزيد من المعلومات حول خدمات الحاويات، راجع وثائق نموذج البيانات.

خدمات البرمجة

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

ServiceDescription
TweenServiceتستخدم لتInterpolating الخصائص الرقمية لكائنات أخرى من قيمة بداية إلى نهاية، مع خيارات لتوجيه وتنسيق التخفيف، والتكرار، والتأخير.
MarketplaceServiceالخدمة المسؤولة عن المعاملات داخل اللعبة، مثل مطالبة اللاعب بشراء منتج مطور، أو اشتراك، أو تذكرة، أو Roblox Premium، إلخ.
RunServiceيحتوي على طرق وأحداث لإدارة الوقت إطارًا بإطار، وكذلك للتحقق من السياق (الخادم، العميل، وضع Studio) الذي تعمل فيه اللعبة. مفيد لتشغيل أي عملية أو تحديث في كل إطار وقت التشغيل.
SoundServiceيتحكم في جوانب عدة عالمية لكيفية تشغيل الصوت في اللعبة، مثل مقياس دوبلر والصوت الحجمي. يمكن أيضًا أن يحتوي على مجموعات صوتية للتحكم في مستوى الصوت وخصائص التأثيرات الديناميكية لعدة إشارات صوتية في آن واحد.
CollectionServiceيدير مجموعات (تجميعات) من الكائنات مع العلامات التي تتكرر من الخادم إلى العميل، مما يتيح لك العمل بشكل أسهل مع مجموعات من الكائنات ذات الصلة.

الخدمات السحابية

تحتوي Roblox أيضًا على خدمات سحابية خاصة للتعامل مع المهام والعمليات التي تحدث في سحابة Roblox. الجدول التالي يتضمن بعض خدمات السحابة الشائعة.

ServiceDescription
DataStoreServiceلتخزين البيانات المستمرة عبر الجلسات.
MemoryStoreServiceلتخزين البيانات المتكررة والزائلة التي تتغير بسرعة.
MessagingServiceللتواصل بين عدة خوادم خلال الجلسات المباشرة.

تحتوي الخدمات السحابية أيضًا على واجهات برمجة التطبيقات المقابلة؛ يمكن الوصول إليها من سكربتات أو أدوات خارجية. لمزيد من المعلومات، راجع Open Cloud.

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