XEricSin 发表于 2016-2-1 08:51:10

分享停止施法命令

本帖最后由 XEricSin 于 2016-2-1 09:08 编辑

之前我在做追加施法脚本的时候,就在想如果施法前怪物死了,怎么才能取消本次施法呢?

我查看了官方脚本中关于鹰眼术阻止对方施法的部分。
脚本利用BG:S0命令把法术变成无实际效果的招船。
这样做可以保留英雄施法动作。
但是可能会有一些施法相关的bug。比如我另一帖子提到的,如果目标有魔法神镜的情况。

昨天玩封神的时候,发现魔导士把闪电变成审判之雷后,我自己的追加施法的脚本被屏蔽了,于是找出了魔导士的脚本查看。(居然藏在28号怪物增强里面,谢谢贤知大人指引)
部分摘录下来:
!?BG0&1000/v6103=0; 每次行动时触发
... 这里得相印的判断本动作为英雄施法
... 这里做自己想要的效果,也可以根据需要放在下两行后面
!!BG:A0; 把当前行动编号改成0(取消动作)
!!BHx2:M1; 本回合施法状态改成,已施法
...
这里BG:A直接取消魔法,方便快捷,而且不会遇到bug。
但是这样英雄就没有施法动作。如果施法前已经有其他施法动作了,或者特殊动画,那本次取消动作就没关系了。
如果想要增加英雄动画,erm里貌似没有直接的命令,得用内存修改的命令。可以参考封神的universal functions 脚本。另外有个副作用,就是施法动作取消之后,其他脚本中通过BG:A检测英雄施法的部分会失效。


贤知有您 发表于 2016-2-1 10:28:17

有得必有失.不过强制取消动作确实是很多特殊写法所必须的.
而且,并不是所有动作都能取消.
官方的鹰眼阻击脚本之所以会崩溃,就是BG:S0的问题了.楼主终于发现了真相.
相信很快楼主会成为ERM宗师.
页: [1]
查看完整版本: 分享停止施法命令

捐赠