mirror of
https://github.com/brues-code/SuperCleveRoidMacros.git
synced 2026-09-16 03:38:00 +00:00
Initial Commit
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
--[[
|
||||
Author: Dennis Werner Garske (DWG) / brian / Mewtiny
|
||||
License: MIT License
|
||||
]]
|
||||
local _G = _G or getfenv(0)
|
||||
local CleveRoids = _G.CleveRoids or {}
|
||||
-- CleveRoids.mouseoverUnit = CleveRoids.mouseoverUnit or nil
|
||||
|
||||
local Extension = CleveRoids.RegisterExtension("MacroLengthWarn")
|
||||
|
||||
local edit_orig = EditMacro
|
||||
|
||||
function Extension.SafeEditMacro(macro_id, x, y, body)
|
||||
if SuperMacroFrame ~= nil and x and y and body == nil then
|
||||
-- super will handle macro
|
||||
edit_orig(macro_id, x, y, body)
|
||||
return
|
||||
end
|
||||
|
||||
if not body then -- can't be too long without a body
|
||||
edit_orig(macro_id, x, y, body)
|
||||
return
|
||||
end
|
||||
|
||||
for line in string.gfind(body, "([^\n]+)") do
|
||||
if string.len(line) > 261 then
|
||||
DEFAULT_CHAT_FRAME:AddMessage("ERROR: A line in the macro < |cffffffff"..GetMacroInfo(macro_id).."|r > is too long and will |cffff0000CRASH|r the client and may |cffff0000DELETE|r all macros on exit! Max line length: |cffffffff261|r",1,1,0)
|
||||
return
|
||||
end
|
||||
end
|
||||
edit_orig(macro_id, x, y, body)
|
||||
end
|
||||
|
||||
|
||||
function Extension.OnLoad()
|
||||
-- how do I use this with a global function?
|
||||
-- CleveRoids.RegisterMethodHook("MacroLengthWarn", _G, "EditMacro", "SafeEditMacro", true)
|
||||
EditMacro = Extension.SafeEditMacro
|
||||
end
|
||||
|
||||
_G["CleveRoids"] = CleveRoids
|
||||
Reference in New Issue
Block a user