目前《天堂i》的外挂还很原始,实际应该只能称之为辅助,还没有达到外挂的标准。
依然之前他开发的三个功能:免蜡、自动保护、自动锁定。
而现在,他要继续加码,使之成为名副其实的外挂!
首先,穿墙功能……
emmmmmm……穿墙功能还是算了,既然要闷声发大财,这个功能太引人注目,其他玩家一看就知道不对劲,不能弄。
体验了一会儿游戏后,方杰很快便有了一个目标——先把自动拾取功能搞出来!
现在游戏里捡东西很麻烦的,就像前世的《传奇》一样,还得走上去点击一下,才能拾取,所以必须搞出来。
这个功能其实比较容易实现,此前的外挂版本已经搭好了框架,很多工作不需要重复进行。
像取得窗口相对坐标和进程、读取窗口信息和句柄、模拟键盘鼠标操作、ce中的数据类型分析……等等都是现成的,至于内存基址分析,此前就已经完成过一些,现在有20个技术人员帮忙分析,这都不存在问题。
接下来就是自动寻路的功能实现,因为捡东西必须要自动走路。
而这又涉及到坐标问题。
游戏中坐标植有浮点数,当用鼠标点中一个要走到的地址的时候,游戏中就会有这个地址的数值,所以可以先找到当前角色的坐标,走一下到地方后再搜索一下当前的坐标,角色在移动的过程当中,可以通过改变其数值来更改目地坐标。
还是老套路,找到角色坐标内存地址,分析出走路call,同时载入物品内存弟子,自动搜索识别,然后插入掉落物品的坐标变量作为目的地坐标,人物走上去,模拟鼠标点击拾取,自动拾取的外挂功能就实现了。
这个功能方杰只用了个把小时就弄好了,代码什么的,尽管有很多,但其实都有固定的格式,复制粘贴固定格式,改掉其关键数值就行,实际工作量并不大。
有了自动拾取,接下来就是要实现自动打怪功能。
这个反倒比自动拾取功能更简单,此前已经开发出了半自动锁怪的功能,现在无非是找到怪物基址,然后调出选怪call,加入半自动锁怪程序中,加入一个循环判断指令,就能实现全自动锁怪。
至于怪物基址,虽然工作量巨大,但其实一开始并不需要把所有怪物基址找出来,只用找到特定地图打钱怪的基址就行。
而且怪物基址一般都是一个萝卜带出一片泥,怪物基址都是存在于怪物列表当中的,找到一个怪物基址,稍加分析,游戏怪物列表就能全部找出来。
方杰暂时只是找到了一个适合用来打钱的地图怪物基址,然后一个简单的自动打怪功能就实现了,剩下的怪物列表让让下面的技术人员找到对应的基址,然后添加到外挂预设的怪物列表中即可,以后要自动刷什么怪可以自行设定。
至于自动使用技能杀怪,那就太简单了,直接模拟键盘快捷键操作,并设置好技能施展间隔时间就行,这个不提也罢。
自动拾取、自动打怪、自动保护三项基础功能实现后,一个真正意义上的外挂就诞生了,只要把游戏角色丢到某个地图某个怪物刷新区域,开启外挂功能,就能实现自动挂机功能。
但目前这个外挂还是很简陋,只是作为基本框架的存在,身为完美主义者,方杰当然不会就此罢休……