全新升级!~ 新手抄经——工号查询机器人(MUSH)
为了帮新手赚钱,这次可是拼了老命了,整整3晚没睡,研究Lua,终于搞定了!上一个版本的“抄经——工号”机器人仍然可用,这个版本的机器人只是不需要到MUSH外面看“工号”的Web页面了,“工号”的图片被直接显示在MUSH的右上角(并且放大了)。建议IE处在打开状态(即使不打开也没关系,程序执行时会自动打开一个IE,完成时再关闭。),但IE开的时间长了有可能会造成内存不足哦……
效果:
这个机器人只做了“工号”图片显示的部分,其它的走路,抄经什么的建议自己做。最后回答口令的时候一定注意 report XXXX(4个大写英文字母)。如图应为“report HCTI”
这个机器人的运行需要较多组件的支持:
运行条件:
Window XP
InetenetExplorer 7.0
MUSHClient 4.40 (Download from: http://www.gammon.com.au/downloads/dlmushclient.htm)
MS WIA 2.0 SDK (Download from: http://www.microsoft.com/downloads/details.aspx?familyid=a332a77a-01b8-4de6-91c2-b7ea32537e29&displaylang=en)下载后需要注册为windows组件,注册方法见其ReadMe.txt
luacom (Download from: http://www.gammon.com.au/downloads/dlmushclient.htm)
windows_utils (附件提供)
下面讲一下安装方法:
1. 注册MS WIA 2.0 SDK 为windows组件;
2. 下载luacom from www.gammon.com.au 将下载的文件解压,其中的luacom.dll文件 Copy到“MUSHClient”文件夹,与“MUSHClient.exe”同一文件夹下;
3. 下载附件中的windows_utils.zip,下载后解压,Copy其中的“windows_utils.dll”文件到“MUSHClient”文件夹,与“MUSHClient.exe”同一文件夹下;
4. 设置MUSH沙箱,打开MUSH,“File”,打开“Global Preferences...”,点选“Lua”,将“Allow DLLs to be loaded”选中,找到“package.loadlib = ...”这一句,在前面加两个减号“--”(如图):
点“确定”后,需要关闭MUSHClient一次,重新打开MUSHClient后,改动生效;
5.安装插件,打开MUSH,“File”,“Plugins...” 安装插件(附件中的Query_Password_of_ChaoJing_job_2.0.xml文件)。
机器人运行:
Login PKUXKX,找朱熹去ask zhu xi about job机器人开始运行,MUSH右上角会显示“工号”图片。
ask zhu xi about job之后1分钟内,ask zhu xi about 口令 可以刷新图片,如果第一次显示的图片看不清楚,可以通过这个方法刷新出一个新的图片。
close_mini_window 命令可以将图片窗口关闭。
可能的问题:
虽然已经做过了除错,但仍然可能有其它问题,例如:IE长时间打开同时长时间运行本机器人,可能会出现IE占用内存过多,系统内存不足,解决的方法是使用“任务管理器”,把“iexplorer.exe”进程杀掉;又如:如果机器人运行有错误,可能会造成MUSCHClient主文件夹下多出两个图片文件,需要手动删除……
关于这个机器人,就这么多了。在这里要感谢一下Jason,他的那个antirobot确实很牛,研究怎么拿图片,想的我脑浆流了一地……yct57
还要再次对maper表示感谢,这个机器人最初的创意就是他的……hzt
希望这个机器人对那些“自立更生”的新手,能有所帮助!hz6
-- -- -- -- -- -- -- -- -- --
2009年7月26日
版本更新至2.2
-- 完全不需要windows_utils了。
-- 执行速度提高了。
-- 不能通过“ask zhu xi about 口令”刷新图片了。
-- 更新的文件见附件:Query_Password_of_ChaoJing_job_2.2.xml
[ 本帖最后由 ddid 于 2009-7-26 03:14 PM 编辑 ] 辛苦了,可以从中学到很多东西。yct23 参照你的,做了下修改,可以抓到完整的网页内容了
assert (package.loadlib ("luacom.dll","luacom_open")) ()
oXMLHTTP = assert (luacom.CreateObject ("MSXML2.XMLHTTP.3.0"), "cannot open MSXML2.XMLHTTP")
oXMLHTTP:Open("GET", "http://pkuxkx.net/antirobot/robot.php?filename=124852889325122", 0)
oXMLHTTP:Send()
if oXMLHTTP.Status == 200 then
print(oXMLHTTP.responseBody)
end -- if
你试试看吧,这样子就不用打开ie了。
luacom确实强大! 呵呵,真的省了不少事哦,看来还要再改改…… 我确定以及肯定你们一定是在自娱自乐 我确定、一定以及肯定你确定以及肯定的否定…… hz6 IE用来做啥的 囧
看maper的修改似乎是打印http响应原文? 现在看来IE已经没用了,完全被MSXML2.XMLHTTP替代了,之前是想使用IE.Document对象的,但是很麻烦,用了MSXML2.XMLHTTP,~~~“腰也不酸了,腿也不疼了,吃嘛嘛香,您瞅准了......”
hzx hz7 bud……
两个bt…… bt?说的是Jason和maper吧,确定、一定以及肯定不是我…… hzy