北大侠客行MUD论坛

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

如何根据()括号进行触发?

[复制链接]
发表于 2009-7-6 18:12:01 | 显示全部楼层 |阅读模式
┌    一项基本知识    ──────────────────────┐
│  读书写字 (literate)                      - 非同凡响 204/ 18939│
└────────────────────────────────┘
┌    一项基本功夫    ──────────────────────┐
│  基本内功 (force)                         - 毫不足虑  19/     0│
└────────────────────────────────┘
┌    一项特殊功夫    ──────────────────────┐
│□枯荣神功 (kurong-shengong)               - 第一重楼  25/   551││

我的要求很简单:根据sk的输出,将所学的每项技能的中英文名称、等级截取下来放到rec中。
可是实验的结果是要么根据技能中文名称,要么是英文名称设置触发,如果根据() - /等符号触发器就无效
^(*)%s-%s(*)%s(%d)/%s(%d)
show %1 可以捕获技能名称和等级,但是名称中的英文和中文没法分别用变量捕获,请高手指点,谢谢。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-7-6 18:19:57 | 显示全部楼层
首先我声明一下,好久不用zmud了,提供一个思路你试试看吧

│  基本内功 (force)                         - 毫不足虑  19/     0│

^??│%s(*)%s~(*~)%s*
把触发语句的空格换成%s
把要获取的文字换成*,用()括起来
^后面记得加一个??,因为有可能出现>
()这种在前面加一个~,例如~( ~)
try
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-7-6 20:47:37 | 显示全部楼层
2个问题
1 你想捕获括号里面的东西要用~字符放在括号前面
  ~((*)~)  这个*获得的就是英文名字
2  最后以(%d)结尾是不对的,
     读书写字 (literate)                      - 非同凡响 204/ 18939│
     这个%d可能只会捕获18939的第一个数字1,后面最好还要加上│才能完整的获得18939
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-7-7 19:38:40 | 显示全部楼层
受教了,谢谢两位,whuan果然猛
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-7-7 21:36:41 | 显示全部楼层
这句马屁拍得我很爽,哈哈哈

想当年做玩家的时候我天天寻思这个
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-7-8 14:48:40 | 显示全部楼层
既然这么爽就多问个zmud 中database record变量问题吧。我能够通过#addkey,#delkey等操作record里的多条数据。
但是使用的时候在不知道key的情况下如何遍历该record内的所有数据?或者按照序号之类的访问指定的数据?loopdb一次性循环玩所有数据,做练功、学习机器人的时候不太方便。谢谢。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-7-8 23:45:19 | 显示全部楼层
这个不知道,问maper
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 10:24 AM , Processed in 0.009192 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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