icebug 发表于 2014-8-25 19:46:57

求教,MUSH通配符的问题

本帖最后由 icebug 于 2014-8-25 11:54 AM 编辑

各位大神好,最近在学习MUSH。
详细看了大大们关于MUSH的初级教程。
是这样我想针对游戏内的chat频道的问答做一个回答问题的机器人。但是通配符的问题灰常纠结,希望有大大能看到并解答。

举例:
需要处理的内容如下:
【闲聊】考 官 (kao guan):好,一加一等于几?:A、三   B、二C、一D、四
(注意这里面的答案位置是随机变化的)
在ZMUD里面我们是这么解决的:
#TRIGGER {^??【闲聊】考 官~(kao guan~):好,一加一等于几?:*%s(%x)、二}{#wa1000;huida %1}
用*来通配前面的字符,请问如果在MUSH里面怎么写呢?
我只知道.是通配任意非/n单个字符,那问题里面有的是数字,有的是汉字和数字的混编,还有像%这样的特殊字符,在MUSH里面怎么写?

北大侠客行MUD,中国最好的MUD

icebug 发表于 2014-8-25 19:58:29

本帖最后由 icebug 于 2014-8-25 12:04 PM 编辑

留个小板凳,下面继续提问,不在重新开帖子了。其实我本来是想做一个lua的
但是将答案全部丢进去,到时候修改时候更方便
但是发现正确的回答里面有好几个都是:是 答案
所以否定了,还是用最原始的方法吧。

icebug 发表于 2014-8-25 20:02:01

回复 2# yhzzyahoo

那下一步我就是直接:
DoAfter(1,"answer %1")

icebug 发表于 2014-8-26 09:20:58

回复 5# yhzzyahoo


看了下帖子时间,大神居然3点多还没休息

请教如何才能不出错呢?

xiaocao 发表于 2014-8-26 14:38:55

DoAfterSpecial(1,answer "%1",10)
这样可以么?

icebug 发表于 2014-8-26 22:49:16

本帖最后由 icebug 于 2014-8-26 02:52 PM 编辑

回复 9# huacuoh


    请问大大该如何写这个呢?
原本的思路是学做成一个模块,回答问题的模块
但是发现需要定位三个部分
1、定位问题   :[考官]题目
2、定位答案   :A、 B、 C、 D、
3、定位答案序号:取正确值,返回小写输出。
还需要处理前面的机器暂停。
因为我也是初学阶段
请大大指点!~

icebug 发表于 2014-8-26 22:58:37

本帖最后由 icebug 于 2014-8-26 03:05 PM 编辑

回复 7# yhzzyahoo


    还有请问我可以在MCL文件中将这些问题一次罗列出来并用命令直接发送么?
例如:
>
<send>DoAfter(1,"answer“..%1")</send>
</trigger>
<trigger
   enabled="y"
   group="dati"
   match="^\s*【闲聊】考官(kao guan):好,纯的铜器是什么颜色:/s+(/w+)、紫色"
                ^\s*【闲聊】考 官(kao guan):好,一加一等于几?:*%s(%x)、二
                              .
                              .
                              .
   send_to="12"
   sequence="100"

icebug 发表于 2014-8-27 16:00:00

回复 12# huacuoh


    能否举个例子?
起个头?
实在很抓狂,究竟咋弄嘞。

icebug 发表于 2014-8-27 16:10:03

回复 14# yhzzyahoo


    明白
我在想有什么代码和我这种情况类似。提点一下
我再继续向下翻帖子

icebug 发表于 2014-8-27 23:26:56

回复 16# huacuoh


    谢谢。
大致思路比较清晰了,我在研究一下,然后对比一下红豆机器
还是写一个比较准确的东西出来
页: [1] 2
查看完整版本: 求教,MUSH通配符的问题