LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 16267|回复: 10

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

[复制链接]
发表于 2015-8-17 06:52:34 | 显示全部楼层 |阅读模式
本帖最后由 托托 于 2016-2-5 20:42 编辑

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

  10. function GetCollectObject()   
  11.    for i=1,GetObjectCount() do
  12.       local thisObject = GetObjectWithIndex(i)
  13.       if CollectList[ObjectName(thisObject)] and ObjectTypeFlags(thisObject)==33 and GetDistanceBetweenObjects("player",thisObject)<CollectDis then
  14.          return thisObject
  15.       end      
  16.    end
  17.    return nil   
  18. end

  19. T,F=T or 0,F or CreateFrame("frame")
  20. if X then
  21.    print("停止采集")
  22.    X=nil
  23. else
  24.    print("开始采集")
  25.    X=function()
  26.       local t=GetTime()
  27.       if t-T>1 then
  28.          local CollectObject=GetCollectObject()
  29.          if not CollectObject then
  30.             print("没有待采集目标,脚本停止")
  31.             X=nil
  32.             F:SetScript("OnUpdate",nil)
  33.          else
  34.             if GetNumLootItems()>0 then
  35.                print("正在拾取")
  36.                for i=1,GetNumLootItems() do LootSlot(i) end
  37.             end
  38.             if not UnitCastingInfo("player") then
  39.                if GetDistanceBetweenObjects("player",CollectObject)<=5 then
  40.                   print("点击["..ObjectName(CollectObject).."]")
  41.                   ObjectInteract(CollectObject)
  42.                else
  43.                   print("移动到["..ObjectName(CollectObject).."]")
  44.                   MoveTo(ObjectPosition(CollectObject))
  45.                end
  46.             end
  47.          end
  48.          T=t
  49.       end
  50.    end
  51. end
  52. F:SetScript("OnUpdate",X)
复制代码







评分

参与人数 1伸手费 +200 收起 理由
无节操好少年* + 200 党和人民需要你!

查看全部评分

回复

使用道具 举报

发表于 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 | 显示全部楼层
虽然看不大懂,但是好厉害的样子
要是有移动坐标,就能一键挂要塞了吧
回复 支持 反对

使用道具 举报

发表于 2015-8-19 06:49:33 | 显示全部楼层
测试了,灰常牛逼!可行!研究一下
回复 支持 反对

使用道具 举报

发表于 2015-8-19 08:23:02 | 显示全部楼层
请问楼主,一些基础函数是有一个函数列表啊,还是你自己一个一个找的?
回复 支持 反对

使用道具 举报

发表于 2015-8-19 12:00:34 | 显示全部楼层
其实那几个草点的坐标是固定的。直接跑固定点,然后看列表中那堆对象谁离我近再直接点会不会更好点。转一圈。。这个我没试,但是看逻辑应该会来回跑。矿点略复杂
回复 支持 反对

使用道具 举报

发表于 2017-1-23 13:49:51 来自手机 | 显示全部楼层
谢谢大神。学习了。。
回复 支持 反对

使用道具 举报

发表于 2018-3-23 13:29:12 | 显示全部楼层
不知道怎么用。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2024-3-29 10:42 PM , Processed in 0.128668 second(s), 31 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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