- 积分
- 34677
- 威望
- 499
- 魅力
- 507
- 经验
- 20326
- 热心度
- 9
- 注册时间
- 2006-3-13
- 最后登录
- 2024-9-30
- 主题
- 134
- 回帖
- 4949
- 精华
- 35
- 阅读权限
- 150
TA的每日心情 | 郁闷 2015-6-6 16:12 |
---|
签到天数: 52 天 连续签到: 1 天 [LV.5]女巫
超级版主
- 积分
- 34677
|
刚写了个分兵和交兵脚本,禁不住就想和大家分享一下..还请帮忙测试并反馈.发现写循环嵌套循环,那些传递的X值真让人头晕.
一键分兵交兵.txt
(4.65 KB, 下载次数: 95)
-----------------------------------------以下代码--------------------------------------------------------------
ZVSE
**★一键分兵&一键交兵★ ByHanter007 2012-5-15
**函数 FU20000
**1.英雄界面右键点击"分隔生物"位置,可以一键分隔部队到空白生物槽(默认分隔1个出来).
**2.英雄相遇交流时,右键点击左右英雄的"分割生物"位置,可进行一键交兵.
英雄访问城镇,而城镇有防守英雄时,右键点击上下英雄头像可进行一键交兵.
**3.一键交兵只有2个原则,首先相同生物的合并,然后按生物槽顺序将生物转移到对方空白生物槽处.
**4.英雄交接合并的问题:找不到直接重画屏幕的方法.请随便鼠标左键点一下任何位置,就会刷新了.
**5.一键交兵,当交换后成为裸奔时,为减少ERM语句(自己懒),直接增加一个农民,如果你想用这个BUG来增兵,那就慢慢点吧.
**6.切记切记:任何情况下,当"分隔生物"按钮激活时(表明你已经选中了生物槽),最好不要使用一键分兵/交兵功能.
(分割部队按钮激活了相应生物槽边框,当生物槽被转换生物类型或清空后,再次点击就会出错崩溃,自行体会,后果自负)
(当然,就算是按钮激活而使用了一键分兵/交兵,只要不点击被激活的生物槽就可以了[带颜色边框的槽])
*------------------以下代码用于一键分兵----------------------
!?CM2&1000;
!!CM:I?y1 F?y2; [位置/鼠标动作]
!!FU|y2<>512/y1<>127:E;
!!CM:R0;
!!IF:Q1^{是否需要进行一键分兵?}
务必先将要分兵的部队放在第一格位置!^;
!!FU&-1:E;
!!HE-1:C0/0/?y3/?y4; [第一格生物类型/数量]
!!FU&y4<2:E; [兵种个数少于2,则退出]
!!VRz2:S^请输入分隔的每批数量(默认或错误强制是1)!^;
!!VRz5:S^^;
!!VRz3:S^^;
!!IF:D2/3/2/5; [对话框,第一个2是对话框编号]
!!IF:E1/2; [选项到V1,2表示对话框编号,输入内容存于 Z1中]
!!IF&v1=-1:E;
!!VRy10:Vz1; [文本to数字 y10]
!!VRy10&y10<1:S1;
!!FU&y10>y4:E; [分离数量大于部队数量,退出]
!!DO20000/1/6/1:P990/y10; [y10,分隔数量]
!!UN:R3/-1; [重画屏幕]
*------------以下代码用于英雄相遇交流时一键交兵-----------
!?CM3&1000; [两英雄相遇时触发]
!!CM:I?y1 F?y2; [位置/鼠标动作]
!!FU&y2<>512:E; [点击左右英雄的分兵键/右键点击]
!!FU&y1<>103/y1<>104:E;
!!CM:R0;
!!IF:Q1^{是否进行一键交兵?}
主要是合并和填满生物槽.
完成后请点击任意空白刷新.^;
!!FU&-1:E; [不执行交兵]
!!CM:H?y3/?y4; [左右英雄编号]
!!VRv3&y1=103:Sy3; [v3移出兵的英雄,v4接收兵的英雄]
!!VRv4&y1=103:Sy4; [左边交右边]
!!VRv3&y1=104:Sy4;
!!VRv4&y1=104:Sy3; [右边交左边]
!!FU20000:P997/v3; [检测移出生物方的生物总数]
!!FU&v5<=1:E; [没有可供移出的生物]
!!DO20000/0/5/1:P998/v4/v4/0; [目标英雄合并同类生物]
!!DO20000/0/6/1:P998/v3/v4/1; [2英雄合并同类兵种]
!!DO20000/0/6/1:P999/v3/v4; [转移生物到空白槽]
!!FU20000:P997/v3; [再次检测移出生物方的生物总数]
!!HEv3&v5<1:C0/0/139/1; [想裸奔,删这句(裸奔时增加一个农民)]
*------以下代码用于英雄访问城镇,而城镇有驻守英雄时,一键交兵--------
!?CM1&1000; [城镇内场景点击触发]
!!CM:I?y1 F?y2; [位置/鼠标动作]
!!IF:M^%Y1-%Y2^;
!!FU&y2<>512:E;
!!FU&y1<>123/y1<>125:E; [123上面驻守英雄,125下面来访英雄]
!!CM:R0;
!!CA-1:H0/?y3 H1/?y4; [驻守城镇的英雄/来访英雄]
!!FU|y3<0/y4<1:E;
!!IF:Q1^{是否进行一键交兵?}
主要是合并和填满生物槽.^;
!!FU&-1:E;
!!VRv3&y1=123:Sy3; [v3移出兵的英雄,v4接收兵的英雄]
!!VRv4&y1=123:Sy4; [上边交下边]
!!VRv3&y1=125:Sy4;
!!VRv4&y1=125:Sy3; [下边交上边]
!!FU20000:P997/v3;
!!FU&v5<=1:E;
!!DO20000/0/5/1:P998/v4/v4/0;
!!DO20000/0/6/1:P998/v3/v4/1;
!!DO20000/0/6/1:P999/v3/v4;
!!FU20000:P997/v3;
!!HEv3&v5<1:C0/0/139/1;
!!UN:R4/-1; [重画当前城镇]
*---------------------以下全部函数----------------------------
!?FU20000&x1=990; [分兵到空白槽]
!!HE-1:C0/0/?y3/?y4;
!!VRx16&y4<x2:S6;
!!FU&y4<=x2:E;
!!HE-1:C0/x16/?y5/?y6;
!!FU&y6>0:E;
!!VRy7:Sx2*-1;
!!EX-1/0:A?y50/?y51/?y52;
!!HE-1:C0/0/d/dy7;
!!EX-1/0:A?y50/?y51/y52; [第一格生物经验还原(否则会增加经验)]
!!HE-1:C0/x16/y50/x2;
!!EX-1/x16:A?y50/?y51/y52;
!?FU20000&x1=997; [检测英雄所带兵种总数,存于V5]
!!HEx2:C0/0/d/?y30 C0/1/d/?y31 C0/2/d/?y33 C0/3/d/?y33 C0/4/d/?y34 C0/5/d/?y35 C0/6/d/?y36;
!!VRv5:Sy30+y31+y32+y33+y34+y35+y36;
!?FU20000&x1=998; [同生物的转移.x4为0,单一英雄;x4为1,双英雄]
!!HEx2:C0/x16/?y10/?y11; [y10源生物类型,y11个数]
!!FU&y11<=0:E;
!!VRy2&x4=1:S0; [英雄间组合生物]
!!VRy2&x4=0:Sx16+1; [单一英雄组合生物]
!!DO20000/y2/6/1:P1000/x2/x3/y10/x16/0; [传递1000,源英雄编号,目标英雄编号,源生物类型,源生物槽,合并同类生物]
!?FU20000&x1=999; [转移生物到空白位置]
!!HEx2:C0/x16/?y10/?y11; [y10生物类型,y11个数]
!!FU&y11<=0:E;
!!DO20000/0/6/1:P1000/x2/x3/y10/x16/1;
!?FU20000&x1=1000; [***交换生物x6=0时同生物合并,x6=1时生物转移到空白***]
!!HEx3:C0/x16/?y20/?y21;
!!EXx3/x16&y21>0/x4=y20/x6=0:C0/x2/x5;
!!VRx16&y21>0/x4=y20/x6=0:S6;
!!FU&y21>0/x4=y20/x6=0:E;
!!EXx2/x5&y21=0/x6=1:A?y50/?y51/?y52 R?y53/?y54;
!!HEx3&y21=0/x6=1:C0/x16/y50/y51; [转移到目标英雄上]
!!EXx3/x16&y21=0/x6=1:A?y50/?y51/y52 Ry53/y54;
!!HEx2&y21=0/x6=1:C0/x5/-1/0;
!!VRx16&y21=0/x6=1:S6;
*---------------------函数部分结束---------------------------- |
评分
-
6
查看全部评分
-
|