เกิดกับเพื่อน

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

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

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

การติดตั้ง

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

  1. จากแท็บ ดู เปิด กล่องเครื่องมือ และเลือกแท็บ ร้านค้าผู้สร้าง

    Toolbox toggle button in Studio
  2. ให้แน่ใจว่า รุ่น การเรียงลำดับเลือกแล้วคลิกปุ่ม ดูทั้งหมด สําหรับ หมวดหมู่

  3. ค้นหาและคลิกที่ โมดูลการพัฒนา รายการ

  4. ค้นหาโมดูล เกิดกับเพื่อน และคลิกหรือลากไปยัง 3D มุมมอง

  5. ใน หน้าต่าง Explorer ให้ย้ายรุ่น SpawnWithFriends ทั้งหมดไปยัง ServerScriptService เมื่อเรียกใช้ประสบการณ์จะเริ่มต้นดำเนินการโดยหลายบริการและเริ่มดำเนินการ

พื้นที่จำกัดการเกิด

โมดูลนี้อาจทำให้ผู้เล่นเกิดขึ้นในพื้นที่จำกัดเช่นห้องวีไอพีห้องเก็บของเขตเฉพาะ ฯลฯ เพื่อป้องกันผู้เล่นจากการเทเลพอร์ตไปยังพื้นที่เหล่านี้:

  1. กรอกพื้นที่ที่จำกัดด้วยบล็อก Anchored ที่มองไม่เห็น ให้แน่ใจว่า CanCollide , CanTouch และ <

    ปกป้องห้องเต็มของคุกเพื่อป้องกันผู้เล่นจากการเกิดขึ้นภายใน
  2. โดยใช้ส่วน แท็ก ของแต่ละบล็อกของโปรไฟล์ของแต่ละบล็อกหรือ Studio ของ เครื่องมือการแท็ก เพื่อให้ RestrictedSpawnArea ตรวจจับพวกเขา

  3. วางรหัสต่อไปนี้ใน Script ภายใน ServerScriptService

    สคริป

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("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

ฟังก์ชัน

กำหนดค่า

กำหนดค่า(คอนฟิก: table )

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

กุญแจคำอธิบายเริ่มต้น
teleportToFriendOnRespawnหากตั้งค่าเป็น false การเทเลพอร์ตไปยังเพื่อนจะเกิดขึ้นเฉพาะผ่านทาง teleportToRandomFriend เท่านั้นจริง
teleportDistanceความไกลที่ผู้เล่นควรจะเกิดจากกัน, วัดใน studs5
maxCharacterVelocityตัวละครที่เคลื่อนที่เร็วกว่าค่านี้จะไม่ได้รับการเลือกให้เป็นผู้สมัครสำหรับการเคลื่อนที่, เช่น ผู้ที่อยู่ในยานพาหนะที่เคลื่อนที่48
bypassFriendshipCheckถ้าตั้งเป็น true, ทั้งหมด ผู้เล่นจะเป็นผู้สมัครสำหรับการเทเลพอร์ตไม่ใช่เพียงเพื่อนปลอม
showLogsจะแสดงข้อความในบันทึกหรือไม่ปลอม
สคริป

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

เทเลพอร์ตเป็นเพื่อนแบบสุ่ม

teleportToRandomFriend(playerToTeleport: Player): boolean

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

ตั้งค่าTeleportationValidation

setTeleportationValidation(validation: function )

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

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

ฟังก์ชันนี้และคันเรียกของมันสามารถใช้ได้ใน Script และคันเรียกกลับจะกลับค่าเป็นตัวอักษรที่ระบุว่าว่าการเคลื่อนย้ายควรดำเนินการหรือไม่ ตัวอย่างเช่น ล็อกิก

สคริป

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
-- เทเลพอร์ตผู้เล่นเฉพาะกรณีที่พวกเขาอยู่ในทีมเดียวกัน
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)