I started this project based on the efforts I put into the Ruppocsnakes.mac and the expanded possibilities of having an overall macro that would run quests. Since all quests are unique, there’s no single approach to doing them however I believe I have a file structure that would allow development of quest themselves and uses existing bots to customize at the same time. This is fully under development still but wanted to share the stuff I’ve come up with for input and development. Everything I’m sharing I have already tested with success using macro’s and events from Ruppocsnakes.mac I recently shared.
The structure would look something like this (*attached pdf for visual reference of logics flow as well):
File / Location / Function
The questing.mac would launch targeted on a mainassist (even if it’s yourself) and use it’s parameter to call the quest you wish to run.
Example: /mac questing ruppocsnakes
Once launched, the macro would check to see if you have an .ini file for the character you are on and if not, creates it populating default fields and ask you to go configure it with details ending the macro at that point. If the file does exist, it would call on the quest .inc by the parameter provided on launch. The quest specific inc would do it’s own checks to the .ini file to see if it has the quests specific sections exist and check values, then writing in the starting values needed or missing. Once that is all done, then all the loops for various parts of the quest would begin. Flags for parts of the quest could be tracked and passed to the characters ini with event loops (such as task such and such was updated adds 1 or whatever is being tracked at that point). The quest inc would also use checks within the event loops to flag a change or other trigger the macro reset to go on to the next phase of a quest. The reset on the macro would pull from the ini settings to know what phase of a quest it left off so it knew what to go to next.
How that process world work:
Macro starts, quest.inc tells me to go to this location and launch my bot. I get 4 task updates flagged by the event loop and says when count is 4, its time to move to the next location and do something else. Macro calls for the restart ending the bot being active. During restart it goes I have 4 of these, so now I need to run to this NPC and hail him, then run to this other location and set up camp again. Once to the next location it launches the bot again. The .ini file being outside the macro can keep track of these task update counts or whatever is required to that quest and saves it so when the macro restart for the next stage is called, it knows where to go and set up each time.
Basic idea of what’s in a Questing_(charactername).ini file:
Basic idea of the Questing.inc contents:
Obviously there's a lot to do and develop but once established, to set up and do quests with moving to various locations, kill stuff etc. can all be done and still be versatile to use bot's by personal preference for each character. I'm going to be taking the ruppoc snakes quest I just did and HA's "A Helping Hand" as project development tools to do using this design. Doing quest development can then be focus on the quest.inc's only as needed. Rules of development would be needed to avoid accidently variable names similar to other macro's being used as includes etc., checking if calling out the same include (wait4rez.inc,etc.) will have an adverse effects so if called by top level macro and then again by the bot macro/include again kind of situation. Things like that.
Anyhow, feedback, questions, concerns, gripes, volunteers to develop, etc. all welcome! This project is going to have lots of frustrations I'm sure but I'm enjoying the challenges at the same time! Thanks for any comments and contributions!
Rustycat
The structure would look something like this (*attached pdf for visual reference of logics flow as well):
File / Location / Function
- Questing.mac …\macros\ Launching platform
- Questing_(charactername).ini …\macros\ Maintains character defaults, quest specific status, quest specific settings/flags, and restart variables for different stages of a quest.
- Questing.inc …\macros\questing\ Include file that user adds and removes what bots to use and what quests are loaded.
- (questname).inc *ie. Ruppocsnakes.inc, agivinghand.inc, etc. …\macros\questing\ Essentially the core of the specific quest controlling movements, hails, flagging, etc details.
- (botmacros).inc*ie. Kissassist.inc, raiddruid.inc, afcleric.inc, etc. …\macros These would be the copies of your bot macro’s you wish to use and saved with the include format changing to handle the camping/killing portions of a quests or event.
The questing.mac would launch targeted on a mainassist (even if it’s yourself) and use it’s parameter to call the quest you wish to run.
Example: /mac questing ruppocsnakes
Once launched, the macro would check to see if you have an .ini file for the character you are on and if not, creates it populating default fields and ask you to go configure it with details ending the macro at that point. If the file does exist, it would call on the quest .inc by the parameter provided on launch. The quest specific inc would do it’s own checks to the .ini file to see if it has the quests specific sections exist and check values, then writing in the starting values needed or missing. Once that is all done, then all the loops for various parts of the quest would begin. Flags for parts of the quest could be tracked and passed to the characters ini with event loops (such as task such and such was updated adds 1 or whatever is being tracked at that point). The quest inc would also use checks within the event loops to flag a change or other trigger the macro reset to go on to the next phase of a quest. The reset on the macro would pull from the ini settings to know what phase of a quest it left off so it knew what to go to next.
How that process world work:
Macro starts, quest.inc tells me to go to this location and launch my bot. I get 4 task updates flagged by the event loop and says when count is 4, its time to move to the next location and do something else. Macro calls for the restart ending the bot being active. During restart it goes I have 4 of these, so now I need to run to this NPC and hail him, then run to this other location and set up camp again. Once to the next location it launches the bot again. The .ini file being outside the macro can keep track of these task update counts or whatever is required to that quest and saves it so when the macro restart for the next stage is called, it knows where to go and set up each time.
Basic idea of what’s in a Questing_(charactername).ini file:
Rich (BB code):
[Defaults]
Version=1.0
StartingX=-200
StartingY=150
CombatInclude=kissassist
CombatParam0=tank
Etc…
[ruppocquests]
Questphase=1
Etc…..
Phase1CombatInclude=kissassist
Phase1CombatParam0=pullertank
Phase1CombatInclude=kissassist
Phase1CombatParam0=tank
Etc…
Basic idea of the Questing.inc contents:
Rich (BB code):
| Bot macro/includes – add or remove the modified bot macros to includes you wish to use.
|___________________________________________________________________________
#include kissassist.inc
#include raidddruid.inc
#include afcleric.inc
| Quests includes – add or remove all quests you actively use (these should be in the questing directory)
|__________________________________________________________________________
#include \questing\ruppocsnakes.inc
#include \questing\HAahelpinghand.inc
#include \questing\HAsafepassage.inc
Sub Questing
/return
Obviously there's a lot to do and develop but once established, to set up and do quests with moving to various locations, kill stuff etc. can all be done and still be versatile to use bot's by personal preference for each character. I'm going to be taking the ruppoc snakes quest I just did and HA's "A Helping Hand" as project development tools to do using this design. Doing quest development can then be focus on the quest.inc's only as needed. Rules of development would be needed to avoid accidently variable names similar to other macro's being used as includes etc., checking if calling out the same include (wait4rez.inc,etc.) will have an adverse effects so if called by top level macro and then again by the bot macro/include again kind of situation. Things like that.
Anyhow, feedback, questions, concerns, gripes, volunteers to develop, etc. all welcome! This project is going to have lots of frustrations I'm sure but I'm enjoying the challenges at the same time! Thanks for any comments and contributions!
Rustycat

