อาจเป็นเรื่องยากที่จะค้นหาเพื่อนในประสบการณ์ โมดูล SpawnWithFriendsผู้พัฒนา จะย้ายผู้เล่นที่เกิดขึ้นใกล้เพื่อนของพวกเขาในประสบการณ์ โมดูลนี้ยังสามารถกำหนดให้เทเ
การใช้งานโมดูล
การติดตั้ง
เพื่อใช้โมดูล SpawnWithFriends ในประสบการณ์:
จากแท็บ ดู เปิด กล่องเครื่องมือ และเลือกแท็บ ร้านค้าผู้สร้าง
ให้แน่ใจว่า รุ่น การเรียงลำดับเลือกแล้วคลิกปุ่ม ดูทั้งหมด สําหรับ หมวดหมู่
ค้นหาและคลิกที่ โมดูลการพัฒนา รายการ
ค้นหาโมดูล เกิดกับเพื่อน และคลิกหรือลากไปยัง 3D มุมมอง
ใน หน้าต่าง Explorer ให้ย้ายรุ่น SpawnWithFriends ทั้งหมดไปยัง ServerScriptService เมื่อเรียกใช้ประสบการณ์จะเริ่มต้นดำเนินการโดยหลายบริการและเริ่มดำเนินการ
พื้นที่จำกัดการเกิด
โมดูลนี้อาจทำให้ผู้เล่นเกิดขึ้นในพื้นที่จำกัดเช่นห้องวีไอพีห้องเก็บของเขตเฉพาะ ฯลฯ เพื่อป้องกันผู้เล่นจากการเทเลพอร์ตไปยังพื้นที่เหล่านี้:
กรอกพื้นที่ที่จำกัดด้วยบล็อก Anchored ที่มองไม่เห็น ให้แน่ใจว่า CanCollide , CanTouch และ <
โดยใช้ส่วน แท็ก ของแต่ละบล็อกของโปรไฟล์ของแต่ละบล็อกหรือ Studio ของ เครื่องมือการแท็ก เพื่อให้ RestrictedSpawnArea ตรวจจับพวกเขา
วางรหัสต่อไปนี้ใน 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") dolocal relativePosition = area.CFrame:PointToObjectSpace(teleportationPoint.Position)local size = area.Sizelocal inXBounds = relativePosition.X < size.X / 2 and relativePosition.X > -size.X / 2local inZBounds = relativePosition.Z < size.Z / 2 and relativePosition.Z > -size.Z / 2if inXBounds and inZBounds thenreturn false -- จุดหมายปลายทางอยู่ในพื้นที่จำกัด; ยกเลิกการเคลื่อนย้ายendendreturn true -- จุดหมายปลายทางไม่ตรงกับพื้นที่จำกัดใด ๆ โปรดดำเนินการต่อendSpawnWithFriends.setTeleportationValidator(validator)
อ้างอิง เอกสารอ้างอิงเกี่ยวกับ API
ฟังก์ชัน
กำหนดค่า
เปลี่ยนตั้งค่าการกำหนดค่าเริ่มต้นผ่านคีย์ / ค่าต่อไปนี้ในตาราง config เท่านั้น ฟังก์ชันนี้สามารถเรียกได้จาก Script เท่านั้น
กุญแจ | คำอธิบาย | เริ่มต้น |
---|---|---|
teleportToFriendOnRespawn | หากตั้งค่าเป็น false การเทเลพอร์ตไปยังเพื่อนจะเกิดขึ้นเฉพาะผ่านทาง teleportToRandomFriend เท่านั้น | จริง |
teleportDistance | ความไกลที่ผู้เล่นควรจะเกิดจากกัน, วัดใน studs | 5 |
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})
เทเลพอร์ตเป็นเพื่อนแบบสุ่ม
เรียกใช้การเริ่มต้นที่มีประสิทธิภาพของผู้เล่นโดยอัตโนมัติไปยังเพื่อนของพวกเขาในประสบการณ์ กลับค่าตัวแปรที่แสดงว่ามีความสำเร็จหรือไม่มีความสำเร็จในกา
ตั้งค่าTeleportationValidation
ช่วยให้คุณสามารถดำเนินการตรวจสอบการเตรียมการเริ่มต้นการโอนข้อมูลที่กำหนดเองได้โดยการเชื่อมต่อตัวแปรตรวจสอบผ่านระบบที่รวดเร็ว
ตัวแปร | คำอธิบาย |
---|---|
playerToTeleport | อ้างอิงถึง Player ที่กําลังถูกเทเลพอร์ต |
destinationPlayer | อ้างถึงเป้าหมาย Player ที่ playerToTeleport กำลังเทเลพอร์ตไป |
teleportationPoint | CFrame ที่ 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)