Board logo

标题: 回马枪异常分析 [打印本页]

作者: 墨叶    时间: 2013-3-12 09:39     标题: 回马枪异常分析

目前发现回马枪出现BUG的几种常见情况。

如图1,但回马枪对象经过的路上有我军阻挡。则罗成无法回到初始位置。
结果如图2所示。

而且罗成至少移动1格。
如图3所示。
结果罗成到图4位置。

无限绝招的罗成可以利用此BUG,既可以使用绝招又不会寸步难行。

图片附件: 1.jpg (2013-3-12 09:39, 57.44 K) / 该附件被下载次数 56
http://xycq.org.cn/forum/attachment.php?aid=126444



图片附件: 2.jpg (2013-3-12 09:39, 38.7 K) / 该附件被下载次数 59
http://xycq.org.cn/forum/attachment.php?aid=126445



图片附件: 3.jpg (2013-3-12 09:39, 55.86 K) / 该附件被下载次数 59
http://xycq.org.cn/forum/attachment.php?aid=126446



图片附件: 4.jpg (2013-3-12 09:39, 30.02 K) / 该附件被下载次数 55
http://xycq.org.cn/forum/attachment.php?aid=126447


作者: hustljn    时间: 2013-3-12 09:44

我也发现这个问题了
像我图中这种情况,那个小兵就直接嘲讽到1 1位置去了

图片附件: 未命名.jpg (2013-3-12 09:44, 93.28 K) / 该附件被下载次数 68
http://xycq.org.cn/forum/attachment.php?aid=126448


作者: 白云苍狗    时间: 2013-3-12 09:48

王道的分析啊,这个帖子保留了。想修正这个BUG已经好几年了,但由于八岁和STAR君一直没时间,因此现在诚征程序高手帮忙修正。
悬赏5000轩辕通宝,不在钱多少,主要是对知识和劳动力表示尊重。希望支持瓦岗的程序高手拔键盘相助。
作者: bighand2008    时间: 2013-3-12 09:48

恩,嘲讽道1 ,1位置,是因为那个小兵被吓尿了~~~~~~~~~
作者: godtype    时间: 2013-3-12 09:49

有没有存档?
作者: 墨叶    时间: 2013-3-12 09:50

注意必须是直接挡路的。间接挡路没事。

如图5,力士行动路线有管毅间接格挡,那么力士会选择另一条移动路线。
不好截图,结果如图6所示。

若把其他路线堵死,如图7。
则力士强行移动,结果同图6。

图片附件: 5.jpg (2013-3-12 09:50, 92.38 K) / 该附件被下载次数 61
http://xycq.org.cn/forum/attachment.php?aid=126449



图片附件: 6.jpg (2013-3-12 09:50, 57.6 K) / 该附件被下载次数 63
http://xycq.org.cn/forum/attachment.php?aid=126450



图片附件: 7.jpg (2013-3-12 09:50, 65.57 K) / 该附件被下载次数 62
http://xycq.org.cn/forum/attachment.php?aid=126451


作者: 墨叶    时间: 2013-3-12 09:56

还有一种情况:
如图8,管毅和力士相差一格。
此时罗成使用回马枪,那么罗成无法回到初始位置。
又必须移动,所以罗成会乱跑(可以预测到他的目的地)。

结果如图9。

[ 本帖最后由 墨叶 于 2013-3-12 10:07 编辑 ]

图片附件: 8.jpg (2013-3-12 09:56, 83.83 K) / 该附件被下载次数 64
http://xycq.org.cn/forum/attachment.php?aid=126452



图片附件: 9.jpg (2013-3-12 09:56, 45.13 K) / 该附件被下载次数 68
http://xycq.org.cn/forum/attachment.php?aid=126453


作者: 墨叶    时间: 2013-3-12 09:57



QUOTE:
原帖由 godtype 于 2013-3-12 09:49 发表
有没有存档?

随便什么存档都可以的。
有罗成就行。我用调试器的。

火雷阵卡的厉害,失策。

[ 本帖最后由 墨叶 于 2013-3-12 10:05 编辑 ]

附件: 回马枪BUG.rar (2013-3-12 10:05, 16.92 K) / 该附件被下载次数 63
http://xycq.org.cn/forum/attachment.php?aid=126454
作者: 墨叶    时间: 2013-3-12 10:18



