WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   AddOn Help/Support (https://www.wowinterface.com/forums/forumdisplay.php?f=3)
-   -   WeakAuras 2 button with macro (https://www.wowinterface.com/forums/showthread.php?t=57969)

Ulverbeast 04-29-20 05:38 AM

WeakAuras 2 button with macro
 
Hi all

I'm trying to program a button to run a simple macro with a /script command, but it doesn't work. The code works if I just set the macrotext to "/sit". I will post two examples to show what I mean

Example 1:
f.button = CreateFrame("Button", nil, f,"SecureActionButtonTemplate")
f.button:SetAttribute("type","macro")
local macrotext = "/sit"
f.button:SetAttribute("macrotext",macrotext)

Example 2:
f.button = CreateFrame("Button", nil, f,"SecureActionButtonTemplate")
f.button:SetAttribute("type","macro")
local macrotext = "/script SetLootMethod("group")"
f.button:SetAttribute("macrotext",macrotext)

In this case, example 1 works fine, but example 2 does not change to group loot, even though the macro text works if I save it as a macro and run it. Is this due to some limitation in the API? And is there any other way to program the button to perform this action without setting the type as macro if so?

Thanks for any help

Urtgard 04-29-20 06:56 AM

Enable Lua errors:
Code:

/console scriptErrors 1
The second " indicates the end of macrotext.
Therfore in example 2 your macrotext is cut off.

If you want to use special characters inside a string you must escape them.
Code:

local macrotext = "/script SetLootMethod(\"group\")"

Ulverbeast 04-30-20 07:04 AM

Thanks very much for the help, I tried it out and everything seems to work now

Seerah 04-30-20 11:18 AM

Or you can use single apostrophes.
Lua Code:
  1. "macro text with a 'string' inside"


-----------
(Example of what Urtgard was telling you:)
Lua Code:
  1. "macro text with a "string" inside"


All times are GMT -6. The time now is 05:37 AM.

vBulletin © 2020, Jelsoft Enterprises Ltd
© 2004 - 2020 MMOUI