Hello
tl;dr
If you arent interested in macro development, then there isnt much more to read here.
This is me pushing some code I have written today, to the forum to share for others interested in making macros to use n abuse.
Background
Ok, slight misdirect, its not "the first" but it is the first that is going public onto forums as I learn the codes!
( and there was no way, a public push of " /echo hello world! " was going to make it! ).
This isnt going to solve the world problems, but it is intended to poke around the quest journal, to see what quests a character has and the status of the quests.
Idea being, breadcrumbs, some proof of concept code that may help in other macros that look to do quest related activities.
In that this is not for people to download and run, but is for developers like me, starting out and getting a feel for things.
Details
The main sub, is just the driver of the test cases with some output. A number of sub procs / sub funcs / sub methods, do some more interesting bits.
Although, later i also found it does require to have been opened during the session at some point.
If call those two Open and Close back to back, I dont see it appear on screen but is enough MQ2 to have an understanding nad populated the quest structures.
In the test cases, i make obvious booboo and then looking for good.
/call IsQuestInJournal "BigDorfs Amazing Adventures"
/call IsQuestInJournal "Beginner Brewer Test"
/call GetQuestIndex "BigDorfs Amazing Adventures"
/call GetQuestIndex "Beginner Brewer Test"
For me they returned respective; FALSE, TRUE; -1, 2.
Blindly, i change the quest focus, by selecting the result from the GetQuestIndex.
/echo set focus on the required quest in the journal
/notify TaskWnd Task_TaskList listselect ${QuestIndex} leftmouseup
Lastly, a call to OutputQuestObjectives iterates over the objectives for that quest and outputs them.
/echo output some details of quest objectives
/call OutputQuestObjectives
A quick grab of the output for the brewers quest ( searched for using the name, and then the returned index of "2" to set focus) :-
...and the screen shot of the quest journal that inspired to write this code...

tl;dr
If you arent interested in macro development, then there isnt much more to read here.
This is me pushing some code I have written today, to the forum to share for others interested in making macros to use n abuse.
Background
Ok, slight misdirect, its not "the first" but it is the first that is going public onto forums as I learn the codes!
( and there was no way, a public push of " /echo hello world! " was going to make it! ).
This isnt going to solve the world problems, but it is intended to poke around the quest journal, to see what quests a character has and the status of the quests.
Idea being, breadcrumbs, some proof of concept code that may help in other macros that look to do quest related activities.
In that this is not for people to download and run, but is for developers like me, starting out and getting a feel for things.
Details
The main sub, is just the driver of the test cases with some output. A number of sub procs / sub funcs / sub methods, do some more interesting bits.
- OpenQuestJournal - open the journal window
- CloseQuestJournal - close the journal window
- OutputNamesOfAllQuests - simply echo out info to mq2 window, the titles of quests
- IsQuestInJournal(string name) - return boolean, true yes, false no
- GetQuestIndex(string name) - return int, quest index +ve, -ve not there.
- OutputQuestObjectives - simply echo out info to mq2 window, the quest ojbjective and its status.
Although, later i also found it does require to have been opened during the session at some point.
If call those two Open and Close back to back, I dont see it appear on screen but is enough MQ2 to have an understanding nad populated the quest structures.
In the test cases, i make obvious booboo and then looking for good.
/call IsQuestInJournal "BigDorfs Amazing Adventures"
/call IsQuestInJournal "Beginner Brewer Test"
/call GetQuestIndex "BigDorfs Amazing Adventures"
/call GetQuestIndex "Beginner Brewer Test"
For me they returned respective; FALSE, TRUE; -1, 2.
Blindly, i change the quest focus, by selecting the result from the GetQuestIndex.
/echo set focus on the required quest in the journal
/notify TaskWnd Task_TaskList listselect ${QuestIndex} leftmouseup
Lastly, a call to OutputQuestObjectives iterates over the objectives for that quest and outputs them.
/echo output some details of quest objectives
/call OutputQuestObjectives
A quick grab of the output for the brewers quest ( searched for using the name, and then the returned index of "2" to set focus) :-
set focus on the required quest in the journal
output some details of quest objectives
Quest journal has 20 objectives entries for this task
objective line 1 name is:= Create 1 Malted Milk using tradeskills status is:= Done
objective line 2 name is:= Create 1 Flask of Sylvan Berry Juice using tradeskills status is:= 0/1
objective line 3 name is:= Create 1 Bottle of Kalish using tradeskills status is:= 0/1
objective line 4 name is:= Create 2 Short Beer using tradeskills status is:= 0/2
objective line 5 name is:= Create 1 Fizzle Pop using tradeskills status is:= 0/1
objective line 6 name is:= Create 2 Mead using tradeskills status is:= Done
objective line 7 name is:= Create 1 Honey Mead using tradeskills status is:= 0/1
objective line 8 name is:= Create 2 Heady Paeala using tradeskills status is:= Done
objective line 9 name is:= Create 2 Short Ale using tradeskills status is:= Done
objective line 10 name is:= Create 2 Lemonade using tradeskills status is:= 0/2
objective line 11 name is:= Deliver 1 Malted Milk to Judge Marion Teld`mare status is:= Done
objective line 12 name is:= ? ? ? status is:=
objective line 13 name is:= ? ? ? status is:=
objective line 14 name is:= ? ? ? status is:=
objective line 15 name is:= ? ? ? status is:=
objective line 16 name is:= Deliver 2 Mead to Judge Marion Teld`mare status is:= 0/2
objective line 17 name is:= ? ? ? status is:=
objective line 18 name is:= Deliver 2 Heady Paeala to Judge Marion Teld`mare status is:= Done
objective line 19 name is:= Deliver 2 Short Ale to Judge Marion Teld`mare status is:= Done
objective line 20 name is:= ? ? ? status is:=
...and the screen shot of the quest journal that inspired to write this code...

Attachments
Last edited:

