- 积分
- 9883
- 威望
- 156
- 魅力
- 161
- 经验
- 5187
- 热心度
- 0
- 注册时间
- 2009-12-24
- 最后登录
- 2018-7-8
- 主题
- 55
- 回帖
- 1546
- 精华
- 4
- 阅读权限
- 90
该用户从未签到
论坛嘉宾
- 积分
- 9883
|
2011.12.4更新附件。
修正脚本时居然把&写成了7。更新下。
黑屏我重复不出来,我估计跟战场障碍和生物位置有关。这个设置与变量v547有关。
我重复出了v547从1到10的战场,但没有黑屏。暂时还没办法修正。
如果哪位玩家重复出了黑屏,请与我联系。QQ:1429404871。
冒险洞穴获得的无限反击,导致战争机器被攻击时也想反击,从而导致死机,这是很多人都觉得可惜的。
这个BUG甚至写进了神之苏醒的东方卷轴。
我检查了冒险洞穴脚本和帐篷堆栈其实粗看是没问题的,已经排除了战争机器。但是细看发现了问题所在。
原脚本没有检查是否开启了战争机器增强模式1。因为我自己没有使用过冒险洞穴,所以只能从理论上推测。
在开启战争机器增强模式1后:
投石车堆栈内的怪物类型经常会转成玛格(ID=45),由于某些BUG的,无法转回投石车(ID=145);
帐篷堆栈内的怪物类型经常会转成圣侏儒(ID=173),由于某些BUG,无法转回帐篷(ID=147);
但是此时的45生物和173生物,是能具有反击特性的,如果有反击数量,被攻击一定会死机。
根据这个原理,我曾写过另外的无限反击脚本,在开启战争机器增强模式1下,禁止给45和173生物反击。
这样的脚本在战争机器增强模式1下反复使用,是安全的。
根据上述原理,我修正了官方【script30】脚本,修正时未引进任何变量。
现贴出脚本和附件,请大家测试。
以下红色部分是修改的段落
** function to handle hermit-related BG0 stuff
!?FU783;
!!BA:E?v1; [检查是否网络中的战斗: v1>0 yes]
!?FU783&v1=0;[非网络战斗继续]
!!BG:A?y1; [获取动作类型到 y1]
!!BG:Q?y2; [获取当前攻击方到 y2(0or1)]
!!BHy2:N?y3; [获取动作英雄ID到 y3]
!!BG:E?y5; [获取目标怪物堆栈到 y5]
!!IF&y3>-1:Wy3; [使用英雄变量] **y3<>-1修改为y3>-1,一下同,因为野怪的英雄ID=-2
!!VRy4:S0; [assume no extra-spell ability]
!!VRy4&y2=0/-600:S1; [check flag by side for allowing extra spell]
!!VRy4&y2=1/-601:S1;
!!BHy2&y3>-1/w66=3/y4=1:M?y6; [get current spellcasting enabling]
!!BHy2&y3>-1/w66=3/y4=1/y6=1:M0; [re-enable spellcasting]
!!IF&y3>-1/w66=3/y4=1/y6=1/y2=0:V600/1; [remember extra spell was granted]
!!IF&y3>-1/w66=3/y4=1/y6=1/y2=1:V601/1;
!!BMy5&y5>-1:F?i; [获取标志] y5<>-1修改为y5>-1,
!!VRi:&-623631; [去除一些标志性能力]
!!BMy5&y5>-1/y1=6/y3>-1/w67=3:Fi; [标志性能力更新]
!!VRy7:S1 -y2; [获取防守方]
!!BHy7:N?y8; [获取防守方ID]
!!IF&y8>-1:Wy8; [使用英雄变量]
!!BMy5&y5>-1:T?y10 F?y11; [获取栈内怪物类型到y10,标志到y11]
!!VRy11:&64; [检查是否战争机器]
!!UN:P54/?y9; 检查是否开启战争机器增强模式1
!!FU&y11>0:E; 战争机器退出
!!FU&y11>196:E; 大于196#生物退出,防止虚拟生物产生BUG
!!FU|y10=122/y10=124/y10=126/y10=128:E; 空白生物退出
!!FU|y10=145/y10=146/y10=147/y10=148/y10=149:E;战争机器退出
!!FU|y10=160/y10=161/y10=162/y10=163:E; 四神退出
!!FU&y9=1/y10=45:E; 开启战争机器增强1时,怪物为玛格时退出
!!FU&y9=1/y10=173:E; 开启战争机器增强1时,怪物为圣侏儒时退出
**BMy5&y5<>-1:R?y9; [获取反击数量: y9]-不再检查反击数量
**VRy9:+1; [y9+1]
!!BMy5&y5<>-1/y8<>-1/w65=3/y1=6:R3; [反击数量]反击数量永远是3
** end of function
[ 本帖最后由 fastarrow 于 2011-12-4 14:03 编辑 ] |
评分
-
2
查看全部评分
-
|