小花 发表于 2014-3-21 13:59:32

支持. 支持.:D:D

小红猫 发表于 2014-3-23 16:04:09

动作会出错,可能是因为 /替换成换行符的错误造成的。

飞宇 发表于 2014-3-23 19:08:59

这个插件我用了。是V01老版的。楼主请更新到V02版,v01很多判断函数用不了!!!

呵呵,提出BUG,申请加分!!

小红猫 发表于 2014-3-23 21:34:55

飞宇 发表于 2014-3-23 19:08
这个插件我用了。是V01老版的。楼主请更新到V02版,v01很多判断函数用不了!!!

呵呵,提出BUG,申请加 ...

函数需要自己加的,现在又的只是基础函数。

碟中谍 发表于 2014-3-23 23:18:42

小_红_猫 发表于 2014-3-23 16:04
动作会出错,可能是因为 /替换成换行符的错误造成的。

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

飞宇 发表于 2014-3-23 23:48:00

-----这是Automacro的核心部分,不需要修改!------

local default = CreateFrame("Frame", "AutoM", UIParent)
default:Hide()
default:SetScript("OnKeyUp", function(self, key) print(key) end)
function AM_AM(msg)
        if msg then
        macrobody = GetMacroBody(GetRunningMacro())
        StopMacro()
        --print(script)-- Debug
        --print(ConvertMacroToScript(macrobody))
        RunScript(ConvertMacroToScript(macrobody))
        end
end

function ConvertMacroToScript(macrobody)
if macrobody==nil then return end;
macrobody = gsub(macrobody,"/am","")
        macrolist = strsplit("\n",macrobody)
        local count = select(2,gsub(macrobody,"\n","\n"))
        local macrolist ={}
        for i=1,count+1 do
        macrolist = select(i,strsplit("\n",macrobody))
        end
        local script = ""
        for i=1,count+1 do
       
        if strsub(macrolist,1,5)=="/run " then
        local sub_script= gsub(macrolist,"/run ","")
        script = script .. sub_script .."\n"
        else
                if strsub(macrolist,1,4)=="/if " then
                local condition= gsub(macrolist,"/if ","")
                script = script .. "if " .. condition.." then\n"
                else
                        if strsub(macrolist,1,6)=="/else" then
                        script = script .. "else\n"
                        else
                                if strsub(macrolist,1,5)=="/end" then
                                script = script .. "end\n"
                                else
                                        ifmacrolist~="\n" and macrolist~=" " then
                                        script = script .. "RunMacroText\(\""..macrolist.."\"\)\n"
                                        end
                                end
                        end
                end
        end
       
        end
        return script
end

SlashCmdList["AM"]=AM_AM;
SLASH_AM1="/am";我用的这个AM_Core.lua,就正常了。/click ActionButton 也可以使用!

小红猫 发表于 2014-3-24 01:01:00

碟中谍 发表于 2014-3-23 23:18
是的,但应该不是换行符的问题
/click ActionButton1
这样的宏运行起来和正常的宏不一样,没法运行


:funk:那我就不太懂了,我就看见你hook了5处。你那解锁器蛮好。。。不太懂。

自摸王 发表于 2014-3-31 11:08:58

支持AM支持论坛新手缓慢学习成长中

我最爱看戏了 发表于 2014-5-14 12:34:28

收藏下学习

涛子 发表于 2014-8-8 13:55:19

一年多不玩WOW 忘记了 这个AM用的解锁器跟YJ是一样的么?
页: 1 [2] 3
查看完整版本: 5.4.7 版本 Automacro经典版