- 积分
- 42459
- 威望
- 523
- 魅力
- 525
- 经验
- 23493
- 热心度
- 0
- 注册时间
- 2007-10-20
- 最后登录
- 2021-11-30
- 主题
- 73
- 回帖
- 8815
- 精华
- 17
- 阅读权限
- 90
TA的每日心情 | 开心 2021-11-2 11:44 |
---|
签到天数: 754 天 连续签到: 1 天 [LV.10]圣龙
论坛嘉宾
寄蜉蝣于天地,渺沧海之一粟。
- 积分
- 42459
|
本来这个东西是不想写的,但因为在怪物强化III的创作中遇到很多需要这方面支持的东西,以前基本上没人写过,所以本人不才花时间简单写下。其实原理很简单,就是用循环函数多检查几下就实现了,但作用还是巨大的(不写ERM的朋友请无视之,因为它根本起不了任何作用),因为通过它可以前后检查战场中双方的堆栈是否超过了21支及还有多少支部队可以行动多少支部队被消灭等等,对于战场召唤、再次行动的功能及很多怪物的新技能都可以支持实现。所放出的代码只是其中的部分,如果想实现统计战场中堆栈的总数量、总生命数、总死亡数量等功能时,再扩展一下代码应该很快就可以实现了。
ZVSE
*****战场重要数据统计*****
***战斗前变量
!?BA0&1000;
!!VRv9800:C0/0/0/0/0/0/0/0/0/0/0/0; v9800~v9811
***动作前统计
!?BG0&1000;
!!BU:T?y-1;
!!FU&y-1=1:E; 排除战术期间统计
!!VRv9800:C0/0/0/0;
!!DO17050/0/41/1&v9800=0:P100; 动作前检查双方部队
!!DO17050/0/20/1&v9802=0:P101; 动作前检查攻方部队
!!DO17050/21/41/1&v9803=0:P102; 动作前检查守方部队
!!IF:M^{战场动作前统计情况一览}
现在战场上还剩下{%V9800支部队}。
进攻方部队{%V9802支},防守方部队{%V9803支}。
其中总计有{%V9801支部队未行动}。^;
!?FU17050&x1=100;
!!BMx16:T?y1 N?y2 F?i;
!!FU|y1<0/y2<1:E;
!!VRv9800:+1;
!!VRi:&67108864;
!!FU&i>0:E;
!!VRi:&33554432;
!!FU&i>0:E;
!!VRv9801:+1;
!?FU17050&x1=101;
!!BMx16:T?y1 N?y2;
!!FU|y1<0/y2<1:E;
!!VRv9802:+1;
!?FU17050&x1=102;
!!BMx16:T?y1 N?y2;
!!FU|y1<0/y2<1:E;
!!VRv9803:+1;
***动作后统计
!?BG1&1000;
!!BU:T?y-1;
!!FU&y-1=1:E;
!!VRv9804:C0/0/0/0;
!!DO17050/0/41/1&v9804=0:P110; 动作后检查双方部队
!!DO17050/0/20/1&v9806=0:P111; 动作后检查攻方部队
!!DO17050/21/41/1&v9807=0:P112; 动作后检查守方部队
!!IF:M^{战场动作后统计情况一览}
现在战场上还剩下{%V9804支部队}。
进攻方部队{%V9806支},防守方部队{%V9807支}。
其中总计有{%V9805支部队未行动}。^;
!?FU17050&x1=110;
!!BMx16:T?y1 N?y2 F?i;
!!FU|y1<0/y2<1:E;
!!VRv9804:+1;
!!VRi:&67108864;
!!FU&i>0:E;
!!VRi:&33554432;
!!FU&i>0:E;
!!VRv9805:+1;
!?FU17050&x1=111;
!!BMx16:T?y1 N?y2;
!!FU|y1<0/y2<1:E;
!!VRv9806:+1;
!?FU17050&x1=112;
!!BMx16:T?y1 N?y2;
!!FU|y1<0/y2<1:E;
!!VRv9807:+1;
***每回合统计
!?BR&1000/v997>0;
!!VRv9808:C0/0/0/0;
!!VRv9808:Sv997 +1;
!!DO17050/0/41/1&v9809=0:P120; 每回合检查双方部队
!!DO17050/0/20/1&v9810=0:P121; 每回合检查攻方部队
!!DO17050/21/41/1&v9811=0:P122; 每回合检查守方部队
!!IF:M^{第%V9808回合统计情况}
现在战场上还剩下{%V9809支部队}。
进攻方部队{%V9810支},防守方部队{%V9811支}。^;
!?FU17050&x1=120;
!!BMx16:T?y1 N?y2;
!!FU|y1<0/y2<1:E;
!!VRv9809:+1;
!?FU17050&x1=121;
!!BMx16:T?y1 N?y2;
!!FU|y1<0/y2<1:E;
!!VRv9810:+1;
!?FU17050&x1=122;
!!BMx16:T?y1 N?y2;
!!FU|y1<0/y2<1:E;
!!VRv9811:+1;
***暂时就写到这里
[ 本帖最后由 沧海一粟 于 2012-2-5 22:35 编辑 ] |
评分
-
2
查看全部评分
-
|