查看: 2240|回复: 4
打印 上一主题 下一主题

[求助] 如何获取玩家的坐标位置?

[复制链接]

2

主题

0

回帖

3

积分

Lv.1 新手木匠

UID
7640247
小麦
0
金锭
5
下界之星
0
跳转到指定楼层
楼主
发表于 2020-12-15 15:54:54 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 IP:浙江
如何获取玩家当前的坐标位置?

8

主题

156

回帖

121

积分

Lv.4 怪物猎人

UID
3453
小麦
8
金锭
554
下界之星
0

开发者认证勋章

沙发
发表于 2020-12-17 10:38:48 | 只看该作者 IP:福建
在指令当中你可以用占位符~~~,在modsdk中你可以用serverApi.GetEngineCompFactory().CreatePos(entityId).GetPos()来获得玩家坐标

6

主题

17

回帖

12

积分

Lv.1 新手木匠

UID
7884492
小麦
0
金锭
53
下界之星
0
板凳
发表于 2021-1-18 14:06:29 | 只看该作者 IP:湖南
境界线 发表于 2020-12-17 10:38
在指令当中你可以用占位符~~~,在modsdk中你可以用serverApi.GetEngineCompFactory().CreatePos(entityId). ...

老哥,如果我想引用玩家当前坐标为结构生成坐标,应该怎么弄
就官方放置结构的那段
import server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateGame(levelId)
comp.PlaceStructure(playerId, (100, 70, 100), "test:structureName")
我想改那个坐标为玩家所在坐标,或者我点击地面的坐标之类,就是想让结构生成在玩家附近。

0

主题

539

回帖

138

积分

Lv.4 怪物猎人

UID
8180997
小麦
0
金锭
412
下界之星
0
地板
发表于 2021-1-19 09:12:02 | 只看该作者 IP:广东
①生成到玩家附近的话,可以用GetPos接口,获得实体坐标,再把第一行代码中的坐标换掉;
例如:comp = clientApi.GetEngineCompFactory().CreatePos(entityId)
entityPos = comp.GetPos()
comp.PlaceStructure(playerId, entityPos, "test:structureName")
②放置方块后再放置结构的话,也是一样的道理,可以监听EntityPlaceBlockAfterServerEvent事件。然后玩家放置成功方块后,会触发这个事件,返回方块的坐标,然后再替换接口
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部