QUOTE:
原帖由 白云苍狗 于 2013-3-12 09:48 发表
王道的分析啊,这个帖子保留了。想修正这个BUG已经好几年了,但由于八岁和STAR君一直没时间,因此现在诚征程序高手帮忙修正。
悬赏5000轩辕通宝,不在钱多少,主要是对知识和劳动力表示尊重。希望支持瓦岗的程 ...

要处理该BUG,先要解决一个问题。
如图1所示,作者认为是合理的还是希望罗成移到原位置。
如图8,所示,作者认为绝招后罗成应该在那里。

举一个极端的例子。如图10所示,罗成使用回马枪后合理的位置在那里。

图片附件: 10.jpg (2013-3-12 10:18, 96.7 K) / 该附件被下载次数 58
http://xycq.org.cn/forum/attachment.php?aid=126455


作者: sunhong0557    时间: 2013-3-12 10:23

那个红色步兵是谁?
作者: godtype    时间: 2013-3-12 10:24     标题: 回复 #8 墨叶 的帖子

正如你9楼所说,关键是要看大白希望罗成移到什么位置。
所以如果有提供存档,可以让大白看过之后决定正确的位置。
作者: gry125    时间: 2013-3-12 10:32



QUOTE:
原帖由 墨叶 于 2013-3-12 09:57 发表


随便什么存档都可以的。
有罗成就行。我用调试器的。

火雷阵卡的厉害,失策。

酱油的用了下你的档。。。。。   裴三都跪了。。。。   琼瑶出来还在喊裴三。。。。这是肿么回事



[ 本帖最后由 gry125 于 2013-3-12 10:33 编辑 ]
作者: 墨叶    时间: 2013-3-12 10:34     标题: 回复 #12 gry125 的帖子

图看不见 你没下补丁吧。
作者: gry125    时间: 2013-3-12 10:35



QUOTE:
原帖由 sunhong0557 于 2013-3-12 10:23 发表
那个红色步兵是谁?

公瑾=。=
作者: 宁胖子    时间: 2013-3-12 10:46

咋有个曹操传的小兵
作者: 墨叶    时间: 2013-3-12 10:46

能解决图11所示问题就行。


我的看法:当罗成出发位置没有四周有空档,可以让罗成会原地。如图8。此时敌军无视我军障碍。
罗成出发位置四周没有空档可以在路上。不用回原地。如图10。
路上也没有合适的位置,罗成可以在移动后的位置触发,如图11。

提供存档。其中01号是用2012版玩的。

[ 本帖最后由 墨叶 于 2013-3-12 10:55 编辑 ]

图片附件: 11.jpg (2013-3-12 10:48, 142.95 K) / 该附件被下载次数 51
http://xycq.org.cn/forum/attachment.php?aid=126459



附件: 回马枪BUG.rar (2013-3-12 10:48, 33.4 K) / 该附件被下载次数 48
http://xycq.org.cn/forum/attachment.php?aid=126460
作者: 白云苍狗    时间: 2013-3-12 11:02

嗯,神型毅大人既然有意援手,我就把我认为合理的情况说详细一些:
一、罗成使用回马枪后,其本人返回回合初始位置是肯定的。因为要考虑到各种狭窄空间的可能性,哪怕整个屏幕只有一个空格可供其移动,他也要在移动后返回原位,并且保证回马枪生效。所以应本着“只要能移出去,就一定要再移回来”的原则。至于图10所说的那种情况,敌军策士移动后,只需要到达国远下方一格的位置,我认为罗成隔空对其使用回马枪也不为过,总比大家一起满屏乱跑的强。
二、被回马枪命中的敌军跟进路线应该完全取捷径,而不要考虑什么我军的阻挡之类的因素,在最捷径的情况下,有空就插,没空就尽量靠近。同样以图10为例,齐国远下方一格就是离罗成最近的最捷径移动结果,而齐国远、秦琼、徐茂功、王伯当、谢映登五人之中如果有一人不在,那策士应该移动到他们空缺出来的那个位置;如果上述五个人都在,而魏征、管毅和柳周臣三人不在,那么策士仍应该移动到齐国远下方一格就停止,因为如果策士移动到魏征、管毅和柳周臣的位置,是违反“最捷径”原则的。
三、如果罗成在回合之初的初始位置直接与某个敌人相邻,而玩家又非要对这个敌人使用回马枪,那就让这一招原地生效,双方都不必再进行移动。

