VSOH - Advanced Crafting Bot v1.1
Posted: November 21st, 2007, 6:52 pm
VERSION RELEASE 1.1 - 4-29-08
***NOTE TO NEW USERS: Check the "Troubleshooting" and "Known Issues" sections near the bottom of this post before posting in the forum any problem you are having.
Nothing particularly groundbreaking on this release, but quite a few small changes to make botting life a little better. I mainly wanted to get this out before I start working on version 2.
Version changes:
- added option for manual work order acquisition (bGetWOManually). bot will stop after completing work orders until you get them manually.
- added option for bot to perform a manually started recipe then stop after the finish action
- various data corrections
- corrected skill required for 4th remedy actions
- corrected hotkey definition for adding a catalyst during real item crafting
- added options for tell events (pause on tell, quit on tell, play sound, etc.). Functionality also provided to treat guild members or people on a "safe list" differently
- added high efficiency option for trivial recipes (uses primarily tool quality gains) to save on utilities. This has only been tested on high level crafters that have six tool1 actions and four tool2 actions, although it should work at lower levels. Report any problems you have.
- added logic to cancel and end script if you run out of resources at the start of real item recipes
- added a skill override option to manually enter skills when the skill offsets break (SkillOffsetOverride) at the bottom of acbuserdata
- changed cancel actions to /refinecancel to bypass confirmation dialog
- cleaned up some of the excessive debug logging at the lowest setting
- separated PAUSE TOGGLE (~) into separate keys PAUSE (~) and RESUME ({HOME}). It works much more effectively now.
- added option to repair gear with the utility merchant (requires new mouseclick coordinates)
- added a counter which cancels crafting if you get the out of utility message too much during one recipe. If you find this counter is too low and canceling recipes unnecessarily, let me know and I'll tweak it up. This was added to prevent an endless loop if you ran out of utilities during crafting.
- changed default mouse movement to instant (immediately goes to location, doesn't track) and added compatibilityMode in acbuserdata in case your system doesn't like it
IF YOU ARE UPGRADING FROM v1.0: Many of the settings in acbuserdata have been rearranged and regrouped. Parse through both the new file and your customized file to copy/paste where applicable and complete the rest.
Take care not to overwrite your current settings when you extract the files. Unlike before, the blank acbuserdata template is now in the main package.
----------------------------------------------------------------------------
INTRODUCTION
This bot was built upon strabomeeks crafting bot, and many thanks go out to him for making it in the first place.
Major features:
- Advanced skill-dependent crafting action logic
- Intelligent complication management
- Waypoint matrix navigation
- Utility vendor purchasing
- Work order processing
- Logic to select correct action, even with the VG bug that mixes up the order at mid to high levels
- Automatic switching between the refining and finishing taskmasters
- Automatic crafting skill balancing
- Limited Real-Item crafting
Skill autobalancing will intelligently allow your crafting skills to raise when you have points available and will lock the skill once the desired level is reached. You will be able to set your target skills in acbuserdata.vbs. The script will calculate the relative ratios of the numbers you enter then calculate the actual targets based on your level, so if you put in 3/4/5, 45/60/75 or 300/400/500, they will be treated the same.
Real item crafting will allow you to craft one particular recipe a specified number of times. Follow the instructions in its section in acbuserdata.vbs. Do not forget to specify your desired quality below; if you normally have the bot do work orders to 50% and forget to change it, you will make real items to 50% as well. Adding a catalyst (dust) is supported.
One last note about real items: sometimes they use a finishing step that is not used in work orders. In those cases, I will need the precise name of the step and the name of each action to code it in. By default, action 1 will be clicked.
SETUP
Download the zip files for ALL the files below and extract in your exhume directory. The main script you execute, AdvancedCraftingBot0.9.vbs will extract in the exhume directory while the support files will go into a subdirectory called ACBIncludes.
Start VGExtreme and load the main script as project. It should load all the support files as well.
The default crafting ui is required for this to work. DroxUI uses the default components and is confirmed to work. I haven't tested other UIs.
All user settings are in \ACBIncludes\acbuserdata.vbs Setup is more involved than strabomeeks, but not terribly painful.
SETTING UP YOUR HOTKEYS
You will need to set up your hotkeys on an empty CTRL-SHIFT bar like strabomeeks' script, but this is where most similarity ends. Your hotkeys should be set up as follows:
CTRL-SHIFT-1
/craftingselectaction 1
CTRL-SHIFT-2
/craftingselectaction 2
CTRL-SHIFT-3
/craftingselectaction 3
CTRL-SHIFT-4
/craftingselectaction 4
CTRL-SHIFT-5
/craftingselectaction 5
CTRL-SHIFT-6
/craftingselectaction 6
CTRL-SHIFT-7
/craftingselectstep 9
/craftingselectstep 8
/craftingselectstep 7
/craftingselectstep 6
/craftingselectstep 5
/craftingselectstep 4
/craftingselectstep 3
/craftingselectstep 2
/craftingselectstep 1
CTRL-SHIFT-8 - these are your REFINING utilities
/refineadditem "utility_1"
/refineadditem "utility_2"
/refineadditem "utility_3"
etc...
CTRL-SHIFT-9 - these are your FINISHING utilities
/refineadditem "utility_1"
/refineadditem "utility_2"
/refineadditem "utility_3"
etc...
CTRL-SHIFT-0
/craftingchangetoolbelt
CTRL-SHIFT-MINUS
/lootall
CTRL-SHIFT-EQUAL
/craftingaddsecondary
If you do not wish to use CTRL-SHIFT for your hotkeys, you can redefine them in acbuserdata.vbs
SETTING UP REAL-ITEM CRAFTING VARIABLES
Pretty straight-forward. The first one dictates whether or not you are making real items, the next is the recipe name (must be exact, but not case sensitive), the next the number of times to repeat, next whether or not you wish to "dust" the item, next is name of the dust, if applicable (again, must be exact but not case sensitive), then the rest are how to handle the first action.
If stage one only contains one action family to click, leave this as "1". An example would be the recipe for wooden shafts. The next three are used to click the action you want for each of the stage one actions. For wooden shafts, if you wish to make five and the "Five Wooden Shafts" action is the second action, then stageOneAction(1) should be "2"
Another example would be diamond cut garnet jewels. Since there are two stage one ations, set numberOfStageOneActions to 2, then the next two should correspond with the sequence number of the action that matches what you want, maybe 6 for diamond cut on the first action and 1 for resistance on the second.
Another variable, bSingleRecipeOnly is placed above the real item crafting section because it has an effect with work orders as well, although it's intended for real items. Setting to TRUE will cause the bot to stop after the finish action. This is useful for making items such as armor sets where every recipe is different. You can start the recipe manually, tabling utilities/resources/catalysts, click your step one actions then run the bot to finish the item to your specified grade.
SETTING UP GENERAL VARIABLES
Keep debugState as false unless you are having problems and need debug info.
Uncomment (remove the ') the myTradeskill line that contains your tradeskill.
The next two should contain the first name only of the respective taskmasters (not case sensitive)
The following two should contain the name of the respective crafting tables and may contain more than one word (not case sensitive)
maxDiff and minDiff set the level range of work orders you wish to take. See comments in the file for the values. Note the value of maxDiff must be equal to or greater than minDiff
CQ is your target quality, in percent. e.g., 75 is Grade A, 100 is max A, etc.
WOPSF and WOPSR require a little more explanation. A nonzero value will cause the work order list to scroll down the number specified x 2 work orders before attempting to select a work order. It is not necessary to have anything here, but it greatly improves the efficiency of getting new work orders by not having to click each one starting at the top of the list first.
Also note this can be used to select work orders starting at a specific level within a difficulty range. For example, white work orders cover three levels: your level, the level above and the level below. If you only wish to do your level and below, and the finishing work orders at your level start at the ninth position down from the top, you would set WOPSF = 4. (4*2 will skip the first 8 work orders)
The next variable, autoBalanceSkills tells the script whether or not you want it to do this function. If True, the next three will establish the target balance ratio. You also need to set up the mouseclick locations further down.
Next 12 are the hotkey definitions.
The last variables in this section need to contain the bag numbers where your tools are located. There is a different section for refining and finishing in case you like to keep different toolsets in different bags to minimize switching while crafting, but even if you do not do this, both sections need to be completed. Tools you don't have or don't use leave at 0
SETTING UP TELL EVENTS
The bot can be configured to perform one or more of the following if a tell is received:
- Pause the bot
- Play a sound
- End script
- Quit game
You can also set up a safe list where tells from these players will be treated differently (e.g. you don't want a guildmate asking you to join a group to cause the bot to quit the game). There is an option to include anyone from your guild as acceptable without having to enter all their names. Options for safeList tells:
- Play a sound
- Send a reply
- Do nothing
Instructions for setup are in acbuserdata.
Note that the way the chat system is set up, if a tell is displayed in multiple tabs, it will be logged in VGLogDump an equal number of times. Because of this, you need to configure sTellTabName to the EXACT name of the chat tab you want to use where it looks for tells. It is case sensitive.
SETTING UP UTILITY MERCHANT INFO
If you wish the bot to buy utilities for you, set the first variable buyUtilities to TRUE, and put in the first name of the vendor in the next.
The next 15 variables should contain the number of stacks of each utility you wish to keep on hand before the next run of three work orders. Assume worst-case scenario where you will be doing 3 batches requiring the same utilities. For all the ones you use, request 1 extra stack on top of the max you think you need as this will ensure a fresh stack is added to the table when you start crafting again rather than a partial stack.
Utilities you do not use or do not attempt to table leave at 0
After completing each set of three work orders, the bot will return to the utility merchant.
If the utility vendor has a repair option and you wish to have the bot repair your gear, set repairGear to TRUE and set the necessary mouseclick coordinates.
SETTING UP MOUSECLICK LOCATIONS
You can use global hook (linked in bashes guide Register to unlock hidden link) or whatever program you prefer.
All mouseclick locations are together in their own section of the acbinit file (with the exception of the gear repair options in the Utility Vendor section) and pretty well documented. Note it is important the mouseclick for CC_X and CC_Y be positioned at the center of the cancel button as this location is also used to determine the locations of comp action and comp remedies.
SETTING UP THE WAYPOINT ROUTE MATRICES
The waypoint matrices can be built with the attached modified version of binafus' waypoint creator. Download the "Waypoint Creator 1.1.vbs" file attached below
Load the waypoint builder as project, and load acbinit.vbs as source.
In the waypoint section of acbinit, there will be a Dim statement for each waypoint set, such as "Dim WPrefTabToRefTM(0,2)" Plug the variable name of the path you are building, in this example "WPrefTabToRefTM", into the Const Arrayname declaration of the waypoint script. (in this example, it would read: Const ArrayName = "WPrefTabToRefTM" )
Create three hotkeys in VG: one with /loc, one with /tell your_character's_name sometext and one with /tell a_nonexistent_character's_name sometext
Run the waypoint builder. It will switch to the vanguard window.
Set each waypoint by hitting your /loc hotkey. They don't have to be close together, but you must have line of sight between waypoints.
Use the hotkey sending a tell to someone who doesn't exist BEFORE a waypoint where you wish to stop and open a door.
Use the hotkey sending a tell to yourself after your last waypoint.
The script will then open a notepad file with your waypoint array. Copy and paste this into your acbinit in the section for the path you just defined.
In the Dim statement, change the first number in parenthesis to be the same as the first number in parenthesis on the LAST line of your new waypoint matrix. i.e., if your last line in the matrix starts with WPfinTabToFinTm(6,0) = ..., your dim statement should read Dim WPfinTabToFinTm(6,2)
Optionally, run the "waypoint route tester.vbs" linked below at this point to make sure your routes run correctly.
USING THE BOT
Stand in front of the table where you wish to start and start the script. The program will automatically detect whether the table is refining or finishing and performs work orders starting there. If you are not standing close enough to the table, or are not facing it so the mouseclick location hits the table, the bot will run to the taskmaster first.
Not much else... just don't forget to periodically repair your gear and open the supply kits that fill your inventory.
Do not run it overnight while you sleep or at home while you work or there is a fair likelihood you will get banned. You have been warned.
You can pause the bot with the tilde character (~) on a U.S. keyboard and stop the bot with F12. Note these actions are not always immediately responsive as there are certain times it checks for the event. (if you desire to change these, the variables are in acbinit.vbs and you will need to know the hexadecimal key code)
TROUBLESHOOTING
Character will just spin in circles when trying to move/Bot will appear to start but won't craft If after a patch, there may be changed offsets that need to be updated. If this is a new installation, you llikely need to update your files. Delete all files in your Exhume directory except UpdateVGExtreme.exe. Delete your includes subdirectory. Run UpdateVGExtreme.exe and allow it to patch your files. Reinstall your scripts and try again.
File not found error Make sure the pathname is correct to the VGLogDump.log file in your exhume directory. It must be the full qualified pathname. i.e., if you have exhume installed in your program files directory on your C drive, the logpath variable should be set to "C:\Program Files\Exhume\VGLogDump.log"
Excessive jumping around when navigating waypoints: Go to the tab containing the vgwaypointnavigation.vbs script. There will be a variable called "maxPasses" Raise this number to 10 or so until the problem goes away, OR... if your waypoint route has no chance of getting obstructed anywhere, raise the number to 1000 or so, which will all but disable the stuck logic.
Waypoint navigation won't move or won't turn properly: Movement depends on default arrangement of your keys and uses standard WASD, space for jump and NUMLOCK for autorun. If you use a configuration other than this, you have one of two options: 1) Change your controls in game to match what's listed above, or 2) change the hotkey configuration in the script. These can be found near the top of the vgwaypointnavigation.vbs file.
No complication remedies are being clicked: You probably have crafting messages turned off in your chat. Right click your chat tab, scroll down and make sure "Crafting" is checked. By default, the text is yellow, which should help you locate it
Type mismatch error in your waypoint arrays: Likely the variable names in the array do not match the variable name for the Dim statement in that section
Subscript out of range error in your waypoint arrays: The first number in the parenthesis of the Dim statement for each waypoint route should match the first number in parenthesis of the last line of the array
Bot is buying too many utilities and your inventory is filling up with them as the bot runs: In game, type the command /inventory. If the results are clipped, you likely have timestamping turned on. Right click the chat tab, and clear the checkbox for timestamp. Try the command again. If it displays all your inventory properly, this should solve the problem.
Type mismatch error where not addressed above: The most likely cause is the vgextreme offsets not reading properly. Delete all files in your exhume directory and subdirectories except updatevgextreme and your acbuserdata file, then run updatevgextreme and let it patch all your files again.
If I ask you to send me a debug: Do the following...
- Go into the directory that contains VGExtreme and delete the file debug.log.
- Open the crafting bot as project in VGExtreme.
- Click on the acbuserdata.vbs tab.
- Find the settings debugState and debugLevel
- Change these so debugState = TRUE and debugLevel = 9
- Position yourself at the crafting table in game and start the bot
- Run the bot until where the problem occurs, and give it a moment to gather data.
- Stop the bot. PM to me the newly-created debug.log
If you have any questions/problems/suggestions, post in this thread or PM me.
KNOWN ISSUES
- A couple data errors for actions which may cause the bot to hit an action that does not exist. Still seems to be one on a Cleaner step at a certain skill level, but I do not have enough information yet to fix.
- It seems like complication remedies sometimes (rarely) get out of order, but when they do, they tend to stay that way for a while. The best option may not always get chosen.
- No action data for station skills obtained past 400 skill. This includes actions 3-6 on station2 and the 6th finisher.
- Work order management will not detect the end of the work order list if you have selected "trivial" as your low limit of difficulty. This only becomes an issue if you run out of work orders
Enjoy!
***NOTE TO NEW USERS: Check the "Troubleshooting" and "Known Issues" sections near the bottom of this post before posting in the forum any problem you are having.
Nothing particularly groundbreaking on this release, but quite a few small changes to make botting life a little better. I mainly wanted to get this out before I start working on version 2.
Version changes:
- added option for manual work order acquisition (bGetWOManually). bot will stop after completing work orders until you get them manually.
- added option for bot to perform a manually started recipe then stop after the finish action
- various data corrections
- corrected skill required for 4th remedy actions
- corrected hotkey definition for adding a catalyst during real item crafting
- added options for tell events (pause on tell, quit on tell, play sound, etc.). Functionality also provided to treat guild members or people on a "safe list" differently
- added high efficiency option for trivial recipes (uses primarily tool quality gains) to save on utilities. This has only been tested on high level crafters that have six tool1 actions and four tool2 actions, although it should work at lower levels. Report any problems you have.
- added logic to cancel and end script if you run out of resources at the start of real item recipes
- added a skill override option to manually enter skills when the skill offsets break (SkillOffsetOverride) at the bottom of acbuserdata
- changed cancel actions to /refinecancel to bypass confirmation dialog
- cleaned up some of the excessive debug logging at the lowest setting
- separated PAUSE TOGGLE (~) into separate keys PAUSE (~) and RESUME ({HOME}). It works much more effectively now.
- added option to repair gear with the utility merchant (requires new mouseclick coordinates)
- added a counter which cancels crafting if you get the out of utility message too much during one recipe. If you find this counter is too low and canceling recipes unnecessarily, let me know and I'll tweak it up. This was added to prevent an endless loop if you ran out of utilities during crafting.
- changed default mouse movement to instant (immediately goes to location, doesn't track) and added compatibilityMode in acbuserdata in case your system doesn't like it
IF YOU ARE UPGRADING FROM v1.0: Many of the settings in acbuserdata have been rearranged and regrouped. Parse through both the new file and your customized file to copy/paste where applicable and complete the rest.
Take care not to overwrite your current settings when you extract the files. Unlike before, the blank acbuserdata template is now in the main package.
----------------------------------------------------------------------------
INTRODUCTION
This bot was built upon strabomeeks crafting bot, and many thanks go out to him for making it in the first place.
Major features:
- Advanced skill-dependent crafting action logic
- Intelligent complication management
- Waypoint matrix navigation
- Utility vendor purchasing
- Work order processing
- Logic to select correct action, even with the VG bug that mixes up the order at mid to high levels
- Automatic switching between the refining and finishing taskmasters
- Automatic crafting skill balancing
- Limited Real-Item crafting
Skill autobalancing will intelligently allow your crafting skills to raise when you have points available and will lock the skill once the desired level is reached. You will be able to set your target skills in acbuserdata.vbs. The script will calculate the relative ratios of the numbers you enter then calculate the actual targets based on your level, so if you put in 3/4/5, 45/60/75 or 300/400/500, they will be treated the same.
Real item crafting will allow you to craft one particular recipe a specified number of times. Follow the instructions in its section in acbuserdata.vbs. Do not forget to specify your desired quality below; if you normally have the bot do work orders to 50% and forget to change it, you will make real items to 50% as well. Adding a catalyst (dust) is supported.
One last note about real items: sometimes they use a finishing step that is not used in work orders. In those cases, I will need the precise name of the step and the name of each action to code it in. By default, action 1 will be clicked.
SETUP
Download the zip files for ALL the files below and extract in your exhume directory. The main script you execute, AdvancedCraftingBot0.9.vbs will extract in the exhume directory while the support files will go into a subdirectory called ACBIncludes.
Start VGExtreme and load the main script as project. It should load all the support files as well.
The default crafting ui is required for this to work. DroxUI uses the default components and is confirmed to work. I haven't tested other UIs.
All user settings are in \ACBIncludes\acbuserdata.vbs Setup is more involved than strabomeeks, but not terribly painful.
SETTING UP YOUR HOTKEYS
You will need to set up your hotkeys on an empty CTRL-SHIFT bar like strabomeeks' script, but this is where most similarity ends. Your hotkeys should be set up as follows:
CTRL-SHIFT-1
/craftingselectaction 1
CTRL-SHIFT-2
/craftingselectaction 2
CTRL-SHIFT-3
/craftingselectaction 3
CTRL-SHIFT-4
/craftingselectaction 4
CTRL-SHIFT-5
/craftingselectaction 5
CTRL-SHIFT-6
/craftingselectaction 6
CTRL-SHIFT-7
/craftingselectstep 9
/craftingselectstep 8
/craftingselectstep 7
/craftingselectstep 6
/craftingselectstep 5
/craftingselectstep 4
/craftingselectstep 3
/craftingselectstep 2
/craftingselectstep 1
CTRL-SHIFT-8 - these are your REFINING utilities
/refineadditem "utility_1"
/refineadditem "utility_2"
/refineadditem "utility_3"
etc...
CTRL-SHIFT-9 - these are your FINISHING utilities
/refineadditem "utility_1"
/refineadditem "utility_2"
/refineadditem "utility_3"
etc...
CTRL-SHIFT-0
/craftingchangetoolbelt
CTRL-SHIFT-MINUS
/lootall
CTRL-SHIFT-EQUAL
/craftingaddsecondary
If you do not wish to use CTRL-SHIFT for your hotkeys, you can redefine them in acbuserdata.vbs
SETTING UP REAL-ITEM CRAFTING VARIABLES
Pretty straight-forward. The first one dictates whether or not you are making real items, the next is the recipe name (must be exact, but not case sensitive), the next the number of times to repeat, next whether or not you wish to "dust" the item, next is name of the dust, if applicable (again, must be exact but not case sensitive), then the rest are how to handle the first action.
If stage one only contains one action family to click, leave this as "1". An example would be the recipe for wooden shafts. The next three are used to click the action you want for each of the stage one actions. For wooden shafts, if you wish to make five and the "Five Wooden Shafts" action is the second action, then stageOneAction(1) should be "2"
Another example would be diamond cut garnet jewels. Since there are two stage one ations, set numberOfStageOneActions to 2, then the next two should correspond with the sequence number of the action that matches what you want, maybe 6 for diamond cut on the first action and 1 for resistance on the second.
Another variable, bSingleRecipeOnly is placed above the real item crafting section because it has an effect with work orders as well, although it's intended for real items. Setting to TRUE will cause the bot to stop after the finish action. This is useful for making items such as armor sets where every recipe is different. You can start the recipe manually, tabling utilities/resources/catalysts, click your step one actions then run the bot to finish the item to your specified grade.
SETTING UP GENERAL VARIABLES
Keep debugState as false unless you are having problems and need debug info.
Uncomment (remove the ') the myTradeskill line that contains your tradeskill.
The next two should contain the first name only of the respective taskmasters (not case sensitive)
The following two should contain the name of the respective crafting tables and may contain more than one word (not case sensitive)
maxDiff and minDiff set the level range of work orders you wish to take. See comments in the file for the values. Note the value of maxDiff must be equal to or greater than minDiff
CQ is your target quality, in percent. e.g., 75 is Grade A, 100 is max A, etc.
WOPSF and WOPSR require a little more explanation. A nonzero value will cause the work order list to scroll down the number specified x 2 work orders before attempting to select a work order. It is not necessary to have anything here, but it greatly improves the efficiency of getting new work orders by not having to click each one starting at the top of the list first.
Also note this can be used to select work orders starting at a specific level within a difficulty range. For example, white work orders cover three levels: your level, the level above and the level below. If you only wish to do your level and below, and the finishing work orders at your level start at the ninth position down from the top, you would set WOPSF = 4. (4*2 will skip the first 8 work orders)
The next variable, autoBalanceSkills tells the script whether or not you want it to do this function. If True, the next three will establish the target balance ratio. You also need to set up the mouseclick locations further down.
Next 12 are the hotkey definitions.
The last variables in this section need to contain the bag numbers where your tools are located. There is a different section for refining and finishing in case you like to keep different toolsets in different bags to minimize switching while crafting, but even if you do not do this, both sections need to be completed. Tools you don't have or don't use leave at 0
SETTING UP TELL EVENTS
The bot can be configured to perform one or more of the following if a tell is received:
- Pause the bot
- Play a sound
- End script
- Quit game
You can also set up a safe list where tells from these players will be treated differently (e.g. you don't want a guildmate asking you to join a group to cause the bot to quit the game). There is an option to include anyone from your guild as acceptable without having to enter all their names. Options for safeList tells:
- Play a sound
- Send a reply
- Do nothing
Instructions for setup are in acbuserdata.
Note that the way the chat system is set up, if a tell is displayed in multiple tabs, it will be logged in VGLogDump an equal number of times. Because of this, you need to configure sTellTabName to the EXACT name of the chat tab you want to use where it looks for tells. It is case sensitive.
SETTING UP UTILITY MERCHANT INFO
If you wish the bot to buy utilities for you, set the first variable buyUtilities to TRUE, and put in the first name of the vendor in the next.
The next 15 variables should contain the number of stacks of each utility you wish to keep on hand before the next run of three work orders. Assume worst-case scenario where you will be doing 3 batches requiring the same utilities. For all the ones you use, request 1 extra stack on top of the max you think you need as this will ensure a fresh stack is added to the table when you start crafting again rather than a partial stack.
Utilities you do not use or do not attempt to table leave at 0
After completing each set of three work orders, the bot will return to the utility merchant.
If the utility vendor has a repair option and you wish to have the bot repair your gear, set repairGear to TRUE and set the necessary mouseclick coordinates.
SETTING UP MOUSECLICK LOCATIONS
You can use global hook (linked in bashes guide Register to unlock hidden link) or whatever program you prefer.
All mouseclick locations are together in their own section of the acbinit file (with the exception of the gear repair options in the Utility Vendor section) and pretty well documented. Note it is important the mouseclick for CC_X and CC_Y be positioned at the center of the cancel button as this location is also used to determine the locations of comp action and comp remedies.
SETTING UP THE WAYPOINT ROUTE MATRICES
The waypoint matrices can be built with the attached modified version of binafus' waypoint creator. Download the "Waypoint Creator 1.1.vbs" file attached below
Load the waypoint builder as project, and load acbinit.vbs as source.
In the waypoint section of acbinit, there will be a Dim statement for each waypoint set, such as "Dim WPrefTabToRefTM(0,2)" Plug the variable name of the path you are building, in this example "WPrefTabToRefTM", into the Const Arrayname declaration of the waypoint script. (in this example, it would read: Const ArrayName = "WPrefTabToRefTM" )
Create three hotkeys in VG: one with /loc, one with /tell your_character's_name sometext and one with /tell a_nonexistent_character's_name sometext
Run the waypoint builder. It will switch to the vanguard window.
Set each waypoint by hitting your /loc hotkey. They don't have to be close together, but you must have line of sight between waypoints.
Use the hotkey sending a tell to someone who doesn't exist BEFORE a waypoint where you wish to stop and open a door.
Use the hotkey sending a tell to yourself after your last waypoint.
The script will then open a notepad file with your waypoint array. Copy and paste this into your acbinit in the section for the path you just defined.
In the Dim statement, change the first number in parenthesis to be the same as the first number in parenthesis on the LAST line of your new waypoint matrix. i.e., if your last line in the matrix starts with WPfinTabToFinTm(6,0) = ..., your dim statement should read Dim WPfinTabToFinTm(6,2)
Optionally, run the "waypoint route tester.vbs" linked below at this point to make sure your routes run correctly.
USING THE BOT
Stand in front of the table where you wish to start and start the script. The program will automatically detect whether the table is refining or finishing and performs work orders starting there. If you are not standing close enough to the table, or are not facing it so the mouseclick location hits the table, the bot will run to the taskmaster first.
Not much else... just don't forget to periodically repair your gear and open the supply kits that fill your inventory.
Do not run it overnight while you sleep or at home while you work or there is a fair likelihood you will get banned. You have been warned.
You can pause the bot with the tilde character (~) on a U.S. keyboard and stop the bot with F12. Note these actions are not always immediately responsive as there are certain times it checks for the event. (if you desire to change these, the variables are in acbinit.vbs and you will need to know the hexadecimal key code)
TROUBLESHOOTING
Character will just spin in circles when trying to move/Bot will appear to start but won't craft If after a patch, there may be changed offsets that need to be updated. If this is a new installation, you llikely need to update your files. Delete all files in your Exhume directory except UpdateVGExtreme.exe. Delete your includes subdirectory. Run UpdateVGExtreme.exe and allow it to patch your files. Reinstall your scripts and try again.
File not found error Make sure the pathname is correct to the VGLogDump.log file in your exhume directory. It must be the full qualified pathname. i.e., if you have exhume installed in your program files directory on your C drive, the logpath variable should be set to "C:\Program Files\Exhume\VGLogDump.log"
Excessive jumping around when navigating waypoints: Go to the tab containing the vgwaypointnavigation.vbs script. There will be a variable called "maxPasses" Raise this number to 10 or so until the problem goes away, OR... if your waypoint route has no chance of getting obstructed anywhere, raise the number to 1000 or so, which will all but disable the stuck logic.
Waypoint navigation won't move or won't turn properly: Movement depends on default arrangement of your keys and uses standard WASD, space for jump and NUMLOCK for autorun. If you use a configuration other than this, you have one of two options: 1) Change your controls in game to match what's listed above, or 2) change the hotkey configuration in the script. These can be found near the top of the vgwaypointnavigation.vbs file.
No complication remedies are being clicked: You probably have crafting messages turned off in your chat. Right click your chat tab, scroll down and make sure "Crafting" is checked. By default, the text is yellow, which should help you locate it
Type mismatch error in your waypoint arrays: Likely the variable names in the array do not match the variable name for the Dim statement in that section
Subscript out of range error in your waypoint arrays: The first number in the parenthesis of the Dim statement for each waypoint route should match the first number in parenthesis of the last line of the array
Bot is buying too many utilities and your inventory is filling up with them as the bot runs: In game, type the command /inventory. If the results are clipped, you likely have timestamping turned on. Right click the chat tab, and clear the checkbox for timestamp. Try the command again. If it displays all your inventory properly, this should solve the problem.
Type mismatch error where not addressed above: The most likely cause is the vgextreme offsets not reading properly. Delete all files in your exhume directory and subdirectories except updatevgextreme and your acbuserdata file, then run updatevgextreme and let it patch all your files again.
If I ask you to send me a debug: Do the following...
- Go into the directory that contains VGExtreme and delete the file debug.log.
- Open the crafting bot as project in VGExtreme.
- Click on the acbuserdata.vbs tab.
- Find the settings debugState and debugLevel
- Change these so debugState = TRUE and debugLevel = 9
- Position yourself at the crafting table in game and start the bot
- Run the bot until where the problem occurs, and give it a moment to gather data.
- Stop the bot. PM to me the newly-created debug.log
If you have any questions/problems/suggestions, post in this thread or PM me.
KNOWN ISSUES
- A couple data errors for actions which may cause the bot to hit an action that does not exist. Still seems to be one on a Cleaner step at a certain skill level, but I do not have enough information yet to fix.
- It seems like complication remedies sometimes (rarely) get out of order, but when they do, they tend to stay that way for a while. The best option may not always get chosen.
- No action data for station skills obtained past 400 skill. This includes actions 3-6 on station2 and the 6th finisher.
- Work order management will not detect the end of the work order list if you have selected "trivial" as your low limit of difficulty. This only becomes an issue if you run out of work orders
Enjoy!