Update 25/1/14 0135 GMT
There seems to be a bug with the updater not creating the DutyProfiles folder properly. Until it gets sorted out tomorrow grab the attachment DutyProfiles.zip and extract it in your LuaMods/ffxivminion folder. It should create the directory /LuaMods/ffxivminion/DutyProfiles/ containing the two example *.info files.
Update - Duty Test Code Released
READ THIS ENTIRE POST THOROUGHLY BEFORE ASKING QUESTIONS
Settings
Duty Profile
Encounter Data
Usage
Duty mode can be used in several ways currently:
For this usage, the user will control the leader bot and the other bots in the party will simply follow the leader and attack its targets. This can be used to run duties solo, either using normal movement or teleport movement. In this mode, the profile is only used for MapID since the leader is in assist mode and thus the encounter data is irrelevant. However, you must still have a profile with the correct map id for the slave bots to function properly. The mapID tells the bots when its safe to teleport etc, so that they don't attempt to teleport to the leader outside of the Duty, so movement will not function properly if a profile containing the correct mapID is not loaded on every bot. You can create simple blank profiles with only the mapID for this purpose - see "ak_blank.info" for an example of a blank profile used for Amdapor Keep.
Full Party - Automated
For this usage, the leader is also automated and uses the encounter data in the profile to determine behavior inside of the duty. The leader will continue to queue for and complete duties forever using the current profile data. The same rule applies for selecting the proper duty to loop as for PVP - you must select the duty manually before pressing "StartStop", the bot will not automatically select it. Once you have selected it it will remain selected for future runs.
Solo Queue - Assist Leader
This usage is very experimental and not recommended for anyone who is not interested in actively testing the code while being ready to stop the bot and play manually at any time. Essentially this usage involves joining solo queue and setting another player in the duty as your leader. The bot will attempt to follow the leader and assist the leader using its skillmanager routine, just as it would in the full party scenarios above. You will obviously want to ensure that teleport is disabled. The bot will attempt to use mesh movement if a mesh is loaded, otherwise it will follow the leader using the built in follow logic of the game, which could be bad in scenarios such as leader/bot death, etc. This usage is simply a side effect of the leader/slave logic created for the full party usage, and as such should NOT be considered polished or fully functional in any way.
Considerations and Disclaimer
This code is not safety checked in any way. It is your responsibility to ensure that you don't join a solo queue duty with teleport mode enabled, create a profile with an incorrect mapID that causes your bots to teleport in the overworld, etc. There is no check in place to ensure that if one bot disconnects, the others will not continue to queue after it has timed-out the party and teleport with another live player in the party. I do not recommend running a party with a valid set of roles specifically for this reason - if your party contains all DPS then it will not be able to queue if one bot disconnects, for example. I will add a party size check in the near future to ensure that the bot stops if one or more bots drop from the party.
This is very experimental code and should not be used by anyone who is not comfortable spending time looking at a bit of lua and playing with profile parameters. Those of you who figure out how it works quickly, please help me answer questions/spread information in this thread because I forsee a lot of users asking for help and I won't have time to provide timely support for such a complex and unpolished framework. Currently the rest of the duty implementation is on hold until we've finished with AOE avoidance code as running duties using the regular movement/combat logic is not possible without dodging AOE. We will update you with our progress in that area, but do not ask for updates to the duty code related to regular (non-teleport) duty grinding because they will be ignored until AOE dodging works.
Note - The example script (wp_bosses) assumes that all party members will be using ranged combat. This is the preferred method for teleport farming as it allows the bots to farm without taking damage. Do not ask "why doesn't it work for me" if you're running 3 dragoons and a warrior.
Original Post
Greetings Minions.
Due to a mass of private messages and forum posts I've decided to release our current duty testing code as a beta to those are willing to work their way through the technical difficulties. Here is what's currently possible:
Our testers have been using the new framework for farming mobs in all dungeons for both gil and leveling exp. We have been waiting to get AOE avoidance working to send it out to everyone else for mass testing but due to popular demand I've decided to release it early so that those of you with 4+ accounts and reckless abandon can start using the teleport farm looping mode. I will warn you using the teleport hack with 4 accounts to farm mobs in a dungeon repeatedly can easily get you banned. That being said, our job is not to restrict you but to give you just enough rope to hang yourself. I will send out the beta duty version within the next 24 hours after spending some time cleaning/packaging it for general use.
As with all beta functionality, support will be minimal. We will not explain how the scripts work in detail but we will provide you with working examples to use for learning. Specifically, I will release the new code with a script to farm Wanderer's Palace bosses totally AFK - if you have 4 ranged accounts and you want to max your stones within a few hours every week, here's your chance. You can look at our example scripts to understand how to write your own.
Look for an update within the next 24 hours. I will update this post when we have pushed the new code.
There seems to be a bug with the updater not creating the DutyProfiles folder properly. Until it gets sorted out tomorrow grab the attachment DutyProfiles.zip and extract it in your LuaMods/ffxivminion folder. It should create the directory /LuaMods/ffxivminion/DutyProfiles/ containing the two example *.info files.
Update - Duty Test Code Released
READ THIS ENTIRE POST THOROUGHLY BEFORE ASKING QUESTIONS
Settings
- Profile: Select the duty profile to use
- Duty Leader: Select the leader to follow/assist
- Teleport: Select whether to use teleport or regular movement
- Enter Timer: Time (in ms) after leader confirms duty to begin running profile
- Leave Timer: Time (in ms) after leader exits duty to requeue
Duty Profile
Encounter Data
- doWait: true/false - whether to wait for a given time at this encounter position before checking for entities
- bossIDs: contentID(s) of mob to attack at this encounter - use ';' for multiple IDs
- taskFunction: task to queue for this encounter (use the default for now)
- radius: the radius (in yalm) to look for entities
- startPos: the position to aggro or spawn the entity for this encounter
- fightPos (optional): a secondary position to kill the entity from if necessary
- doKill: true/false - whether to kill the entity or just aggro it before moving to next encounter
- MapID: The mapID for the duty - this MUST be filled out for duty mode to function properly
- EncounterIndex: Ignore this for now, but make sure your profile contains the default entry
Usage
Duty mode can be used in several ways currently:
- Full Party - Assist Leader
- Full Party - Automated
- Solo Queue - Assist Leader
For this usage, the user will control the leader bot and the other bots in the party will simply follow the leader and attack its targets. This can be used to run duties solo, either using normal movement or teleport movement. In this mode, the profile is only used for MapID since the leader is in assist mode and thus the encounter data is irrelevant. However, you must still have a profile with the correct map id for the slave bots to function properly. The mapID tells the bots when its safe to teleport etc, so that they don't attempt to teleport to the leader outside of the Duty, so movement will not function properly if a profile containing the correct mapID is not loaded on every bot. You can create simple blank profiles with only the mapID for this purpose - see "ak_blank.info" for an example of a blank profile used for Amdapor Keep.
Full Party - Automated
For this usage, the leader is also automated and uses the encounter data in the profile to determine behavior inside of the duty. The leader will continue to queue for and complete duties forever using the current profile data. The same rule applies for selecting the proper duty to loop as for PVP - you must select the duty manually before pressing "StartStop", the bot will not automatically select it. Once you have selected it it will remain selected for future runs.
Solo Queue - Assist Leader
This usage is very experimental and not recommended for anyone who is not interested in actively testing the code while being ready to stop the bot and play manually at any time. Essentially this usage involves joining solo queue and setting another player in the duty as your leader. The bot will attempt to follow the leader and assist the leader using its skillmanager routine, just as it would in the full party scenarios above. You will obviously want to ensure that teleport is disabled. The bot will attempt to use mesh movement if a mesh is loaded, otherwise it will follow the leader using the built in follow logic of the game, which could be bad in scenarios such as leader/bot death, etc. This usage is simply a side effect of the leader/slave logic created for the full party usage, and as such should NOT be considered polished or fully functional in any way.
Considerations and Disclaimer
This code is not safety checked in any way. It is your responsibility to ensure that you don't join a solo queue duty with teleport mode enabled, create a profile with an incorrect mapID that causes your bots to teleport in the overworld, etc. There is no check in place to ensure that if one bot disconnects, the others will not continue to queue after it has timed-out the party and teleport with another live player in the party. I do not recommend running a party with a valid set of roles specifically for this reason - if your party contains all DPS then it will not be able to queue if one bot disconnects, for example. I will add a party size check in the near future to ensure that the bot stops if one or more bots drop from the party.
This is very experimental code and should not be used by anyone who is not comfortable spending time looking at a bit of lua and playing with profile parameters. Those of you who figure out how it works quickly, please help me answer questions/spread information in this thread because I forsee a lot of users asking for help and I won't have time to provide timely support for such a complex and unpolished framework. Currently the rest of the duty implementation is on hold until we've finished with AOE avoidance code as running duties using the regular movement/combat logic is not possible without dodging AOE. We will update you with our progress in that area, but do not ask for updates to the duty code related to regular (non-teleport) duty grinding because they will be ignored until AOE dodging works.
Note - The example script (wp_bosses) assumes that all party members will be using ranged combat. This is the preferred method for teleport farming as it allows the bots to farm without taking damage. Do not ask "why doesn't it work for me" if you're running 3 dragoons and a warrior.
Original Post
Greetings Minions.
Due to a mass of private messages and forum posts I've decided to release our current duty testing code as a beta to those are willing to work their way through the technical difficulties. Here is what's currently possible:
- Create custom scripts for any duty map with mob ids, wait time, and position for an infinite number of encounters per script
- Loop duty scripts with a full team of bots using teleport hack for movement. All bots will use your profile to teleport to/kill whatever mobs you specify.
- Run a single bot in loop solo queue as a DPS/Healer using the skill manager and regular "follow the leader" movement (this is very rough beta and should NOT be done afk)
- Customize loop timers for your network environment
Our testers have been using the new framework for farming mobs in all dungeons for both gil and leveling exp. We have been waiting to get AOE avoidance working to send it out to everyone else for mass testing but due to popular demand I've decided to release it early so that those of you with 4+ accounts and reckless abandon can start using the teleport farm looping mode. I will warn you using the teleport hack with 4 accounts to farm mobs in a dungeon repeatedly can easily get you banned. That being said, our job is not to restrict you but to give you just enough rope to hang yourself. I will send out the beta duty version within the next 24 hours after spending some time cleaning/packaging it for general use.
As with all beta functionality, support will be minimal. We will not explain how the scripts work in detail but we will provide you with working examples to use for learning. Specifically, I will release the new code with a script to farm Wanderer's Palace bosses totally AFK - if you have 4 ranged accounts and you want to max your stones within a few hours every week, here's your chance. You can look at our example scripts to understand how to write your own.
Look for an update within the next 24 hours. I will update this post when we have pushed the new code.