LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 19345|回复: 29

5.4.7 版本 Automacro经典版

[复制链接]
发表于 2014-3-19 12:37:52 | 显示全部楼层 |阅读模式

本插件为有lua编程能力,或不习惯全自动操作的玩家设计

更新了toc文件,不需要"加载过期插件"了.


使用说明:
在宏命令的第一行先写/am
接下来即可在宏中使用/if /else /end 进行判断
例:
  1. /am
  2. /if UnitHealth("player")<400000
  3. /cast 盾墙
  4. /else
  5. /cast XXX
  6. /end
复制代码

你也以打开AM_CustomFunctions.lua编写自己的函数,用于节省宏的字数或者进行复合判断
例: 这是自带的函数, 用于判断目标是否处于可打断状态
  1. function UnitC(target)
  2.         local notInterruptible
  3.         local spellName
  4.         if UnitChannelInfo(target) then
  5.                 notInterruptible = select(8,UnitChannelInfo(target))
  6.                 spellName = UnitChannelInfo(target)
  7.         else
  8.                 if UnitCastingInfo(target) then
  9.                         notInterruptible = select(9,UnitCastingInfo(target))
  10.                         spellName = UnitCastingInfo(target)
  11.                 else
  12.                         return false
  13.                 end
  14.         end
  15.                 return true
  16. end
复制代码

参考资料:
wow API
http://wowprogramming.com/docs/api
包含所有wow中的api, 如UnitHealth,UnitName等等 可以获取wow中几乎所有信息.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
回复

使用道具 举报

发表于 2014-3-23 23:48:00 | 显示全部楼层
  1. -----这是Automacro的核心部分,不需要修改!------

  2. local default = CreateFrame("Frame", "AutoM", UIParent)
  3. default:Hide()
  4. default:SetScript("OnKeyUp", function(self, key) print(key) end)
  5. function AM_AM(msg)
  6.         if msg then
  7.         macrobody = GetMacroBody(GetRunningMacro())
  8.         StopMacro()
  9.         --print(script)  -- Debug
  10.         --print(ConvertMacroToScript(macrobody))
  11.         RunScript(ConvertMacroToScript(macrobody))
  12.         end
  13. end

  14. function ConvertMacroToScript(macrobody)
  15. if macrobody==nil then return end;
  16. macrobody = gsub(macrobody,"/am","")
  17.         macrolist = strsplit("\n",macrobody)
  18.         local count = select(2,gsub(macrobody,"\n","\n"))
  19.         local macrolist ={}
  20.         for i=1,count+1 do
  21.         macrolist[i] = select(i,strsplit("\n",macrobody))
  22.         end
  23.         local script = ""
  24.         for i=1,count+1 do
  25.        
  26.         if strsub(macrolist[i],1,5)=="/run " then
  27.         local sub_script= gsub(macrolist[i],"/run ","")
  28.         script = script .. sub_script .."\n"
  29.         else
  30.                 if strsub(macrolist[i],1,4)=="/if " then
  31.                 local condition= gsub(macrolist[i],"/if ","")
  32.                 script = script .. "if " .. condition.." then\n"
  33.                 else
  34.                         if strsub(macrolist[i],1,6)=="/else" then
  35.                         script = script .. "else\n"
  36.                         else
  37.                                 if strsub(macrolist[i],1,5)=="/end" then
  38.                                 script = script .. "end\n"
  39.                                 else
  40.                                         if  macrolist[i]~="\n" and macrolist[i]~=" " then
  41.                                         script = script .. "RunMacroText\(""..macrolist[i]..""\)\n"
  42.                                         end
  43.                                 end
  44.                         end
  45.                 end
  46.         end
  47.        
  48.         end
  49.         return script
  50. end

  51. SlashCmdList["AM"]=AM_AM;
  52. SLASH_AM1="/am";
复制代码
我用的这个AM_Core.lua,就正常了。/click ActionButton 也可以使用!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-23 23:18:42 | 显示全部楼层
小_红_猫 发表于 2014-3-23 16:04
动作会出错,可能是因为 /替换成换行符的错误造成的。

是的,但应该不是换行符的问题
/click ActionButton1
这样的宏运行起来和正常的宏不一样,没法运行
应该是新解锁器原理的问题,/click比其他宏命令会多调用一次保护函数(多一个click)原来旧的解锁器是因为解锁了全部函数所以没问题。
解决方法是我下次更新的时候把actionbutton相关函数也解锁,但不一定有必要(/click用途不大)
回复 支持 反对

使用道具 举报

发表于 2014-3-24 01:01:00 | 显示全部楼层
碟中谍 发表于 2014-3-23 23:18
是的,但应该不是换行符的问题
/click ActionButton1
这样的宏运行起来和正常的宏不一样,没法运行

那我就不太懂了,我就看见你hook了5处。你那解锁器蛮好。。。不太懂。
回复 支持 反对

使用道具 举报

发表于 2014-3-19 12:43:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2014-3-19 15:27:38 | 显示全部楼层
这个可以有,支持automarcro,呵呵。。
回复 支持 反对

使用道具 举报

发表于 2014-3-19 15:31:54 | 显示全部楼层
蛮好支持下。
回复 支持 反对

使用道具 举报

发表于 2014-3-19 17:22:21 | 显示全部楼层
也需要解锁哇???
回复 支持 反对

使用道具 举报

发表于 2014-3-19 17:31:22 | 显示全部楼层
本帖最后由 zhmixio 于 2014-3-19 17:33 编辑

要解锁,不然用不了!谢谢大大!
回复 支持 反对

使用道具 举报

发表于 2014-3-19 17:32:45 | 显示全部楼层

要解!不然用不了!
回复 支持 反对

使用道具 举报

发表于 2014-3-19 18:12:15 | 显示全部楼层
zhmixio 发表于 2014-3-19 17:32
要解!不然用不了!

哦哦哦~~ 谢谢老大
回复 支持 反对

使用道具 举报

发表于 2014-3-20 21:37:11 | 显示全部楼层
试了一天,目前发现某些指令会出现报错。例如动作条之类的,直接WOW.exe报错!
还在测试中!
回复 支持 反对

使用道具 举报

发表于 2014-3-20 23:05:41 | 显示全部楼层
又是强力的武器
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 02:29 AM , Processed in 0.089464 second(s), 40 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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