如何解决不环保的任务派送。
如以下几个任务的派送,由于当年的wiz偷懒,用了简单的say来派送任务,不仅增加了系统的负担,也让很多玩家伤透了脑筋。护卫任务:
石嫂说道:「我刚得到消息,所谓的名门正派,来了几个人挑战我派。
你赶快去百丈涧护卫一下吧(huwei)。
如果真的有人来挑战,消灭他们。」
护镖任务:
林震南点了点头。
几个伙计将镖推了出来。
林震南说道:「踢火把这批红货送到杀手帮当铺独孤梦那里,他已经派了个伙计名叫呼延司颖到杀手帮广场附近接你,把镖车送到他那里就行了。」
类似的还有萧峰和门忠。
还好,北侠还有一个贴心的命令,“quest”。让我们看看怎么利用quest来领取任务而又不会互相被干扰呢。请参考下面的一个触发和两个模块。
一、这个触发抓取相关护镖参数。
^[>\s]*你需要把镖车运给(.*)的伙计(.*),他会在(.*)接应你!
SetVariable ("hb_boss","%1");
SetVariable ("hb_huoji","%2");
SetVariable ("hb_dest","%3")
二、这个函数开始问镖。
hba_askhb = function()
SetVariable ("hb_boss" , "nil") --设置接镖老板为空
print("开始接镖。。。。。。")
Send("ask lin zhennan about finish")
Send("ask lin zhennan about fail")
Send("ask lin zhennan about 重镖")
Send("quest")
busytest(hba_checkhb)
end
三、这个函数检查是否派送了任务给你(关键就是检查是否有护镖参数了,比如说送给哪位老板?因为在上面的函数是曾置空的),无则15秒后再问,有则该干嘛干嘛。
hba_checkhb = function()
hb_boss = GetVariable("hb_boss")
if hb_boss == "nil" then
temp_timer( 'hba_askhb', 15, '', 'hba_askhb' )
else
*************************************自己做吧
end
end
[ 本帖最后由 hba 于 2010-6-9 11:05 AM 编辑 ] 如果要做成zmud的也很简单。
触发:
^??你需要把镖车运给(%x)的伙计(%x),他会在(%x)接应你!
hb_boss=%1;hb_huoji=%2;hb_dest=%3
问:
hb_boss=0;ask lin zhennan about 重镖;quest;set staus 检查任务
再一个触发:
^??设定环境变量:status = 检查任务
#if @hb_boss = 0 {#wa 15000;ask lin zhennan about 重镖;quest;set staus 检查任务} {可以推车了,该干嘛干嘛} 我觉得哈...
是巫师故意设置成这样的,目的就是为了加大机器人的难度.
不然的话,你看慕容任务就不是用say的. quest的确有点混乱,有些地点想看自己的quest时,出来的是NPC给的提示。晕死。 这些任务npc是话痨。真正要问的时候又不说了,有次在实验室玩,没trigger,只下载了alias,要个任务,忘记地点了,quest只能看小房间,没区域,碰上重名率高的地点真是。。。http://www.cryinggun.com/wp-content/uploads/2010/01/2009222_16-21-15_005_94945-copy.jpg 这个很容易解决啊,非常容易。
就是开开关关的事情 我不会啊,没trigger记录情况下怎么解决呀?楼上教教我 定义一个文件夹,job
把任务的触发放在这里面。
吧你去打听这个放在另一个文件夹里面。当你问的时候打开文件夹job,触发以后自动关上文件夹job。这样别人就打扰不到你了。
例子
^??你向林镇南打听护镖的消息
#t+ job
^??你需要把镖车运给(%x)的伙计(%x),他会在(%x)接应你!
#t- job
XXXXXX(你要读取的东西) 唉,你说有触发的情况啊~~这个我倒是会。
我是说在外面有次心血来潮做次job,结果没有触发,只有alias,走了基本发现自己习惯上没看要去哪,然后企图用quest翻出答案,未果。。。
不过还是谢谢 机器人弄好了完全没有问题啊。。
页:
[1]
2