上文中的红字部分只是我一厢情愿的想法,在技术上实现起来如果太麻烦的话,可以抛开这部分不管,只把“最捷径原则”改为“离罗成最近”原则也可以。
总之,罗成既然能移动到敌军A的身边发动回马枪,就证明罗成与敌军A之间是有通道的,我想要的回马枪效果结果简单说就是:罗成首先移动到敌军A身边发动回马枪,然后立即沿着这种通道回到初始位置,敌军A也沿着这条通道抵达“离罗成最近”的并且“可以落脚”的位置,接受罗成的回马一击(隔得再远也没关系)。

只是被火或障碍物完全封闭的地方比较令人头疼,不知是否有办法加以测试和规避。

[ 本帖最后由 白云苍狗 于 2013-3-12 11:05 编辑 ]
作者: 墨叶    时间: 2013-3-12 11:14

对楼上,我的理解是。
罗成必须回原地,然后回马枪对象装备赤兔向罗成移动。

还有1种情况。
如图12,罗成与敌军相邻,绕到后方白框位置对敌军使用回马枪。

图片附件: 12.jpg (2013-3-12 11:14, 60.74 K) / 该附件被下载次数 59
http://xycq.org.cn/forum/attachment.php?aid=126461


作者: x-dvd    时间: 2013-3-12 11:15

我记得被火和栅栏卡住,也会这样。
其实旧版的回马枪挺好用啊,罗成后退一格,敌人前进到罗成的位置,这样保证不会被卡住。
作者: godtype    时间: 2013-3-12 11:17



QUOTE:
原帖由 白云苍狗 于 2013-3-12 11:02 发表
总之,罗成既然能移动到敌军A的身边发动回马枪,就证明罗成与敌军A之间是有通道的,我想要的回马枪效果结果简单说就是:罗成首先移动到敌军A身边发动回马枪,然后立即沿着这种通道回到初始位置,敌军A也沿着这条通道抵达“离罗成最近”的并且“可以落脚”的位置,接受罗成的回马一击(隔得再远也没关系)。

刚刚已经分析过相关的代码。红色部分来我来说可能还是有点难做得到,但是“总之……”这部分应该还是可以做得到,主要就是修补原来代码中的BUG。本身八岁的设计已经实现这个设想的,就是有些地方还要补充一下。
当然我也不敢绝对保证一定修好。
作者: 墨叶    时间: 2013-3-12 11:18

好像和我理解的有点区别。

图13
对战场使用回马枪,战车应该到哪里。

另外,无论如何封闭。罗成可以回到原地,回马枪对象至少可以到罗成移动后的位置。

图片附件: 13.jpg (2013-3-12 11:18, 130.92 K) / 该附件被下载次数 58
http://xycq.org.cn/forum/attachment.php?aid=126462


作者: 墨叶    时间: 2013-3-12 11:21

罗成移动+2或者装备+2马。
如图绕到白框使用。

图片附件: 14.jpg (2013-3-12 11:21, 60.77 K) / 该附件被下载次数 60
http://xycq.org.cn/forum/attachment.php?aid=126463


作者: 墨叶    时间: 2013-3-12 11:22



QUOTE:
原帖由 x-dvd 于 2013-3-12 11:15 发表
我记得被火和栅栏卡住,也会这样。
其实旧版的回马枪挺好用啊,罗成后退一格,敌人前进到罗成的位置,这样保证不会被卡住。

后退1格有我军呢?
现在出现罗成乱跑就是这种情况。
作者: 白云苍狗    时间: 2013-3-12 11:23



QUOTE:
原帖由 godtype 于 2013-3-12 11:17 发表

刚刚已经分析过相关的代码。红色部分来我来说可能还是有点难做得到,但是“总之……”这部分应该还是可以做得到,主要就是修补原来代码中的BUG。本身八岁的设计已经实现这个设想的,就是有些地方还要补充一下 ...

嗯嗯,丢开红字也应该很合理。有劳毅大照“总之……“的这种改吧。

QUOTE:
原帖由 墨叶 于 2013-3-12 11:18 发表
好像和我理解的有点区别。

图13
对战场使用回马枪,战车应该到哪里。

另外,无论如何封闭。罗成可以回到原地,回马枪对象至少可以到罗成移动后的位置。

王伯当的左边或右边。
作者: x-dvd    时间: 2013-3-12 11:24     标题: 回复 #23 墨叶 的帖子

