yuerr 发表于 2009-5-31 23:44:13

新人第一个钓鱼mush版,基于helllua

第一个机器人,给大家共享一下
用了论坛一个朋友贴的地图
所以有了全球定位功能,当然地图不一定完整,起码钓鱼够了
全部是busy test的触发模式,不依赖于系统特定的信息做一下步动作
也不依赖于#wa去等busy time
好处有两个
1.比#wa效率高
2.不用写太多trigger,如果加其他模块不用去抓全所有的trigger,例如鱼上钩,掉失败,发呆完毕,都依赖busytest

分了几个模块,system,hook 然后就是mapper walk search系列
这些机器人的基础都是从胖胖包的helllua抄过来的,为了以后的扩展性考虑

例如,如果要继承多个任务,多功能,hook就非常重要
假设断线从连,不同的任务可以提供不同的resume hook, loggin后自动call
这样就可以非常灵活了


关于fish 模块的使用
很容易用mushclient打开xkx.MCL
手动login
在任何地方敲#fish就会自动去钓鱼了
没做取钱,所以身上放几两银子最好

可以自动钓鱼,卖鱼,存钱,自动fadai,无限循环钓鱼,非常容易使用
要停止就敲#stop

除了钓鱼,提供一个简单的#to 接口
例如在命令行输入#to 82 就会自动去钱庄,详细请看rooms_pkuxkx.txt
暂时还不支持#to npc名字,因为我还没整理出路径,代码是ready的,有心人可以修改一下就好

没有设置variable,所以要修改一些东西需要自己手动改xkx_fish.lua文件
建议只修改下面两项
cmd_limit=35
--每秒多少命令,按自己网速调整,默认35
walkecho = false
--是否回显命令,设置true就可以看命令
这个没用queue本身的回显,感觉有bug,对机器消耗也大,打开会出问题,改成Note以后就没事了





因为我的经验太少,才2w,还没学任何技能,所以其他模块暂时不提供了

还有很多改进空间,例如status我还没做score and skill, inventory也偷懒还没做
做这个出来主要是因为我现在玩的mud down了,拿了些时间做了这个给大家玩玩
helllua的框架还不错,大家可以参考参考



重新提交一个新版本
fix了#to以后乱走在#to失败的问题

[ 本帖最后由 yuerr 于 2009-6-1 01:07 AM 编辑 ]

yuerr 发表于 2009-5-31 23:53:34

#to 目前还有bug, 我还没来得及修改
就是如果你to完一次,手动走了几步,在to就会失败
必须用ctrl+shift+r重新load一次script才能继续用

yangzeon 发表于 2009-6-1 00:01:11

东西好~就是mushclient不会用而已~感谢分享~

Timer function "on_steptimeout" cannot execute - scripting disabled/parse error.

yuerr 发表于 2009-6-1 00:03:26

mushclient设置:
1.允许lua使用mapper.dll文件:
   按住ctrl+alt+g,选择lua选项卡
   勾上Allow dll to be loaded
   按 Edit按钮
   把第一行的trust_all_worlds = false 改成trust_all_worlds = true
   点ok确认.
   只需要设置一次
2.设置lua文件
   按住shift+ctrl+6,出现scripts设置页面。
   确定scripting后的选项是 lua
   点击Browes... 按钮,选择xkx_fish.lua
   点 确定 按钮保存设定.
   如果你使用多个mcl文件,每个都需要这样设定.

然后再试试看

[ 本帖最后由 yuerr 于 2009-6-1 12:05 AM 编辑 ]

yuerr 发表于 2009-6-1 00:03:53

设置好后输入ctrl+shift+r强行load一次script

ddid 发表于 2009-6-1 00:07:56

占个坑,研究一下先……

yangzeon 发表于 2009-6-1 00:20:34

很好用~因为你这个机器人~所以打算研究下mush~恩~
mush入门教程~我在别的地方看见的~
http://bbs.mudbuilder.com/read.php?tid=1654

yuerr 发表于 2009-6-1 00:50:46

刚入门的话看这个机器人可能有点痛苦。。
作为钓鱼机器人,有点过于复杂了

muxiao 发表于 2009-6-1 09:16:33

这个全球定位的算发是啥样的啊,遇到重复的房间名是怎么处理的?
我见过一个层层便历去切点的定位系统,相当多的代码.

yuerr 发表于 2009-6-1 09:55:18

只有靠特定的desc做trigger了
我用扬州客栈做了一个例子
因为客栈的名字重复概率比较高
页: [1] 2 3
查看完整版本: 新人第一个钓鱼mush版,基于helllua