EVE任务挂机脚本

06年EVE国服公测的时候,我是第一批玩家。我的EVE游戏历程大概是 玩一年->AKF两年->玩一年->AFK两年。最近由于同学诱惑,于是又重拾EVE。当然考虑到国服目前这个状况,我果断流失到欧服了。

EVE是一款非常令人纠结的游戏,大凡接触EVE稍久的玩家都会惊叹于它神一样的画面以及屎一样的PVE内容。EVE的PVP部分还是不错的,但PVP始终是消费。要生产就必须日复一日、年复一年地刷着一成不变的任务/死亡。这就是我AFK的原因,做任务让我恶心。但同时我又是个非常有收集欲的人,而EVE刚好能极大地满足我的收集欲。魔兽世界是个好游戏,个人认为在游戏性上比EVE好太多,但EVE更能满足我的收集欲。因此,每当AFK一段时间后,我便心痒难耐,骚动不已。

于是我开始考虑为EVE写任务脚本。

最初的想法是用按键精灵。我也用按键精灵写过一些小玩意。不过按键精灵存在的问题是:

  • 所有东西都要写在一个文件里,这是让我最汗颜的一点
  • 不具扩展性,比如据我所知按键精灵不提供文字识别(OCR)

随后我考虑使用Python。游戏脚本主要就是处理输入和输出。输入就是读取屏幕内容,输出就是模拟鼠标键盘操作。我使用OpenCV进行图像识别,使用pytesser进行文字识别,使用pywin32桥接鼠标和键盘消息。这些模块网上都有,直接下载就可以用了。看,Python无所不能,写个游戏脚本自然不在话下:)

但这些日子EVE的脚本也越来越难写。首先是EVE界面变得越来越花哨,这对于图像识别来说是个大敌。如何有效防范脚本外挂?答案是半透明的皮肤以及球型的血条。另一个问题是CCP修改了怪物的AI,怪物现在会更加频繁地攻击无人机,这使得无人机挂机完成任务的好日子一去不复返。我是无人机党,经我研究除了极个别精英怪以外,轻型无人机还是比较不会招惹仇恨的。因此想要无人机挂机,只能用轻无。

大约在2013年1月,我完成了EVE-Script,这是一个lv2任务的挂机脚本。代码写的比较搓,主要是练手攒经验为主。

大约在2013年3月,我完成了EVE-Script-2,这是一个lv3任务挂机脚本,也是我目前正在使用的脚本。使用这个脚本挂一天下来的收益大概是一亿ISK外加八万多LP点,期间不捡垃圾不打捞。现在你可以看出问题来了,使用脚本挂机的收益远比不上玩家手动操作。但好处在于,机器任劳任怨,人类却不能连续做十多小时的任务。

我写的脚本只适合我自己使用,我放出的源代码也很难给任何人提供帮助。但对于那些想要动手写自己的任务脚本的人来说,我在这里为你们提供了一些思路。但同时需要注意的是,脚本挂机是个高风险行当。风险不但来自CCP的封号,还来自各种莫名其妙的怪损。

original_xEiG_7d8d0000def6125c

 

大体来说,一个任务脚本在开发完成后,还需要经过大量的跟踪调试才能够完全正常地投入使用。经过我长时间的调教,我的脚本已经不会导致怪损。现在断我财路的最大的问题是断线:)

—————————————————-

喔,你说lv4任务。当然,这些才是最富有油水,最具有挂机价值的任务。在完成了lv3任务的挂机脚本后,我马上就考虑开始开发lv4任务的脚本。但随着我Google资料的增多,我发现也许有更好的方式来完成这项工作。

游戏挂机脚本大概可以分为两种,一种是像按键精灵一样,找图,模拟鼠标键盘事件。这种脚本有个冠冕堂皇的名字叫做“基于图像识别的挂机脚本”。还有另一种“基于DLL注入的挂机脚本”,这种脚本更高效,更简单。真的,如果能注入DLL,我就可以直接调用EVE内部的API,这比从屏幕抓图分析简单太多了。

众所周知EVE的逻辑是使用Python编写的,EVE内部会运行一个Python解释器。假设EVE没有对脚本进行混淆处理的话,我应该可以直接获取EVE的所有UI元件。显然国外已经有许多蛋疼的人研究过这种方法的可行性了,事实上国外许多收费的脚本就是这么做的。

总之,一切还有待研究。

此条目是由kid发表在EVE分类目录的。将固定链接加入收藏夹。 1,788 views

EVE任务挂机脚本》上有3条评论

  1. 博主,那个everuby 是不是你写的啊
    这是我发现的第一个不是基于图像设别的EVE脚本,功能比较简单,但是出错率为0

发表评论

电子邮件地址不会被公开。 必填项已用*标注