按键精灵梦幻西游四开押镖学习心得
操作方法
- 01
刚开始学习按键,急于实现自己想要的功能,基础教程随便翻了翻,遍靠着各种插件,开始写结果一写下去就是半年,半年之后,当初所设想的功能一减再减,就是因为难于实现,本人也是那种倔脾气,游戏也不玩了,就不信写不出来...各种官方教程,前辈老贴看了无数遍,虽然有很多还是不懂,不过到头来才发现,真正的想学好按键,其实并没有那么难,一定要掌握好基础知识判断、循环、变量、数组,说白了也就这几样,判断简单,但是循环、变量、数组,看似简单,但是这就跟盖房子似得,任何强大的功能都离不开这几样的基础一定要彻底弄明白了,弄清楚了,后面的学习才能轻松当然,四天写个四开押镖只要105行,可能有点了噱头,其实,这也事实,前面为了写另外一个梦幻脚本,脚本无数次推到重写,每学到一个新东西,才发现自己老方法过于繁琐或者有漏洞不稳定等种种因素只好推到重写,由此,再强调一下,一定要扎实好基础,不要急功近利,当然,这只是针对没有任何编程基础的同类们而言写完上个脚本,命令库里留了90多条函数和子程序,闲着无聊,写个押镖吧,拿着过去的的函数,三下五除二,立了主程序,然后又把押镖所需的几个子程序和函数,单独新建了命令库,最后主程序只留了105行当然,主程序行多行少意义不大,本人主要是图个编辑方便,各位也不用较真当然了,我现在还是很菜,主要是依靠各种插件,按键自带的方法跟属性真正会用的不足1/10,学习的道路还很长,前途漫漫,与众菜共勉!另外抛个写脚本的小窍门,怎么让你的代码缩减一半,本来不想隐藏的,只是为了更多新手看到这个,少走弯路!!! 我的命令库,如果你不知道的话,赶紧去了解下由于按键不支持中文数组我们可以这样写函数,让函数返回多个值Function 例子得到鼠标在窗口上的位置()dim i(1),MyArray,x,y得到鼠标下窗口句柄()得到该窗口坐标信息MyArray = Split(坐标, "|")得到当前鼠标坐标保存到x,yi(0)=x-Clng(MyArray(0))i(1)=y-Clng(MyArray(1))例子得到鼠标在窗口上的位置=iend function通过这种方法,就可以实现利用函数返回多个值,并且是中文,以后需要调用的时候一目了然当然,虽然不支持中文数组,但是也可以通过中文传递数组例子:dim x(3)x(0)=1x(1)=2x(2)=3x(3)=4y=输出数组平均值(x)function 输出数组平均值(数组)dim xx=0for xh=0 to ubound(数组) step 1x=x+数组(xh)end for输出数组平均值=x/ubound(数组)end function这种方法虽然并没有多大用处,但是,非常有利于编写脚本需要调用的时候,只要根据中文,就知道写进什么类型的参数第三种,怎么简化脚本例子:sub 鼠标移动到并动作(句柄,x,y,误差度,左键1右键2不点击3)//句柄为0则为采用屏幕坐标系统,大于0采用窗口坐标系统if 句柄>0ck_zb=得到该句柄窗口坐标信息(句柄) //这个地方就可以用到最开始说的,调用返回多个参数的函数目的X=ck_zb(0)-x目的Y=ck_zb(1)-yelse目的X=x目的Y=yend ifrem 移动moveto 目的X,目的Y得到当前鼠标X1,Y1if Abs(X1-目的X)>误差值 or Abs(Y1-目的Y)>误差值X2=x-X1Y2=y-Y2mover X2,Y2GOTO 移动end ifif 左键1右键2不点击3=1LeftClick 1elseif 左键1右键2不点击3=2RightClick 1end ifend sub