找回密码
 注册
搜索
查看: 1380|回复: 0

关于巡城机器人的trigger心得(送给新人的一点帮助)

[复制链接]
门派:不明
发表于 2010-5-17 21:39:28 | 显示全部楼层 |阅读模式
我现在正在巡城,由于不是VIP用户,所以就一步步跑呀。
前一阵子刚刚巡城不久,发现论坛上也有巡城机器人下载,适用了一个,但是发现一个问题,发现在向朱丹臣要巡城任务的时候,会被别人误触发,尤其在线有好几个玩家同时在那里要求任务的时候。

问题是:
你向朱丹臣要任务的时候,屏幕会3种可能显示:(这里排除你还没有向傅ask fu about 入官府,以及巡城不完全的两种情况,因为,这些好解决)

1。
你向朱丹臣打听有关『巡城』的消息
朱丹臣说道:「好吧,你就在大理城周围四处查看一下,巡城时应当小心防范,防止外敌。

2。
你向朱丹臣打听有关『巡城』的消息
朱丹臣说道:「你不是已经领了巡城的任务吗?还不快去做

3。
你向朱丹臣打听有关『巡城』的消息
朱丹臣说道:「小兄弟你刚做完任务,还是先去休息一会吧。

相对于以上3种情况,robot应该做出相应的动作,对于1和2,机器人应该去巡城,对于第3种情况,机器人可以跑到旁边去打坐,过会再回来,不浪费时间。

但是,这里问题就来了,大家可以看到,对于所有情况,除了第一句(你向朱丹臣打听有关『巡城』的消息)对于你自己来说是特殊的,但是,对于第二句(就是:“朱丹臣说道:「好吧,你就在大理城周围四处查看一下,巡城时应当小心防范,防止外敌。”,“朱丹臣说道:「你不是已经领了巡城的任务吗?还不快去做”,以及“朱丹臣说道:「小兄弟你刚做完任务,还是先去休息一会吧。”)来说,朱丹臣对于所有玩家的回答都是一样的。

zmud的触发原理(trigger)是逐行触发,所以,我们无法一次捕捉两行,也就是说,如果,你只利用第一行“你向朱丹臣打听有关『巡城』的消息”来触犯的话,就无法判断朱丹臣的回答,从而无法进行下一步的行动;但是,如果用第二句来做触发(就是以上3种情况的相应各自第2句),那么极有可能被其他玩家问朱丹臣要任务所误触发,因为,朱丹臣对所有玩家的回答都是一样的!

解决:
思路如下:

首先,一定要“你向朱丹臣打听有关『巡城』的消息”被触发,然后再根据第二句作判断。
这里,首先说明一个问题,你问朱丹臣要任务的时候,第一句和第二句是几乎同时出现在屏幕上的。

大家都知道zmud一个命令:#trigger,但是,还有一个命令就是#untrigger,#untrigger就是关掉相应的触发。所以这里就利用#untrigger实现选择任务的功能:

先贴代码:

首先,你要在zmud里面设置个trigger,例如:^??你向朱丹臣打听有关『巡城』的消息                    (这里保证你要任务被触发)

其次,在这个trigger的command里面写上如下代码:

#trigger {^朱丹臣说道:「好吧,你就在大理城周围四处查看一下,巡城时应当小心防范,防止外敌。} {ok zhu
untrigger {^朱丹臣说道:「好吧,你就在大理城周围四处查看一下,巡城时应当小心防范,防止外敌。}
#untrigger {^??朱丹臣说道:「你不是已经领了巡城的任务吗?还不快去做}
#untrigger {^??朱丹臣说道:「小兄弟你刚做完任务,还是先去休息一会吧。}}
#trigger {^??朱丹臣说道:「你不是已经领了巡城的任务吗?还不快去做} {ok zhu
#untrigger {^朱丹臣说道:「好吧,你就在大理城周围四处查看一下,巡城时应当小心防范,防止外敌。}
#untrigger {^??朱丹臣说道:「你不是已经领了巡城的任务吗?还不快去做}
#untrigger {^??朱丹臣说道:「小兄弟你刚做完任务,还是先去休息一会吧。}}
#trigger {^??朱丹臣说道:「小兄弟你刚做完任务,还是先去休息一会吧。} {#untrigger {^朱丹臣说道:「好吧,你就在大理城周围四处查看一下,巡城时应当小心防范,防止外敌。}
#untrigger {^??朱丹臣说道:「你不是已经领了巡城的任务吗?还不快去做}
#untrigger {^??朱丹臣说道:「小兄弟你刚做完任务,还是先去休息一会吧。}
#wa 5000
wu
dazuo 150}

代码如上,其意思,就是同时开启3个trigger(分别是对应上面上个情况的第二句),因为朱丹臣回答你得话是紧跟着过来的,所以,3个trigger同时捕捉信息,只要其中一个满足,就会进行相应的动作(这里"ok zhu"是巡城,对应情况1和2,"wu;dazuo 150"是去点苍山打坐,对应情况3),并且,同时关掉3个trigger,zmud的运行速度是几乎光速的,所以,我们可以认为是同时。这样3个trigger被removed了,朱丹臣对其他玩家的回答再也干扰不了你了。

等到你领赏完,回来向朱丹臣要任务的时候,“你向朱丹臣打听有关『巡城』的消息 ”又被触发,然后又开启3个trigger,然后继续下去。

我试验过,现在一直运行不错,其实玩mud,自己编制机器人是一件趣事,大家可以自己参考一下zmud的技术资料,相对于其他计算机语言来说,zmud算是很简单的了,如果你有c语言基础(其实任何一种都可以,自我感觉,除了C++有点特别,其他语言差不多,语言不重要,关键是算法,对于科学计算来说,C不算好,fortran才更加有效),找本zmud的命令和函数资料,保证你半天就上手了。

最后,祝大家玩得开心。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-6-25 04:22 , Processed in 0.036216 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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