|
昨天下了个GB关于魔法天尊的[wiki]ERM[/wiki],发现攻城的时候用闪电会出问题.放完毁灭之光之后,英雄开始对战场上所有的敌军部队放闪电,可惜打完所有部队之后就会黑屏,接着退出.原因估计是打完部队之后英雄又想用魔法打箭楼从而造成问题.请问这个问题可以解决吗?以下是原ERM的代码:
ZVSE
;------------------------------选择新特长--------------------------------------------
!#VRv83:C156/156/156/156; 初始化变量
!#VRz3:S^新英雄特长(by GB)^;
!#VRz4:S^输入拥有该特长的英雄名字:^;
!#VRz5:S^英雄特长为:^;
!#VRz6:S^每级增加己方部队生命的5%^;
!#VRz7:S^每级减少敌方部队生命的2.5%^;
!#VRz8:S^鬼武者:升级后增加鬼部队的攻防血伤速^;
!#VRz9:S^魔法天尊:加强魔法伤害,能学到四系终极魔法^;
!#IF:D6/3/4/5/////////6/7/8/9;
!#IF:E87/6;
!#VRz466&v87>0:Sz1; 将输入的名字保存到z466
!?TM19&1000;
!!DO644/0/155/1:P; 历遍所有英雄
!!VRv85&v85=156:S99; 没有符合名字的英雄,则默认设为跟Mars的设置一样
!!VRv86&v86=156:S57; 大鹏特长改为+生命,地狱火特长改为-生命
!!VRv84&v84=156:S79; 默认为Nagash(黑幕特长),鬼武者
!!VRv83&v83=156:S45; 默认为Solmyr(闪电链特长),魔法天尊
!!HEv83:Y24/1/360/1; 魔法天尊-禁止访问竞技场
!!HEv83:Y7/10/30/1; 魔法天尊-每天+10点魔法
!?FU644;
!!HEx16:B0/?z8; 取名字
!!HEx16:N?y10; 取编号
!!VRv85&z8=z466/v87=1:Sy10; 比较
!!VRv86&z8=z466/v87=2:Sy10;
!!VRv84&z8=z466/v87=3:Sy10;
!!VRv83&z8=z466/v87=4:Sy10;
!!VRz9&z8=z466/v87=1:S^(L)^;
!!VRz9&z8=z466/v87=2:S^(D)^;
!!VRz9&z8=z466/v87=3:S^(G)^;
!!VRz9&z8=z466/v87=4:S^(M)^;
!!VRz9&z8=z466:+z8;
!!HEx16&z8=z466:B0/z9;
;---------------------------战斗开始-------------------------------------------
!?BA0&1000;
!!BA:H0/?v9555; 保存进攻方英雄到v9555
!!BA:H1/?v9560; 防守方hero到v9560
!?BF&1000; 战场生成后
!!DO7041/0/20/1&v9555=v85:P; 小雨
!!DO7041/21/41/1&v9560=v85:P;
!!DO7042/21/41/1&v9555=v86:P; 长C
!!DO7042/0/20/1&v9560=v86:P;
!!DO7055/0/20/1&v9555=v84:P; 鬼武者
!!DO7055/21/41/1&v9560=v84:P;
!!FU7143&v9555=v83:P; 魔法天尊:普通特长启动
!!FU7144&v9560=v83:P;
!!HEv83|v9555=v83/v9560=v83:A2/80/?y9/?y13; 检查土灵球
!!HEv83|v9555=v83/v9560=v83:E?y11/?y23; 检查等级
!!DO7147/0/20/1&v9555=v83/y13>0/y23>=20:P21; 魔法天尊:土之怒
!!DO7147/21/41/1&v9560=v83/y13>0/y23>=20:P0;
!!HEv83&v9555=v83:A2/79/?y9/?y14 A2/81/?y9/?y15 A2/82/?y9/?y16; 检查四系灵球
!!FU7150&y13=1/y14=1/y15=1/y16=1:P; 四球齐集,魔神降世
;---------------------------新英雄特长--------------------------------
!?FU7041; rain(寒江夜雨)
!!BMx16:H?y-37;
!!FU&y-37=0:E;
!!VRy-37::20; 每级增加5%的HP
!!VRy-37&y-37=0:S1;
!!HEv85:E?j/?k;
!!VRy-38:Sy-37 *k;
!!BMx16:Hdy-38;
;---------------------------------------------------------------------
!?FU7042; confusionism(长C)
!!BMx16:H?y24;
!!FU&y24=0:E;
!!VRy24::40; 每级减少2.5%的HP
!!VRy24&y24=0:S1;
!!HEv86:E?j/?k;
!!VRy25:Sy24 *k;
!!BMx16:H?y26 T?y27;
!!VRy25&y25>=y26:Sy26 -1;
!!VRy26:-y25;
!!BMx16&y26>0/y27<>156:Hy26;
;---------------------------------------------------------------------
!?FU7055; 鬼武者
!!BMx16:F?y-30;
!!VRy-30:&262144; 判断是否为亡灵部队
!!FU&y-30=0:E;
!!HEv84:E?y21/?y22; 取得鬼武者的等级y22
!!BMx16:Ady22; 按等级直接增加攻,防,伤害
!!BMx16:Ddy22;
!!BMx16:U1/dy22;
!!BMx16:U2/dy22;
!!VRy23&y22<11:S1; 按等级增加1-3点速度
!!VRy23&y22>10/y22<21:S2;
!!VRy23&y22>=21:S3;
!!BMx16:Sdy23;
!!BMx16:H?y-31; 每级增加鬼部队5%的生命
!!VRy-31::20;
!!VRy-31&y-31=0:S1;
!!VRy-32:Sy-31 *y22;
!!BMx16:Hdy-32;
;---------------------------------------------------------------------
;魔法天尊-普通特长
;1.每级增加魔法伤害的5%
;2.每级减少己方部队受到的魔法伤害的2.5%,最低为50%
!?FU7143; 进攻方为魔法天尊
!!HEv83:E?y5/?y6;
!!VRy7:Sy6 *5;
!!VRv7150:Sy7 +100; [set for 等级*5%+100%]
!!VRv7151:S100 -y7; [set for 100%-等级*5%]
!!VRv7151&v7151<50:S50; 最少受到50%的魔法伤害
!?FU7144; 防守方为魔法天尊
!!HEv83:E?y5/?y6;
!!VRy7:Sy6 *5;
!!VRv7152:Sy7 +100; [set for 等级*5%+100%]
!!VRv7153:S100 -y7; [set for 100%-等级*5%]
!!VRv7151&v7151<50:S50; 最少受到50%的魔法伤害
** start of magic resist trigger
!?MR0&1000/v9555=v83; 进攻方为魔法天尊
!!BG:A?y-1 E?y2; [get active stack #, action type]
!!FU&y-1<>1:E;
!!MR:D?y3; [get spell damage]
!!VRy3&y2>20:*v7150 :100; [calculate new damage - attacker cast]
!!VRy3&y2<21:*v7151 :100;
!!MR:Dy3; [set new damage - attacker cast]
!?MR0&1000/v9560=v83; 防守方为魔法天尊
!!BG:A?y-1 E?y2; [get active stack #, action type]
!!FU&y-1<>1:E;
!!MR:D?y3; [get spell damage]
!!VRy3&y2<21:*v7152 :100; [calculate new damage - attacker cast]
!!VRy3&y2>20:*v7153 :100;
!!MR:Dy3; [set new damage - attacker cast]
** end of magic resist trigger
;---------------------气之怒 开始---------------------------------
; "气之怒",须准备气灵球,等级>=10
; 英雄施放闪电时,100%追加毁灭之光,50%几率施放催眠,再引发雷暴.
!?BG0|v9555=v83/v9560=v83; 施放闪电前触发
!!HEv83:E?y11/?v2800; 检查等级
!!HEv83:A2/79/?y9/?y11; 检查气灵球
!!BG:E?v2801 A?v2802 S?v2803 N?v2805 Q?y4; 检查各动作参数
!!BHy4:N?v2804; 检查带领的部队的英雄是否魔法天尊
!!IF&y11>0/v2800>=10/v2802=1/v2803=17/v2804=v83:V440/1; 满足条件则标志为真
*******************************
!?BG1|v9555=v83/v9560=v83; 施放闪电后触发
!!FU|-440/v2801=-1:E; 标志为假或目标不存在则退出
!!BMv2801:N?y43;
!!IF&440/y43<1:V440/0;
!!FU&y43<1:E; 目标部队已被消灭则退出
!!HEv83:I?y90/1; 使用大技不需要耗魔法
!!BG:D?y3; 目标位置
!!HEv83:S15/?y4; 英雄的气系等级
!!BH0:C47/y3/y4/1; +毁灭之光
!!BMv2801:V29 V29;
!!DO7145/21/41/1&v9555=v83:Py4; +全体闪电,作为进攻方时
!!DO7145/0/20/1&v9560=v83:Py4; 作为防守方时
!!BMv2801&v2801>-1:N?y44;
!!VRy-50:S0 T100;
!!BH0&y-50>50/y44>0:C60/y3/y4/1; 50%几率+催眠
!!HEv83:Iy90/1;
!!IF&440:V440/0; 重置标志440
!?FU7145; 全体闪电
!!BMx16:P?y11 N?y12;
!!BH0&y12>0:C17/y11/x1/1; y11=目标位置,x1=技能等级
;---------------------气之怒 结束---------------------------------
;---------------------火之怒 开始---------------------------------
;"火之怒",须准备火灵球,等级>=15
; 己方部队反击时,各25%几率失明和疯狂对方.
; 敌人一支部队被消灭后,将被转化为火元素,受我方控制,等HP转化.
!?BG0|v9555=v83/v9560=v83; 部队反击前触发
!!HEv83:A2/81/?y9/?y12; 检查火灵球
!!FU|y12<>1/v2801=-1:E;
!!BMv2801:R?v2806;
!!BMv2801:I?y4;
!!BHy4:N?y6;
*!IF:M^v2801=%V2801,v2806=%V2806,y4=%Y4,y6=%Y6^;
!!IF&y12>0/v2800>=15/v2802=6/y6=v83:V441/1; 满足条件则标志为真
!?BG1|v9555=v83/v9560=v83;
!!FU|-441/v2801=-1:E; 标志为假则退出
!!BMv2805:N?y42 P?y43;
!!FU7146&y42<1:Py43; 被攻击部队死亡则召唤火元素
!!IF&441/y42<1:V441/0; 重置标志441
!!FU&y42<1:E;
!!BMv2801:R?y28; 被攻击部队的反击次数
!!VRy-51:S0 T100; 基于系统时间产生0-100的随机数
!!BMv2805&y-51<25/y28<v2806:V6; 失明效果(分开写是为避免魔法延迟)
!!BMv2805&y-51<25/y28<v2806:M62/3/1; 25%几率+失明
!!BMv2805&y-51>75/y28<v2806:V35;
!!BMv2805&y-51>75/y28<v2806:M59/3/1; 25%几率+疯狂
!!IF&441:V441/0; 重置标志441
!?FU7146;
!!BMv2805:T?y6 B?y7; v2800为被攻击部队的堆栈号
!!MA:Py6/?y8; 被消灭部队的数量和生命
!!VRy9:Sy8 *y7 :35; 总生命除35(火元素的生命值)=召唤数量
;防止堆栈溢出,BU应该会自动检查
!!BMv2805:V9 V57 V11; 出场效果,地狱火+地雷
!!BU&y9>0:S114/y9/x1/0/-1/1; 数量至少为一则召唤火元素出来
;---------------------火之怒 结束---------------------------------
;---------------------土之怒 开始---------------------------------
;"土之怒",须准备土灵球,等级>=20
; 战斗前己方获得护盾,石肤,敌人受减速,悲伤,各持续八和四回合.
; 施放雷鸣爆弹时,在目标周围制造流沙结界,50%几率石化该部队.
!?FU7147;
!!BMx16:M27/8/2 M46/8/2; +护盾,石肤
!!BMx1:M54/4/2 M50/4/2; +减速,悲伤
!!VRx1:+1;
!?BG0|v9555=v83/v9560=v83; 施放爆裂前触发
!!HEv83:A2/80/?y9/?y13; 检查土灵球
!!IF&y13>0/v2800>=20/v2802=1/v2803=18/v2804=v83:V442/1; 满足条件则标志为真
!?BG1|v9555=v83/v9560=v83;
!!FU&-442:E; 标志为假则退出
!!HEv83:I?y90/1; 使用大技不需要耗魔法
!!BMv2801:N?y64;
!!VRy-52:S0 T100; 基于系统时间产生0-100的随机数
!!BMv2801&y-52>50/y64>0:V67;
!!BMv2801&y-52>50/y64>0:M70/3/0; 50%几率+石化
!!BG:D?y16; 目标位置
!!FU7148&v9555=v83:Py16/0; 流沙结界
!!FU7148&v9560=v83:Py16/21;
!!HEv83:Iy90/1; 使用大技不需要耗魔法
!!IF&442:V442/0; 重置标志442
!?FU7148;
!!VRy-80:Sx1 :17 +1; 由怪物位置得出所处行数y-80
!!VRy-81:S0; 奇偶行的位置修正数
!!VRy-82:S0;
!!VRy-81|y-80=1/y-80=3/y-80=5/y-80=7/y-80=9/y-80=11:S1;
!!VRy-82|y-80=2/y-80=4/y-80=6/y-80=8/y-80=10:S1;
!!VRy20:Sx1 +1; 得出目标周围的六个位置坐标
!!VRy21:Sx1 +16 +y-81;
!!VRy22:Sx1 +17 +y-81;
!!VRy23:Sx1 -1;
!!VRy24:Sx1 -16 -y-82;
!!VRy25:Sx1 -17 -y-82;
!!BMx2:Q0/y20/0; 在周围六个位置施放流沙
!!BMx2:Q0/y21/0;
!!BMx2:Q0/y22/0;
!!BMx2:Q0/y23/0;
!!BMx2:Q0/y24/0;
!!BMx2:Q0/y25/1;
;---------------------土之怒 结束--------------------------------- |
|