清华西游记吧 关注:137贴子:1,461
  • 7回复贴,共1

mush求教,使用快速行走遍历,怎么实现找到怪以后停止快速行走?

只看楼主收藏回复

rt,内容要长,mush求教,使用快速行走遍历,怎么实现找到怪以后停止快速行走?


IP属地:四川1楼2015-01-28 17:35回复
    这要看你快速行走的脚本是怎么实现的吧。
    每个人的思路不一样,做出来的东西也差别大的很。


    2楼2015-01-28 23:21
    回复
      就是用的mush自带那个,直接输一长串走路命令进去


      IP属地:四川3楼2015-01-29 11:31
      收起回复
        我贴下我写的遍历函数把.
        function task.StartPath(cplace)
        --中间一些初始化,根据cplace把地图路径存到task.PathTable
        -- SlowWalk
        Send("unset brief_all")
        task[task.Type].Found = 0
        task[task.Type].Step = 1
        task.lijing.Judge = false
        Execute("get jin dan from hua lan;get ren shen from hua lan;get ling zhi from hua lan;get jinchuang yao from hua lan;get hunyuan dan from hua lan")
        task.FindPath()
        end
        function task.FindPath()
        --slow walk first
        if task[task.Type].Found == 1 then --找到怪了,停止走路
        print("stop right now!")
        EnableGroup("FindPath",false) --关走路class
        EnableGroup("Task",true) --开灭妖class
        Send("follow "..task[task.Type].EName) --follow怪
        task[task.Type].HandleTarget() --开始灭妖
        else
        local PathTable = task.PathTable --没找到怪,指针加1
        local PathStep = task.PathStep
        PathStep = PathStep + 1
        EnableGroup("FindPath",true)
        if PathStep > #PathTable then --遍历整个地图都没找到,做异常处理
        Execute("timeout")
        else --否则继续走
        task.PathStep = PathStep
        Execute(PathTable[PathStep])
        end
        end
        end


        4楼2015-01-29 19:38
        收起回复
          tri做循环,不会出现走过头的情况,速度也更快。


          5楼2015-02-04 08:50
          回复
            先走过头,记录多走的步数,然后原路返回这个步数


            IP属地:广东6楼2015-02-17 07:08
            回复