一按键精灵我的外挂之路二读取内存(三远程)

系列文章目录

我的插件之路一键精灵

我的插件路二读显存

我的外挂之路三远程调用

前言

本文记录了过去一段时间制作插件的开发经验,从用键盘精灵模拟鼠标键盘到阅读显存远程调用和开发之路,缅怀这些逝去的青春…

正文开始

本文记录了常用的脚本操作,如使用键盘向导捕捉、判断、模拟按钮等。

1.想念老飞

飞飞,这是一款非常经典的可以打怪,可以飞的游戏。上小学的时候就很喜欢这个游戏。睡梦中的网管开了1元的小时。那时候上网1块钱50分钟,正好赶上上课。后来是1块钱40分钟,2块钱一小时,前面也是一个网吧的目击者。游戏的发展历程,我骑着我的轮滑到处飞,看到守护者,哈哈哈,无忧无虑的岁月总是很快就过去了,可惜后来游戏停产了,正巧从什么地方听到了熟悉的游戏,但我仔细看了看原来的私服,兴奋地下载了游戏……

在这里插入图片描述

2. 手动加血

游戏的玩法很简单,双击一个怪物,角色会继续攻击怪物,怪物受到攻击时也会攻击玩家。及时按f1-f10使用对应物品,避免被击杀。玩了一会儿,觉得太机械了。不知道有没有什么东西可以帮我手动按下按钮加血?

2.1 个模拟键盘

首先想到的是键盘精灵,简单粗暴。模拟按钮非常有用。我打开键盘向导界面,觉得需要键盘向导每隔一段时间帮我按一下F1,所以我有如下代码。

在这里插入图片描述

While 1

脚本精灵天天爱消除脚本_脚本精灵 录制脚本_按键精灵怎么制作问道私服脚本

KeyPress "F1", 1 Delay 1000 Wend

运行后,脚本可以以每秒1次的频率手动为我们加血。用了一段时间,感觉还是不合适。主要问题是:

所以我想,如果我知道我的血低了,我会吃血。

2.2 屏幕截图

翻了一下键盘精灵,发现有截屏功能,于是就有了如下视图,在角色血槽的一半得到的颜色,如果是黑色就说明有血,如果是红色,代表加血:

在这里插入图片描述

于是就有了下面的代码

在这里插入图片描述

While 1

// 获取某个点的颜色
GetColor = GetPixelColor(10, 5)
// 在控制台输出颜色
TracePrint GetColor
// 判断颜色 如果这个点的颜色 不是红色,加血
IfColor 10, 5, "61839B", 1 Then
	
	// 按键键盘
	KeyPress "F1", 1
	
End If
// 每一秒循环一次
Delay 1000

Wend

这一次比以前好多了。没血就加血,还是有一些问题:

2.3 获取窗口位置

翻了一下键盘精灵的命令库,发现键盘精灵的窗口支持也很好,于是想到,可以先获取窗口的坐标,因为血槽的坐标相对于窗口是固定的,所以只要获取到窗口的血槽坐标,也可以得到血槽的坐标,解决了窗口位置变化时获取血槽不准确的问题。对了,我也发现了激活窗口的方法,就是在执行键盘之前,先激活它。点击窗口,键盘就可以正常执行了。


// 查找窗口类名(0)或者标题("无标题 - 记事本"),返回找到的句柄Hwnd
Hwnd = Plugin.Window.Find(0, "Flyff")
// 得到窗口句柄的边框大小(包括标题栏)
Rect = Plugin.Window.GetWindowRect(Hwnd)
// 分割字符串
RectArray = Split(Rect, "|")

脚本精灵天天爱消除脚本_脚本精灵 录制脚本_按键精灵怎么制作问道私服脚本

// 得到窗口位置 然后偏移到我们的血条坐标 x = CInt(RectArray(0)) + 10 y = CInt(RectArray(1)) + 5 While 1 // 获取某个点的颜色 GetColor = GetPixelColor(x, y) // 在控制台输出颜色 TracePrint GetColor // 判断颜色 如果这个点的颜色 不是红色,加血 IfColor x, y, "61839B", 1 Then

脚本精灵 录制脚本_按键精灵怎么制作问道私服脚本_脚本精灵天天爱消除脚本

// 先激活窗口 Call Plugin.Window.Active(Hwnd) // 在按下按键 KeyPress "F1", 1 End If // 每一秒循环一次 Delay 1000 Wend

再运行一遍按键精灵怎么制作问道私服脚本,这次的脚本更好,只要启动程序能帮我们吃血,虽然很聪明,但是随着等级的提升按键精灵怎么制作问道私服脚本,怪物的攻击力越来越高,而且一个新问题来了:

2.4个多点截图

虽然很容易认为前两个问题可以通过多点快照的方法解决,但是我不想写键盘精灵的代码,因为我想用更中间的方式来解决,如果能知道自己输了多少血(具体数值),那最好根据自己的失血值准确选择正确的增血方案……待续

总结

以上是本博客的内容。本文只简单介绍了键盘向导的使用,键盘向导提供了大量的内部库函数,可以让我们快速高效的解决一些需要模拟键盘或鼠标的重复性机械操作!

复习本文键盘精灵的一些知识点

未经允许不得转载:wendaosf.com » 一按键精灵我的外挂之路二读取内存(三远程)

相关文章

评论 (0)