The Wiki for Tale 6 is in read-only mode and is available for archival and reference purposes only. Please visit the current Tale 11 Wiki in the meantime.

If you have any issues with this Wiki, please post in #wiki-editing on Discord or contact Brad in-game.

Difference between revisions of "Jimbly's Macros"

From ATITD6
Jump to navigationJump to search
 
Line 18: Line 18:
  
 
[[VeggieTales Scripting Reference]]
 
[[VeggieTales Scripting Reference]]
 +
  
 
= T5 Info =
 
= T5 Info =
Line 97: Line 98:
  
 
Same as above, but for gathering seeds, not flax.
 
Same as above, but for gathering seeds, not flax.
 +
 +
=== Gather.lua===
 +
* Not able to reliably handle movement across border changes (particularly into Hinterland regions)
  
 
=== mining_t5.lua ===
 
=== mining_t5.lua ===

Latest revision as of 11:52, 25 January 2015

All of my macros and automation are written for VeggieTales - my LUA-based automation/macro engine. I was fed up with issues with ACTool and AutoHotKey, so I did what any self-respecting engineer would do - re-invent the wheel!

NOTE: If you use VeggieTales with the ATITD window in the background, the macros will work much better if you set ATITD to High Priority Mode under Options | Interface Options | Priority

Jimbly no longer plays ATITD, and no longer writes ATITD scripts, but still maintains the VeggieTales scripting engine. The latest version adds support for syncing with TaleScripts, a much more updated set of scripts, and allows for updating scripts without reinstalling VeggieTales.

VeggieTales

Get it here: VeggieTalesInstaller.exe

Official app page: http://www.bigscreensmallgames.com/ATITD/

LUA Reference: http://www.lua.org/manual/5.1/ (Ignore the C API section)

Source code is available via public SVN (use TortoiseSVN): svn://bigscreensmallgames.com/other/VeggieTales . Commit access available to anyone who asks.

Some people have reported needing to run as administrator for these macros to work. If ATITD is set to run as Administrator because of compatibility mode flags, this would be required.

VeggieTales Scripting Reference


T5 Info

The following macros have been tested/verified good for T5 (feel free to add/modify this section):

  • flax.lua and flax_seeds.lua (now works with either Old Egypt or Green Nile seeds)
  • mining_t5.lua
  • single_click_stat_mon.lua
  • wood.lua

This is not one of my macros, but for gathering slate/grass/etc, I recommend this macro from last telling (requires AutoHotKey): Macros/Iggys/Gather

Changelog

For the latest ChangeLog, see here

  • v1.60+ - See the official ChangeLog. Added TaleScripts integration and easy semi-automatic updating.
  • v1.59 - updated "start macro" text to indicate that putting the ATITD window in focus or changing the priority mode is required. Integrated script changes from Cegaiel, KasumiGhia, Skyfeather, Mazaki: flax improvements, clay gather, CC helper, essence creation, paper press fix.
  • v1.58 - added srKeyEvent function for sending keyboard presses
  • v1.57 - changed flax_seeds to be able to rip out beds upon finishing, and also able to repeat multiple times. Added optional support for adding to a bonfire and eating carrots to wood.lua.
  • v1.56 - added Fine Glass Rods/Pipes and Glass Blades to glass macro. Fixed numpad input in text entries. Added Kasiya's barley macro.
  • v1.55 - fixed issue in 1.54 that was causing it to hang out while "refocusing" for most users
  • v1.54 - updated flax macros to be more resilient to client stalls, shouldn't skip over flax as often, got Silt macro working for T5, updated single_click_stat_mon to work at 3 different font sizes. Some people reported problems with the new version, you can grab the old flax macros here: [[1]]
  • v1.53 - updated flax macros to not care if you have "make all planted crops guild owned"
  • v1.52 - updated flax macros to work with any kind of flax (repeatedly does whatever option becomes present on the flax window), added easily configurable grid size and number of passes
  • v1.5 - First T5 release

