|
本帖最后由 xuzhouhudajz 于 2014-11-9 12:06 编辑
请教各位大师,下面是我修改整合的ERM英雄加强的脚本,但是在用于3.59B变态地图很容易出错。经常是在
!#TM77:S2/999/1/255;
!?TM77;
地方出错,不知道是什么原因,请大师指点!
ZVSE
ERMS_ScriptName=script92
ERMS_ScriptAuthor=GB
ERMS_ScriptVersion=1.0.0
ERMS_ScriptDate=23.5(May).2005
ERMS_ScriptERMVersion=2.70
ERMS_ScriptLanguage=简体中文 or 中文(简体) (native)
ERMS_ScriptUsedVariables=v85-87;z3-8;z466;v2800-2806
ERMS_AdditionalFiles=新英雄特长ERM;在其他ERM不要修改v83-86的值
ERMS_ScriptUsedTimers=19
ERMS_ScriptUsedFunctions=FU644;FU7041-7052
_WARNING_#1=IMPORTANT! This file is not in a plain text format. NEVER use any editor except ERM_S for making any kind of changes!
ERMS_PoweredBy=ERM Scripter v. 2004.6.29.918
;------------------------------选择新特长--------------------------------------------
!#VRv83:C156/156/156/156; 初始化变量
!#VRz3:S^新英雄特长^;
!#VRz4:S^输入拥有该特长的英雄名字:^;
!#VRz5:S^英雄特长为:^;
!#VRz6:S^每级增加己方部队生命的5%^;
!#IF:D6/3/4/5/////////6/7/8/9;
!#IF:E87/6;
!#VRz466&v87>0:Sz1; 将输入的名字保存到z466
!?TM19&1000;
!!DO9999995/0/155/1:P; 历遍所有英雄
!!VRv85&v85=156:S99; 没有符合名字的英雄,则默认设为跟Mars的设置一样!?FU9999995;
!!HEx16:B0/?z8; 取名字
!!HEx16:N?y10; 取编号
!!VRv85&z8=z466/v87=1:Sy10; 比较
!!VRz9&z8=z466/v87=1:S^L^;
!!VRz9&z8=z466:+z8;
!!HEx16&z8=z466:B0/z9;
!#TM77:S2/999/1/255;
!?TM77;
!!DO9999994/0/155/1:P; 检查每个英雄
!?FU9999994;!!HEx16&x16=v85:E?j/?k W?y1 O?y6;取得英雄移动力 !!FU&y6<0:E;!!VRy2:S1;!!VRy4:Sy1 *k :30;移动力随等级计算!!VRy6:Sy2 *k *50;经验随等级计算!!VRy7:Sy2 *k :2;!!VRy3:Sy1+y4;!!HEx16&x16=v85/x16<>147/x16<>148:Gy3 Wy3 Y9/y6/1/1 Y64/2/1/1;!!HEx16&x16=v85/x16=148:Gy3 Wy3 Y9/y6/1/1 Y64/2/1/1;!!HEx16&x16=v85/x16=147:Gy3 Wy3 Y9/y6/1/1 Y64/2/1/1;;---------------------------战斗开始-------------------------------------------
!?BA0&1000;
!!BA:H0/?v9555; 保存进攻方英雄到v9555
!!BA:H1/?v9560; 防守方hero到v9560
!?BF&1000; 战场生成后
!!DO9999996/0/20/1&v9555=v85:P; 小雨
!!DO9999996/21/41/1&v9560=v85:P;
---------------------------新英雄特长--------------------------------
!?FU9999996; rain(寒江夜雨)
!!BMx16:H?y-37 T?y1 T?y-44 F?f F?g F?h F?i F?m F?n F?o S?y23 B?y-55 N?y-56;!!HEv85:O?y2;!!OW:Iy2/?y3;!!EAy1:F104/41/?y30;!!EAy1:F104/132/?y31;!!EAy1:F67/61/?y22;!!EAy1:F101/61/?y19;!!EAy1:F104/152/?y29;!!EAy1:F66/61/?y32;!!EAy1:F105/61/?y33;!!EAy1:F111/61/?y34;!!EAy1:F104/133/?y35;!!EAy1:F102/76/?y36;!!EAy1:F103/61/?y37;
!!EAy1&y32>0/y1=146/y3=0:By32/1/66/61/40/40/40/40/40/40/40/40/40/40/40;!!EAy1&y33>0/y1=146/y3=0:By33/1/105/61/1/1/1/1/1/1/1/1/1/1/1;!!EAy1&y29>0/y1=146/y3=0:By29/1/104/152/20/4/6/8/10/12/14/16/18/20/20;!!EAy1&y30>0/y1=146/y3=0:By30/1/104/41/10/4/6/8/10/12/14/16/18/20/20;!!EAy1&y31>0/y1=146/y3=0:By31/1/104/132/20/4/6/8/10/12/14/16/18/20/20;!!EAy1&y35>0/y1=146/y3=0:By35/1/104/133/20/4/6/8/10/12/14/16/18/20/20;
!!EAy1&y34>0/y1=146/y3=0:By34/1/111/61/1/1/1/1/1/1/1/1/1/1/1;
!!FU&y-37=0:E;
!!VRy-37&y-44<>171/y-44<>136/y-44<>136::150;
!!VRy-37&y-44=171::20;!!VRy-37&y-44=136::20;!!VRy-37&y-44=137::20; 每级增加1%的HP!!VRy-37&y-37=0:S1;
!!HEv85:E?j/?k F?y8/?y9/?y10/?y11/1;
!!VRy-38:Sy-37 *k;
!!BMx16:Hdy-38;!!VRh:|16384;火免
!!VRf:|32768;双击!!VRg:|49152;双击和免疫火系!!VRi:|638976;无反双击环击免疫火系!!VRm:|573440;双击环击免疫火系!!VRn:|606208;无反环击免疫火系!!VRo:|557056;双击环击---------------------------特长--------------------------------;!!BMx16&k>34:Fm;双击环击免疫火系!!BMx16:D?y-39 A?y-46 U1/?y-49 U2/?y-42 U3/?y-62; 按等级直接增加攻,防,伤害-------------------------
!!VRy-53:S3 T10;随机数!!BM:G212/?y-57/d;提取士气值!!BM:G213/?y-58/d;获取幸运值
!!VRy-57&y-57<0:S0;!!VRy-58&y-58<0:S0;
!!VRy-59:Sy-53+y-58 +y-57;
!!VRy-63:Sy-57 +y-58 +y-53;!!VRy-64:Sy-57*y-58;!!VRy-60&y-59>8:Sk*y-42 *y-63 :6;!!VRy-60&y-59<9/y-64>0:Sk*y-42 :5;!!VRy-61:Sy-60:100;---------------------------!!VRy-48:Sk*y-42;!!VRy-43:Sy-48:100 +y-61;怪物伤害
!!VRy-62&y-62>0:+k;!!BMx16:U1/dy-43;
!!BMx16:U2/dy-43;
!!BMx16:U3/dy-62;!!BMx16&y-44=146|y-44>173:N?y-45;!!BMx16&x16=v7207|x16=v7208:N?y-65 F?i H?y-66;!!VRi:|644994;无反双击环击免疫火系!!VRy-66:*y-65;!!VRy-47&x16=v7207|x16=v7208:Sk:5;!!VRy-65:+y-47;增加追随者数量!!VRy-47&y-44=146:Sk:4;弩车计算公式!!VRy-47&y-44>173/y-44<>180:Sk:10;指挥官不为食人魔领袖!!VRy-47&y-44>173/y-44=180:Sk:15;指挥官为食人魔领袖!!VRy-45&y-44=146|y-44>173:+y-47;!!BMx16&y-44=146:Ndy-45;增加弩车数量
!!BMx16&x16=v7207/v9555=v85:Fi Hdy-66;!!BMx16&x16=v7208/v9560=v85:Fi Hdy-66;增加追随者数量!!VRy-43&y-44=146|y-44>173:*y-45;!!VRy-43&x16=v7208/v9560=v85:*y-65;!!VRy-43&x16=v7207/v9555=v85:*y-65;!!BMx16:U1/dy-43 U2/dy-43;!!VRy-38:*y-45;!!BMx16&y-44>173:Hdy-38;以生命增加指挥官数量
!!VRy23&y-44=146:S38; 增加弩车38点速度;!!VRy23&y-44<>146/y-44<>145/y-44<>147:S3; 按等级增加6点速度;
!!BMx16:Sdy23 M27/1000/3 M28/1000/3 M31/1000/3 M41/1000/3;;------------------------------END--------------------------------
!?BG&1000;
!!BG:Q?y1 N?y2 E?y3 A?y5;
!!BHy1:N?y4;
!!FU|y2<0/y3<0/y4<>v85/y4<0/y5<>7:E;[限制条件]y2和y3为存在堆栈编号,y4=v85为指定英雄,y5=7表示是堆栈射击的动作
!!BMy2:T?y11 N?y12;
!!BMy3:T?y13 N?y14;
!!FU|y11<0/y13<0/y12<1/y14<1/y11=149:E;[本堆栈和目标生物存在,且本堆栈不是箭塔]
!!HEv85:E?j/?k;
!!VRy42&k>0/k<20:S0;
!!VRy42&k>19/k<30:S1;
!!VRy42&k>29/k<40:S2;
!!VRy42&k>39/k<60:S3;
!!VRy42&k>59/k<80:S4;
!!VRy42&k>79|k=0:S9;
!!FU9999993:Py2/y3/y42;
***以下直接复制贤知有你代码,只复制一次,类似增加射击次数的功能可无限重复调用,不用再复制。
!?FU9999993;
**A堆栈射击B堆栈且产生伤害(箭塔射击除外)
**x1=堆栈号
**x2=目标堆栈号
**x3=射击次数(需>0)
!!FU|x1<0/x1>41/x2<0/x2>41/x1=x2/x3<1:E;[#0]
!!BMx1:T?y1 N?y2; [#1]
!!BMx2:T?y11 N?y12;
!!FU|y1<0/y11<0/y2<1/y12<1/y1=149/y11=149:E;
!!BMx1:F?i U3/?j; [标志与弹药]
!!VRi:&4;
!!FU|i<>4/j<1:E; [非箭手或无弹药(若无射击动作会崩溃)]
*!FU&y1>144/y1<150:E; [排除战争机器]
!!UN:C6919200/4/?y20; [内存]
!!VRy31:Sx1 *1352 +21708 +y20;[A方内存地址]
!!VRy41:Sx2 *1352 +21708 +y20;[B方内存地址]
!!SN:E4453920/2/y31/y41; [射击且伤害]
!!BMx1:U3/d-1; [减少弹药]
!!VRx3:-1;
!!SN&x3>0:G0; [循环代码]------------------------------END--------------------------------;
|
|