Spawn Với Bạn Bè

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Có thể gặp khó khăn trong việc tìm kiếm bạn bè trong trải nghiệm. Mô-đun SpawnWithFriends mô-đun phát triển tự động di chuyển những người chơi đang spawn gần một trong những người bạn có mặt trong trải nghiệm. Mô-đun này cũng có thể được cấu hình để dịch chuyển một người chơi theo lệnh thay vì tự động.

Cách Sử Dụng Mô-Đun

Cài Đặt

Để sử dụng mô-đun SpawnWithFriends trong một trải nghiệm:

  1. Từ menu Cửa Sổ của Studio hoặc thanh công cụ Trang Chủ, mở Bảng Công Cụ và chọn tab Cửa Hàng Creators.

  2. Đảm bảo rằng việc sắp xếp Mô Hình được chọn, sau đó nhấp vào nút Xem Tất Cả cho Danh Mục.

  3. Tìm và nhấp vào ô Gói.

  4. Tìm mô-đun Spawn Với Bạn Bè và nhấp vào nó, hoặc kéo-ném nó vào khung nhìn 3D.

  5. Trong cửa sổ Khám Phá, di chuyển toàn bộ mô hình SpawnWithFriends vào ReplicatedStorage. Khi chạy trải nghiệm, mô-đun sẽ bắt đầu chạy.

Khu Vực Spawn Bị Hạn Chế

Mô-đun này có thể dẫn đến việc người chơi spawn ở những khu vực bị hạn chế như phòng VIP, không gian chỉ cho phép truy cập, v.v. Để ngăn người chơi dịch chuyển đến những khu vực này:

  1. Lấp đầy khu vực bị hạn chế bằng các khối Anchored vô hình. Đảm bảo rằng CanCollide, CanTouch, và CanQuery đều tắt cho tất cả các khối.

    Khối lấp đầy toàn bộ phòng ngục để ngăn người chơi spawn bên trong
  2. Sử dụng phần Thẻ trong thuộc tính của mỗi khối, áp dụng thẻ RestrictedSpawnArea để CollectionService phát hiện chúng.

  3. Dán đoạn mã sau vào một Script trong ServerScriptService.

    Script

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- Duyệt qua tất cả các phần đã gán thẻ
    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 -- Điểm đến spawn nằm trong khu vực bị hạn chế; hủy bỏ dịch chuyển
    end
    end
    return true -- Điểm đến spawn không nằm trong khu vực bị hạn chế; tiếp tục dịch chuyển
    end
    SpawnWithFriends.setTeleportationValidator(validator)

Tham Khảo API

Các Hàm

cấu hình

configure(config: table)

Ghi đè các tùy chọn cấu hình mặc định thông qua các khóa/giá trị sau trong bảng config. Hàm này chỉ có thể được gọi từ một Script.

KhóaMô TảMặc Định
teleportToFriendOnRespawnNếu đặt là false, việc dịch chuyển đến một người bạn chỉ xảy ra thủ công thông qua teleportToRandomFriend.true
teleportDistanceKhoảng cách mà người chơi nên spawn cách nhau, được đo bằng studs.5
maxCharacterVelocityCác nhân vật di chuyển nhanh hơn giá trị này sẽ không được chọn là ứng viên cho dịch chuyển, chẳng hạn như những người trong phương tiện di chuyển.48
bypassFriendshipCheckNếu đặt thành true, tất cả người chơi sẽ là ứng viên cho dịch chuyển, không chỉ bạn bè.false
showLogsLiệu có nên hiển thị tin nhắn log trong đầu ra hay không.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

Kích hoạt dịch chuyển một người chơi đến một trong những người bạn của họ trong trải nghiệm. Trả về một boolean cho biết liệu dịch chuyển có thành công hay không; việc không thể dịch chuyển có thể do không có bạn bè trên máy chủ hoặc không thể tìm thấy một điểm dịch chuyển không bị cản trở. Hàm này chỉ có thể được gọi từ một Script.

setTeleportationValidator

setTeleportationValidator(validator: function)

Cho phép bạn thực hiện các kiểm tra trước dịch chuyển tùy chỉnh bằng cách tổ chức một hàm phản hồi xác thực. Hàm phản hồi nhận ba tham số:

Tham SốMô Tả
playerToTeleportTham chiếu đến Player đang được dịch chuyển.
destinationPlayerTham chiếu đến Player mục tiêu mà playerToTeleport đang được dịch chuyển đến.
teleportationPointCFrame nơi mà playerToTeleport đang dịch chuyển đến.

Hàm này và hàm phản hồi của nó chỉ có thể được sử dụng trong một Script và hàm phản hồi trả về một boolean cho biết liệu dịch chuyển có nên tiếp tục hay không. Ví dụ, logic return trong hàm xác thực sau đây đảm bảo rằng người chơi đang spawn và người chơi đích thuộc cùng một đội.

Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
-- Dịch chuyển người chơi chỉ nếu họ thuộc cùng một đội
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.