Split macro into multiple Jobs. How you manage Job will directly affect the macro's quality
A Job is just a list of Actions and Conditions that should do a specifc... job.
For example, you can make a Collect Reward job, Battle job, Quest job, etc...
By default the macro will start from the Main Job (the first job). From there you can start another Job, the current Job will be paused and the new Job will become "active".
Actions within an active Job will "react" to Condition. If a condition is true at any given moment then the action will be executed.
A job will also hold some local state including variables, actions or conditions that are scoped to that Job.
A macro with hundreds of actions can't simply be put in a single list. Job is just tool to split that list into smaller lists that are easier to manage.
A common pattern is splitting your macro into multiple small Job. Each Job will do things independently.
The main Job will decide which Job to run based on some condition (current screen or variable's value).
For example a macro that start from the home screen, go into battle, collect rewards at the end will maybe have Main Job, Home job, Battle job, Collect Rewards job.
Main Job will start Home job when it sees the Home icon, start Battle job when it sees that Attack button, start Collect Rewards job when it sees the Complete icon.
You can change the Performance setting for each Job.
For example when navigating menu there's no need for high performance so you can switch that Job to Battery Saving mode.
Then when in battle or require high speed reaction (fishing, dodging, etc...), you can switch to a High performance Job and when that job ends it'll auto return back to Battery Saving mode.
© 2024 - Macrorify by KoK-CODE