北大侠客行MUD论坛

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

求助MUSH正则表达式

[复制链接]
发表于 2014-9-25 21:02:11 | 显示全部楼层 |阅读模式
首先解释一下
这个是关于一个MUD的答题的,我是一个MUSH菜鸟
ZMUD还有点马虎
之前在技术园地发表过求教,考虑用数据库解决问题
有大大给我讲解了基本思路,我也去求教了胖猫。奈何实在MUSH底子薄弱,编程也只懂一些C++
实在写不出像样的东西,所以一直搁置。
(别人的机器人我尝试修改了几次都出现了大的错误所以自己放弃了)
因此我就尝试用MUSH最基本的触发器解决问题。
但是抓触发总是有问题。
下面是举例:
--------------------------------------------------------------------------------
#TRIGGER {^??【闲聊】丫丫~(Ya ya~):好,当心室收缩时测得的血压是:*%s(%x)、高压} {halt;#wa 1000;huida %1} {huida} 519
#TRIGGER {^??【闲聊】丫丫~(Ya ya~):好,大雁塔在哪里?:*%s(%x)、西安} {halt;#wa 1000;huida %1} {huida} 519

上面是通过ZMUD正则解决问题
思路很明确,抓取问题,和正确答案前面的字母A\B\C\D
回答字母 A\B\C\D
在ZMUD中很好的解决了问题。

后来发现ZMUD运行时候一是占用太多资源,我在VPS上挂2个号开第三个号就出问题了,而MUSH最好可以开4个号以上没问题

因此我在触发器里面这么写。
   
      enabled="y"
   group="huida"
   match="^[> ]*【闲聊】丫丫\(Ya ya\):好,当心室收缩时测得的血压是:/s+(/w+)、高压.*$"
   regexp="y"
   send_to="12"
   sequence="100"
  >
  DoAfter("1","huida %1")
   
      enabled="y"
   group="huida"
   match="^[> ]*【闲聊】丫丫\(Ya ya\):好,大雁塔在哪里?:/s+(/w+)、西安.*$"
   regexp="y"
   send_to="12"
   sequence="100"
  >
  DoAfter("1","huida %1")

求教这样对么?好像有点问题,抓不住触发,求大神分析。

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-9-25 21:11:21 | 显示全部楼层
求大神解答~~~~~~~~~~~~~~~~
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-9-26 14:37:56 | 显示全部楼层
自己修改了一下
已经基本解决问题
但是回答时候有时候正在杀杀手有时候正在打坐,这个有没有好一点的办法解决?
doafterspecial()?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 05:31 PM , Processed in 0.010094 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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