北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 5151|回复: 7

请教cmud中用什么语句来获取房间的描述?

[复制链接]
发表于 2009-5-5 22:23:40 | 显示全部楼层 |阅读模式
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。


测试了,发现用(.*)这个正则表达式只能抓取房间的第一行描述.如何才能抓取房间的所有描述呢?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2009-5-5 23:05:50 | 显示全部楼层
用开关trigger的方式可以获取
若在zmud下
用触发器newline记录当前行
#trigger (*) {%1.......}
遇到房间名称行,打开
#t+ newline
遇到出口行关闭
#t- newline

另,在zmud下有引用当前触发行之前某一行的方式
如 %line1是当前行,%line2是前一行,%line3是向前数第二行
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2009-5-6 10:09:27 | 显示全部楼层
%regex( "%1", "\s+「初秋」.*。")!=0
%regex( "%1", "\s+这里.*出口是(.*)。")!=0

不知道为何,这2个语句总是不能正确匹配,从正则表达式的语句上和%regex的语法上看应该都是是没问题的啊
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2009-5-6 13:43:02 | 显示全部楼层
^(\S+)\s+-\s

#IF ((%regex( %1, "\s+「初秋」.*。")!=0) or (%regex( %1, "\s+这里.*出口是(.*)。")!=0)) {#no} {#tag desc %1;#STATE test1 1}

明白了,原来是这样.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2009-5-6 18:33:46 | 显示全部楼层
原帖由 chatter 于 2009-5-6 01:43 PM 发表

^(\S+)\s+-\s



#IF ((%regex( %1, "\s+「初秋」.*。"!=0) or (%regex( %1, "\s+这里.*出口是(.*)。"!=0)) {#no} {#tag desc %1;#STATE test1 1}



明白了,原来是这样.



[ 本帖最后由 maper 于 2009-5-6 06:37 PM 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2009-5-6 18:39:01 | 显示全部楼层
原帖由 chatter 于 2009-5-6 01:43 PM 发表

^(\S+)\s+-\s



#IF ((%regex( %1, "\s+「初秋」.*。"!=0) or (%regex( %1, "\s+这里.*出口是(.*)。"!=0)) {#no} {#tag desc %1;#STATE test1 1}



明白了,原来是这样.

北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2009-5-6 18:39:41 | 显示全部楼层
论坛是不是出问题了?引用不成功啊!
我想说的是:
这是去年秋天写的,现在已经夏天了,要改一下,否则有的房间描述里会多出天气信息。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2009-5-6 19:03:51 | 显示全部楼层
首先要感谢maper的机器人,我从这里学到了不少东西,而且我也完全理解了你的机器人运作,谢谢。

然后我想说的是,我知道天气是个匹配条件,我之前出现的问题不是在天气上,而是cmud的%regex( %1, "\s+「初秋」.*。")这个语句中,%1不需要加半角引号的了.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 11:43 PM , Processed in 0.010068 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表