gamesover 发表于 2010-4-5 00:55:32

如何用cmud捕捉段落给房间描述之用?

继续cmud画地图问题,cmud自动配置画地图老是出错
所以我都是喜欢用自己设置的触发语句捕捉房间名和出口,描述等语句

用#tag捕捉房间名和出口非常简单
可是捕捉房间描述把我难住了,因为这是捕捉一个段落而不是一句话,请教该怎么办啊?

武当广场 -
这是一个由大石板铺成的广场,是武当弟子学习武功和互
相切磋的地点。周围种满了梧桐树,一到秋天就是满地的落叶。
一个年纪轻轻的道童正在打扫。北边是灵霄宫三清殿。
「早春」: 清晨,东方的天空布满了灰蒙蒙的云层。
这里明显的出口是 north、eastdown 和 southdown。
「店铺伙计」金剑痕(Jin jianhen)
二位武当派小道士 道童(Daotong)

[ 本帖最后由 gamesover 于 2010-4-5 01:01 AM 编辑 ]

killunix 发表于 2010-4-5 08:03:46

我发过一个画图机器人http://pkuxkx.com/forum/thread-11286-1-8.html

[ 本帖最后由 killunix 于 2010-4-5 08:07 AM 编辑 ]

seagate 发表于 2010-4-5 10:29:53

做一个loop 99的循环,
碰到%regex('「.{4}」: .*')=1 忽略
碰到这里.*出口是.+取出出口方向,然后#state id 0,停止trigger

gocold 发表于 2010-4-5 14:45:58

写个tri吧,正则都有点看不懂了

seagate 发表于 2010-4-5 14:57:25

#SWITCH (%regex( %1, "\s+「.*」\:.*")!=0) {
} (%regex( %1, "\s+这里.*出口是(.*)",@room_exits)!=0) {
room_exits=%sort( %replace( %replace( %replace( %trim(@room_exits), "。", ""), " 和 ", "|"), "、", "|"))
#state get_room_info 0
} {
    room_desc=%concat( @room_desc, %trim(%1))
}
差不多是上面那样子,不过我没怎么用过,如果有异常自己微调一下就可以了。
页: [1]
查看完整版本: 如何用cmud捕捉段落给房间描述之用?