官方erm的一个bug分析
本帖最后由 hell____fire 于 2017-11-24 18:50 编辑这个bug之前有玩家发现过,但都没有研究出明确的问题所在。就是wog技能加强中,开启了鹰眼术加强二也就是可以按几率阻止敌方英雄施放有益魔法的选项后,拥有鹰眼术的英雄在阻止敌方释放“瞬间移动”魔法时会导致游戏跳出。经个人反复测试,阻止其他有益魔法(包括镜像魔法)都不会导致游戏跳出,只有该魔法会导致跳出。bug的原理我个人的理解为瞬移魔法在释放时有两次动作(选一次移一次),鹰眼术阻止魔法的脚本,未考虑到有多个魔法动作的魔法,导致了这样问题出现。由于该选项可以说平衡性和趣味性都不错,在此我附上该功能的官方erm(取自论坛发布的平台版),希望有大神能解决这个bug。
禁止有益魔法时,应该是按照魔法编号判定的。即便不是按编号,你自己加一个判定就是了,如果是瞬移魔法,直接退出鹰眼术流程就行了。 XEricSin 发表于 2017-11-24 21:47
禁止有益魔法时,应该是按照魔法编号判定的。即便不是按编号,你自己加一个判定就是了,如果是瞬移魔法,直 ...
这个代码我看了不是很明白,官方好像有按照魔法编号判定的,也有按照d敌方英雄施法对象是否自身部队判定的,我把代码摘录如下
** start of pre-action trigger
!?BG0&v7187=1;
!!FU&v7018=0/v7019=0:E;
!!VRy-1:S-1;
!!VRy-3:S-1;
!!VRy-5:S-1;
!!VRy-7:S0;
!!VRy-9:S0;
!!VRy-6:S0 T99;
!!BG:E?y-1 A?y-2 Q?y-3 S?y-4 N?y-11;
!!BMy-1&y-1>-1/y-2=1:I?y-5 P?y-8;
!!BMy-1&y-1>-1/y-2=10:I?y-5 P?y-8;
!!VRy-10&y-4>=27/y-4<=33:S1;
!!VRy-10|y-4=37/y-4=41/y-4=43/y-4=44/y-4=46/y-4=48/y-4=49/y-4=51/y-4=53/y-4=58:S1;
!!VRy-9&y-1=-1/y-10=1:S1;
!!VRy-9&y-1>-1/y-3=y-5:S1;
!!VRy-7&y-9=1/y-3=0/v7019>0/y-6<v7019:S1;
!!VRy-7&y-9=1/y-3=1/v7018>0/y-6<v7018:S1;
!!BMy-11&y-1>-1/y-7=1/y-2=10:C0/y-8/0/0/1 E?y-12;
!!VRy-12&y-1>-1/y-7=1/y-2=10:-1;
!!BMy-11&y-1>-1/y-7=1/y-2=10:V32 V32 V32 Ey-12;
!!BG&y-1>-1/y-2=10/y-7=1:A2;
!!BG&y-7=1/y-2=1:S0;
!!BMy-11&y-7=1/y-2=1:V60 V60 V60;
!!VRz2&y-7=1:Sz148004;
!!MM&y-7=1:Sz2;
** end of pre-action trigger
中间这段判断施放魔法的check for beneficial (mass) spells这一段,并没有镜像和瞬移,但我测试了镜像和瞬移都可以档,只是镜像不会跳出瞬移一定会跳出。不知道如何修改这个判定万望大大指导 !!BG:E?y-1 A?y-2 Q?y-3 S?y-4 N?y-11;
y-4就是施法编号。如果你想在某个魔法时退出,直接在后面加一句
!!FU|y-4=魔法编号:E;
可以列出多个并列魔法编号让函数直接退出,比如
!!FU|y-4=魔法编号/y-4=另一个魔法编号:E; 按贤知说的做就行。 贤知有您 发表于 2017-11-25 12:20
!!BG:E?y-1 A?y-2 Q?y-3 S?y-4 N?y-11;
非常感谢 贤知大大的回复,我照你 的做法修改了erm,但比较悲催的是,释放瞬间移动时,选中部队阶段脚本明显被跳过了,但移动部队到新位置的阶段,脚本仍然阻止了施法并导致了跳出,有什么办法可以破否。。。。。。 不是说不处理这个瞬间移动魔法吗?怎么还会执行阻止呢?你的脚本怎么写的? 贤知有您 发表于 2017-11-26 12:11
不是说不处理这个瞬间移动魔法吗?怎么还会执行阻止呢?你的脚本怎么写的?
确实是按照大大您的思路弄的,也成功了一半。我在
!!BG:E?y-1 A?y-2 Q?y-3 S?y-4 N?y-11;
这行代码后加了
!!FU|y-4=63:E;
在测试过程中,释放瞬间移动时,选中部队阶段脚本明显被跳过了没有阻止魔法释放,但移动部队到新位置的阶段,脚本仍然阻止了施法并导致了跳出,也就是说移动部队到新位置的阶段,系统仍然视为一个魔法去处理,但这个魔法又不是瞬间移动,这是我个人的猜想。。。。。。。。。。。。。 hell____fire 发表于 2017-11-26 12:19
确实是按照大大您的思路弄的,也成功了一半。我在
!!BG:E?y-1 A?y-2 Q?y-3 S?y-4 N?y-11; ...
话说我试了下,好像没问题啊。
另外您是不是有两个相同功能的脚本。
还有如果崩溃,能截图看看崩溃内容吗?
原版使用瞬移移动崩溃的截图中应该能看到 0x0049640C 这个内存码。 贤知有您 发表于 2017-11-26 14:22
话说我试了下,好像没问题啊。
另外您是不是有两个相同功能的脚本。
还有如果崩溃,能截图看看崩溃内容 ...
找出 原因了,是因为我加载了另一个mod脚本和该脚本重复,结果该修改无法生效。抱歉竟然没有注意到这个,非常感谢贤知大大的答疑解惑:) 官方无战旗一追、无指挥官以及其他追随者,只开野怪经验的高难度,一直磨到四周月家门前大战,我方偏弱,需要把两队送过去怼敌人的帐篷然后送回来受帐篷,敌方英雄无鹰眼而我方是鹰眼特,然后悲催地发现我方的鹰眼老是阻止我方的瞬移并跳出游戏(无论是否用hd) 来学习学习 风色幻想 发表于 2017-12-6 01:35
官方无战旗一追、无指挥官以及其他追随者,只开野怪经验的高难度,一直磨到四周月家门前大战,我方偏弱,需 ...
很明显是这个bug的问题。可以用贤知大大的修改办法来解决 fly123 发表于 2017-12-15 08:02
来学习学习
炸出大神来了;aiel;新年快乐
页:
[1]