旧版回马枪,身后有人,罗成好像就不后退了,原地打一下,等于没有效果,但是敌人好像会乱跑……
如果是火和栅栏,罗成会退到上面去……

[ 本帖最后由 x-dvd 于 2013-3-12 11:25 编辑 ]
作者: 墨叶    时间: 2013-3-12 11:29



QUOTE:
原帖由 godtype 于 2013-3-12 11:17 发表

刚刚已经分析过相关的代码。红色部分来我来说可能还是有点难做得到,但是“总之……”这部分应该还是可以做得到,主要就是修补原来代码中的BUG。本身八岁的设计已经实现这个设想的,就是有些地方还要补充一下 ...

能否用坐标判断。
如图10,道士在罗成正下方。即道士的纵坐标大于罗成的纵坐标。
则选择道士移动位置时判断道士的纵坐标是否罗成,小于则跳过。
或者直接屏蔽纵坐标小于罗成的点。
作者: WHITESHIP    时间: 2013-3-12 12:01

我记得用剧本指令使武将移动是不考虑异常状态和障碍的,都是直线移动。
八岁可能使用了普通移动的代码,可以改一下把剧本移动抄过来。
敌人移动时的代码,建议抄“相对复活与移动”指令的那部分。
如罗成并未移动,则原地使用绝招。

回马枪的代码我没敢抄,情况真的很复杂,容易出BUG。所以就不请缨了……
作者: gry125    时间: 2013-3-12 12:03



QUOTE:
原帖由 墨叶 于 2013-3-12 10:34 发表
图看不见 你没下补丁吧。

图那块弄的开始有问题。。。  后面改了下=;=    还有就是随后又试了下  全屏的力士。。。 直接吓尿了 最后还 报了错= =!

图片附件: 1.JPG (2013-3-12 12:03, 270.04 K) / 该附件被下载次数 58
http://xycq.org.cn/forum/attachment.php?aid=126466


作者: 白云苍狗    时间: 2013-3-12 12:12



QUOTE:
原帖由 墨叶 于 2013-3-12 11:21 发表
罗成移动+2或者装备+2马。
如图绕到白框使用。

这种情况我觉得也是罗成仍需回到原地,而战车就不必动了。
我知道墨叶MM想说什么,但我们的设计理念里其实包含着另一层意思,玩家想要用回马枪造成使敌人挪动的效果的话,基本前提是要提前一回合设法制造出罗成与该敌人不相邻的效果,这需要玩家自己动脑子,而不是临时起意就可以随时实现的。
作者: 斩魔圣剑    时间: 2013-3-12 12:24

其实还有一个建议改进,混乱状态下敌人不会因回马枪移动
作者: 自摸男    时间: 2013-3-12 12:27

基本不用绝招的路过。
另外回马枪昨天偶然用了一下,发现敌人是减少移动,不是减少攻防敏这些?还是我的出了bug?
作者: godtype    时间: 2013-3-12 12:29

写错了。。。。。。

[ 本帖最后由 godtype 于 2013-3-12 12:36 编辑 ]
作者: 白云苍狗    时间: 2013-3-12 12:40

使用后,罗成退回到0点,然后系统判断0点周围8格是否有空位(指的是目标可以移动的位置),但实际上只判断其中5格,从0点到1点的反方向那三个格不判断。如果有空位,就让目标移动到该空位上(是否优势地形优先呢?大家给点意见);如果目标本身就在这5个格中就不移动;如果目标本身就是那3个反方向的格中,我未想好,大家也给点意见。
---------------------------------------------------------------------
优势地形优先是很好的,但如果做起来觉得麻烦可以不做。
“果目标本身就那三个反方向的格”,这种情况其实是不存在的,因为罗成要么不移动,要么向这个所谓的“反方向”移动的话,这个反方向其实就变成正方向了。
其它的我没有意见。但刚才有玩友提到的回马枪对混乱和麻痺的敌人的问题我觉得也应该重视,一种方案是让回马枪对混乱和麻痺的敌人无法使用,另一种方案是无视敌军状态,只要一被回马枪命中,立即解决不良状态,跟着罗成走。两种方案都行,毅大随便选,选定了就定下来。
作者: 存在就是合理    时间: 2013-3-12 12:48

直接退回原地我感觉威力太大,个人建议功能参见san11的戟兵的拉人功效,做成那样可实现目的,但是不至于太过强大。
作者: 墨叶    时间: 2013-3-12 12:58     标题: 回复 #34 存在就是合理 的帖子

