分享好友 天南地北首页 网站导航

如何锻炼FPS类游戏的瞄准能力?

网友发布 2023-07-29 13:42 · 头闻号游戏应用

看到标题可能很多小白以为做这个脚本超难,其实很简单的,几行命令就能够实现。

这个脚本小编尝试过在w10系统下运行,但是失败了,在w17系统下可以运行,可能是w10不兼容按键精灵的某些功能,所以建议大家用w7系统尝试。

1.首先确定基本的实现原理,基本原理就是捕捉准心周围敌军的颜色,如果找到了,就将鼠标移动到找到的颜色上,然后开枪。而按键精灵就提供了区域模糊找色以及移动鼠标的命令,所以很容易就能够实现这功能。

还有一点要注意,不知道大家有没有发现,fps游戏的准心永远在屏幕正中央,也就是在玩fps游戏时,鼠标永远在屏幕中央那一块。

在游戏中准心移动的距离并不是实际的鼠标移动的距离,大约是1比3的关系,也就是准心移动一个像素,鼠标实际移动3个像素,细心的朋友可以自己实验一下。这在后面会用到。

2.现在开始制作脚本,新建空白脚本,在编辑区选择源文件。

输入setSimMode 2,意思是模拟方式选择超级模拟,小编不懂模拟方式的意思,但是如果不是超级模拟的话脚本就运行不了。代码不用一个一个字母的敲,打出前几个字母,后面会智能提醒。

然后打开游戏窗口,注意是窗口模式。接下来的要做的是获取游戏窗口句柄,代码是hwnd=Plugin.Windows.MousePoint ,语句不用打逗号。将鼠标放在游戏窗口上就能获取了。取得窗口句柄就能对窗口进行各种操作了。rect = Plugin.Windows.GetClientRect(hwnd),意思是获得窗口的大小。rect是一个字符串,用arr = split(rect,"|")将字符串分割成数组,数组的前面两个元素就是窗口的左上角的坐标。

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

然后进入守望先锋训练模式,按键盘上的printscreensysrp截图,将粘贴到画板中,在画板中选择一种工具,将鼠标放在枪的准心上,左下角会出现像素坐标,记下这个坐标。回到编辑区,输入下面的代码,圆心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像素可以解决。

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

大家不要把在玩快速或者竞技时使用脚本,避免影响游戏公平性,影响其他玩家的体验,被暴雪查到后果也很严重。

欢迎大家在评论区讨论交流。

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

收藏

点赞