สปอนด์กับเพื่อน

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

การหาสมาชิกในประสบการณ์อาจเป็นเรื่องที่ท้าทาย โมดูล SpawnWithFriends โมดูลสำหรับผู้พัฒนา จะย้ายผู้เล่นที่สร้างตัวละครใกล้กับเพื่อนของพวกเขาที่อยู่ในประสบการณ์ โมดูลนี้ยังสามารถตั้งค่าให้โทรจิตผู้เล่นตามคำสั่งแทนการทำงานโดยอัตโนมัติ

การใช้งานโมดูล

การติดตั้ง

เพื่อใช้โมดูล SpawnWithFriends ในประสบการณ์:

  1. จากเมนู Window ใน Studio หรือแถบเครื่องมือ Home ให้เปิด Toolbox และเลือกแท็บ Creator Store.

  2. ตรวจสอบให้แน่ใจว่าการจัดเรียง Models ได้ถูกเลือก จากนั้นคลิกปุ่ม See All สำหรับ Categories.

  3. ค้นหาแล้วคลิกที่ช่อง Packages.

  4. ค้นหาโมดูล Spawn With Friends และคลิกที่มัน หรือดึงและวางมันเข้าสู่การมอง 3 มิติ.

  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)
    -- ทำซ้ำผ่านทุกส่วนที่ติดแท็ก
    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)

เอกสารอ้างอิง API

ฟังก์ชัน

configure

configure(config: table)

แทนที่ตัวเลือกการกำหนดค่าดีฟอลต์ผ่านคีย์/ค่าต่อไปนี้ในตาราง config ฟังก์ชันนี้สามารถเรียกใช้ได้จาก Script เท่านั้น

คีย์คำอธิบายค่าเริ่มต้น
teleportToFriendOnRespawnหากตั้งค่าเป็น false การโทรจิตไปยังเพื่อนจะเกิดขึ้นเฉพาะโดยการใช้ teleportToRandomFriend เท่านั้นtrue
teleportDistanceระยะทางที่ผู้เล่นจะเกิดห่างกัน แสดงเป็น studs5
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

เรียกใช้การโทรจิตของผู้เล่นไปยังหนึ่งในเพื่อนของพวกเขาในประสบการณ์ด้วยตนเอง ส่งกลับค่า boolean ที่บ่งบอกว่าการโทรจิตสำเร็จหรือไม่; ความล้มเหลวในการโทรจิตอาจเกิดจากการไม่มีเพื่อนในเซิร์ฟเวอร์ หรือไม่สามารถหาจุดโทรจิตที่ไม่ถูกกีดขวางได้ ฟังก์ชันนี้สามารถเรียกใช้ได้จาก Script เท่านั้น

setTeleportationValidator

setTeleportationValidator(validator: function)

อนุญาตให้คุณทำการตรวจสอบก่อนโทรจิตตามแบบกำหนดโดยการเชื่อมต่อฟังก์ชันตรวจสอบกับฟังก์ชันย้อนกลับ ฟังก์ชันย้อนกลับจะรับพารามิเตอร์สามตัว:

พารามิเตอร์คำอธิบาย
playerToTeleportอ้างอิงถึง Player ที่กำลังถูกโทรจิต
destinationPlayerอ้างอิงถึง Player เป้าหมายที่ playerToTeleport กำลังถูกโทรจิตไปยัง
teleportationPointCFrame ที่ playerToTeleport กำลังโทรจิตไป

ฟังก์ชันนี้และฟังก์ชันย้อนกลับสามารถใช้ได้เฉพาะใน Script และฟังก์ชันย้อนกลับจะส่งกลับค่า boolean ที่บ่งบอกว่าการโทรจิตควรดำเนินการหรือไม่ ตัวอย่างเช่น ลอจิกในฟังก์ชันตรวจสอบต่อไปนี้จะรับประกันว่าผู้เล่นที่เกิดและผู้เล่นเป้าหมายอยู่ในทีมเดียวกัน

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 และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