找回密码
 注册
搜索
查看: 363|回复: 6

以wudang为例作说明,熟悉mush的任务流程,才能更好的修改

[复制链接]
门派:武当派
发表于 2019-3-4 22:37:28 | 显示全部楼层 |阅读模式
我们不可能都对lua脚本精通,但如果能了解lua脚本中任务的大致流程,对我们如何修改机器人会有相当大的帮助。

武当任务为例子,作个简单说明,以下所有内容都是wudang.lua中的相关函数:

对于我们挂hs+wd的,hs job做完后,mush robot会执行一系的检查,最后执行的是这个函数:
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(),两者最终都是执行wdstart()。这里newbie就是我们在主界面上可以选择“”开启任务检查内力“”开头,zhunbeineili也是一个函数(定义在job.lua中),它会自动dazuo,达到条件就再执行wdstart, 所以下一步就是wdstart这个函数了。
function wdstart()
    return prepare_lianxi(wudangStart)
end

这里面先执行prepare_lianxi,这个函数就是判断我们有没有job busy,有busy就练习一些特殊技能,没有就直接执行wudangStart这个函数(所以如果想job busy时想做点别的事——比如去拿个雪蛛,或者做一个smy,就要修改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的标志和动作。

后面就不解释了,师兄弟姐妹如果能理解这个流程,后续改一些小的问题难度就不会太大了
门派:武当派
发表于 2019-3-5 18:20:55 | 显示全部楼层
这个说的我还是看的很清楚的了,你发去机器区有加分的
门派:武当派
发表于 2019-3-5 18:21:31 | 显示全部楼层
但是懂了点和做的来是两码事啊     
门派:武当派
发表于 2019-3-5 21:16:16 | 显示全部楼层
谢谢师弟的细心解说啊 有心了
门派:武当派
 楼主| 发表于 2019-3-5 22:21:13 | 显示全部楼层
taot@tj 发表于 2019-3-5 18:20
这个说的我还是看的很清楚的了,你发去机器区有加分的

这个没什么技术含量,不想去机器人区混分了,这个主要是想让咱们WD对mush流程不熟悉的同门能有个概念
门派:武当派
 楼主| 发表于 2019-3-5 22:21:58 | 显示全部楼层
alphadog@tj 发表于 2019-3-5 21:16
谢谢师弟的细心解说啊 有心了

大师姐,我这是班门弄斧了
门派:武当派
发表于 2019-3-6 11:36:34 | 显示全部楼层
freely@tj 发表于 2019-3-5 22:21
这个没什么技术含量,不想去机器人区混分了,这个主要是想让咱们WD对mush流程不熟悉的同门能有个概 ...

没事能吸收一点是一点了     
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-27 06:38 , Processed in 0.031722 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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