本帖最后由 兄弟工程师03 于 2012-3-13 10:55 编辑 教程环境 |
操作系统:XP |
颜色质量:32位 |
分辨率:1280*1024 |
游戏窗口:最大化(非全屏) |
游戏设置:默认 |
按键精灵版本:9.20.10818版 |
大家好,今天给大家做一个详细的<<天龙八部3>>的打怪教程.我会一步一步的为大家讲解哦~!现在我们先看一下<<天龙八部3>>的战斗画面(见下图)~!
在游戏中我们可以使用快捷键(ctrl+tab)来寻怪,也就是说我们按一下ctrl+tab就会锁定一个怪物.锁定之后游戏界面上方就会出现怪物的信息(见下图).
此次打怪教程我们主要以
找色 的方法来进行判断和控制,所以先我们观察一下怪物的血条(hp).这时可以打开按键的抓抓工具.
我们看到怪物的血条主要以红色为主,当怪物的没血的时候血条主要以灰色为主.这样我们就可以根据血条的颜色来判断是否锁定一个怪物.如果锁定了怪物我们就可以对怪物进行攻击,当怪物死亡或者没有锁定怪物的时候我们再寻找下一个怪物.好了,思路清晰了,现在我们开始写代码吧~!
首先为了方便对坐标的读取以及方便下次使用,我们先把游戏窗口最大化(非全屏).
准备工作做好了,现在我们可以用抓抓来获取怪物血条点的信息(不同的操作系统获取的坐标可能不一样).
我们通过抓抓得知,怪物有血的时候在坐标(277,61)处的颜色值为”0012EA”.也就是说当怪物血条最左边的点(277,61)处的颜色值为”0012EA”时,我们选中了一个怪物,这时我们开始攻击(普通攻击键F1). 当怪物血条最左边的点(277,61)处的颜色值不等于” 0012EA”时,攻击的怪物已死亡或者没有选中一个怪物,这时我们可以重新选择怪物.
首先我们需要判断(277,61)处的颜色值是否为” 0012EA”,我们使用按键精灵的自带的取色判断命令(见下图).
我们把屏幕指定点的坐标改成点(277,61),颜色改成”0012EA”,然后插入代码,在普通视图下就可以看到我们所插入的语句(如下图).
如果点(277,61)的颜色等于”12EA”(怪物存在),则攻击怪物,否则(怪物未选中或已死亡)选怪.游戏中的普通攻击键为F1,所以我们将点击F1的命令插入语句中(见下图).
插入之后普通视图如下.
游戏中选怪的快捷键为Ctrl+Tab,这是一个组合键.这需要先按下Ctrl 键,再点击Tab键,最后再弹起Ctrl.我们依次将三个命令插入否则之后(见下图).
插入之后普通视图如下.
这时我们可以运行一下,发现程序要么只打怪要么只寻怪,这是因为程序只运行了一次,所以我们需要在程序中加入循环来达到我们的目的.我们选中控制命令中的第三个循环命令插入语句的开头(见下图)
插入之后普通视图如下.
这时我们运行一下发现和前面的结果是一样的,仍然只执行一次.那是因为循环语句没有正确使用,我们要将 “循环结束” 放在语句的最后面.这时我们选中”循环结束”,在视图的左边选择”当前选中的语句想下移动一行”(见下图).
移动多次以后视图如下:
这时我们可以运行一下,发现基本可以打怪了.但是经常会有怪物还没打死就继续打下一个怪,这是因为程序运行太快了,导致多次选怪了打怪,我们可以在代码中加入一定的延迟(见下图).
插入之后普通视图如下.
运行之后发现一个最简单的比较完美的自动打怪脚本就已经做好了.
附源代码:
- While true
- IfColor 277,61,"12EA",0 Then
- KeyPress "F1", 1
- Else
- KeyDown "Ctrl", 1
- KeyPress "Tab", 1
- KeyUp "Ctrl", 1
- End If
- Delay 1000
- Wend
复制代码