szybd
发表于 2014-1-4 12:08:58
原型系统如果效果良好,就可以做为最终系统来用。如果原型系统在某个方面有缺陷,根据具体问题针对性解决就可以了。
randomwalk
发表于 2014-1-4 12:53:14
回复 17# pinkagaric
这个思路不错,szybd发布任务全自动,吸引sg注意力,之后就是破解、反破解、加密、解密的过程。这样一来,能牵制sg很长时间无暇他顾。北侠上的玩家可以踏踏实实过几天安稳日子,不用天天过测试服的日子啦。szybd简直太伟大了yct23yct23yct23yct23,不过也有坏处那些cjg全自动暂时没法出动了,有些得罪老id.
szybd
发表于 2014-1-4 15:11:29
哦,共享个机器人的制作过程,还会得罪老ID啊,真如此的话,哪些老ID未免太小气了。嘿嘿!
wzxb
发表于 2014-1-4 17:14:51
这个帖子就像一个本顶级牛逼的武林秘籍一样,学成里面的武功差不多就能成为超级赛亚人了。
问题是大部分人都是文盲,比如我就怎么看都看不懂。
不过这个思路对于错错、静电这一级别的估计有用。
pizzagoo
发表于 2014-1-4 19:07:36
回复pizzagoo
膜拜技术帝。求分享。
feehoo 发表于 2014-1-3 07:36 PM http://pkuxkx.net/forum/images/common/back.gif
我可不是技术帝,目前还是不能解决二次乱入的问题,而且刷屏的厉害,说白了就是通过look当前room的所有出口,发生乱入后比较当前room是前一个room的哪个出口的房间
pizzagoo
发表于 2014-1-4 19:12:27
这个帖子没有代码只有模模糊糊的想法,基本属于除了炫耀之外的废品,
教学贴应该贴上代码,一行一行的加注 ...
huacuoh 发表于 2014-1-4 06:10 PM http://pkuxkx.net/forum/images/common/back.gif
错错是不是现在没心思做机器人了,这个比你的推车机器人难度可要小多了吧
szybd
发表于 2014-1-4 20:50:31
呵呵,没到代码的地步了啊。需要代码的时候自然就上代码了。稍安勿躁。
feehoo
发表于 2014-1-5 18:43:03
本帖最后由 feehoo 于 2014-1-5 10:45 AM 编辑
回复 30# szybd
今天木有更新。顶一下别沉了。
其实我觉得渡深完全可以写个比较体系的mush教程。目前网上流传最广的教程都在北侠了。不过像小刀、静电这些前辈写的都是通用型新手教程。如现在这般做案例教学,先分享思路再提供关键代码的帖子真是太少了,而且也是十分有价值的。
我觉得在北侠最大的乐趣就是做机器人了。在不挑战大神们底线的基础上讲讲机器人,学学编程,寓教于乐,这也许正是文字mud吸引人的地方。
szybd
发表于 2014-1-6 12:30:17
周末要陪家人,上网时间不多。今天上午开发了一下原型系统,下面继续分享原型系统的实现过程。
一个系统要能实现自动运转,它必须能够识别各种情况,结合自身状态,做出合理反应,并调整自身状态。
识别情况:是通过触发器来实现的。
自身状态:是通过全局变量来保存的。
合理反应:就是执行某些函数。
调整自身状态:就是保存自身状态的全局量的值变化了
自动机器人不断的重复这个过程,直到自身的状态满足了结束条件,任务就终止了。
以上说的是一般原理,下面就针对我们的藏经阁任务机器人进行具体分析
szybd
发表于 2014-1-6 12:44:15
首先我们用cjgstate来保存自身最主要的状态。
我们用cjgon()函数作为机器人的启动函数
在藏经阁机器人启动前:cjgstate = 'none',
藏经阁机器人启动后:cjgstate = 'init',启动时把所有的触发器初始化。执行
cjgtriggerinit()--这里初始化了哪些触发器,我们下文根据具体需要识别的情况逐步展开分析。
要求藏经阁机器人在启动前,自身已经化妆好---当然化妆也可以自动化实现,但我们的机器人不考虑这个
在cjgstate == 'init'的情况下,如果碰到黄眉僧,自动"ask huangmei seng about 嵌入藏经阁"
这就需要第一个触发器:
name = "cjg1"
match="^[>\\s]*拈花寺住持 黄眉僧\\(Huangmei seng\\).*"
cmd = "cjgstart()"
addmytriggerzzhp(name,match,cmd)--这个函数简单封装了mush的AddTrigger()
一旦触发,自动执行函数cjgstart()
这个触发器的初始化,就在前面提到的cjgtriggerinit()进行。
cjgstart()做些什么呢?
很简单:
if cjgstate == "init" then
Execute("ask huangmei seng about 潜入藏经阁")
end
就一件事:ask huangmei seng about 潜入藏经阁
页:
1
2
[3]
4
5
6
7
8
9
10