hualai 发表于 2009-4-27 22:07:09

向sure请教几个问题

我用的是你提供的mush版红豆机器人,机器很好很强大...
问题是总在最后一题出错 今天连续好几轮都是第50题出错。
mush我以前没用过 用了才发现真的很稳定...但是我完全搞不懂这个...
先问个简单的
1 请问怎么设置你的机器人在第50题停下...让我手动答...

2 mush貌似要用到很多编程方面知识的应用。没学过编程的人是不是用不来?


呃 最后如果你有时间的话能不能写一些入门类的帖子以餮像我这样的初学者呢?(说实话今天试了下mush有点被这个吸引住了...zmud经常莫名其妙的出错 特别是721版 感觉极其不稳定)
非常感谢!

[ 本帖最后由 hualai 于 2009-4-27 10:11 PM 编辑 ]

ddid 发表于 2009-4-28 00:09:39

我也是个新手,MUSH使用了一段时间了,但脚本还是刚刚开始学习。

按照你的思路,我想了一个笨笨的办法,测试了一会,可以用。

在原JS脚本中搜索以下代码

else do_after(1,"answer 1");

将其替换成:

else
{
var player=world.getVariable("player");
world.send("tell " + player + " 本机器人不能自动回答这个问题,请自做答,否则120秒后自动 answer 1");
do_after(120,"answer 1");
}


但这样一来,原先全自动的机器人就变成半自动的了,并没有从根本上解决问题。

方法比较笨,汗一下。yct16

希望能抛砖引玉。

[ 本帖最后由 ddid 于 2009-4-28 12:12 AM 编辑 ]

ddid 发表于 2009-4-28 00:19:57

不好意,不知为什么,右括号都变成小叉子了……

sure 发表于 2009-4-28 19:50:05

var player=world.getVariable("player";
这个"player"变量是登陆的id,你要tell另一个id要设其他变量。

ddid 发表于 2009-4-28 19:56:12

谢谢指出的错误。

惭愧中……yct16   


需要补充说明:
这个player的变量就是需要在MUSH的变量里设定的用户自己的ID。
因为红豆的房间不让say,这里就是要tell给自己。

[ 本帖最后由 ddid 于 2009-4-28 08:08 PM 编辑 ]

ddid 发表于 2009-5-2 23:24:21

这几天研究MUSH的脚本,发现Note被tell好,现更改代码如下:

else
{
   world.NoteColourFore = 0xFF;
   world.Note("本机器人不不能自动回答这个问题,请自作答,否则2分钟后自动 answer 1。");
   do_after(120,"answer 1");
}

duno 发表于 2009-5-3 00:05:28

50题出问题的原因是,在临近50题时,红豆给的问题会随机改变原始问题串的字符顺序
如:以下哪种不是原产我国的作物
-〉 以下那种是不原产我国的作物 + 插入各种其他符号
有的时候,我自己去看都要理解半天,被npc调戏了。。。

ddid 发表于 2009-5-3 00:09:13

同情中……

ddid 发表于 2009-5-3 00:19:38

这样子的话,看来还是半自动回答问题好一点。

ddid 发表于 2009-5-3 00:52:42

有没有发现前4个字符(汉字)不匹配的情况?

如果没有,可以改一下查询方式:

用substring()方法把quest截取出前4个字符,再去从数据库中的b列中查询。就是可能要改一下数据库的b列,将其全部截取成只有前4个字符。(这个比较烦)

[ 本帖最后由 ddid 于 2009-5-3 01:34 AM 编辑 ]
页: [1] 2
查看完整版本: 向sure请教几个问题