[原创]可用于地图事件中的追随者ERM汉化版。
GB修改版的。可以用于地图事件中。ZVSE
ERMS_ScriptName=追随者
ERMS_ScriptAuthor=Arstahd
ERMS_ScriptVersion=1.0.0
ERMS_ScriptDate=9.9(September).2008
ERMS_ScriptERMVersion=2.70
ERMS_ScriptLanguage=简体中文 or 中文(简体) (native)
ERMS_ScriptUsedVariables=v7181;v7206-7217
ERMS_AdditionalFiles=修改:GB;增加追随者可得到经验等级;转职和设定经验点的功能
ERMS_ScriptUsedTimers=19
ERMS_ScriptUsedFunctions=7100-7109
ERMS_ScriptERMVerv7213sion=2.70
_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
** HENCHMEN-ERM script 49
** By Arstahd
** Version: 1.16 updated August 23 2004
** Thanks to Hermann the Weird for bug fixing and script maintenance
** Note: Henchmen will not appear in network human-to-battles in this version.
** Variables used:
** V variables: v7206-v7217 v7181
** Z variables: z1-z9,z170-171
** W variables: w117(经验),w118(类型),w119(生死),w120(保存追随天数)
** Functions used: 7100-7109
** Timers used: 19 (copy of T19 used in script00)
** allows you to select one of your creatures to act as a Henchman, and fight with your army
** left click on player-color flag in upper right corner of hero screen to select a new henchman or check status
** right click on player-color flag in upper right corner of hero screen to view help page
** henchmen gain status for each battle fought and gain levels (indicated by increased stack quantity)
** henchmen have a status bonus based on hero level and current day
** lower level/un-upgraded creatures level up faster than higher level/upgraded creatures
** dead henchmen can be resurrected in a town for a fee based on creature cost and level
** AI heroes have a (good) chance of having a henchman of random level (based on hero level)
** henchmen gain +1 attack, +1 defense, +1 speed
** henchmen gain an additional +1 speed for every 10 levels
** henchmen gain an additional +1 attack and +1 defense for every 3 levels
** henchmen gain +2-5 to base damage
** henchmen gain +10 to base health
** henchmen have a "dummy spell" (disguise) applied to color their quantity tag to help separate them from normal creatures
** henchmen will die after one of the stack is lost, they may offer one last retaliation before doing so
**补充说明**
;战斗时,追随者可以获得经验等级,为英雄等级除2
;可以重新设定战斗后经验获得值,有四种选择,默认为4-10点
;原来是更换追随者则经验归零,我改为减半,不用太心痛了.
;追随者可以转职,具体为
;1.转职条件为追随天数不低于该兵种的最低追随天数Follow Rate
;追随天数由选择追随者的那天计算,转职后追随天数归零,重新计算.
;2.一般是同城兵种转职,也就是1-8级兵的顺序
;中立兵种的转职比较乱,懒得去排了,恶鬼Troll会转职为战争机器的.
;宠物也可以转出来,由圣诞小鬼去转比较快
;WOG新增加的生物也可以互相转职,更加乱就是.
;如果你要查具体的转职顺序,可以查ERM帮助中的Format C表.
;对电脑的加强:电脑英雄会100%带出追随者,原来是75%
;电脑的追随者不会出现七,八级兵,同一英雄的追随者会一次比一次强.
;ps:如果大家使用这ERM时出现问题请到论坛告之,Thank~
;(GB修改于2005-1-15)
;该ERM为Arstahd写的,再次感谢~
!#VRv7206:S0;
*#UN:P49/?v7181;
!#VRv7218:S0;
!#VRv7181:S1;
** Timer routines
!#TM19:S1/1/1/255;
!#TM20:S2/999/1/255; 记录追随天数的TM触发器
!?TM19&1000;
!!DO7105/0/155/1&v7206=0:P;
!?TM20&1000; w120=追随天数
!!DO7112/0/155/1:P;
!?FU7112;
!!IF:Wx16;
!!VRw120&w119=1:+1;
** start of hero screen mouse trigger **
!?CM2&v7181=1;
!!CM:I?y-3 F?y-4 S?y-5;
!!IF&y-3=141/y-4=512:Q2/-1/-1/1^1级追随者所得到的奖励:
攻击力+1
防御力+1
速度+1
伤害+2~5
生命值+10
每升三级,攻击力+1,防御力+1
每升十级,速度+1
追随者在每次战斗中会得到{经验值}且会升级(显示为部队数量)。他们也会每天得到一些{奖励}的经验,其多少取决于英雄级别。
追随者“部队”会在其中的一个死去时全部死去,他们可以在死去前作最后一次反击。
低级别或未升级生物的升级速度要快于高级别或升级生物。
“伪装”魔法是用于把追随者的{级别}与普通部队的{数量}区分开的。
死去的追随者可以在城镇中复活,其费用取决于生物级别。
电脑英雄有一个{很好的}拥有随机追随者的机会(其经验值取决于英雄级别)。生物种类在每次战斗中是被随机挑选的,甚至可能是一种不在英雄部队中的生物。
^;
!!FU|y-3<>141/y-4<>0/y-5<>12:E;
!!CM:H?y-1/?y-2;
!!IF&y-1>-1:Wy-1;
!!FU7106&w118>-1:Py-1;
!!FU7102&w118<0:P;
!!UN:R3/-1;
** end of hero screen mouse trigger **
** start of object trigger - towns **
!?OB98&1000;
!!OW:I-1/?y-2;
!!CA998&y-2=0:O?y-4;
!!HE-1&y-2=0:N?y-1 O?y-3;
!!IF&y-2=0/y-1>-1:Wy-1;
!!FU7108&y-2=0/w118>-1/w119=0/y-3=y-4:Py-1;
*!FU7109&y-2=0/w118=-1/y-3<>y-4:P;
** end of object trigger - towns **
** start of object trigger - monsters **
!?OB54&1000;
!!FU7109:P;
** end of object trigger - monsters **
!?FU7109;
!!OW:I-1/?y-2;
!!HE-1&y-2=0:N?y-1 O?y-3;
!!IF&y-2=0/y-1>-1:Wy-1;
!!IF&y-2=0/w118=-1:Q2/10/y-3/2^你还没有选择一名追随者。
你是否希望自己的部队中能有一员担此殊荣呢?
(如果选{否},英雄今后会不再接到此提示)
{左键点击英雄界面右上角旗帜查看追随者界面}
{右键点击英雄界面右上角旗帜查看追随者帮助}^;
!!FU7102&2/y-2=0/w118=-1:P;
!!VRw118&-2/y-2=0/w118=-1:S-2;
** end of function **
** start of battlefield trigger **
!?BF&1000;
!!VRv7207:C-1/-1/-1/-1/-1/-1;
!!VRy-1:S-2;
!!BU:E2/?y-7;
!!BA:H0/?y-1;
!!HEy-1&y-1>-1:O?y-3;
!!OW:Iy-3/?y-6;
!!FU7103&y-6=1/y-1>-1:Py-1;
!!IF&y-1>-1:Wy-1;
!!VRy-8&y-7<21:S20;
!!VRy-8&y-7>20:S25;
!!BU&w118>-1/w119=1/y-1>-1:Sw118/1/y-8/0/-1/0;
!!BU&w118>-1/w119=1/y-1>-1:Ey-8/?v7207;
!!FU7101&w118>-1/w119=1/y-1>-1/v7207>-1:Pv7207/0/y-1;
!!VRy-2:S-2;
!!BA:H1/?y-2;
!!HEy-2&y-2>-1:O?y-3;
!!OW:Iy-3/?y-6;
!!FU7103&y-6=1/y-2>-1:Py-2;
!!IF&y-2>-1:Wy-2;
!!BU&w118>-1/w119=1/y-2>-1:Sw118/1/30/1/-1/0;
!!BU&w118>-1/w119=1/y-2>-1:E30/?v7208;
!!FU7101&w118>-1/w119=1/y-2>-1/v7208>-1:Pv7208/1/y-2;
** end of battlefield trigger **
** pre-action trigger
!?BG;
!!BMv7207&v7207>-1:N?v7211 H?v7216;
!!BMv7208&v7208>-1:N?v7212 H?v7217;
!!BG&v7207=v7210/v7211=0:A3;
!!BG&v7208=v7210/v7212=0:A3;
** end of pre-action trigger
** post-action trigger
!?BG1;
!!BG:N?v7210;
!!BMv7207&v7207>-1:N?y-2 T?y-3;
!!BMv7207&v7207>-1/y-2<v7211:K100000;
!!FU7107&v7207>-1/y-2<v7211:P0/0;
!!BMv7207&v7207>-1/y-2>v7211/y-3<>159:Nv7213 L0;
!!FU7107&v7207>-1/y-2>v7211/y-3<>159:P0/1;
!!BU&v7207>-1/y-2<v7211/y-3<>159:R;
!!BMv7208&v7208>-1:N?y-2 T?y-3;
!!BMv7208&v7208>-1/y-2<v7212:K100000;
!!FU7107&v7208>-1/y-2<v7212:P1/0;
!!BMv7208&v7208>-1/y-2>v7212/y-3<>159:Nv7214 L0;
!!FU7107&v7208>-1/y-2<v7212/y-3<>159:P1/1;
!!BU&v7208>-1/y-2<v7212/y-3<>159:R;
** end of post-action trigger
** function to get monster names
!?FU7100; x1= Z index
!!HE-1:C0/x16/?y1/?y2;
!!UN&x16=0/y1>-1:N3/2/y1/0;
!!UN&x16=1/y1>-1:N3/3/y1/0;
!!UN&x16=2/y1>-1:N3/4/y1/0;
!!UN&x16=3/y1>-1:N3/5/y1/0;
!!UN&x16=4/y1>-1:N3/6/y1/0;
!!UN&x16=5/y1>-1:N3/7/y1/0;
!!UN&x16=6/y1>-1:N3/8/y1/0;
** end of function
** function to give stat increases x1=stackx2=attacker/defenderx3=hero number
!?FU7101;
!!BMx1:T?y6;
!!FU7104&y6>-1:Py6;
!!VRy7&y6>-1:Sv7215;
!!IF&y6>-1:Wx3;
!!HEx3:E?y1/?y2/1;
!!VRy10:Sy2 -1 *10 +w117 +c;
!!VRv7213&x2=0/y6>-1:Sy10 :y7 +1;
!!VRv7214&x2=1/y6>-1:Sy10 :y7 +1;
!!VRy8&x2=0/y6>-1:Sv7213;
!!VRy8&x2=1/y6>-1:Sv7214;
!!VRy4&y6>-1:Sy8 :10 +1;
!!BMx1&y6>-1:Sdy4;
!!BMx1&y6>-1:U1/d2;
!!BMx1&y6>-1:U2/d5;
!!VRy4&y6>-1:Sy8 :3 +1;
!!BMx1&y6>-1:Ady4 Ddy4;
!!BMx1&y6>-1:H?y4;
!!VRy5&y6>-1:Sy4 +10 *y8;
!!BMx1&y6>-1:Hy5;
!!BMx1&y6>-1:Ny8;
!!BMx1|y6=63/y6=154:By8;
!!BMx1&y6>-1:M4/100/1;
;由v7218的内容选择执行下面其中一条.
!!VRw117&v7218=0:+6 T4;
!!VRw117&v7218=1:+10 T5; 10-15
!!VRw117&v7218=2:+20 T10; 20-30
!!VRw117&v7218=3:+50; 50
;由英雄等级确定追随者的经验等级
!!VRy11:Sy2 :2; 英雄级别/2
!!VRy11&y11>10:S10; 限制最高10级
!!VRy12:Sx1 *-1 -1; 计算经验堆栈值
!!EAy12:Ey11/12/d/d; 按英雄级别给予追随者经验等级
*tactics speed boost if enabled*
!!UN:P218/?y1;
!!FU&y1<>1:E;
!!VRy3:S0;
!!VRy4:S0;
!!BH0:N?y1;
!!BH1:N?y2;
!!HEy1&y1>=0:S19/?y3;
!!HEy2&y2>=0:S19/?y4;
!!FU&y3=0/y4=0:E;
!!FU&y3=y4:E;
!!FU&y3<y4/x2=0:E;
!!FU&y3>y4/x2=1:E;
!!VRy5&y3>y4/x2=0:S0 +y3 -y4;
!!VRy5&y3<y4/x2=1:S0 +y4 -y3;
!!BMx1&y6>-1:Sdy5;
** end of function
** function to pick henchman
!?FU7102; x1=
!!VRz1:S^你需要选择一个新的追随者吗?^;
!!VRz2:S^^;
!!VRz3:S^^;
!!VRz4:S^^;
!!VRz5:S^^;
!!VRz6:S^^;
!!VRz7:S^^;
!!VRz8:S^^;
!!VRz9:S^解散追随者^;
!!VRz10:S^取消^;
!!VRz170:S^重新设定经验获得值^;
!!VRz171:S^转职^;
!!DO7100/0/6/1:P2;
!!IF&1000:G1/1/1024/1/2/3/4/5/6/7/8/9/170/171/10;
!!FU&v1=1024:E;
!!VRy2&v1=1:S0;
!!VRy2&v1=2:S1;
!!VRy2&v1=4:S2;
!!VRy2&v1=8:S3;
!!VRy2&v1=16:S4;
!!VRy2&v1=32:S5;
!!VRy2&v1=64:S6;
!!HE-1&v1<256:N?y3;
!!HE-1&v1<128:C0/y2/?y1/d-1;
!!IF&v1<256/y3>-1:Wy3;
*!VRw117&v1<256:S0;
!!VRw117&v1<128::2; 更换则经验值减半.
!!VRw120&v1<128:S1; 解雇则追随天数=1.
!!VRw118&v1<128:Sy1;
!!VRw118&v1=128:S-2;
!!VRw117&v1=128:S0; 解雇则经验值为零
!!VRw120&v1=128:S0; 解雇则追随天数归零.
!!VRw119&v1<128:S1;
!!IF&v1=512/w118<0:M^您的追随者在哪里呢?^; 容错处理
!!FU7111&v1=512/w118>-1:Pw118; 转职函数
!!FU7110&v1=256:P; 经验函数
** end of function
;---------------------------------------------------------------------
** 重新设定经验点-函数
!?FU7110;
!!VRz1:S^请选择每次战斗后获得的经验范围:^;
!!VRz2:S^6-10,默认^;
!!VRz3:S^10-15,标准^;
!!VRz4:S^20-30,加强^;
!!VRz5:S^50-50,极快^;
!!VRz6:S^不选择,退出^;
!!IF&1000:G1/1/16/1/2/3/4/5/6;
!!VRv7218&v1=1:S0; 变量v7218保存选择结果
!!VRv7218&v1=2:S1;
!!VRv7218&v1=4:S2;
!!VRv7218&v1=8:S3;
** 完
;---------------------------------------------------------------------
** 转职函数 **
!?FU7111;
!!FU7113:Px1; 检查该兵种的最低追随天数
!!IF&w120<v7219:M^追随时间太短。^; 少于最低天数则退出
!!FU&w120<v7219:E;
!!VRy11:Sw118 +1; 获得转职对象的类型
!!VRy11&w118=13:S150; 7级兵另外处理
!!VRy11&w118=27:S151;
!!VRy11&w118=41:S152;
!!VRy11&w118=55:S153;
!!VRy11&w118=69:S154;
!!VRy11&w118=83:S155;
!!VRy11&w118=97:S156;
!!VRy11&w118=111:S157;
!!VRy11&w118=131:S158;
!!VRy11&w118=112:S127; 四系元素兵的非正常顺序处理
!!VRy11&w118=113:S125;
!!VRy11&w118=114:S129;
!!VRy11&w118=115:S123;
!!VRy11&w118=127:S115;
!!VRy11&w118=123:S114;
!!VRy11&w118=129:S113;
!!VRy11&w118=125:S120;
!!VRy11&w118=121:S130;
!!VRy11&w118=148:S145; 禁止箭塔出现
!!VRy11&w118=196:S0; 龙巫妖到枪兵(196>>0),循环处理
!!IF:Q5/21/w118/21/y11/2^追随时间足够了,希望转职吗?^; 提问是否转职
!!FU7114&5:P; 调用正式转职函数
;---------------------------------------------------------------------
** 检查最低追随天数
!?FU7113;
!!MA:Lx1/?y10; 检查该追随者的等级
!!VRv7219&y10=0:S3; 一级兵为3天,每级+1
!!VRv7219&y10=1:S4;
!!VRv7219&y10=2:S5;
!!VRv7219&y10=3:S6;
!!VRv7219&y10=4:S7;
!!VRv7219&y10=5:S8;
!!VRv7219&y10=6:S9; 未升级的7级兵转升级的需9天
;高级七级兵到八级兵需要14天
!!VRv7219|x1=13/x1=27/x1=41/x1=55/x1=69/x1=83/x1=97/x1=111/x1=131:S14;
;---------------------------------------------------------------------
** 正式转职函数
!?FU7114;
!!VRy18:Sw118; 临时比较变量,确定是否转职成功.
!!VRw118:+1; 同城兵种转职则兵种代码+1
!!VRw118&w118=14:S150; 7级转8级则另外处理,这一行是大天使转神圣大天使
!!VRw118&w118=28:S151;
!!VRw118&w118=42:S152;
!!VRw118&w118=56:S153;
!!VRw118&w118=70:S154;
!!VRw118&w118=84:S155;
!!VRw118&w118=98:S156;
!!VRw118&w118=112:S157;
!!VRw118&w118=132:S158;
!!VRw118&w118=112:S127;四系元素的特殊处理
!!VRw118&w118=113:S125;
!!VRw118&w118=114:S129;
!!VRw118&w118=115:S123;
!!VRw118&w118=127:S115;
!!VRw118&w118=123:S114;
!!VRw118&w118=129:S113;
!!VRw118&w118=125:S120;
!!VRw118&w118=121:S130;
!!VRw118&w118=148:S145;战争机器的循环处理,防止箭塔作为追随者出现
!!VRw118&w118=197:S0; 龙巫妖作为最高兵种类型,转职则变回枪兵,呵呵
!!VRw120&w118<>y18:S0; 追随天数清零
** 转职函数结束 **
;---------------------------------------------------------------------
** function to pick henchman for AI
!?FU7103; x1= hero #x16= slot #
!!IF:Wx1;
!!VRy1:S7;
*!HEx1&y1<7:C0/y1/?y2/?y3;
!!VRy2&y1>6:S0 T173;
!!VRy2&y1>6/y2>=132/y2<=135:S105;
!!VRy2&y1>6/y2>=150/y2<=158:S75;
!!VRy2&y1>6/y2>=145/y2<=149:S29;
!!VRy2&y1>6/y2>=160/y2<=163:S63;
!!VRy2&y1>6/y2=122:S192;
!!VRy2&y1>6/y2=124:S193;
!!VRy2&y1>6/y2=126:S194;
!!VRy2&y1>6/y2=128:S195;
!!VRy2&y1>6/y2>173:S119;
!!VRy2&y1>6/y2<0:S35;
!!MA:Ly2/?y11;
!!VRy2&y11=6:S119;
!!HEx1&y2>-1:E?y6/?y7/1;
!!VRy4&y2>-1:S15 T5 *y7;
!!VRw118&y2>-1:Sy2;
!!VRw117&y2>-1/w118>-1/y4>w117:Sy4;
!!VRw119&y2>-1:S1;
!!VRw119&y2=-1:S0;
** end of function
** function to get creature level x1=type
!?FU7104;
!!MA:Lx1/?y7;
!!VRy8:S0;
!!VRy8&x1<112:Sx1 %2;
!!VRv7215&y7=0/y8=0:S20;
!!VRv7215&y7=1/y8=0:S25;
!!VRv7215&y7=2/y8=0:S35;
!!VRv7215&y7=3/y8=0:S50;
!!VRv7215&y7=4/y8=0:S75;
!!VRv7215&y7=5/y8=0:S115;
!!VRv7215&y7=6/y8=0:S180;
!!VRv7215&y7=0/y8=1:S22;
!!VRv7215&y7=1/y8=1:S28;
!!VRv7215&y7=2/y8=1:S40;
!!VRv7215&y7=3/y8=1:S58;
!!VRv7215&y7=4/y8=1:S88;
!!VRv7215&y7=5/y8=1:S136;
!!VRv7215&y7=6/y8=1:S250;
!!VRv7215&x1=112:S35;
!!VRv7215&x1=127:S40;
!!VRv7215&x1=113:S50;
!!VRv7215&x1=121:S58;
!!VRv7215&x1=119:S22;
!!VRv7215&x1=121:S136;
!!VRv7215&x1=123:S40;
!!VRv7215&x1=129:S58;
!!VRv7215&x1=131:S225;
!!VRv7215&x1=132:S550;
!!VRv7215&x1=133:S450;
!!VRv7215&x1=134:S350;
!!VRv7215&x1=135:S400;
!!VRv7215&x1>=150/x1<=158:S400;
!!VRv7215&x1=63:S100;
!!VRv7215&x1=159:S55;
!!VRv7215&x1=172:S136;
!!VRv7215&x1=196:S500;
** end of function
** function to initialize hero variable w118
!?FU7105;
!!IF:Wx16;
!!VRw118:S-1;
!!VRw120:S0; 追随天数清零
!!VRv7206:S1;
** end of function
** function to display henchman x1 = hero number
!?FU7106;
!!IF&x1>-1:Wx1;
!!VRz1:S^^;
!!VRz1&w119=0:S^<<<<{死了}>>>>^;
!!FU7104&w118>-1:Pw118;
!!HEx1:E?y1/?y2/1;
!!VRy2:-1 *10 +c -1;
!!VRy11:Sw117 +y2;
!!VRy3:Sy11 :v7215 +1;
!!VRy4:Sy11 %v7215 -v7215 *-1;
!!MA&w118>-1:Aw118/?y1;
!!VRy5:Sy3 :3 +1 +y1;
!!MA&w118>-1:Dw118/?y1;
!!VRy6:Sy3 :3 +1 +y1;
!!MA&w118>-1:Pw118/?y1;
!!VRy7:Sy1 +10 *y3;
!!MA&w118>-1:Mw118/?y1;
!!VRy8:Sy1 +2 *y3;
!!MA&w118>-1:Ew118/?y1;
!!VRy9:Sy1 +5 *y3;
!!MA&w118>-1:Sw118/?y1;
!!VRy10:Sy3 :10 +1 +y1;
!!FU7113:Pw118;
!!IF:Q2/21/w118/2^{追随者级别}:%Y3
{升级速度}:%V7215{下一级需要经验}:%Y4
{总经验}:%Y11{基本经验}:%W117{奖励经验}:%Y2
攻击力:%Y5 防御力:%Y6
生命值:%Y7 伤害:%Y8-%Y9
速度:%Y10
追随天数:%W120
(转职需要天数:%V7219)
%Z1
{你想选择一个新的追随者吗?}^;
!!FU7102&2:P;
** end of function
** function to handle dead/alive status
!?FU7107; x1=attacker/defender x2= dead/alive
!!BA&x1=0:H0/?y1;
!!BA&x1=1:H1/?y1;
!!IF:Wy1;
!!VRw119:Sx2;
** end of function
** function to resurrect dead henchman
!?FU7108;
!!IF&x1>-1:Wx1;
!!FU7104&w118>-1:Pw118;
!!HEx1:E?y6/?y7/1;
!!IF&x1>-1:Wx1;
!!VRy10:Sy7 -1 *10 +w117 +c;
!!VRy3:Sy10 :v7215 +1;
!!MA:Cw118/6/?y8;
!!VRy4:Sy8 *y3 :5;
!!IF:Q2/21/w118/2^{追随者等级:%Y3}
你是否想复活此追随者?
它会花费%Y4金币。^;
!!OW:R-1/6/?y5;
!!VRy8&2/y5>=y4:Sy5 -y4;
!!OW&2/y5>=y4:R-1/6/y8;
!!VRw119&2/y5>=y4:S1;
!!IF&2/y5<y4:M^抱歉,你无法支付复活所需费用。^;
** end of function
thanks.:good_job:
页:
[1]