学习
引擎类
TeleportService
无法创建
服务

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处


概要
方法
GetTeleportSetting(setting: string):Variant
ReserveServer(placeId: number):Tuple
已弃用
SetTeleportSetting(setting: string,value: Variant):()
Teleport(placeId: number,player: Instance,teleportData: Variant,customLoadingScreen: Instance):()
TeleportAsync(placeId: number,players: Instances,teleportOptions: Instance):Instance
TeleportPartyAsync(placeId: number,players: Instances,teleportData: Variant,customLoadingScreen: Instance):string
TeleportToPlaceInstance(placeId: number,instanceId: string,player: Instance,spawnName: string,teleportData: Variant,customLoadingScreen: Instance):()
TeleportToPrivateServer(placeId: number,reservedServerAccessCode: string,players: Instances,spawnName: string,teleportData: Variant,customLoadingScreen: Instance):()
TeleportToSpawnByName(placeId: number,spawnName: string,player: Instance,teleportData: Variant,customLoadingScreen: Instance):()
活动
TeleportInitFailed(player: Instance,teleportResult: Enum.TeleportResult,errorMessage: string,placeId: number,teleportOptions: Instance):RBXScriptSignal
继承成员

API 参考
属性
CustomizedTeleportUI
已弃用

方法
GetArrivingTeleportGui
功能: UI, Teleport
TeleportService:GetArrivingTeleportGui():Instance
返回
代码示例
处理传送加载GUI
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()
end

GetLocalPlayerTeleportData
功能: Teleport
TeleportService:GetLocalPlayerTeleportData():Variant
返回
Variant
代码示例
获取 LocalPlayer 传送数据
local TeleportService = game:GetService("TeleportService")
local teleportData = TeleportService:GetLocalPlayerTeleportData()
print("本地玩家使用以下数据到达:", teleportData)

GetPlayerPlaceInstanceAsync
暂停
功能: Teleport
TeleportService:GetPlayerPlaceInstanceAsync(userId:User):Tuple
参数
userId:User
返回
代码示例
跟随其他玩家
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
-- 这个玩家在跟随其他人吗?如果是,找出他们在哪里
local success, currentInstance, error, placeId, jobIdOrErr = pcall(function()
return TeleportService:GetPlayerPlaceInstanceAsync(followId)
end)
-- followId 是您想要检索位置和作业 ID 的玩家的用户 ID
if success then
-- 根据 jobId 在成功时传送玩家
TeleportService:TeleportToPlaceInstance(placeId, jobIdOrErr, player)
else
-- 根据返回的错误发布警告
warn(jobIdOrErr)
end
else
warn(("玩家 %d 没有跟随其他玩家!"):format(player.UserId))
end
end)

GetTeleportSetting
功能: Teleport
TeleportService:GetTeleportSetting(setting:string):Variant
参数
setting:string
返回
Variant

PromptExperienceDetailsAsync
暂停
功能: Teleport
TeleportService:PromptExperienceDetailsAsync(
player:Player, universeId:number
参数
player:Player
universeId:number
代码示例
向玩家显示体验详情
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("提示体验详情时出现错误: " .. tostring(result))
end
if result == Enum.PromptExperienceDetailsResult.PromptClosed then
print("玩家关闭了体验详情提示")
elseif result == Enum.PromptExperienceDetailsResult.TeleportAttempted then
print("玩家选择传送到体验")
end

ReserveServer
已弃用

ReserveServerAsync
暂停
功能: Teleport
TeleportService:ReserveServerAsync(placeId:number):Tuple
参数
placeId:number
返回
代码示例
传送服务:传送到保留服务器
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)
-- 您可以向此函数添加额外的参数:spawnName,teleportData和customLoadingScreen
TeleportService:通过聊天传送到预留服务器
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetGlobalDataStore()
-- 获取保存的代码
local code = dataStore:GetAsync("ReservedServer")
if typeof(code) ~= "string" then -- 没有保存,创建一个
code = TeleportService:ReserveServerAsync(game.PlaceId)
dataStore:SetAsync("ReservedServer", code)
end
local function joined(player)
player.Chatted:Connect(function(message)
if message == "reserved" then
TeleportService:TeleportToPrivateServer(game.PlaceId, code, { player })
end
end)
end
Players.PlayerAdded:Connect(joined)

SetTeleportGui
功能: UI, Teleport
TeleportService:SetTeleportGui(gui:Instance):()
参数
返回
()
代码示例
传送本地玩家
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 -- 在此处替换
local loadingGui = ReplicatedStorage:FindFirstChild("LoadingGui")
-- 将加载 GUI 设置为此地点的父级
loadingGui.Parent = playerGui
-- 设置目标地点的加载 GUI
TeleportService:SetTeleportGui(loadingGui)
TeleportService:Teleport(PLACE_ID)

SetTeleportSetting
功能: Teleport
TeleportService:SetTeleportSetting(
setting:string, value:Variant
):()
参数
setting:string
value:Variant
返回
()

Teleport
功能: UI, Teleport
TeleportService:Teleport(
placeId:number, player:Instance, teleportData:Variant, customLoadingScreen:Instance
):()
参数
placeId:number
player:Instance
默认值:"nil"
teleportData:Variant
customLoadingScreen:Instance
默认值:"nil"
返回
()
代码示例
传送本地玩家
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 -- 在此处替换
local loadingGui = ReplicatedStorage:FindFirstChild("LoadingGui")
-- 将加载 GUI 设置为此地点的父级
loadingGui.Parent = playerGui
-- 设置目标地点的加载 GUI
TeleportService:SetTeleportGui(loadingGui)
TeleportService:Teleport(PLACE_ID)
从服务器传送
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local PLACE_ID = 0 -- 在这里替换
local USER_ID = 1 -- 用玩家的 UserId 替换
local player = Players:GetPlayerByUserId(USER_ID)
TeleportService:Teleport(PLACE_ID, player)

TeleportAsync
暂停
功能: UI, Teleport
TeleportService:TeleportAsync(
placeId:number, players:Instances, teleportOptions:Instance
参数
placeId:number
players:Instances
teleportOptions:Instance
默认值:"nil"
返回

TeleportPartyAsync
暂停
功能: UI, Teleport
TeleportService:TeleportPartyAsync(
placeId:number, players:Instances, teleportData:Variant, customLoadingScreen:Instance
参数
placeId:number
players:Instances
teleportData:Variant
customLoadingScreen:Instance
默认值:"nil"
返回
代码示例
传送服务器中的所有玩家
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local PLACE_ID = 0 -- 替换
local playerList = Players:GetPlayers()
local success, result = pcall(function()
return TeleportService:TeleportPartyAsync(PLACE_ID, playerList)
end)
if success then
local jobId = result
print("玩家已传送到", jobId)
else
warn(result)
end

TeleportToPlaceInstance
功能: UI, Teleport
TeleportService:TeleportToPlaceInstance(
placeId:number, instanceId:string, player:Instance, spawnName:string, teleportData:Variant, customLoadingScreen:Instance
):()
参数
placeId:number
instanceId:string
player:Instance
默认值:"nil"
spawnName:string
teleportData:Variant
customLoadingScreen:Instance
默认值:"nil"
返回
()
代码示例
跟随其他玩家
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
-- 这个玩家在跟随其他人吗?如果是,找出他们在哪里
local success, currentInstance, error, placeId, jobIdOrErr = pcall(function()
return TeleportService:GetPlayerPlaceInstanceAsync(followId)
end)
-- followId 是您想要检索位置和作业 ID 的玩家的用户 ID
if success then
-- 根据 jobId 在成功时传送玩家
TeleportService:TeleportToPlaceInstance(placeId, jobIdOrErr, player)
else
-- 根据返回的错误发布警告
warn(jobIdOrErr)
end
else
warn(("玩家 %d 没有跟随其他玩家!"):format(player.UserId))
end
end)

TeleportToPrivateServer
功能: UI, Teleport
TeleportService:TeleportToPrivateServer(
placeId:number, reservedServerAccessCode:string, players:Instances, spawnName:string, teleportData:Variant, customLoadingScreen:Instance
):()
参数
placeId:number
reservedServerAccessCode:string
players:Instances
spawnName:string
teleportData:Variant
customLoadingScreen:Instance
默认值:"nil"
返回
()
代码示例
TeleportService:通过聊天传送到预留服务器
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetGlobalDataStore()
-- 获取保存的代码
local code = dataStore:GetAsync("ReservedServer")
if typeof(code) ~= "string" then -- 没有保存,创建一个
code = TeleportService:ReserveServerAsync(game.PlaceId)
dataStore:SetAsync("ReservedServer", code)
end
local function joined(player)
player.Chatted:Connect(function(message)
if message == "reserved" then
TeleportService:TeleportToPrivateServer(game.PlaceId, code, { player })
end
end)
end
Players.PlayerAdded:Connect(joined)
传送服务:传送到保留服务器
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)
-- 您可以向此函数添加额外的参数:spawnName,teleportData和customLoadingScreen

TeleportToSpawnByName
功能: UI, Teleport
TeleportService:TeleportToSpawnByName(
placeId:number, spawnName:string, player:Instance, teleportData:Variant, customLoadingScreen:Instance
):()
参数
placeId:number
spawnName:string
player:Instance
默认值:"nil"
teleportData:Variant
customLoadingScreen:Instance
默认值:"nil"
返回
()
代码示例
传送服务:按名称传送到生成点
local TeleportService = game:GetService("TeleportService")
-- 将玩家传送到指定的生成点
TeleportService:TeleportToSpawnByName(1818, "TeleportSpawn")

活动
LocalPlayerArrivedFromTeleport
功能: Teleport
TeleportService.LocalPlayerArrivedFromTeleport(
loadingGui:Instance, dataTable:Variant
参数
loadingGui:Instance
dataTable:Variant

TeleportInitFailed
功能: Teleport
TeleportService.TeleportInitFailed(
player:Instance, teleportResult:Enum.TeleportResult, errorMessage:string, placeId:number, teleportOptions:Instance
参数
player:Instance
teleportResult:Enum.TeleportResult
errorMessage:string
placeId:number
teleportOptions:Instance

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。