- 积分
- 34692
- 威望
- 499
- 魅力
- 507
- 经验
- 20338
- 热心度
- 9
- 注册时间
- 2006-3-13
- 最后登录
- 2025-3-9
- 主题
- 134
- 回帖
- 4951
- 精华
- 35
- 阅读权限
- 150
TA的每日心情 | 郁闷 2015-6-6 16:12 |
---|
签到天数: 52 天 连续签到: 1 天 [LV.5]女巫

超级版主
   
- 积分
- 34692
  
|
发表于 2015-7-27 22:35:04
|
显示全部楼层
007简单评注.
!!TM6:S1/999/1/255;
!?TM6&1000; --->1000这个标志在TM中是无效的,不必使用
!!DO10000004/0/155/1:P; --->既然是针对颜色玩家,不必使用循环英雄编号,直接FU.(后面也没用上这个循环)
!?FU10000004;
!!OW:C?i;
!!OW:Ii/?y3;
!!FU&y3<>0:E;
!!OW:Ri/6/?y30;
!!OW:Oi/?y4/?y5/?y6/?y7/?y8/?y9/?y10/?y11/?y12;
!!VRy40:S50;部队维修费系数
!!FU10000005&y5>-1:Py5/y40;
!!FU10000006&y6>-1:Py6/y40;
!!FU10000007&y7>-1:Py7/y40;
!!FU10000008&y8>-1:Py8/y40;
!!FU10000009&y9>-1:Py9/y40;
!!FU10000010&y10>-1:Py10/y40;
!!FU10000011&y11>-1:Py11/y40;
!!FU10000012&y12>-1:Py12/y40;
!?FU10000005;
!!VRy13:S0;
!!VRy18:S0; ---->这个y18,按照楼主意思是想用来计算总数的,但y变量不能跨触发器自动返回.也就没意义了.(见最后)建议改用临时v变量
!!HEx1:C0/y13/?y14/?y15; [#0] --->循环标号只是注释句,循环句在当前触发器第几行(从0开始),应为第3行,即#2
!#MA&y14>-1: Cy14/6/?y16;[#1] -->不能用! #(优先语句),应为双叹号语句
!!VRy17:Sy16 *y15 :x2;
!!VRy18:+y17; 部队每日维修费
!!VRy13:+1;
!!SN&y13<7:G0; --->改为G2
....(中间省略)...
!?FU10000012;
!!VRy13:S0;
!!VRy25:S0;
!!HEx1:C0/y13/?y14/?y15; [#0]
!#MA&y14>-1: Cy14/6/?y16;[#1]
!!VRy17:Sy16 *y15 :x2;
!!VRy25:+y17; 部队每日维修费
!!VRy13:+1;
!!SN&y13<7:G0;
!!VRy26:Sy18 +y19 +y20; ---->首先这往后几句应该是在FU10000004下运作,也就是应该写在<FU10000012&y12>-1:Py12/y40;>之后.此外,这里的y18-y25都没有意义,因为y变量不能跨FU触发器应用.可采用临时v变量(参考ERM帮助的变量声明部分)
!!VRy26:+y21 +y22 +y23;
!!VRy26:+y24 +y25;
!!VRy27:Sy30-y26;
!!VRy27&y27<0:S0;
!!OW:Ri/6/y27;
最后说明一下.
y变量在每个触发器(包括FU)下独立应用,跨触发器会被清零.(除非用于返回值)
建议在一些需要返回应用值的地方采用v变量的方式.v变量不会自动清零,除非被改写.(临时v变量也应该只用于同一段连续运行代码中)另外使用FU10000005-FU10000012,语法功能一致,可以考虑编写一种循环体.
SN:G循环体,虽然简化代码但容易混淆,如果对ERM不算熟练,应该用DO循环更方便.
|
|