贤知有您 发表于 2012-5-15 19:02:02

【分享】 一键分兵&交兵 脚本

刚写了个分兵和交兵脚本,禁不住就想和大家分享一下..还请帮忙测试并反馈.发现写循环嵌套循环,那些传递的X值真让人头晕.














-----------------------------------------以下代码--------------------------------------------------------------
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;
!!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;      
!!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;
!!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;
!!CM:R0;
!!CA-1:H0/?y3 H1/?y4;[驻守城镇的英雄/来访英雄]
!!FU|y3<0/y4<1:E;
!!IF:Q1^{是否进行一键交兵?}
主要是合并和填满生物槽.^;


!!FU&-1:E;      
!!VRv3&y1=123:Sy3;      
!!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;
!!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;
!!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;
*---------------------函数部分结束----------------------------

文兄 发表于 2012-5-15 19:06:08

这个太好了,谢谢!

兽哥哥 发表于 2012-5-15 19:12:13

已下载之。。。。。。希望楼主再接再励,多出点好作品就是论坛之福了:good_job:

无心云 发表于 2012-5-15 19:18:01

这个实用啊,每次搞这些比较烦

就跟城里招兵一样。

dadds 发表于 2012-5-15 20:07:13

交兵还不算特别麻烦,分兵感觉非常实用了:good_job:

水手 发表于 2012-5-15 21:01:07

是个好东西;orz;

renlinfeng 发表于 2012-5-15 21:27:58

007变身!

kswdiy 发表于 2012-5-15 22:05:41

回复 1# 的帖子

嗯变强了加分给你 再接再厉!!
希望 在出来个 物品交换。。。
那就牛逼了。。。。

贤知有您 发表于 2012-5-15 22:12:51

回复 8# 的帖子

物品交换,这个主意不错.
都忘了单英雄行囊的最大物品数是多少了.

兽哥哥 发表于 2012-5-15 22:13:41

回复 9# 的帖子

没记错的话应该是50个;yowe;

贤知有您 发表于 2012-5-16 09:25:14

;lan;
为什么英雄交流的界面不能刷新呢.
宝物转移后,大多保持原样,要么点击英雄头像查看(但仍不刷新),要退出才算真正的刷新..

还发现,若果使用左右行囊的方向按钮作为点击位置,在按钮没有激活的情况下,点击反应无效.看来只能用魔法书那个格作为点击位置了.

沧海一粟 发表于 2012-5-16 11:02:55

回复 11# 的帖子

强烈支持007再次变身,第三阶就是超级007了。:good_job:

贤知有您 发表于 2012-5-16 12:40:58

回复 12# 的帖子

请问沧大,移出宝物的ERM命令是不是有BUG的.

[用A# - 给予/移去一件宝物]
用负数来移去宝物时,所有同类型的都被清掉了.
[用A3/$1/$2/$3 - 移去一些宝物 ]
移去宝物时,虽然看上去是清空了宝物,对应的行囊也没有内容,但为何仍然占用行囊个数(不好说明白,下面说个实例)
例如:A英雄交所有行囊宝物到B英雄..假设A英雄行囊有64件宝物(全满),全部转移到B英雄身上后.(用A3/$1/$2/$3命令移除)
这时A行囊上已经没有任何宝物,但当想放入宝物到其行囊时会显示"行囊已满"????
看来这个问题不解决,转移宝物是实现不了的..因为这个BUG太不厚道了.
;dao;

沧海一粟 发表于 2012-5-16 14:48:40

回复 13# 的帖子

你不说我倒还忘记了,移除英雄宝物确实有这个BUG。记得还是2008年,玩巫妖王毁灭时有个建筑叫“七谷之巢”,功能是用宝物幸运草及恶运漏斗换生物的,原理就是用HE:A3先移除宝物后,再给英雄增加一组生物,但有个问题也是宝物移除后,移除的宝物一样占英雄行囊空间,我一说应该玩过的都会有这印象了。
要解决这个BUG说简单也简单,说复杂也复杂。交换后的英雄随便带一个宝物访问一下宝物祭坛,按一下将所有的宝物放在祭坛上,英雄的行囊空间又恢复了。

贤知有您 发表于 2012-5-16 14:53:07

哈哈..用A# - 给予/移去一件宝物],虽然效果不太好,直接删除了原来所有同类宝物,但删除宝物后不会出现"占着茅坑不拉X"的情况..
好吧,想到一个迂回方法..今晚就把它完成..;oweojs;
1.先检测A英雄拥有该宝物的总数D,检测A英雄装备栏拥有该宝物数量E(可能是0)..得到要转移出去的宝物总数量F    (F=D-E,若E>1时也按1)
2.检测B英雄行囊拥有的宝物总数G,若 G+F>64,即转移后会爆满,则不转移,直接退出.
3.用语法去掉A英雄的所有相同宝物,若E为1,即原装备栏上有该宝物,使用 重新给予A英雄装备一个该宝物.(保留一个)
4.重复给B英雄装备该宝物.(次数是F).

用以上方法.重复对A英雄的每个行囊位置操作,我觉得应该可以实现一键换宝物了.

[ 本帖最后由 hanter007 于 2012-5-16 15:01 编辑 ]

hellmatrix 发表于 2012-5-16 22:59:18

不错不错,下载了试试啊

lf13cs 发表于 2013-2-4 10:28:02

一键分兵,一键给兵士个好东东,要是能做个按钮就好了!!

LYX520 发表于 2016-4-8 18:57:40

支持!!!!!!!!!!!!!!!!!!!!

309505321 发表于 2016-7-16 14:34:04

好东西,终于不用一个一个的点了。赞~

我是真的醉了 发表于 2016-9-3 23:34:46

;jx;不错,好东西!
页: [1]
查看完整版本: 【分享】 一键分兵&交兵 脚本

捐赠