找回密码
 注册
搜索
查看: 2452|回复: 9

机器人编写-新思路

[复制链接]
门派:不明
发表于 2010-3-23 16:33:22 | 显示全部楼层 |阅读模式
编写过机器人的人都有这样经历,先做个打坐机器人,然后增加一点功能,可以自己练功,然后在增加一点功能可以做job,在增加一点功能可以领悟技能。机器人功能越来越强,trigger语句越来越多。我以前有用zmud写过一个机器人,3000行触发器,触发器增多以后机器人可靠性越来越低,增加一个新功能需要修改很多地方。这个机器人最后给我废弃了,因为程序僵化,一修改会引起很多bug。
我最近用mushclient 编写机器人
mushclient 可以使用lua编写机器人,写出程序很简洁。
mud 机器人 抽象一下可以分成两部分
1 寻路 具体点讲就是走到指定房间
2 动作 到了目标房间做一些具体动作,比如ask npc,buy,fight,kill,等等和任务相关动作。完成这些动作以后,又重复1~2步骤
寻路原来zmud中用的最多的是路径alias方式。
这种方式非常不好
1 比如都是巡城job,如果师傅门派不同就需要修改路径alias。基本上每个机器人拿到手都需要修改路径alias.
2 如果移动失败,给block 那么机器人基本上只有发呆了。

为此 我开发一个GPS插件,后台有地图数据库支持
提供 地图定位 路径搜索
只要告诉机器人flyto 某个房间号 就可以了。
比如要去大理西门 做xc job
只要你告诉机器人目的房间号就好。不需要修改复杂的路径alias
在稍微修改下就可以做出适合所有门派通用机器人。

机器人功能应该容易扩展的和修改的
1 机器人的功能应该是模块化的
模块化有几个好处
1 流程可以灵活修改,比如你打坐->练武功->睡觉。而有人喜欢 打坐->练功->吃药->练功->睡觉
只要修改下配置文件就可以实现,不用象过去修改整个机器人
2 模块可以替换,比如 送信 job 中 ask job->送信->kill npc->送到 基本流程都是相同的,但是不同门派 kill npc环节会有点不同。
通过加载不同门派模块,来实现,不用修改整个机器人。
lua 语言提供了函数指针功能可以比较方便的实现这个功能。
--浇花类
jiaohua={
   start=jiaohua_start,
   getjobAgain=jiaohua_getjobAgain,
   getpiao=jiaohua_getpiao,
   qujiaoshui=jiaohua_qujiaoshui,
   jiaoshui=jiaohua_jiaoshui,
   givepiao=jiaohua_givepiao,
   taskok=jiaohua_taskok,
   beforefinalize=nil,--回调函数
   finalize=jiaohua_finalize,
   Close=Close,
}
--浇花结束开始学习
jiaohua.beforefinalize=learn.learnMaster
通过一个回调函数来实现模块与模块间衔接
门派:不明
发表于 2010-3-23 16:45:40 | 显示全部楼层
这个玩意听说过,没用过啊
门派:不明
发表于 2010-3-23 16:51:26 | 显示全部楼层
没用过,实在懒得去学新东西了,上手比zmud难得多

不过据说很好用。。。
门派:不明
发表于 2010-3-23 16:54:14 | 显示全部楼层
感觉像面向对象的啊!
门派:不明
 楼主| 发表于 2010-3-23 17:06:22 | 显示全部楼层
我以后会把机器人发上来
lua 是伪面向对象。
把一个具体功能模块用表结构封装起来
门派:不明
发表于 2010-3-24 22:33:45 | 显示全部楼层
听说过 也看见过
还是觉得麻烦了 这个年龄学不了新东西了
门派:不明
发表于 2010-3-24 23:56:13 | 显示全部楼层
非常喜欢mush
也看过helllua这类bot的代码,模仿着写过一些
不过能不能先吧room文件share出来?
你也是用mapper.dll吗?

[ 本帖最后由 kotok@ts 于 2010-3-24 23:59 编辑 ]
门派:不明
 楼主| 发表于 2010-3-25 13:01:44 | 显示全部楼层
我自己开发的,我玩的慕容,地图的做的差不多了,还剩下西夏 西域一些地方。
新手去哪里太危险了。
大理巡城 慕容浇花
通用学习 打坐 吃饭喝水
通用插件完成了。
后面就要开始做送信任务
门派:不明
发表于 2010-3-25 14:44:23 | 显示全部楼层
恩,把现在的先share一下啊,
没做的这个robot,
zmud的robot一大了之后就开始lag了!
门派:不明
发表于 2010-3-25 18:44:10 | 显示全部楼层
好强大啊,我连修改别人的机器人都做不到
能做个华山2+长乐帮1的机器吗
我盼望这个很久了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-6-24 19:27 , Processed in 0.044371 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表