Ok I finally got the bot to work...I reinstalled everything! haha... But after a few hours of the bot working fine, suddenly it stopped working. I tried restarting the game and the bot to no avail. This is what it says, any clue what's wrong? [09:24:25.804 D] [POI Set] Type: Wait [09:24:25.821 N] Stopping the bot. [09:24:25.821 D] CurrentBot.Stop() [09:24:25.821 D] TreeHooks.Instance.ClearAll() [09:24:25.821 D] Navigator.Clear() [09:24:25.821 D] Connection state is invalid. Cannot receive! [09:24:25.821 V] [Poi.Clear] Reason: Bot stopped [09:24:25.821 D] OnStop event [09:24:25.832 N] [Atma Hunter] Current JST time is 18 [09:24:25.832 N] [Atma Hunter] Moving to Summerford Farms Thanks in advance guys! Appreciate all the help!
Question, mastahg: could the bot be able to read logs, then be able to interpret <pos> coordinates in-game to coordinates for the bot and have it teleport to the closest atheryte in that location and run to the spot? Then maybe it could scan for the closest monster amongst a list of known Hunt Marks then engage on it when its HP is under a certain percent like boss FATEs? I was wondering since it might be a decent idea as a Hunt Bot, although it does rely on others for coordinates.
Version 151: Code: Fishbot: Drastically increased the castlockout timer after mooching. Fatebot: Fixed the issue where fate names would not update properly(Forgot to clear the per-thread cache -_-) Added setting to allow fatebot to target a single fate only by names Radar: Will now show unspoiled nodes. Orderbot: If,While,WaitTimer,WaitWhile,MoveTo,TeleportTo,LogMessage,GatherTag Tags added Here is a simple gathering profile that will teleport you to quarrymill and then mine some black alumen http://pastebin.com/raw.php?i=HKQUpeuW GatherTag Also has options for gathering from unspoiled nodes: http://pastebin.com/raw.php?i=Kr0MCj0Y This is just an example profile, it does not actually gather unspoiled nodes. To make a unspoiled node profile, you need to add HotSpots that will cover each possible spawn location for a given time. The bot will then procede to visit each hotspot and check for nodes it can mine, after completing a loop it IsTimeBetween checks current eorza time in 24hour fashion and returns true if it is within the provided range. HotSpots and Blackspots now take an new parameter XYZ which contains a comma delimited list of coordinates instead of 3 separate variables. This makes copy/pasting from Core.Target.Location/Core.Player.Location much easier For arguments and syntax of the newly added tags, please look at profiles from buddywing and winterbuddy
Woot! So excited about these orderbot changes. I'll start writing and testing gathering profiles tonight. Thanks!
Great work mastahg wanted to start playing with gathering profiles but I dont know how to get the id for maps and aetheryte. Google search didnt turn up anything
Code: foreach(var item in WorldManager.LocationKey) { Log("Id:{0} Location:{1}",item.Key,item.Value); }
Here's an interesting bug I found with the new Order Bot profiles for gathering. If you're a level 1 Miner, you have no abilities besides Prospect. However, if you leave GatheringSkillOrder empty or delete it completely from your profile, it will throw the following error: Code: [12:21:37.860 D] Connected to server at 192.99.148.87 [12:21:37.860 D] Initializing PacketManager [12:21:37.860 D] Added new hook [HotspotPoi] e684965a-01f7-42cd-bde0-5f1521ad1b72 [12:21:37.860 D] Added new hook [SetDeathPoi] 0392256e-6030-4bea-8f36-6a2f8d744146 [12:21:37.860 D] Added new hook [SetCombatPoi] 47bbb8ac-e2dd-49e3-b4e8-53a03da47609 [12:21:37.860 D] Added new hook [SetHotspotPoi] 16b507ba-4f50-4203-9595-4b3b6c820258 [12:21:37.860 D] Added new hook [SelectPoiType] 795fdf80-f88f-4f81-b910-60dbb1cf8bfb [12:21:37.860 D] Replaced hook [SelectPoiType] e99c264a-696b-4558-bbd3-1bb0846d3116 [12:21:37.889 D] Added new hook [PoiAction] 480a6c9d-90af-40c5-b2ad-dddf7986ced1 [12:21:37.889 V] [Poi.Clear] Reason: Current behavior changed to GatherTag. [12:21:37.889 D] Replaced hook [ProfileOrderBehavior_Hook] c64e6feb-52f8-4694-8c6d-0d47818ef258 [12:21:37.992 D] Poi: Type: None | GatherTag [12:21:40.096 D] [POI Set] Type: Gather [12:21:40.112 D] Targeting Mineral Deposit 0x4000018E 0xFA30EB0 [12:21:40.145 D] Interacting with Mineral Deposit 0xFA30EB0 [12:21:40.192 D] Poi: Type: Gather (Mineral Deposit) | GatherTag [12:21:40.395 D] Interacting with Mineral Deposit 0xFA30EB0 [12:21:40.962 D] System.ArgumentNullException: Value cannot be null. Parameter name: key at System.Collections.Generic.Dictionary`2.FindEntry(TKey key) at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value) at ff14bot.Helpers.MultiKeyDictionary`3.TryGetValue(L subKey, V& val) at ff14bot.Managers.Actionmanager.CanCast(String spellName, GameObject targetObject) at ff14bot.NeoProfiles.GatherTag.() at ff14bot.NeoProfiles.GatherTag.(Object ) at TreeSharp.Action.RunAction(Object context) at TreeSharp.Action.<Execute>d__0.MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.Decorator.<Execute>d__0.MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext() at TreeSharp.Composite.Tick(Object context) at ff14bot.Behavior.HookExecutor.Run(Object context) at TreeSharp.Action.RunAction(Object context) at TreeSharp.Action.<Execute>d__0.MoveNext() at TreeSharp.Composite.Tick(Object context) at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext() at TreeSharp.Composite.Tick(Object context) at ff14bot.TreeRoot.() [12:21:44.375 N] Stopping the bot. Reason:Pushed the stop button. It will also throw that error if you put skills in GatheringSkillOrder but your character doesn't know them yet. To get around this, for now I'm using the following until level 5: Code: <GatheringSkillOrder> <GatheringSkill SpellName="Prospect" TimesToCast="2" /> </GatheringSkillOrder> Without that, the bot will always crash.
Also, my notes on the new Order Bot features so far: Doesn't finish mining if the condition changes. For example, if you level up past the condition you had set for the current gather area while in the middle of mining a node, the bot will not finish mining the node, will not cancel the mining of the node, and therefore will not move onto the next gather area. It will just sit there until you either finish mining it by hand or cancel the mining operation, and then it will move on to the next grind area. Combat: Order Bot will still try to combat enemies while in a gathering class. Can we make it so that the bot doesn't try to kill enemies and just keeps on running if we are a Disciple of the Land or Disciple of the Hand? EDIT: Some more... Can we add conditionals anywhere we want? I'd like to gather one of each item available for the gathering log experience, but the following code doesn't work: Code: <ItemNames> <ItemName>Unknown</ItemName> <If Condition="ItemCount('Zinc Ore') < 1"> <ItemName>Zinc Ore</ItemName> </If> <ItemName>Tin Ore</ItemName> </ItemNames> The above code just repeatedly farms Zinc Ore, even though Tin Ore is available. On a similar subject, the "Unknown" item can't be gathered by using <ItemName>Unknown</ItemName>. Is there a way we can gather Unknown items? Making a 1-50 profile would be WAYYYY easier if we could.
Fixed in next ver. Finishing current node and no combat fixed in next ver. Not possible for the conditional due to how the system works(You could write a plugin todo this if you wanted). I'll look into unknown nodes.
Version 152: Code: Gathertag: Don't die if skill list is empty Mount up if hotspot is far away Don't attack monsters Always finish current node.
Hi mast, the gate in the North Shroud with the strip of land is inaccessible (speculated to be the Ixali Beast Tribe area) and the bot treeps trying to constantly go through it. Log is attached. View attachment 3712 2014-07-24 22.28.txt
I tried the new orderbot gathering thing, I think the <If Condition="not IsOnMap(153)"> has some problem if i start in other zone, it will teleport me to Quarrymill but after it arrive it teleport to Quarrymill again and repeat teleporting nonstop. It will be fine if I stop and start the bot on the correct map. is it the IsOnMap not updating on runtime or what?
Need a log file. Edit: Just tested the basic profile i supplied and it worked perfectly. If you made your own profile please post it as well along with the log.
whats the easiest way to get a list of if conditions? For arguments and syntax of the newly added tags, please look at profiles from buddywing and winterbuddy i found my answer sorry!