【求助】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 cmudpro 334有破解版么...
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(北大街)
把这两行当成一行来看..不考虑多行触发..但凡有()\(.+\)的,统统抓下来...
不知道,这样成不成. 回复 3# lzkd
谢谢。感觉思路有点方向。貌似正则匹配不是很好写。我自己摸索试试。 回复 2# oolong
我没发现cmudpro334有破解版。但可以用trial-reset重置试用期,永久试用。
页:
[1]