kanluohua 发表于 2014-11-12 16:20:44

【求助】zmud或cmud中这样的触发语句应该怎么写匹配pattern?

想学下cmud中map的用法,选了一个比较有难度的mudlib,结果被抓取出口信息的触发卡住了,想要放弃又心有不甘,所以来论坛看看有没有高手能帮我解决难题。

我不会mush,所以解决思路请局限在zmud和cmud范围内(可以用正则表达式)。
主要的问题就出在触发语句的“包含”上。

具体情况如下:
1、这里唯一的出口是east(东大街)。
2、这里明显的出口是east(东大街)、south(南大街)
3、这里明显的出口是east(东大街)、south(南大街)
                           west(西大街)
4、这里明显的出口是east(东大街)、south(南大街)
                            west(西大街)、north(北大街)
5、这里明显的出口是east(东大街)、south(南大街)
                           west(西大街)、north(北大街)
                           up(游戏大厅)
6、这里明显的出口是east(东大街)、south(南大街)
                           west(西大街)、north(北大街)
                           up(游戏大厅)、down(垃圾场)

该mudlib的出口信息设置是每两个出口换一行。针对上述6种情况我分别写了6个触发pattern语句分别抓取出口方向(应该不会有超过6个出口吧……{:7_274:}):
1、这里唯一的出口是(%w)~(%x~)。
2、这里明显的出口是(%w)~(%x~)、(%w)~(%x~)$
3、这里明显的出口是%w)~(%x~)、(%w)~(%x~)$(%w)~(%x~)
……
6、这里明显的出口是(%w)~(%x~)、(%w)~(%x~)$(%w)~(%x~)、(%w)~(%x~)$(%w)~(%x~)、(%w)~(%x~)$

但是,3、4、5、6的语句只会触发2的结果,因为2的触发pattern是后面3、4、5、6触发语句的一个子集,所以先触发2的结果,后面的3、4、5、6就不触发了;同理,屏蔽了2之后,出现5、6的语句之后只会触发4的结果。

请问怎么写语句才能控制得到的是我想要的触发结果?
也可以这么说:怎样才能让出口信息有3行的时候不触发2、3、4的结果并且出口信息有两行的时候不触发2的结果?每个地方的出口信息有几行是不确定的……

我用的cmudpro334,触发里有个priority参数看起来是控制优先级,但无论我是把这个参数正序设置还是倒序设置都无法正确得到结果。

恳请各路高人伸出援手{:7_277:}

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

oolong 发表于 2014-11-13 17:16:14

cmudpro 334有破解版么...

lzkd 发表于 2014-11-13 21:17:11


1、这里唯一的出口是east(东大街)。
2、这里明显的出口是east(东大街)、south(南大街)
3、这里明显的出口是east(东大街)、south(南大街)
                           west(西大街)
4、这里明显的出口是east(东大街)、south(南大街)
                            west(西大街)、north(北大街)
5、这里明显的出口是east(东大街)、south(南大街)
                           west(西大街)、north(北大街)
                           up(游戏大厅)
6、这里明显的出口是east(东大街)、south(南大街)
                           west(西大街)、north(北大街)
                           up(游戏大厅)、down(垃圾场)


我不懂cmud,zmud不过,说说我的看法...
不过,这两样,里面有没有类似数组的变量.如果有,你直接抓成数组不可以吗?统一抓出来再判断.


这里明显的出口是east(东大街)、south(南大街)
                      west(西大街)、north(北大街)



把这两行当成一行来看..不考虑多行触发..但凡有()\(.+\)的,统统抓下来...
不知道,这样成不成.

kanluohua 发表于 2014-11-18 20:04:47

回复 3# lzkd


    谢谢。感觉思路有点方向。貌似正则匹配不是很好写。我自己摸索试试。

kanluohua 发表于 2014-11-18 20:05:48

回复 2# oolong

我没发现cmudpro334有破解版。但可以用trial-reset重置试用期,永久试用。
页: [1]
查看完整版本: 【求助】zmud或cmud中这样的触发语句应该怎么写匹配pattern?