Lớp công cụ
TeleportService
*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.
Tóm Tắt
Thuộc Tính
Phương Pháp
GetLocalPlayerTeleportData():Variant |
GetPlayerPlaceInstanceAsync(userId: User):Tuple |
GetTeleportSetting(setting: string):Variant |
PromptExperienceDetailsAsync(player: Player,universeId: number):Enum.PromptExperienceDetailsResult |
ReserveServer(placeId: number):Tuple |
ReserveServerAsync(placeId: number):Tuple |
SetTeleportGui(gui: Instance):() |
SetTeleportSetting(setting: string,value: Variant):() |
TeleportAsync(placeId: number,players: Instances,teleportOptions: Instance):Instance |
TeleportPartyAsync(placeId: number,players: Instances,teleportData: Variant,customLoadingScreen: Instance):string |
TeleportToPrivateServer(placeId: number,reservedServerAccessCode: string,players: Instances,spawnName: string,teleportData: Variant,customLoadingScreen: Instance):() |
TeleportToSpawnByName(placeId: number,spawnName: string,player: Instance,teleportData: Variant,customLoadingScreen: Instance):() |
Sự Kiện
LocalPlayerArrivedFromTeleport(loadingGui: Instance,dataTable: Variant):RBXScriptSignal |
TeleportInitFailed(player: Instance,teleportResult: Enum.TeleportResult,errorMessage: string,placeId: number,teleportOptions: Instance):RBXScriptSignal |
Tài Liệu Tham Khảo API
Thuộc Tính
CustomizedTeleportUI
Phương Pháp
GetArrivingTeleportGui
Lợi Nhuận
Mẫu mã
Xử lý GUI Tải Teleport
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local customLoadingScreen = TeleportService:GetArrivingTeleportGui()
if customLoadingScreen then
local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui")
ReplicatedFirst:RemoveDefaultLoadingScreen()
customLoadingScreen.Parent = playerGui
task.wait(5)
customLoadingScreen:Destroy()
endGetLocalPlayerTeleportData
TeleportService:GetLocalPlayerTeleportData():Variant
Lợi Nhuận
Variant
Mẫu mã
Lấy Dữ Liệu Di Chuyển Của LocalPlayer
local TeleportService = game:GetService("TeleportService")
local teleportData = TeleportService:GetLocalPlayerTeleportData()
print("Người chơi địa phương đã đến với dữ liệu này:", teleportData)GetPlayerPlaceInstanceAsync
Tham Số
Lợi Nhuận
Mẫu mã
Theo Dõi Người Chơi Khác
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local followId = player.FollowUserId
if followId and followId ~= 0 then
-- Người chơi này có đang theo dõi ai không? Nếu có, tìm xem họ đang ở đâu
local success, currentInstance, error, placeId, jobIdOrErr = pcall(function()
return TeleportService:GetPlayerPlaceInstanceAsync(followId)
end)
-- followId là ID người dùng của người chơi mà bạn muốn lấy nơi và ID công việc
if success then
-- Dịch chuyển người chơi thành công dựa trên jobId
TeleportService:TeleportToPlaceInstance(placeId, jobIdOrErr, player)
else
-- Đăng cảnh báo dựa trên lỗi trả về
warn(jobIdOrErr)
end
else
warn(("Người chơi %d không đang theo dõi người chơi khác!"):format(player.UserId))
end
end)GetTeleportSetting
PromptExperienceDetailsAsync
TeleportService:PromptExperienceDetailsAsync(
Lợi Nhuận
Mẫu mã
Hiển thị chi tiết trải nghiệm cho người chơi
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local success, result = pcall(function()
TeleportService:PromptExperienceDetailsAsync(player, 8357232245)
end)
if not success then
warn("Lỗi khi yêu cầu hiển thị chi tiết trải nghiệm: " .. tostring(result))
end
if result == Enum.PromptExperienceDetailsResult.PromptClosed then
print("Người chơi đã đóng hộp thoại chi tiết trải nghiệm")
elseif result == Enum.PromptExperienceDetailsResult.TeleportAttempted then
print("Người chơi đã chọn để dịch chuyển đến trải nghiệm")
endReserveServer
ReserveServerAsync
Tham Số
Lợi Nhuận
Mẫu mã
TeleportService: Teleport đến Máy chủ Đã Đặt Chỗ
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local code = TeleportService:ReserveServerAsync(game.PlaceId)
local players = Players:GetPlayers()
TeleportService:TeleportToPrivateServer(game.PlaceId, code, players)
-- Bạn có thể thêm các tham số bổ sung vào hàm này: spawnName, teleportData và customLoadingScreenTeleportService: Teleport đến một Máy chủ Được đặt trước qua Chat
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetGlobalDataStore()
-- Lấy mã đã lưu
local code = dataStore:GetAsync("ReservedServer")
if typeof(code) ~= "string" then -- Chưa có mã nào được lưu, tạo một cái
code = TeleportService:ReserveServerAsync(game.PlaceId)
dataStore:SetAsync("ReservedServer", code)
end
local function joined(player)
player.Chatted:Connect(function(message)
if message == "đã đặt trước" then
TeleportService:TeleportToPrivateServer(game.PlaceId, code, { player })
end
end)
end
Players.PlayerAdded:Connect(joined)SetTeleportGui
Tham Số
Lợi Nhuận
()
Mẫu mã
Dịch chuyển người chơi cục bộ
local TeleportService = game:GetService("TeleportService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui")
local PLACE_ID = 0 -- thay đổi ở đây
local loadingGui = ReplicatedStorage:FindFirstChild("LoadingGui")
-- gán gui tải cho địa điểm này
loadingGui.Parent = playerGui
-- thiết lập gui tải cho địa điểm đích
TeleportService:SetTeleportGui(loadingGui)
TeleportService:Teleport(PLACE_ID)SetTeleportSetting
Teleport
Lợi Nhuận
()
Mẫu mã
Dịch chuyển người chơi cục bộ
local TeleportService = game:GetService("TeleportService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui")
local PLACE_ID = 0 -- thay đổi ở đây
local loadingGui = ReplicatedStorage:FindFirstChild("LoadingGui")
-- gán gui tải cho địa điểm này
loadingGui.Parent = playerGui
-- thiết lập gui tải cho địa điểm đích
TeleportService:SetTeleportGui(loadingGui)
TeleportService:Teleport(PLACE_ID)Di chuyển từ máy chủ
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local PLACE_ID = 0 -- thay thế ở đây
local USER_ID = 1 -- thay thế bằng UserId của người chơi
local player = Players:GetPlayerByUserId(USER_ID)
TeleportService:Teleport(PLACE_ID, player)TeleportAsync
TeleportPartyAsync
Lợi Nhuận
Mẫu mã
Dịch chuyển tất cả người chơi trong máy chủ
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local PLACE_ID = 0 -- thay thế
local playerList = Players:GetPlayers()
local success, result = pcall(function()
return TeleportService:TeleportPartyAsync(PLACE_ID, playerList)
end)
if success then
local jobId = result
print("Người chơi đã được dịch chuyển đến", jobId)
else
warn(result)
endTeleportToPlaceInstance
Lợi Nhuận
()
Mẫu mã
Theo Dõi Người Chơi Khác
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local followId = player.FollowUserId
if followId and followId ~= 0 then
-- Người chơi này có đang theo dõi ai không? Nếu có, tìm xem họ đang ở đâu
local success, currentInstance, error, placeId, jobIdOrErr = pcall(function()
return TeleportService:GetPlayerPlaceInstanceAsync(followId)
end)
-- followId là ID người dùng của người chơi mà bạn muốn lấy nơi và ID công việc
if success then
-- Dịch chuyển người chơi thành công dựa trên jobId
TeleportService:TeleportToPlaceInstance(placeId, jobIdOrErr, player)
else
-- Đăng cảnh báo dựa trên lỗi trả về
warn(jobIdOrErr)
end
else
warn(("Người chơi %d không đang theo dõi người chơi khác!"):format(player.UserId))
end
end)TeleportToPrivateServer
Lợi Nhuận
()
Mẫu mã
TeleportService: Teleport đến một Máy chủ Được đặt trước qua Chat
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetGlobalDataStore()
-- Lấy mã đã lưu
local code = dataStore:GetAsync("ReservedServer")
if typeof(code) ~= "string" then -- Chưa có mã nào được lưu, tạo một cái
code = TeleportService:ReserveServerAsync(game.PlaceId)
dataStore:SetAsync("ReservedServer", code)
end
local function joined(player)
player.Chatted:Connect(function(message)
if message == "đã đặt trước" then
TeleportService:TeleportToPrivateServer(game.PlaceId, code, { player })
end
end)
end
Players.PlayerAdded:Connect(joined)TeleportService: Teleport đến Máy chủ Đã Đặt Chỗ
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local code = TeleportService:ReserveServerAsync(game.PlaceId)
local players = Players:GetPlayers()
TeleportService:TeleportToPrivateServer(game.PlaceId, code, players)
-- Bạn có thể thêm các tham số bổ sung vào hàm này: spawnName, teleportData và customLoadingScreenTeleportToSpawnByName
Lợi Nhuận
()
Mẫu mã
Dịch vụ Teleport:TeleportToSpawnByName
local TeleportService = game:GetService("TeleportService")
-- Dịch chuyển đến điểm spawn theo tên
TeleportService:TeleportToSpawnByName(1818, "TeleportSpawn")Sự Kiện
LocalPlayerArrivedFromTeleport
TeleportService.LocalPlayerArrivedFromTeleport(
Tham Số
dataTable:Variant |
TeleportInitFailed
TeleportService.TeleportInitFailed(
player:Instance, teleportResult:Enum.TeleportResult, errorMessage:string, placeId:number, teleportOptions:Instance
Tham Số