Có thể khó để tìm thấy bạn bè trong kinh nghiệm. The SpawnWithFriends 模块开发者 tự động di chuyển người chơi đang sinh sản gần một trong những người bạn hiện diện trong kinh nghiệm. This module cũng có thể được cấu hình để dịch chuyển một người chơi trên lệnh th
Sử dụng mô-đun
Cài đặt
Để sử dụng mô-đun SpawnWithFriends trong một trải nghiệm:
Từ trang Xem, mở trang Hộp công cụ và chọn trang Cửa hàng Creator .
Đảm bạn chắn chọn Mô Hình sắp xếp, then click the Xem tất cả button for Các danh mục .
Tìm và nhấp vào Dev Modules mảnh.
Tìm mô-đun Spawn With Friends và nhấp vào nó, hoặc kéo nó vào 3D view.
Trong cửa sổ Explorer, di chuyển toàn bộ mô hình SpawnWithFriends đến ServerScriptService . Khi chạy trải nghiệm, mô-đun sẽ được phân phối đến các dịch vụ khác nhau và bắt đầu chạy.
Khu vực phát triển hạn chế
Các hạng này có thể dẫn đến người chơi xuất hiện ở các khu vực hạn chế như phòng VIP, không gian chỉ dành cho truy cập, v.v. Để ngăn người chơi dịch chuyển đến các khu vực này:
Làm cho khu vực hạn chế bằng các khối Anchored ẩn. Đảm bảo CanCollide , CanTouch và 1> Class.BasePart.CanQueue|CanQueue
Bằng cách sử dụng các thẻ section of each block's properties, or Studio's Tag Editor , apply the tag RestrictedSpawnArea so that 2> Class.CollectionService2> detect them.
Sao chép mã sau đây vào một Script trong ServerScriptService .
Tập lệnhlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))local function validator(playerToTeleport, destinationPlayer, teleportationPoint)-- Lặp qua tất cả các bộ phận bị gắn nhãnfor _, 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 -- Điểm đến phát triển nằm trong khu vực hạn chế; huỷ dịch chuyểnendendreturn true -- Điểm đến không có giao điểm nào bị hạn chế; tiến hành dịch chuyểnendSpawnWithFriends.setTeleportationValidator(validator)
Tham khảo API
Hàm
điều chỉnh
Làm mất các lựa chọn cài đặt mặc định qua các chìa khóa/giá trị được đề xuất dưới đây trong bảng config . Chức năng này chỉ có thể được gọi từ một Script .
Chìa khóa | Mô tả | Mặc định |
---|---|---|
teleportToFriendOnRespawn | Nếu được đặt để false, thì việc dịch chuyển đến một người bạn sẽ chỉ xảy ra thủ công qua teleportToRandomFriend . | đúng |
teleportDistance | Mức độ xa của người chơi nào nên được đo bằng cách đo các ghim. | 5 |
maxCharacterVelocity | Những nhân vật di chuyển nhanh hơn giá trị này sẽ không được chọn làm ứng viên dịch chuyển, ví dụ như những người đang di chuyển trên xe tải. | 48 |
bypassFriendshipCheck | Nếu được thiết lập thành true, tất cả người chơi sẽ là người ứng cử cho việc dịch chuyển, không chỉ là bạn bè. | đúng |
showLogs | Có hay không hiển thị các thông điệp đăng nhập trong kết quả. | đúng |
Tập lệnh
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))SpawnWithFriends.configure({teleportToFriendOnRespawn = true,teleportDistance = 5,maxCharacterVelocity = 48,bypassFriendshipCheck = false,showLogs = false})
tìm thấy bạn bè ngẫu nhiên
Kích hoạt dịch chuyển tự động của một người chơi đến một trong những người bạn của họ trong trải nghiệm. Đưa ra một lời nói chuyển dịch bằng cách sử dụng một trong những biến này; thất bại trong dịch chuyển có thể được gây ra bởi s
setTeleportationVisitor
Cho phép bạn thực hiện các lệnh kiểm tra trước khi dịch chuyển tùy chỉnh bằng cách kết nối một hàm gọi đăng nhập hợp lệ. Hàm gọi này nhận ba tham số:
Tham số | Mô tả |
---|---|
playerToTeleport | Tham khảo đến Player đang được dịch chuyển. |
destinationPlayer | Tham khảo vào mục tiêu Player mà playerToTeleport đang được dịch chuyển đến. |
teleportationPoint | CFrame ở đâu playerToTeleport đang dịch chuyển đến. |
Hàm này và tiết lộ của nó chỉ có thể được sử dụng trong một Script và tiết lộ trả về mộtBoolean cho biết có nên tiến hành dịch chuyển hay không. Ví dụ, hàm return logic trong tiếp theo hàm validator đảm bảo rằng người chơi chính và người chơi đích đang
Tập lệnh
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
-- Dịch chuyển người chơi chỉ nếu họ ở cùng một đội
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)