无限绝招表示改成三11那样威力才强。
现在虽然有无限绝招,但是使用绝招必定回到原地。绝招的使用被限制。

貌似防御战很少。
作者: 白云苍狗    时间: 2013-3-12 13:05



QUOTE:
原帖由 存在就是合理 于 2013-3-12 12:48 发表
直接退回原地我感觉威力太大,个人建议功能参见san11的戟兵的拉人功效,做成那样可实现目的,但是不至于太过强大。

原本就是好不容易才用一次的东西,强点就强点吧,话说随着关数的增加,现在我军的确明显弱于敌军了。
作者: godtype    时间: 2013-3-12 13:15     标题: 回复 #33 白云苍狗 的帖子

就第2种自动解除状态吧。
作者: 4450805    时间: 2013-3-12 13:21

我觉得关于回马枪的问题,,我不知道是也不是,
如果罗成的移动步数大于回马枪对象的总步数的话,他就会在原地不动..而不是我军有人挡住了就不会跟的情况吧???
作者: 白云苍狗    时间: 2013-3-12 13:39



QUOTE:
原帖由 4450805 于 2013-3-12 13:21 发表
我觉得关于回马枪的问题,,我不知道是也不是,
如果罗成的移动步数大于回马枪对象的总步数的话,他就会在原地不动..而不是我军有人挡住了就不会跟的情况吧???

你说的这个问题也的确存在,所以这个问题的解决按紫虚说的那样,照抄剧本人物移动规则是最好的了。
作者: 白云苍狗    时间: 2013-3-12 13:39



QUOTE:
原帖由 godtype 于 2013-3-12 13:15 发表
就第2种自动解除状态吧。

好,支持!
作者: yuezibo11111    时间: 2013-3-12 17:19



QUOTE:
原帖由 白云苍狗 于 2013-3-12 12:40 发表
使用后,罗成退回到0点,然后系统判断0点周围8格是否有空位(指的是目标可以移动的位置),但实际上只判断其中5格,从0点到1点的反方向那三个格不判断。如果有空位,就让目标移动到该空位上(是否优势地形优先呢 ...

问一下罗成回到0点方向向哪
作者: 白云苍狗    时间: 2013-3-12 17:39



QUOTE:
原帖由 yuezibo11111 于 2013-3-12 17:19 发表


问一下罗成回到0点方向向哪

如果本着离罗成最近的原则的话,自然是由中招者跟进后的落脚点决定。
作者: yuezibo11111    时间: 2013-3-12 18:29     标题: 回复 #42 白云苍狗 的帖子

为何不沿用当初的罗成退后一格的形式呢?是为了防止罗成后面有障碍的情况?
作者: 白云苍狗    时间: 2013-3-12 18:58



QUOTE:
原帖由 yuezibo11111 于 2013-3-12 18:29 发表
为何不沿用当初的罗成退后一格的形式呢?是为了防止罗成后面有障碍的情况?

战略意义没有回到初始位置大。
作者: hhp19910906    时间: 2013-3-12 20:17     标题: 回复 #17 白云苍狗 的帖子

[strike]退后一格的那种回马枪加一个不可移动的地形不能移动可以不可以?[/strike]
回帖的时候忘了刷新了

正经说点看法,能不能改成类似坐标定位性质的?忽略双方的部队,直接移动到指定位置,或者暗藏突击移动也行,从常理上说是其他部队为了配合罗成的回马枪闪除了空子,不知道可不可行

[ 本帖最后由 hhp19910906 于 2013-3-12 21:01 编辑 ]
作者: yuezibo11111    时间: 2013-3-12 21:24     标题: 回复 #45 hhp19910906 的帖子

这样的代码是不是就类似于雄阔海的绝招一样
作者: hhp19910906    时间: 2013-3-12 22:39     标题: 回复 #46 yuezibo11111 的帖子

代码这玩意我始终没研究明白,我说的常理是人的理解,看起来就是一个敌军穿过我军部队到达该到地方,至于代码上是怎么办到我就没那个本事了
作者: yuezibo11111    时间: 2013-3-13 22:34     标题: 回复 #47 hhp19910906 的帖子

还以为你说的是占那个格子的部队给被挑的敌军让位置呢。我还是觉得你想用回马枪的话,罗成旁边必须有位置,否则不能用,这样让玩家多动脑子




欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/) Powered by Discuz! 5.0.0