|
楼主 |
发表于 2019-3-4 22:19:16
|
显示全部楼层
我以武当任务为例子,作个简单说明:
hs做完后,会执行一系的检查,最后执行的是这个函数:
function wudang()
if hp.shen<0 then
return turnShen('+')
end
wudangTrigger()
job.level=nil
job.lost=0
job.name='wudang'
return check_halt(wudangGo)
end
其他的是一些标致的初始化,暂时不管,我标红的两个函数,第一个函数是建立各种触发,比如ask song接任务的触发等等,你可以在那个函数中看到
第二个函数是就是继续往下,准备ask song要任务了
function wudangGo()
return go(wudangBegin,"武当山","三清殿")
end
这个函数里其实就是一个跳转,执行了一个go函数,go是mush robot中相当的一个函数,就是走到某地做某事,像这儿就是让我们走到武当山三清殿,执行wudangBegin
然后你继续看wudangBegin里干了什么:
function wudangBegin()
if newbie==1 then return zhunbeineili(wdstart) else return wdstart() end
end
这里面是一个判断,就是说如果标志newbie是1,就执行前面的: zhunbeineili(wdstart),否则就执行后面的:wdstart()。这里newbie就是我们在主界面上是否开启任务检查内力的开头,zhunbeineili也是一个函数,他会自动dazuo,达到条件就再执行wdstart, 所以下一步就是wdstart这个函数了。
function wdstart()
return prepare_lianxi(wudangStart)
end
这里面先执行prepare_lianxi,这个函数就是判断我们有没有job busy,有busy就练习一些特殊技能,没有就直接执行wudangStart这个函数(所以如果想job busy时想做点别的事,就要修改prepare_lianxi这个函数),现在流程到wudangStart了
function wudangStart()
DoAfterSpecial(1,'return AntiFloodTimer()',12)
antiFlood="wudang"
EnableTriggerGroup("wudangAsk",true)
flag.idle = nil
return exe('ask song yuanqiao about job')
end
到这儿才会真正ask song要任务,这里面红色的就是我加的防flood的标志和动作。
后面就不解释了,师兄如果能理解这个流程,后续改一些小的问题就不会总出问题了 |
|