• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver
Resource icon

Guide - How to Trace Calls in an MQ2 Macro

AmericanNero

Seasoned veteran member
Joined
Oct 13, 2020
RedCents
4,709¢
AmericanNero submitted a new resource:

How to Trace Calls in an MQ2 Macro - A method to trace calls in MQ2 macros

I've encountered situations in KA12 where I couldn't make heads or tails out of where a bug (gasp... bugs? In KA?) originates. If only there was a stack trace in MQ2...

MQ2 does not provide a property that let's you know where a call originated from. It does provide the current sub name ${Macro.CurSub}. This is only a tidbit of the picture one needs to trace calls throughout MQ2 macros. I employed an array as a simple call trace stack within my doctored up KA12, and you are free to use it...

Read more about this resource...
 
AmericanNero updated How to Trace Calls in an MQ2 Macro with a new update entry:

Another way...

One could replace /call with a sub that then calls. E.g.
[CODE lang="ini" title="Another implementation"]/call RemoteCall "subname param0 param1..."


Sub RemoteCall(string RemoteSubParams)
||| One may need to cache params if needed elsewhere, but you can also use .Arg[] to extract

/declare MacroReturn string local NULL

||| Debug call stack but the value of CurSub is substituted with the subname passed in
CALLINGSUB
CALLINGINDEX

||| Perhaps put a generic debug...[/CODE]

Read the rest of this update entry...
 
Guide - How to Trace Calls in an MQ2 Macro

Users who are viewing this thread

Back
Top
Cart