T4 Macros

These are not tested yet on T5, but may work as is, or may need some tweaking.

Notes on Specific Macros

All of these are available by installing VeggieTales (above), this page just lists information on these macros. Feel free to edit the descriptions to be more useful as needed (e.g. if you found that you needed to tweak some value to get it to work right, add that info here!).

In general, all macros, when first started, will prompt you for some initial parameters and then ask you to put the ATITD window in focus, and then press shift (may need to hold for a moment). You can also use this for other programs (or, for instance, have Photoshop open with a bunch of screenshots to toggle between, for testing purposes).

Also, generally, a macro will cancel if it detects you are holding Ctrl+Shift, and pause with Alt+Shift (some may have slightly different behaviors, they should all indicate on-screen which keys will do what).

Terms:

  • GhostMouse - Mouse events are sent entirely without moving your cursor. This means that:
    • You can freely use your mouse cursor (the only exception being do not click and drag within ATITD, because the mouse will not release where you were expecting).
    • ATITD does not need to be in the foreground. You can have other programs/chat programs/web browser/etc active and open and in use while this macro is running.
    • You do still need to have the ATITD window visible if the macro also requires ScreenScrape (e.g. for the quarry macro, at least the pinned quarry window and your Skills window need be visible. If the macro does not require ScreenScrape, then you can have the ATITD window completely obscured and it will still work fine (e.g. wood macro after initial setup)!
    • If the macro does *not* use GhostMouse, then you must not touch your mouse cursor at all while the macro is running (though you can pause and resume, which will work for most macros).
  • ScreenScrape - Macro requires reading of the screen - make sure to keep the screen visible

Thistle Mode

Details found at Tale5/User:Jimbly/Automatic Thistles

Carrot Mode

This will plant up to 4 carrots at a time, water them, and harvest them, while refilling your water jugs from a nearby, pinned aqueduct. Currently some settings may need to be tweaked (apparently on some graphics cards the ATITD graphics render differently enough to throw off some of the image recognition), specifically the thresholds which determine whether a carrot patch has grown to the next size or not. If the program is often over-watering, observe the sizes reported for the carrots at each stage, and update config.txt appropriately. The sizes are the threshold it has to pass to be detected as the next size, so if an originally planted carrot is 75px, and when it grows it jumps up to 125px, you want the first size value set to around 100px (the middle between the two).

If the program encounters a situation it cannot resolve (it knows how to clean up after itself in some cases, like over-watering ;), it will play a sound to alert you that your intervention is required.

chem_helper.lua

Choose your Compound Type (Ra, Osiris, etc), your requirements, click Solve! Then, assemble your 5 ingredients, it shows a list of ingredients used in all recipes at the bottom, and assembles a list on the right side as you click on them to add them (each time filtering the list down to only those ingredients compatible with the ones you have already selected).

Screenshots and more explanation at Tales5/User:Jimbly/Macros/ChemHelper

flax.lua

ScreenScrape

Must have Options|One-click|Enabled hotkeys on flax disabled.

Flax macro specifically designed for planting 5x5 arrays of Old Egypt flax (requires exactly two weedings, no watering). Macro and image could be modified to handle other configurations. If you have more DEX, you can probably do 6x6 grid of flax at once (probably need 3 Dexterity).

  • 3rd Party Updates by Cegaiel
    • For those having problems with the macro getting hung up on "Refocusing windows" AND the occasional freezing during planting - View Update

flax_seeds.lua

Same as above, but for gathering seeds, not flax.

Gather.lua

  • Not able to reliably handle movement across border changes (particularly into Hinterland regions)

mining_t5.lua

Not automation, but just a solver. Enter the information about your ore stones, and it will determine all valid sets.

multi_click.lua

GhostMouse ScreenScrape

Allows clicking of any number of identical buttons anywhere on your screen. This has some preset buttons to look for (e.g. "This is" is great for clicking to refresh all pinned windows, or "unpin" to dismiss all pinned windows), but you can also define custom buttons to look for on the fly - choose "Custom", and you will see a thumbnail of what part of the image it will search for (generally the first few letters of the text on the button is fine), and then after that you can click "Last custom" to search for and click all of these buttons again.

Example usage: Open up 20 Carpentry Shop windows, pin them, make sure they don't overlap much. Click "custom" and put the mouse over "plane a piece of wood", select that (press shift as directed in the on-screen instructions), and it will plane 20 pieces of wood, then choose "ThisIs.png" to refresh all the windows, and then click "Last custom" again, and you'll plane another 20 pieces of wood. Repeat to your heart's content!

onions.lua

ScreenScrape

Grows 3x3 grids of onions, expects a fill jugs with water icon visible.

  • 3rd party Updates by User:KasumiGhia
    • modified Onion Script handles differently shaped fields, allows use away from water, other changes.

quarry.lua - Automated Quarrying!

GhostMouse ScreenScrape

Works for 2-4 people. Not all people need to be running it (though much easier if they are!). Uses the "alphabetical" method of choosing a direction to work. Testing so far shows it can easily keep a high Endurance value constantly red on all workers, yielding about 1 marble/stone removed per minute at END of 22.

You can run multiple copies of VeggieTales and multiple copies of this script on the same computer (tile your ATITD windows so they're both visible, launch two VeggieTales, start one of them at a time).

If it gets stuck, someone can manually kick it back into action by intentionally tripping the quarry (just clicking the one your client should have clicked) and it should then recover. This has only been needed once while testing.

raeli_color_mon.lua

ScreenScrape

Automatically saves a screenshot, with timestamp, every time a specified pixel changes color. When first burning a Raeli Oven, this will give you about 50-100 screenshots you can very quickly toggle through to get an accurate list of what colors are generated at what times.

sand_mine.lua

GhostMouse ScreenScrape

Repeated works a sand mine, repairs it when needed, and continues (just have enough materials for as many repairs as you want to do).

single_click_stat_mon.lua

GhostMouse ScreenScrape

Clicks a single button over and over again as long as your stats are not red (monitors all stats). You need to mouse over the specific button you wish to press when setting up this macro. Great for all sorts of repetitive tasks - limestone, digging, etc.

timer.lua

A simple timer that will play a sound every specified number of seconds (decimals are OK, e.g. 2.5 seconds)

UITest.lua

A couple examples of UI functions.

wood.lua

GhostMouse

Repeatedly harvests wood from a set of trees. Pin any number of tree windows (there are 9 Bottle Trees near the SA CS that work well), they can be anywhere on your screen, but the macro searches the screen top to bottom (but you can have multiple side by side as long as one is slightly lower than the one next to it, it will work right). These windows need to be arranged so that clicking on them in order forms a "cycle", you should be able to click on one, then the next, then the next, and you should be able to get from one tree to the next without having to move, and then back to the first again (after a minute to let the tree heal) (you may need to experiment with ordering them, since the way ATITD determines "This is too far away" is not exactly clear ;).

This should be run without a hatchet and with high perception. Hatchets do not improve the wood per tree per minute, since they increase the time it takes to regenerate, while only giving you one bonus from your perception.

Notes

2010/09/23: Almelkehdes: As someone with advanced arthritis, I can't tell you how much I appreciate your work on those macros. Thank you Thank you!

2012/07/23: Psychladel: Just a note for Nvidia users who have troubles with getting OCR to function properly. If you have adjusted your 3D settings to max Quality, Anti-Aliasing etc etc. You may need to reset your Nvidia 3D settings to default. This is how I solved my issue with the OCR not finding my clockloc.

2014/03/22: Pluribus: Just a note here. Remember, that while attended macroing is tolerated (Provided that the macros dont run faster than a human can do the same work), unattended running of macros is not. That means that if you cannot see your screen and reply to a developer or GM that you will be considered unattended macroing.