htt0528 发表于 2015-8-17 06:52:34

【教程】【GC七段】【仅仅是一个思路】要塞草药园自动采集

本帖最后由 托托 于 2016-2-5 20:42 编辑

       之前和老血聊天 说到FH解锁后 其实游戏所有功能都放开了 甚至于可以写出挂机的脚本 他让我写个试试 我就尝试写了一个
使用方法很简单:停在草药园门口 运行一次就行了 用GC的同学 加入到自定义脚本里点调试就行点击一次是开始 再点一次结束
当然 仅仅是个测试 没有路线规划 所以有可能卡住。。。
废话不多说 上代码
local CollectList={
   ["烁星花"]=true,
   ["寒霜草"]=true,
   ["炎火草"]=true,
   ["塔拉多幽兰"]=true,
   ["戈尔隆德捕蝇草"]=true,
   ["纳格兰箭叶花"]=true
}
local CollectDis=40

function GetCollectObject()   
   for i=1,GetObjectCount() do
      local thisObject = GetObjectWithIndex(i)
      if CollectList and ObjectTypeFlags(thisObject)==33 and GetDistanceBetweenObjects("player",thisObject)<CollectDis then
         return thisObject
      end      
   end
   return nil   
end

T,F=T or 0,F or CreateFrame("frame")
if X then
   print("停止采集")
   X=nil
else
   print("开始采集")
   X=function()
      local t=GetTime()
      if t-T>1 then
         local CollectObject=GetCollectObject()
         if not CollectObject then
            print("没有待采集目标,脚本停止")
            X=nil
            F:SetScript("OnUpdate",nil)
         else
            if GetNumLootItems()>0 then
               print("正在拾取")
               for i=1,GetNumLootItems() do LootSlot(i) end
            end
            if not UnitCastingInfo("player") then
               if GetDistanceBetweenObjects("player",CollectObject)<=5 then
                  print("点击["..ObjectName(CollectObject).."]")
                  ObjectInteract(CollectObject)
               else
                  print("移动到["..ObjectName(CollectObject).."]")
                  MoveTo(ObjectPosition(CollectObject))
               end
            end
         end
         T=t
      end
   end
end
F:SetScript("OnUpdate",X)







无节操好少年* 发表于 2015-8-17 10:22:29

不愧是技术流

萨隆尼 发表于 2015-8-17 11:31:53

MoveTo(ObjectPosition(CollectObject)
竟然有这么逆天的函数 !

你看的见我么 发表于 2015-8-18 08:56:31

哇~好厉害好厉害~看不懂

迷惘的风 发表于 2015-8-18 09:23:11

虽然看不大懂,但是好厉害的样子
要是有移动坐标,就能一键挂要塞了吧

ggdove 发表于 2015-8-19 06:49:33

测试了,灰常牛逼!可行!研究一下

ggdove 发表于 2015-8-19 08:23:02

请问楼主,一些基础函数是有一个函数列表啊,还是你自己一个一个找的?

萨隆尼 发表于 2015-8-19 12:00:34

其实那几个草点的坐标是固定的。直接跑固定点,然后看列表中那堆对象谁离我近再直接点会不会更好点。转一圈。。这个我没试,但是看逻辑应该会来回跑。矿点略复杂

2812059513 发表于 2017-1-23 13:49:51

谢谢大神。学习了。。

givin 发表于 2018-3-23 13:29:12

不知道怎么用。。。{:5_240:}{:5_240:}{:5_240:}{:5_240:}{:5_240:}
页: [1] 2
查看完整版本: 【教程】【GC七段】【仅仅是一个思路】要塞草药园自动采集