MMOMinion

Full Version: Tutorial-FFXIVMinion v1.5 "Duty Mode"( Tasks & Directives - Profile Building Guide)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
Hi guys,

Since I am currently building/implementing most of the newer duty code I figured I am the best source of information on how to properly configure it. I will be adding the ability to build profiles to the Profile Manager soon, so hopefully this post won't be necessary for long. So, let's make this short and sweet.

Disclaimer: This is relevant mostly to the current beta bot, and some of these are subject to change since they are currently in development and undergoing testing.

Shared Directives
The semi-colon after all directives is a requirement, don't skip it.
## - numbers - Example: ["someDirective"] = 123;
"_" - a string/text - Example: ["someDirective"] = "123;124";
t/f - true or false; - Example: ["someDirective"] = true;

Profile-Level Directives
These are directives that are placed inside of the top-level obj1 table. They indicate major profile elements.
["MapID"] = ###; The mapid that the dungeon takes place on, can be pulled from Player.localmapid.
["EncounterIndex"] = 0; Used as an encounter tracker / starting spot for the duty system, it should usually look exactly like this.
["Independent"] = t/f; (Optional) If this directive is present and is true, all bots will read the profile and essentially act as their own leader, instead of the usual single-leader/multiple-follower behavior. This can be very useful if multiple bots are needed at multiple locations for some difficult fights.

Shared Directives
All/most tasks share the following directives:
["waitTime"] = ##; The numbers here represent a value in milliseconds (1000ms = 1s) for the amount of time the bot will wait at the designated area before beginning the task.
["failTime"] = ##; The numbers here represent a value in milliseconds (1000ms = 1s) for the amount of time the bot will wait after detecting an exit condition before fully exiting the task (useful if there are gaps in time where a target disappears, etc).
["taskFunction"] = "_"; This string represents the .Create() function for one of the duty specific tasks.
["startPos"] - This is a table containing another table of ["General"], which should include x,y,z,h values for the starting position for the task.
[Image: 9L5zI4D.png]
["radius"] = ##; - A number that represents the scan range of the task. If the enemy/interact/chest is not within the radius, it will not be found, so set it appropriately.

Kill Task
Description: The kill task is used to kill things.
["taskFunction"] = "ffxiv_duty_kill_task.Create";
Directives:
["bossIDs"] = "##;##;##;##"; - A semi-colon separated list of contentIDs for enemies to be killed.
["doKill"] = true/false; - If this value is false, the bot will only quickly attack one of the appropriate mobs, which is useful for pulling mobs. If this value is true, the bot will kill the enemies as normal.
["killto%"] = ##; (Optional) - If this value is added, the bot will only kill the mob(s) down to the specified health percentage (useful for bosses that have hp % based immunities like Titan.
["fightPos"] - This follows the same format as startPos, and should contain the same ["General"] table containing a valid position. This tells the bot to move to this location after aggro/combat is established with the specified mob.
["prioritize] = true/false; - If this value is true, the bot will prioritize the targeting of the mobs listed in bossIDs in the order they are listed, with the first ones being the highest prioritity.

Interact Task
Description: This task is used to open doors, pick up keys, interact with random objects. This task should move to the location of the interactid if it is found and is too far away (useful for looking for key drops).
["taskFunction"] = "ffxiv_task_interact.Create";
Directives:
["interactid"] = ##; - A number representing the uniqueid of an entity to be interacted with.

Loot Task
Description: This task is used to open treasure chests. If no chests are found, this task will automatically fail after 15 seconds.
["taskFunction"] = "ffxiv_task_loot.Create";
Directives:
["lootid"] = ##; (Optional) - A number representing the uniqueid of a chest to be looted. Minion bots will roll on the results. If this number is not present, it will pick the nearest chest (it will not move to the object if out of range, might be changed soon).
Ace, do you mind posting a sample ( dont have to be real Duty ) file when this is released ? Sounds awesome and I will def try to make a few Duty from new dungeons.
(07-18-2014, 09:57 AM)random73 Wrote: [ -> ]Ace, do you mind posting a sample ( dont have to be real Duty ) file when this is released ? Sounds awesome and I will def try to make a few Duty from new dungeons.

its the same as any duty profile thats out he is just explaining new tasks. the killto% can be put anywehre in the encounter above the xyz.
Nice, cant wait to make duty profile for all new dungeons :)
cant wait for this !!!!!!!!!
hm can we get an example of the context of all these commands? not sure how to do the interact command, is it "ffxiv_duty_interact_task.create" or "ffxiv_task_interact.create" or something else
i cant wait to see independent and killto% in action.
can we add several fight pos or something after killto%?
like
killto 60% => new fightpos
killto 40% => interact with
killto 20% => new fightpos and new target?

is a option planed to scan the whole fight for new targets?
and then switch the target?
there are encounters and priority so you can put new targets higher in priority in the boss id so that when they spawn they get killed before the boss id.
(07-20-2014, 01:37 AM)jackie1234 Wrote: [ -> ]there are encounters and priority so you can put new targets higher in priority in the boss id so that when they spawn they get killed before the boss id.

need the profil a specific Code to priorize IDs?
like
priorize=true
(07-20-2014, 10:47 AM)Shaolin2 Wrote: [ -> ]
(07-20-2014, 01:37 AM)jackie1234 Wrote: [ -> ]there are encounters and priority so you can put new targets higher in priority in the boss id so that when they spawn they get killed before the boss id.

need the profil a specific Code to priorize IDs?
like
priorize=true

nope just the order in which you list them in the boss ID field.
Pages: 1 2 3 4 5