请教cmud中用什么语句来获取房间的描述?
rt我用maper的方法在zmud721中可用,但是在cmud中就无效了.
最核心的代码是抓取房间名和房间描述的语句:
#REGEX "test0" {^(\S+)\s\-\s+$} {#tag name %1} "System|AutomapperAll"
#COND {(.*)} {#IF ((%regex( "%1", "\s+「初秋」.*。")!=0) or (%regex( "%1", "\s+这里.*出口是(.*)。")!=0)) {#no} {#tag desc %1;#STATE test0 1}} {regex}
其他的是设置方向,见setting--system--direction
还一个是当有NPC阻挡的时候用 #nodir 来表示前路不通,详见help。
测试了,发现用(.*)这个正则表达式只能抓取房间的第一行描述.如何才能抓取房间的所有描述呢? 用开关trigger的方式可以获取
若在zmud下
用触发器newline记录当前行
#trigger (*) {%1.......}
遇到房间名称行,打开
#t+ newline
遇到出口行关闭
#t- newline
另,在zmud下有引用当前触发行之前某一行的方式
如 %line1是当前行,%line2是前一行,%line3是向前数第二行 %regex( "%1", "\s+「初秋」.*。")!=0
%regex( "%1", "\s+这里.*出口是(.*)。")!=0
不知道为何,这2个语句总是不能正确匹配,从正则表达式的语句上和%regex的语法上看应该都是是没问题的啊 ^(\S+)\s+-\s
#IF ((%regex( %1, "\s+「初秋」.*。")!=0) or (%regex( %1, "\s+这里.*出口是(.*)。")!=0)) {#no} {#tag desc %1;#STATE test1 1}
明白了,原来是这样. 原帖由 <i>chatter</i> 于 2009-5-6 01:43 PM 发表 <a href="http://pkuxkx.com/forum/redirect.php?goto=findpost&pid=58385&ptid=6027" target="_blank"><img src="http://pkuxkx.com/forum/images/common/back.gif" border="0" onclick="zoom(this)" onload="attachimg(this, 'load')" alt="" /></a><br />
^(\S+)\s+-\s<br />
<br />
#IF ((%regex( %1, "\s+「初秋」.*。"<img src="images/smilies/default/wink.gif" smilieid="4" border="0" alt="" />!=0) or (%regex( %1, "\s+这里.*出口是(.*)。"<img src="images/smilies/default/wink.gif" smilieid="4" border="0" alt="" />!=0)) {#no} {#tag desc %1;#STATE test1 1}<br />
<br />
明白了,原来是这样. <br />
[ 本帖最后由 maper 于 2009-5-6 06:37 PM 编辑 ] 原帖由 <i>chatter</i> 于 2009-5-6 01:43 PM 发表 <a href="http://pkuxkx.com/forum/redirect.php?goto=findpost&pid=58385&ptid=6027" target="_blank"><img src="http://pkuxkx.com/forum/images/common/back.gif" border="0" onclick="zoom(this)" onload="attachimg(this, 'load')" alt="" /></a><br />
^(\S+)\s+-\s<br />
<br />
#IF ((%regex( %1, "\s+「初秋」.*。"<img src="images/smilies/default/wink.gif" smilieid="4" border="0" alt="" />!=0) or (%regex( %1, "\s+这里.*出口是(.*)。"<img src="images/smilies/default/wink.gif" smilieid="4" border="0" alt="" />!=0)) {#no} {#tag desc %1;#STATE test1 1}<br />
<br />
明白了,原来是这样. <br /> 论坛是不是出问题了?引用不成功啊!
我想说的是:
这是去年秋天写的,现在已经夏天了,要改一下,否则有的房间描述里会多出天气信息。 首先要感谢maper的机器人,我从这里学到了不少东西,而且我也完全理解了你的机器人运作,谢谢。
然后我想说的是,我知道天气是个匹配条件,我之前出现的问题不是在天气上,而是cmud的%regex( %1, "\s+「初秋」.*。")这个语句中,%1不需要加半角引号的了.
页:
[1]