找回密码
 注册
搜索
楼主: freely@tj

hs任务改为get corpse,能提高1-2k/h

[复制链接]
门派:武当派
发表于 2019-3-4 17:34:07 | 显示全部楼层
freely@tj 发表于 2019-3-4 15:55
是的,能解决一个就会很有成就感

要是以前我也学程序员就好了啊            
可惜就是看不太明白
门派:武当派
 楼主| 发表于 2019-3-4 18:06:31 | 显示全部楼层
taot@tj 发表于 2019-3-4 17:33
这个我没系统学习过怎么研究的来啊

流程性的东西不要你系统学, 游戏中的job流程你肯定知道的吧,以wudang任务为例,流程是:走到要任务的NPC那儿,要任务,往任务地点赶,找NPC,叫杀NPC,杀完往回赶,交任务
你要明白这些步骤在wudang.lua往是怎么跳转的,比如要任务是哪个函数,要完后哪个函数往目标地点走等等
门派:武当派
 楼主| 发表于 2019-3-4 18:07:03 | 显示全部楼层
taot@tj 发表于 2019-3-4 17:34
要是以前我也学程序员就好了啊            
可惜就是看不太明白

呵,你只要根据别人的帖子改,不需要你是程序员
门派:武当派
发表于 2019-3-4 19:41:30 | 显示全部楼层
freely@tj 发表于 2019-3-4 18:06
流程性的东西不要你系统学, 游戏中的job流程你肯定知道的吧,以wudang任务为例,流程是:走到要任务的NP ...

这个我还是知道的!就是跳转是那个命令触发的还不太清楚         
门派:武当派
发表于 2019-3-4 19:42:05 | 显示全部楼层
freely@tj 发表于 2019-3-4 18:07
呵,你只要根据别人的帖子改,不需要你是程序员

不行有的人的帖子我怎么改都是不能用的            
门派:武当派
 楼主| 发表于 2019-3-4 22:19:16 | 显示全部楼层
taot@tj 发表于 2019-3-4 19:41
这个我还是知道的!就是跳转是那个命令触发的还不太清楚

我以武当任务为例子,作个简单说明:
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的标志和动作。

后面就不解释了,师兄如果能理解这个流程,后续改一些小的问题就不会总出问题了
门派:武当派
 楼主| 发表于 2019-3-4 22:21:19 | 显示全部楼层
taot@tj 发表于 2019-3-4 19:42
不行有的人的帖子我怎么改都是不能用的

有的人只是讲了概念,要我们去消化自己修改代码,这个要求对机器人有相当的了解
门派:武当派
发表于 2019-3-5 09:02:49 | 显示全部楼层
freely@tj 发表于 2019-3-4 22:19
我以武当任务为例子,作个简单说明:
hs做完后,会执行一系的检查,最后执行的是这个函数:
function w ...

嗯说的太详细了,那flood 加进去到底是个什么解释
要我自己加可以加的么
门派:武当派
发表于 2019-3-5 09:03:32 | 显示全部楼层
freely@tj 发表于 2019-3-4 22:21
有的人只是讲了概念,要我们去消化自己修改代码,这个要求对机器人有相当的了解

是啊你这算系统的把他才开了说了,我要收藏起来慢慢研究
门派:武当派
 楼主| 发表于 2019-3-5 11:20:18 | 显示全部楼层
taot@tj 发表于 2019-3-5 09:02
嗯说的太详细了,那flood 加进去到底是个什么解释
要我自己加可以加的么

那个flood机制我有时间再开个帖给你解释  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-28 01:34 , Processed in 0.028226 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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