I am programming a macro that must send text to the party chat when:
- I accept a quest;
- I kill a quest mob;
- I collect an item;
- I abandon a quest;
- I complete a quest;
- I log in and I was in a party before I logged out.
There are several quest events that are fired, but some events have no arguments, and it is hard to see what quests are affected in one of the 6 situations above:
- After loading a character: QUEST_LOG_UPDATE;
- After abandoning a quest: QUEST_LOG_UPDATE;
- When talking with a questgiver: QUEST_DETAIL;
- When accepting a quest: QUEST_FINISHED;
- When declining a quest: QUEST_FINISHED;
- When picking up a quest item: QUEST_LOG_UPDATE;
- When killing a quest mob: QUEST_LOG_UPDATE;
- When going back to the questgiver: QUEST_COMPLETE;
- When clicking on the Complete-button: QUEST_FINISED.
There are too many same events in different occasions. So there must be some functions that I can use, to see what quests are affected, and what kind of situation exactly occurred.
try watching for the UI_INFO_MESSAGE event and then search arg1 for specific text related to quests. You should be able to grab data from that text and use it to return a message that can be sent to your party.
UI_INFO_MESSAGE is called when a quest update takes place (among other things). This includes updates of items collected (like 5 of 10 items, etc...) as well as when a quest is completed...