主题
TeleportOptions
TeleportOptions 用于配置玩家跨服务器传送时的行为参数,可指定是否预留新服务器、目标实例标识以及携带的自定义数据。通过设置 ReservedServerAccessCode、ServerInstanceId 和 ShouldR...
概览
TeleportOptions 用于配置玩家跨服务器传送时的行为参数,可指定是否预留新服务器、目标实例标识以及携带的自定义数据。通过设置 ReservedServerAccessCode、ServerInstanceId 和 ShouldReserveServer 等属性,能够精确控制传送目标与方式,并利用 SetTeleportData 传递可序列化的上下文信息。
可通过
TeleportOptions.New()构造
代码示例
创建传送选项并附加非敏感业务数据
lua
-- @runtime server
local TeleportService = game:GetService('TeleportService')
local options = TeleportService:CreateTeleportOptions()
options.ShouldReserveServer = true
options:SetTeleportData({ source = 'lobby' })
print('是否预留新服务器:', options.ShouldReserveServer)函数
GetTeleportData
签名:GetTeleportData() -> Any
获取当前 TeleportOptions 实例中已设置的传送附带数据。
返回值 Any
读取传送附带数据
lua
-- @runtime server
local options = game:GetService("TeleportService"):CreateTeleportOptions()
options:SetTeleportData({ source = 'lobby' })
local data = options:GetTeleportData()
print('来源:', data and data.source)SetTeleportData
签名:SetTeleportData(teleportData: Any)
设置传送时附带的任意数据,可在目标服务器通过 Player:GetJoinData() 获取。
| 参数 | 类型 | 说明 |
|---|---|---|
teleportData | Any | 任意 Lua 数据 |
设置可序列化的传送附带数据
lua
-- @runtime server
local options = game:GetService("TeleportService"):CreateTeleportOptions()
options:SetTeleportData({ source = 'lobby', playerLevel = 5 })
local data = options:GetTeleportData()
print('来源:', data and data.source)属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
ReservedServerAccessCode | String | "" | 预留服务器战场实例的访问码,通过 TeleportService:ReserveServerAsync 或 TeleportService:ApplyIngameMatchAsync 获取。 |
ServerInstanceId | String | "" | 目标服务器战场实例的 ID,用于传送到指定运行中的实例(如好友所在的服务器)。 |
ShouldReserveServer | Bool | true | 是否在传送时创建一个新的服务器战场实例。 |
