ZMUD使用(一) [载自ZMUD]
如何用好 TRIGGERS
玩MUD不用ZMUD基本上就是在浪费时间,而TRIGGERS是其提供的最简单的功能。如何运用 TRIGGERS,用好 TRIGGERS,对于节省时间,形成ROBOT自动练功有相当大的作用。可以在最短时间内练得武功。
但是,请各位切记:TRIGGERS 虽然有用,但是存在一定的危险性。做ROBOT固然可以自动练功,但是如果被巫师抓住,后果是比较痛苦的。另外,PKER 也可以利用你的TRIGGERS来PK。所以做TRIGGERS必须相当小心。
我将在这里写一些关于TRIGGERS 的文章,以求和大家共同探讨。
一、认识TRIGGERS
什么是 TRIGGERS ,TRIGGERS 类似于一般编程结构中的IF...THEN结构。其中有三个主要的参数:Pattern、Command、Enable/Disable。说的通俗一点,当接收到 Pattern 的时候,自动输入 Command。而En/Disable可以另其活动或不活动。
另外Class可以为TRIGGERS定义一个类名,方便操作。
举个简单的例子:Pattern为“官兵死了”,
Command为“get all from corpse",
Command为“get all from corpse",
则当ZMUD接收到“官兵死了”,自动发出“get all from corpse”
在更高级的技巧中,把TRIGGERS、ALIAS、VARIABLE、Function、ZMUD内部命令联用,可以取得相当好的效果。
例如:做一个ALIAS,#alias dk drink @drinkwhat
TRIGGERS1:
Pattern=“你买下一个牛皮酒袋”
Command=“drinkwhat=jiudai”
TRIGGERS2:
Pattern=“你捡起一个清水葫芦”
Command=“drinkwhat=hulu”
那么当你喝水的时候,只需要打dk,而喝什么TRIGGERS自动更改(不论你喝buy jiudai或是get hulu)。
这当然只是个简单的例子,要想做更复杂的请先读通Help。
另外在TRIGGERS有一些wild-card可以运用,详细参见ZMUD Help。
二、和TRIGGERS相关的主要命令
最重要的命令就是“#t+”、“#t-”。这两个命令可以激发和取消某个特定类别TRIGGERS的活动状态。另外 #IG可以忽略或重新不忽略全部TRIGGERS。
三、运用TRIGGERS应注意的问题
在MUD中做TRIGGERS,自动练功能节省大量的时间、精力,当然也省去了输入大量命令的麻烦。但是请注意,在MUD中大量运用TRIGGERS做ROBOT是存在一定危险性的。
首先,MUD中明文规定禁止用ROBOT练功,如果被巫师抓到,只能自认倒霉。
其次,PKER可以利用TRIGGERS杀人。例如:你有一个TRIGGERS是这样的,当“你一觉醒来...”然后“xxxxx”(多个命令),那么他可以想办法让你接收到多个“你一觉醒来...”,之后嘿嘿嘿...
再次,TRIGGERS 做的不好,输入命令过多,那么闪电是不会放过你的。你当时就晕了,别人可以kill、get all、再绝一点可以下毒、背你到杀人NPC处...,你等于把自己放在菜板上,任人宰割。即使没人害你,你也浪费了大量时间。
还有许多应该注意的问题,这只是必须切记的三点。下篇我将结合自己的心得,讲一下做TRIGGERS应注意的问题。
四、如何避免TRIGGERS带来的弊病
1、在上面我说了,TRIGGERS 由PATTERN激活,那么在用的时候应该尽量避免错误的接收到PATTERN。例如:关闭不使用的交谈频道(chat,rumor,tell),在TRIGGERS 中将PATTERN尽量做长,同时尽量限定其活动条件(例如用^可以使PATTERN仅在输出行头相同时作用)。练功的时候找一个不容易给人发现的地方,同时要经常更换练功地点。
2、做TRIGGERS应该避免一些经常出现或容易被人猜到的PATTERN,如果必须这样,那么在此TRIGGERS不应激活的时候,用#t-将其至为Disable。最好在PATTERN中加入对变量,对当时情况加以判定。另外需要经常激活的TRIGGERS中,必须将命令数目缩短,防止错误活动。