fps游戏自动瞄准脚本教学,76大招不是梦

首先申明,大家不要把制作的脚本拿到游戏中去玩,倒不是因为自瞄影响了公平性,而是这个脚本效果很差,确实有自瞄功能,却相当难用,到时候坑了队友就不好了。这个脚本是用按键精灵做的,只是实现了基本的功能,并不成熟。

自瞄的基本原理是捕捉准心周围敌军的颜色,如果找到了,就将鼠标移动到找到的颜色上,然后开枪。而按键精灵就提供了区域模糊找色以及移动鼠标的命令,所以很容易就能够实现这功能。fps游戏的准心永远在屏幕正中央,也就是在玩fps游戏时,鼠标永远在屏幕中央那一块。在游戏中准心移动的距离并不是实际的鼠标移动的距离,大约是1比3的关系,也就是准心移动一个像素,鼠标实际移动3个像素,细心的朋友可以自己实验一下。这在后面会用到。

现在开始制作脚本,打开按键精灵,新建空白脚本,在编辑区选择源文件。输入setSimMode 2,意思是模拟方式选择超级模拟,如果不是超级模拟的话脚本就运行不了。代码不用一个一个字母的敲,打出前几个字母,后面会智能提醒。然后打开游戏,注意是以窗口模式打开。接下来的要做的是获取游戏窗口句柄,代码是hwnd=Plugin.Windows.MousePoint 。将鼠标放在游戏窗口上就能获取了。取得窗口句柄就能对窗口进行各种操作了。rect = Plugin.Windows.GetClientRect(hwnd),意思是获得窗口的大小。rect是一个字符串,用arr = split(rect,"|")将字符串分割成数组,数组的前面两个元素就是窗口的左上角的坐标。

可以用TracePrint arr(0)和 TracePrint arr(1) 来在控制台输出窗口左上角的坐标,看看是否正确获取到了左上角的坐标。

然后进入守望先锋训练模式,截一张图,将图片粘贴到画板中,找到枪的准心的坐标,记下这个坐标。回到编辑区,输入下面的代码,圆心X = arr(0) + 坐标的第一个值 ,圆心Y =arr(1)+坐标的第二个值。代码的意思是游戏中准心的坐标为窗口左上角的坐标加上刚刚测得的准心坐标。

然后回到画图,在准心左上面一点的位置找一个点,记下坐标,右下面一点的位置找一个点,记下坐标,而自瞄的范围就是这两个点之间的区域,也就是准心周围的区域,一旦这个区域内出敌方目标,准心就移动到敌方单位上。代码是左上角X = arr(0)+左上坐标的第一个值,左上角Y = arr(1)+左上坐标的第二个值,右下角X = arr(0) +右下坐标的第一个值,右下角Y = arr(1) +右下坐标的第二个值,原理同上。

大家不要模仿图片的代码,因为每个电脑的点的坐标不一样。

接下来就很简单了。插入颜色图形命令中的区域模糊找色命令,区域屏幕的四个参数就是左上角X,左上角Y,右下角X,右下角Y,相似度为0.5就行,查找方式为0,从左上往右下。然后进入训练模式,截一种训练机器人的图。放进画图。打开按键精灵的抓抓工具,鼠标移到图片中机器人的边缘红色区域,在抓抓工具的放大镜中可以看到。按ctrl+alt+1,可以记下这个点的颜色值,放进区域模糊找色的命令的颜色参数中。

再介绍一个命令,moveR,这个命令控制鼠标相对移动的距离。上个命令取得的指定颜色块的坐标保存在intX,itnY中,用准心坐标减去这个坐标,得到坐标差,鼠标移动这个坐标差就到了指定颜色块的位置,然后单击左键。只需要重复执行找色代码就行,加上 do loop和延迟,完整代码如下

mover的y坐标可以加上20个像素,因为准心容易瞄准到机器人的血条而瞄准不到人,y坐标加上20像素可以解决。

现在可以打开游戏测试,看到自己制作的脚本是不是很有成就感。但是这个脚本只能在游戏窗口模式下运行,因为守望先锋禁止了按键精灵后台取色的插件,所以不能全屏模式下取到颜色。

可能没有用过按键精灵的朋友看教程有点吃力,但是篇幅有限,没办法讲的很详细,如果有不懂的可以在评论区留言谈论或者自己查看按键精灵的文档。

你可能感兴趣的:(fps游戏自动瞄准脚本教学,76大招不是梦)