Skip to content

副本地图传送

警告

💡值得注意的是:

使用此功能时,系统将为每次操作独立启动一个服务容器,该容器类似于一个私密的房间,对于未进入该房间的非传送玩家将不可见。

同时,由于该功能会消耗一定的服务资源,因此仅对认证创作者/年度创作者开放。

若你希望获得使用本API的权限,请前往QQ群:478041977,联系群主吉吉喵进行申请认证/年度。

如何成为认证创作者

普通创作者可以通过调用entity.player.link()方法实现传送至副图的功能,但请注意,这并非开启一个独立的房间,而是直接进行地图间的跳转。

方法

teleport()

地图组内传送能力,能够让玩家被传送到指定地图中。且单独开一个地图服务容器(房间),非传送玩家不可见。

如填写了serverId参数,则将把该批玩家传送至指定的服务容器 反之,则新建服务容器并进入。

此能力受权限影响,无权限账户调用后会导致报错。

输入参数

参数必填默认值类型说明
mapIdstring目标地图id
playersGameEntity[]被传送的玩家entity数组
serverIdstring自定义生成的服务器id,如填写将进入指定服务器,不填写将随机生成

返回值

类型说明
Promise‹TeleportResult›异步返回传送结果

定义于 #L9922

信息

需注意:

  • 传送进入的地图为独立服务器,因此同一张目标地图,分批次传送不同的人,所进入的是不同服务器。
  • 只能在已发布地图中生效
  • players的长度不能超过50个
  • players中不能存在游客(没有UserID)
点击查看示例代码
javascript
while (true) {
    try {
        let players = world.querySelectorAll('player').slice(0, 50)
        players = players.filter(e => e.player.userId !== '' && e.player.userId !== '0' && e.player.userId !== 0)
        world.teleport('100001157', players)
        break
    } catch (e) {
        world.say('传送失败:' + e.stack)
    }
    await sleep(1000)
}
world.say('传送成功 ')

接口

TeleportResult

传送结果

参数类型说明
serverIdstring生成的服务器id

定义于 #L9335