[ESA]永恒的星际联盟

 找回密码
 立即注册

!connect_header_login!

!connect_header_login_tip!

查看: 77|回复: 3

如何判断随机位置的玩家初始在哪里?

[复制链接]
发表于 2019-12-24 10:24:36 | 显示全部楼层 |阅读模式
因为玩家的出生地点是游戏时随机的,而Location是地图编辑时确定大小及位置的,这导致某Location的触发跟实际玩家位置完全不匹配。比如,想要给玩家1刷兵无法准确的刷到玩家1大本营里(很可能刷到了玩家2大本营地里去了
还有类似给某玩家做Location防御电脑进攻,也会张冠李戴……



有没有不取消玩家出生地点随机的情况下,正确匹配出对应Location的方法?
我想到一个,可以用大量switch配合大量触发来实现,不过感觉很弱智,5个随机玩家就要差不多30个switch及触发才行
有没有更好的方法?


发表于 2019-12-24 13:55:40 | 显示全部楼层
如果阵营势力勾选玩家随机,则游戏中的实际的玩家ID与房间等待时的楼层是不一样的。
比如说主机在一楼,在游戏准备房间时就是<玩家1>,
进游戏随即后,游戏的实际玩家可能是<玩家2>。

随机的核心实际是玩家更换ID而不是随机位置

点评

怪不得综合插件里面的很多涉及玩家ID的都工作异常,一旦随机位置,连ID用“当前玩家”都是错误的(基本上只有Force1这种才能正常)……  详情 回复 发表于 2019-12-30 16:28
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-30 16:28:23 | 显示全部楼层
hyb 发表于 2019-12-24 13:55
如果阵营势力勾选玩家随机,则游戏中的实际的玩家ID与房间等待时的楼层是不一样的。
比如说主机在一楼,在 ...

怪不得综合插件里面的很多涉及玩家ID的都工作异常,一旦随机位置,连ID用“当前玩家”都是错误的(基本上只有Force1这种才能正常)……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-30 16:34:43 | 显示全部楼层
最后修改地形,确保各个玩家的Location大小差不多,找了个简单的方法(前提是没有给玩家事先放置额外的建筑):
条件:ElapsedTime(At least, 1);
执行:
MoveLocation(Location 11, Unit 231, Current Player, Location 63);//Player1执行这条后,就和Location 11对应起来了。
MoveLocation(Location 12, Unit 231, Current Player, Location 63);//Player2执行这条后,就和Location 12对应起来了。
以此类推
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|站点地图|永恒的星际联盟 ( 苏ICP备17020173号-1 )

GMT+8, 2020-2-25 16:30 , Processed in 0.011895 second(s), 10 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表