الظهور مع الأصدقاء

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

يمكن أن يكون من الصعب العثور على الأصدقاء في التجربة. وحدة SpawnWithFriends للمطورين تقوم تلقائيًا بنقل اللاعبين الذين يظهرون بالقرب من أحد الأصدقاء الموجودين في التجربة. يمكن أيضًا تكوين هذه الوحدة لنقل اللاعب عند الطلب بدلاً من تلقائيًا.

استخدام الوحدة

التثبيت

لاستخدام وحدة SpawnWithFriends في تجربة:

  1. من قائمة Window في الاستوديو أو شريط أدوات Home، افتح Toolbox واختر علامة Creator Store.

  2. تأكد من تحديد فرز Models، ثم انقر على زر See All لــ Categories.

  3. ابحث وانقر على بلاطة Packages.

  4. ابحث عن وحدة الظهور مع الأصدقاء وانقر عليها، أو اسحبها وأفلتها في العرض ثلاثي الأبعاد.

  5. في نافذة Explorer، انقل نموذج SpawnWithFriends بالكامل إلى ReplicatedStorage. عند تشغيل التجربة، ستبدأ الوحدة في العمل.

مناطق الظهور المحظورة

قد تؤدي هذه الوحدة إلى ظهور اللاعبين في مناطق محظورة مثل غرف VIP، ومساحات الوصول فقط، وما إلى ذلك. لمنع اللاعبين من الانتقال إلى هذه المناطق:

  1. املأ المنطقة المحظورة بلوكات غير مرئية من نوع Anchored. تأكد من أن CanCollide، CanTouch، و CanQuery مُعطلة لجميع الكتل.

    كتلة تملأ الغرفة بالكامل لمنع اللاعبين من الظهور داخلها
  2. باستخدام قسم Tags في خصائص كل كتلة، قم بتطبيق الوسم RestrictedSpawnArea حتى يتمكن CollectionService من اكتشافها.

  3. الصق الشيفرة التالية في Script داخل ServerScriptService.

    Script

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- Iteration through all tagged parts
    for _, area in CollectionService:GetTagged("RestrictedSpawnArea") do
    local relativePosition = area.CFrame:PointToObjectSpace(teleportationPoint.Position)
    local size = area.Size
    local inXBounds = relativePosition.X < size.X / 2 and relativePosition.X > -size.X / 2
    local inZBounds = relativePosition.Z < size.Z / 2 and relativePosition.Z > -size.Z / 2
    if inXBounds and inZBounds then
    return false -- الوجهة محظورة؛ إلغاء النقل
    end
    end
    return true -- الوجهة غير محظورة؛ متابعة النقل
    end
    SpawnWithFriends.setTeleportationValidator(validator)

مرجع واجهة برمجة التطبيقات

الدوال

configure

configure(config: table)

يتجاوز خيارات التكوين الافتراضية من خلال المفاتيح/القيم التالية في جدول config. يمكن استدعاء هذه الدالة فقط من Script.

المفتاحالوصفالافتراضي
teleportToFriendOnRespawnإذا تم تعيينها على false، سيتم النقل إلى صديق فقط يدويًا من خلال teleportToRandomFriend.true
teleportDistanceكم يجب أن يكون اللاعبون بعيدين عن بعضهم البعض عند الظهور، يقاس بالدرجات.5
maxCharacterVelocityالشخصيات التي تتحرك بسرعة أكبر من هذه القيمة لن تُختار كمرشحين للنقل، على سبيل المثال أولئك في المركبات المتحركة.48
bypassFriendshipCheckإذا تم تعيينها على true، سيكون جميع اللاعبين مرشحين للنقل، وليس فقط الأصدقاء.false
showLogsما إذا كان يجب عرض رسائل التسجيل في الإخراج.false
Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
SpawnWithFriends.configure({
teleportToFriendOnRespawn = true,
teleportDistance = 5,
maxCharacterVelocity = 48,
bypassFriendshipCheck = false,
showLogs = false
})

teleportToRandomFriend

teleportToRandomFriend(playerToTeleport: Player): boolean

يؤدي ظهور نقل يدوي للاعب إلى أحد أصدقائه في التجربة. تعيد قيمة منطقية تشير ما إذا كان النقل قد نجح أم لا؛ قد يكون فشل النقل بسبب عدم وجود أصدقاء في الخادم أو عدم القدرة على العثور على نقطة نقل غير محجوزة. يمكن استدعاء هذه الدالة فقط من Script.

setTeleportationValidator

setTeleportationValidator(validator: function)

يسمح لك بإجراء فحوصات ما قبل النقل مخصصة عن طريق ربط دالة مراجع التحقق. تستقبل الدالة ثلاثة معلمات:

المعلمةالوصف
playerToTeleportمرجع إلى Player الذي يتم نقله.
destinationPlayerمرجع إلى Player المستهدف الذي يتم نقل playerToTeleport إليه.
teleportationPointCFrame حيث يتم نقل playerToTeleport إليه.

يمكن استخدام هذه الدالة ومراجعها فقط في Script وتعيد الدالة قيمة منطقية تشير ما إذا كان ينبغي متابعة النقل أم لا. على سبيل المثال، تضمن المنطق return في دالة التحقق التالية أن اللاعب الذي يظهر واللاعب المستهدف على نفس الفريق.

Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
-- ينقل اللاعبين فقط إذا كانوا على نفس الفريق
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.