零基础教你快速做一个打怪辅助
二、智能刷怪
江中游老师QQ:2426410388;2025177703;390941087;微信:bauuia;抖音:275982100
江中游电脑版按键论坛教学总录:http://bbs.anjian.com/showtopic-697741-1.aspx
江中游安卓手机系统教学总录: http://bbs.anjian.com/showtopic-699643-1.aspx
庆祝按键精灵论坛开放,现在我来教大家快速使用按键精灵并且制作一个打怪辅助
本课教学视频
源码及PPT下载:- code.rar (, 下载次数:1256)
江中游按键论坛教学目录
本插件优点:
遇到问题:动了一下窗口不好用了怎么办?
´分析问题:大家经常遇到的情况做好的脚本第二天就不好用了,这主要原因是颜色变化了,颜色所以变化通常就是窗口位置变化了,因为我们找的是固定的点的颜色,所以我们一下要把窗口移动到一个固定的地方才可以,我想起前几天一个笑话,老美航母的飞机掉南海了却怎么也捞不上来,原因是当时掉海里后,母长詹母斯下士立即命令在掉下去的地方用记号笔画上记号,等回国后再按这个记号进行打捞。大家想一下能捞上来吗?
´一样的道理,我们要把这个窗口固定在一个位置,那么坐标就准确了
´移动窗口的命令是.move
´下面我们再调试代码就无后顾之忧了
TracePrint "开始运行"
Hwnd = Plugin.Window.Find("TianLongBaBuHJ WndClass", "《新天龙八部》 0.02.7712 (怀旧二区:天下第一)")
TracePrint Hwnd
Call Plugin.Window.Move(Hwnd, 1, 1)
Call Plugin.Window.Top(Hwnd, 0)
Plugin.Window.Active Hwnd
遇到问题:如何判断是否选到怪?
´分析问题:打怪必然是先选择怪,那么通过按选怪键是否能选择到呢?大家可以实践一下,当我们选择到怪的时候就会在窗口的最上方出现怪物的血条。
´有了这个标志就好办了,大家可以使用按键官方的命令IfColor 来判断某一点的颜色,如果是红的那么就代表选择到怪了。
´如果没选择到怪呢,就反复(循环)选择,一直到颜色为红色时为止。这里大家就要用到循环了。
´解决问题:
Do
Delay 500
IfColor x,y,"c82315",0 Then'判断颜色如果一样就跳出循环
Exit Do
End If
Loop
遇到问题:重复一个动作被检测怎么办
´谁说上帝不会掷骰子?
´一些窗口如果规律的重复一个动作会被检测,关键点是在于有规律,所以解决这个问题就是使用随机数。
´在使用随机数之前必须要用随机种子,种子就是初始化随机数生成器。命令是:Randomize 记住这个是必须的
´然后使用随机命令,其公式及说明为:
´int((最大数 – 最小数 + 1) * Rnd + 最小数)
´Int:是把括号的小数转化为整数
´Rnd:是在使用Randomize种子命令后产生的0-1之间的随机小数
´我们制作一个随机延时的命令:产生200毫秒到1000毫秒之间的一个整数
Randomize
Delay Int((1000 - 200 + 1) * Rnd + 200)
´综合上一个命令,大家可以这样写
Do
KeyPress "F11", 1
Delay Int((1000 - 200 + 1) * Rnd + 200)
IfColor x,y,"c82315",0 Then'判断颜色如果一样就跳出循环
Exit Do
End If
Loop
遇到问题:怪物是否死亡
´分析问题:怪物是否死亡,主要是看血条是否消失,那么大家是不是能够通过第一个问题得到启发呢?
´我们分析问题不要一直正向来分析,有时有的问题也要反过来想,血条的存在就是代表怪的存在,血条的消失就代表怪物的死亡,这恰恰与选怪的思路相反,只不过是使用的键不一样。
´那么打怪并且判断是否死亡的代码是:
Do
KeyPress "F11", 1
Delay Int((500 - 300 + 1) * Rnd + 300)
IfColor 301,63,"0007CD",0 Then
//颜色一样
TracePrint "颜色一样"
Exit Do
End If
Loop
本篇教学并未结束,下大家继续学习智能刷怪——2