What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

[Plugin] AdvancedItemFilter RELOADED !

Status
Not open for further replies.
For some reason currency tracker doubles (sometimes even triples) income around 80% of time.
For example, actual drop is: 1+2+3+4+5, counted like: 2+2+9+4+10.
It happens with all possible orbs.
 
I have an issue with the Chaos recipe where the bot will get stuck in an infinite loop. I have quality enabled.

Here is how it happens:
  1. The bot removes the full chaos set from my stash and puts it in my inventory.
  2. The bot initiates the [RecipeQualityTask] but somehow gives up shortly after starting it.
  3. The bot tries to remove another full chaos set from my stash and puts it in my inventory.
  4. The bot finds and that the second Chaos set he just tried to remove from my stash is incomplete.
  5. The bot aborts the recipes and puts everything back in my stash
  6. Back to step 1.
At this point, if I close and reopen ExileBuddy, the bot will be able to execute the chaos recipe without problem.
If I only Stop and Start the bot, the problem will persist.

I believe that this issue only happens if my bot has already sold a quality Chaos set during it's run, but I'm not 100% certain.

Here's what i find odd in the logs :
Code:
[COLOR="#008000"](step 1 normal removing of chaos set)
...
[FastMoveToStash] Fast moving Assassin's Mitts from Tab[C] to Inventory 
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Goliath Greaves from Tab[C] to Inventory 
[FastMoveFromStash] Waiting for fast move.
[RecipeWithdrawTask] Withdrawing has completed.
[RecipeWithdrawTask] Now resetting task state.[/COLOR]
[COLOR="#FF0000"](Starting RecipeQualityTask)
[RecipeQualityTask] Adding Item Sniper Bow Location {1, 0}
[RecipeQualityTask] Adding Item Assassin's Mitts Location {5, 0}
[RecipeQualityTask] Adding Item Goliath Greaves Location {5, 2}
[RecipeQualityTask] Adding Item Carnal Armour Location {3, 2}
[RecipeQualityTask] Adding Item Callous Mask Location {3, 0}
[B](Odd ending to RecipeQualityTask, the bot does not report errors, but did not succeed in adding quality to my items.)[/B][/COLOR]
[COLOR="#FF8C00"](Trying to remove another chaos set)
[LatencyTracker] AverageLatency: 32
[FastMoveToStash] Fast moving Studded Belt from Tab[C] to Inventory 
[FastMoveFromStash] Waiting for fast move.
[LatencyTracker] HighestLatency: 36
[FastMoveToStash] Fast moving Moonstone Ring from Tab[C] to Inventory 
[FastMoveFromStash] Waiting for fast move.
...[/COLOR]

My hypothesis so far is that the [RecipeQualityTask] ended abruptly because we overestimated the amount of Scraps and Stones we have in our stash.

I looked in the code at where the amount of Scraps and Stones is updated and i think i found a possible error.
I think that the amount of Scraps the plugin thinks we have can get out of sync we the real amount of Scraps we have in such a scenario:
  1. I have an item with 0 quality that need to get to q20.
  2. The bot finds the first stack of Armourer's Scrap that I have in my stash, which happens to contains 17 Scraps.
  3. The bot uses the 17 scraps on the item.
  4. The quality of the item is not 20 so the ArmourerScrapsCountInStash is not updated.
  5. The loops start back and we find the same item which now has 17 quality.
  6. clicksNeeded is set to 3.
  7. The bot finds the first stack of Armourer's Scrap that I have in my stash, which happens to contains 40 Scraps.
  8. The bot uses the 3 scraps on the item.
  9. The quality of the item is 20 and ArmourerScrapsCountInStash is reduced by 3 (Should be 20).

Code:
while (true)
                {
                    unidItems = new Queue<Vector2i>();
                    Inventory.MainInventory.Items.Where(recipeCondition).Select(i => i.LocationTopLeft).ForEach(unidItems.Enqueue);

                    if (!unidItems.Any())
                        break;

                    var itemLocationToProcess = unidItems.FirstOrDefault();
                    var itemToProcess = Inventory.MainInventory.GetItemAtLocation(itemLocationToProcess.X, itemLocationToProcess.Y);
                    var initialBaseAddress = itemToProcess.BaseAddress;
                    [COLOR="#FF0000"]int clicksNeeded = 20 - itemToProcess.Quality;[/COLOR]
                    int minRnd = clicksNeeded + 1;
                    int maxRnd = clicksNeeded + 2;

                    var scrapsInTab = Stash.CurrentTabInventory.Items.Where(s => s.FullName == "Armourer's Scrap").OrderBy(items => items.LocationTopLeft.X).ThenBy(items => items.LocationTopLeft.Y).ToList();
                    var stonesInTab = Stash.CurrentTabInventory.Items.Where(s => s.FullName == "Blacksmith's Whetstone").OrderBy(items => items.LocationTopLeft.X).ThenBy(items => items.LocationTopLeft.Y).ToList();

                    if (itemToProcess.IsTwoHandWeaponType)
                    {
                        if (!stonesInTab.Any()) break;
                        LokiPoe.InGameState.StashPanel.UseItemOnItemInMainInventory([COLOR="#FF0000"]stonesInTab.First()[/COLOR], itemToProcess, LokiPoe.Random.Next(minRnd, maxRnd));
                    }

                    if (!itemToProcess.IsTwoHandWeaponType)
                    {
                        if (!scrapsInTab.Any()) break;
                        LokiPoe.InGameState.StashPanel.UseItemOnItemInMainInventory(scrapsInTab.First(), itemToProcess, LokiPoe.Random.Next(minRnd, maxRnd));
                    }

                    if (await GenericTasks.WaitForInventoryLag(itemLocationToProcess, initialBaseAddress))
                    {
                        itemToProcess = Inventory.MainInventory.GetItemAtLocation(itemLocationToProcess.X, itemLocationToProcess.Y);
                        [COLOR="#FF0000"]if (itemToProcess.Quality == 20)[/COLOR]
                        {
                            if (itemToProcess.IsTwoHandWeaponType)
                                [COLOR="#FF0000"]Main.AdvSettings.BlackSmithStonesCountInStash -= clicksNeeded;[/COLOR]
                            if (!itemToProcess.IsTwoHandWeaponType)
                                Main.AdvSettings.ArmourerScrapsCountInStash -= clicksNeeded;

                            unidItems.Dequeue();
                        }
                    }
                    else
                    {
                        Main.Log.ErrorFormat("[{0}] There was an error retrieving item after trying to +20Q% it, maybe lag or some shit, Retry #{1}", Name, count);
                        count++;
                        if (count == 5)
                        {
                            Main.Log.ErrorFormat("[{0}] There was an error retrieving item after trying to +20Q% it, maybe lag or some shit, Retry #{1}, aborting.", Name, count);
                            return false;
                        }
                        continue;
                    }

                    await Coroutine.Sleep(50);
                }

I'm not too familiar with the way your plugin and the bot works so my hypothesis may be wrong.

I would like your help.

Thanks.
 
@toNyx: is there already a solution to pick up rare items only if they are needed for recipe?

NO ID'ing, just increase the minimum amount of items for chaos recipe a bit. and then let the bot collect 2 or 3 sets, leave everything else on the ground.

i you want to get paid for this feature let me know :rolleyes:
 
Last edited:
I'm having trouble stashing items in tabs > 10. anyone else having this issue?
check if there is no typos,
either with the item you wanna stash or the tab you wanna use.

I have an issue with the Chaos recipe where the bot will get stuck in an infinite loop. I have quality enabled.

Here is how it happens:
  1. The bot removes the full chaos set from my stash and puts it in my inventory.
  2. The bot initiates the [RecipeQualityTask] but somehow gives up shortly after starting it.
  3. The bot tries to remove another full chaos set from my stash and puts it in my inventory.
  4. The bot finds and that the second Chaos set he just tried to remove from my stash is incomplete.
  5. The bot aborts the recipes and puts everything back in my stash
  6. Back to step 1.
At this point, if I close and reopen ExileBuddy, the bot will be able to execute the chaos recipe without problem.
If I only Stop and Start the bot, the problem will persist.

I believe that this issue only happens if my bot has already sold a quality Chaos set during it's run, but I'm not 100% certain.

Here's what i find odd in the logs :
Code:
[COLOR="#008000"](step 1 normal removing of chaos set)
...
[FastMoveToStash] Fast moving Assassin's Mitts from Tab[C] to Inventory 
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Goliath Greaves from Tab[C] to Inventory 
[FastMoveFromStash] Waiting for fast move.
[RecipeWithdrawTask] Withdrawing has completed.
[RecipeWithdrawTask] Now resetting task state.[/COLOR]
[COLOR="#FF0000"](Starting RecipeQualityTask)
[RecipeQualityTask] Adding Item Sniper Bow Location {1, 0}
[RecipeQualityTask] Adding Item Assassin's Mitts Location {5, 0}
[RecipeQualityTask] Adding Item Goliath Greaves Location {5, 2}
[RecipeQualityTask] Adding Item Carnal Armour Location {3, 2}
[RecipeQualityTask] Adding Item Callous Mask Location {3, 0}
[B](Odd ending to RecipeQualityTask, the bot does not report errors, but did not succeed in adding quality to my items.)[/B][/COLOR]
[COLOR="#FF8C00"](Trying to remove another chaos set)
[LatencyTracker] AverageLatency: 32
[FastMoveToStash] Fast moving Studded Belt from Tab[C] to Inventory 
[FastMoveFromStash] Waiting for fast move.
[LatencyTracker] HighestLatency: 36
[FastMoveToStash] Fast moving Moonstone Ring from Tab[C] to Inventory 
[FastMoveFromStash] Waiting for fast move.
...[/COLOR]

My hypothesis so far is that the [RecipeQualityTask] ended abruptly because we overestimated the amount of Scraps and Stones we have in our stash.

I looked in the code at where the amount of Scraps and Stones is updated and i think i found a possible error.
I think that the amount of Scraps the plugin thinks we have can get out of sync we the real amount of Scraps we have in such a scenario:
  1. I have an item with 0 quality that need to get to q20.
  2. The bot finds the first stack of Armourer's Scrap that I have in my stash, which happens to contains 17 Scraps.
  3. The bot uses the 17 scraps on the item.
  4. The quality of the item is not 20 so the ArmourerScrapsCountInStash is not updated.
  5. The loops start back and we find the same item which now has 17 quality.
  6. clicksNeeded is set to 3.
  7. The bot finds the first stack of Armourer's Scrap that I have in my stash, which happens to contains 40 Scraps.
  8. The bot uses the 3 scraps on the item.
  9. The quality of the item is 20 and ArmourerScrapsCountInStash is reduced by 3 (Should be 20).

Code:
while (true)
                {
                    unidItems = new Queue<Vector2i>();
                    Inventory.MainInventory.Items.Where(recipeCondition).Select(i => i.LocationTopLeft).ForEach(unidItems.Enqueue);

                    if (!unidItems.Any())
                        break;

                    var itemLocationToProcess = unidItems.FirstOrDefault();
                    var itemToProcess = Inventory.MainInventory.GetItemAtLocation(itemLocationToProcess.X, itemLocationToProcess.Y);
                    var initialBaseAddress = itemToProcess.BaseAddress;
                    [COLOR="#FF0000"]int clicksNeeded = 20 - itemToProcess.Quality;[/COLOR]
                    int minRnd = clicksNeeded + 1;
                    int maxRnd = clicksNeeded + 2;

                    var scrapsInTab = Stash.CurrentTabInventory.Items.Where(s => s.FullName == "Armourer's Scrap").OrderBy(items => items.LocationTopLeft.X).ThenBy(items => items.LocationTopLeft.Y).ToList();
                    var stonesInTab = Stash.CurrentTabInventory.Items.Where(s => s.FullName == "Blacksmith's Whetstone").OrderBy(items => items.LocationTopLeft.X).ThenBy(items => items.LocationTopLeft.Y).ToList();

                    if (itemToProcess.IsTwoHandWeaponType)
                    {
                        if (!stonesInTab.Any()) break;
                        LokiPoe.InGameState.StashPanel.UseItemOnItemInMainInventory([COLOR="#FF0000"]stonesInTab.First()[/COLOR], itemToProcess, LokiPoe.Random.Next(minRnd, maxRnd));
                    }

                    if (!itemToProcess.IsTwoHandWeaponType)
                    {
                        if (!scrapsInTab.Any()) break;
                        LokiPoe.InGameState.StashPanel.UseItemOnItemInMainInventory(scrapsInTab.First(), itemToProcess, LokiPoe.Random.Next(minRnd, maxRnd));
                    }

                    if (await GenericTasks.WaitForInventoryLag(itemLocationToProcess, initialBaseAddress))
                    {
                        itemToProcess = Inventory.MainInventory.GetItemAtLocation(itemLocationToProcess.X, itemLocationToProcess.Y);
                        [COLOR="#FF0000"]if (itemToProcess.Quality == 20)[/COLOR]
                        {
                            if (itemToProcess.IsTwoHandWeaponType)
                                [COLOR="#FF0000"]Main.AdvSettings.BlackSmithStonesCountInStash -= clicksNeeded;[/COLOR]
                            if (!itemToProcess.IsTwoHandWeaponType)
                                Main.AdvSettings.ArmourerScrapsCountInStash -= clicksNeeded;

                            unidItems.Dequeue();
                        }
                    }
                    else
                    {
                        Main.Log.ErrorFormat("[{0}] There was an error retrieving item after trying to +20Q% it, maybe lag or some shit, Retry #{1}", Name, count);
                        count++;
                        if (count == 5)
                        {
                            Main.Log.ErrorFormat("[{0}] There was an error retrieving item after trying to +20Q% it, maybe lag or some shit, Retry #{1}, aborting.", Name, count);
                            return false;
                        }
                        continue;
                    }

                    await Coroutine.Sleep(50);
                }

I'm not too familiar with the way your plugin and the bot works so my hypothesis may be wrong.

I would like your help.

Thanks.

I do have the same problem from time to time ;/
 
i also have this loop (very rarely)
but with 2 chaos recipe.

Items in stash, bot switching tabs endless...

might occur more often when i stop the bot, move items around, restart...

can add log if it happens next time.
 
Do I have to disable the default static item filter for this to work? Because right now, it is stashing all the rares. Instead of just 1 of each type for the chaos recipe.
One thing that seems to work is that it doesn't ID them (as I checked that option)

EDIT : Oh nvm, my itemfiltereditor didn't have "sell both unid and id'd rares/items :P
 
Last edited:
I was getting a big loop of this

[CustomRules][Keep] item.IsCurrency returned true for Orb of Scouring[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Orb of Chance
[CustomRules][Keep] item.IsCurrency returned true for Orb of Alteration
[CustomRules][Keep] item.IsCurrency returned true for Alteration Shard
[CustomRules][Keep] item.IsCurrency returned true for Scroll of Wisdom
[CustomRules][Keep] item.IsMap returned true for Demon Pit
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[CustomRules][Keep] item.IsCurrency returned true for Scroll Fragment
[CustomRules][Keep] item.IsCurrency returned true for Armourer's Scrap
[CustomRules][Keep] item.IsCurrency returned true for Orb of Augmentation
[CustomRules][Keep] item.IsCurrency returned true for Transmutation Shard
[CustomRules][Keep] item.IsMap returned true for Ghetto Map of Venom
[CustomRules][Keep] item.IsCurrency returned true for Orb of Augmentation
[Tick] Exception during execution:Buddy.Coroutines.CoroutineUnhandledException: Exception was thrown by coroutine ---> System.MissingMemberException: 'EvaluableItem' object has no attribute 'item'
em Microsoft.Scripting.Runtime.LightExceptions.CheckAndThrow(Object value)
em System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
em Microsoft.Scripting.Interpreter.DynamicInstruction`4.Run(InterpretedFrame frame)
em Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
em Microsoft.Scripting.Interpreter.LightLambda.Run1[T0,TRet](T0 arg0)
em IronPython.Compiler.PythonCallTargets.OriginalCallTarget0(PythonFunction function)
em System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
em _Scripting_(Object[] )
em AdvancedItemFilter.Python.ConditionParserPython.EvaluateCondition(Item i, String cond, RuleType type, Boolean onlyEvaluating) em g:\Armazenamento\Funny Tools\POE\banans dois teste\Plugins\AdvancedItemFilter\Python\ConditionParserPython.cs:line 74
em AdvancedItemFilter.MyItemEvaluator.Match(Item item, EvaluationType type, IItemFilter& filter) em g:\Armazenamento\Funny Tools\POE\banans dois teste\Plugins\AdvancedItemFilter\MyItemEvaluator.cs:line 1034
em Loki.Bot.ItemEvaluator.Match(Item item, EvaluationType type, IItemFilter& filter)
em Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.‎‫​​‎‪**‎‫‫‎‎*‫*​‏‬‫*‎​**‫‪‪​‬*(Item , Object )
em Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.*‪‎**‪‎‫‬‪**‎*****‬*‫***(Item )
em System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
em Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.‎‏*‬‫‫‫**​‪​​‎‎​***‎‬‎​‎‪*()
em Loki.Bot.Logic.Bots.OldGrindBot.SellTask.\[k$mG0<9Z?u\. "2_Dkg3SQHD!.MoveNext()
--- Fim do rastreio da pilha da localização anterior em que a excepção foi emitida ---
em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em Loki.Bot.TaskManager.J b8'l4cK"m7?\\a!T?oY\&~ d".MoveNext()
--- Fim do rastreio da pilha da localização anterior em que a excepção foi emitida ---
em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
em Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.z!"n604W8\\!l3N$'T U"0/-9/.MoveNext()
--- Fim do rastreio da pilha da localização anterior em que a excepção foi emitida ---
em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em Buddy.Coroutines.Coroutine.a\\-b_}mmvvm7GpZ7p?Ub{5h8".S:VNxV#%^YfV%Q\['yvC//<Oc!.MoveNext()
--- Fim do rastreio da pilha de excepção interna ---
em Buddy.Coroutines.Coroutine.‎‫*‬‎**‎*‏‪*​‎*‎*‫‎‪‬‏****​*(Boolean )
em Buddy.Coroutines.Coroutine.‫​**‪‪‏‪​*​‫*‏‫​*‏‪‎‬*(Boolean )
em Buddy.Coroutines.Coroutine.Resume()
em Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.Tick()
em Loki.Bot.BotManager.​*‏*‫‎​‎‏‫*‫**​*‏‬*‫​‫*(IBot )


[CustomRules][Keep] item.IsCurrency returned true for Orb of Scouring
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Orb of Chance
[CustomRules][Keep] item.IsCurrency returned true for Orb of Alteration
[CustomRules][Keep] item.IsCurrency returned true for Alteration Shard
[CustomRules][Keep] item.IsCurrency returned true for Scroll of Wisdom
[CustomRules][Keep] item.IsMap returned true for Demon Pit
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[CustomRules][Keep] item.IsCurrency returned true for Scroll Fragment
[CustomRules][Keep] item.IsCurrency returned true for Armourer's Scrap
[CustomRules][Keep] item.IsCurrency returned true for Orb of Augmentation
[CustomRules][Keep] item.IsCurrency returned true for Transmutation Shard
[CustomRules][Keep] item.IsMap returned true for Ghetto Map of Venom
[CustomRules][Keep] item.IsCurrency returned true for Orb of Augmentation
[Tick] Exception during execution:Buddy.Coroutines.CoroutineUnhandledException: Exception was thrown by coroutine ---> System.MissingMemberException: 'EvaluableItem' object has no attribute 'item'
em Microsoft.Scripting.Runtime.LightExceptions.CheckAndThrow(Object value)
em System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
em Microsoft.Scripting.Interpreter.DynamicInstruction`4.Run(InterpretedFrame frame)
em Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
em Microsoft.Scripting.Interpreter.LightLambda.Run1[T0,TRet](T0 arg0)
em IronPython.Compiler.PythonCallTargets.OriginalCallTarget0(PythonFunction function)
em System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
em _Scripting_(Object[] )
em AdvancedItemFilter.Python.ConditionParserPython.EvaluateCondition(Item i, String cond, RuleType type, Boolean onlyEvaluating) em g:\Armazenamento\Funny Tools\POE\banans dois teste\Plugins\AdvancedItemFilter\Python\ConditionParserPython.cs:line 74
em AdvancedItemFilter.MyItemEvaluator.Match(Item item, EvaluationType type, IItemFilter& filter) em g:\Armazenamento\Funny Tools\POE\banans dois teste\Plugins\AdvancedItemFilter\MyItemEvaluator.cs:line 1034
em Loki.Bot.ItemEvaluator.Match(Item item, EvaluationType type, IItemFilter& filter)
em Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.‎‫​​‎‪**‎‫‫‎‎*‫*​‏‬‫*‎​**‫‪‪​‬*(Item , Object )
em Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.*‪‎**‪‎‫‬‪**‎*****‬*‫***(Item )
em System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
em Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.‎‏*‬‫‫‫**​‪​​‎‎​***‎‬‎​‎‪*()
em Loki.Bot.Logic.Bots.OldGrindBot.SellTask.\[k$mG0<9Z?u\. "2_Dkg3SQHD!.MoveNext()
--- Fim do rastreio da pilha da localização anterior em que a excepção foi emitida ---
em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em Loki.Bot.TaskManager.J b8'l4cK"m7?\\a!T?oY\&~ d".MoveNext()
--- Fim do rastreio da pilha da localização anterior em que a excepção foi emitida ---
em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
em Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.z!"n604W8\\!l3N$'T U"0/-9/.MoveNext()
--- Fim do rastreio da pilha da localização anterior em que a excepção foi emitida ---
em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em Buddy.Coroutines.Coroutine.a\\-b_}mmvvm7GpZ7p?Ub{5h8".S:VNxV#%^YfV%Q\['yvC//<Oc!.MoveNext()
--- Fim do rastreio da pilha de excepção interna ---
em Buddy.Coroutines.Coroutine.‎‫*‬‎**‎*‏‪*​‎*‎*‫‎‪‬‏****​*(Boolean )
em Buddy.Coroutines.Coroutine.‫​**‪‪‏‪​*​‫*‏‫​*‏‪‎‬*(Boolean )
em Buddy.Coroutines.Coroutine.Resume()
em Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.Tick()
em Loki.Bot.BotManager.​*‏*‫‎​‎‏‫*‫**​*‏‬*‫​‫*(IBot )


I've read somewhere in this post that I was supposed to remove item item what does that mean?
 
I believe one of your rules looks like item.item.Is<something> instead of just item.Is<something>


EDIT: From a few pages back:

That was my first thought but I went through them manually and found nothing wrong but I didnt ctrl f the file itself maybe I missed it.

EDIT : Didn't find it manually cuz it was a really extense one. Fixed it :) thanks.
 
Already suggested this but it would be cool if AIF did the Chisel Recipe with Hammers, all it needs to do is to quality up hammers (at max use 4 whetstones) and vendor them with a map.
 
[RecipeQualityTask] Failed to switch to the tab: 16, trying again.
[RecipeQualityTask] Failed to switch to the tab: 16 after 5 attempts, stopping bot

I get this from time to time. It goes through tabs 1-15 and then has issues with 16. Tried moving tabs around so 16 is not there. Tried blacklisting tab 16. Still happens and stops the bot :(

Any advice? I found the post earlier but no solution offered.

Here's a full snippet of the log section relevant to this, hope it helps?

[RecipeWithdrawTask] Now resetting task state.
[RecipeQualityTask] Now resetting task state.
[RecipeSellTask] Now resetting task state.
[HandleBlockingChestsTask] Now resetting task state.
[HandleDoorsTask] Now resetting task state.
[SellTask] Now resetting task state.
[GCPRecipeTask] Now resetting task state.
[WithdrawTask] Now resetting task state.
[ChaosSet] Helms: [ 1 ] (Max)
[ChaosSet] Body: [ 1 ] (Max)
[ChaosSet] Gloves: [ 1 ] (Max)
[ChaosSet] Boots: [ 1 ] (Max)
[ChaosSet] Belts: [ 7 ]
[ChaosSet] Two Hand Weapons: [ 3 ]
[ChaosSet] Rings: [ 1 ]
[ChaosSet] Amulets: [ 9 ]
[ChaosSet] Is Ready For Selling = False
[SignalRecipeExecutionTask][DEBUG] Do we have a Chaos set to sell ? False
[HandleDeshretSpirit] Now resetting task state.
[HandleAllFlame] Now resetting task state.
[GemLeveler] Now resetting task state.
[HandleAllFlame] We don't have the necessary Allflame to give to Fairgraves.
[OpenInventoryPanel]
[OpenInventoryPanel] The InventoryPanel is not opened. Now opening it.
[BlackListFromIdentification] Gold Ring [TL: {0, 0}] has been Blacklisted from identification.
Added Ring to CHAOS set (2/20)
[IdentifyItemsTask] Gold Ring is protected from identification, passing by...
[LatencyTracker] HighestLatency: 15
[IdentifyItemsTask] The item been identified successfully
[CloseBlockingWindows] LokiPoe.Gui.IsLeftPanelShown || LokiPoe.Gui.IsRightPanelShown. Closing them.
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[CustomRules][Sell] item.IsRare returned true for Honour Razor
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[CustomRules][Sell] item.IsRare returned true for Honour Razor
[SellItemsCoroutine] The Npc sell window is not open. Now moving to a vendor to open it.
[MoveToLocation] Now moving towards {152, 178}. We have been performing this task for 00:00:00.1841276.
[FinishCurrentAction] Waiting 0 for the action to finish Move.
[FinishCurrentAction] Waiting 32 for the action to finish Move.
[FinishCurrentAction] Waiting 33 for the action to finish Move.
[FinishCurrentAction] Waiting 49 for the action to finish Move.
[FinishCurrentAction] Waiting 32 for the action to finish Move.
[LatencyTracker] HighestLatency: 16
[FinishCurrentAction] Waiting 50 for the action to finish Move.
[FinishCurrentAction] Waiting 31 for the action to finish Move.
[InteractWith] Now attempting to highlight 10.
[InteractWith] Now attempting to interact with 10.
[WaitForNpcDialogPanel]
[WaitForNpcDialogPanel] We have been waiting 00:00:00.0000281 for the npc dialog panel to open.
[LatencyTracker] HighestLatency: 32
[LatencyTracker] AverageLatency: 17
[WaitForSellPanel]
[SellItemsCoroutine] The Sell window is open. Now moving items to sell.
[CustomRules][Sell] item.IsRare returned true for Honour Razor
[SellItemsCoroutine] Now fast moving the item Headman's Sword into the current vendor tab.
[SellItemsCoroutine] Waiting for the item to be moved.
[CustomRules][Keep] item.IsCurrency returned true for Scroll Fragment
[CustomRules][Keep] item.IsCurrency returned true for Alteration Shard
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Scroll of Wisdom
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[SellItemsCoroutine] Moving items to sell has completed.
[ShouldAcceptSellOffer] The npc is offering us:
1x Orb of Augmentation
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[CustomRules][Keep] item.IsCurrency returned true for Scroll of Wisdom
[CustomRules][Keep] item.IsCurrency returned true for Orb of Augmentation
[CustomRules][Keep] item.IsCurrency returned true for Scroll Fragment
[CustomRules][Keep] item.IsCurrency returned true for Alteration Shard
[StashToSpecificTabTask] Found specific items in inventory, stashing them in given tabs :
[ARRAYDEBUG] Array contains 0 item(s)
[ARRAYDEBUG] Array contains 1 item(s)
[ARRAYDEBUG] Array contains 0 item(s)
[StashToSpecificTabTask][TabName : 12] - Gold Ring x1
[CloseBlockingWindows] LokiPoe.Gui.DialogWindowDepth > 0. Closing it.
[InteractWith] Now attempting to highlight 14.
[InteractWith] Now attempting to interact with 14.
[WaitForStashPanel]
[WaitForStashPanel] We have been waiting 00:00:00.0000228 for the stash panel to open.
[WaitForStashPanel] We have been waiting 00:00:00.1326301 for the stash panel to open.
[LatencyTracker] LowestLatency: 29
[LatencyTracker] HighestLatency: 29
[WaitForStashPanel] We have been waiting 00:00:00.2342390 for the stash panel to open.
[WaitForStashPanel] We have been waiting 00:00:00.3509131 for the stash panel to open.
[LatencyTracker] HighestLatency: 32
[WaitForStashPanel]
[FastMoveToStash] Fast moving Gold Ring from {0, 0}.
[FastMoveToStash] Waiting for fast move.
[StashToSpecificTabTask] Successfully moved Gold Ring to the tab called "12"
[StashToSpecificTabTask][TabName : 1] - Orb of Augmentation x1
[FastMoveToStash] Fast moving Orb of Augmentation from {0, 1}.
[FastMoveToStash] Waiting for fast move.
[StashToSpecificTabTask] Successfully moved Orb of Augmentation to the tab called "1"
[BlackListFromIdentification] Clearing identification blacklist.
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Scroll Fragment
[CustomRules][Keep] item.IsCurrency returned true for Scroll of Wisdom
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[CustomRules][Keep] item.IsCurrency returned true for Alteration Shard
[WithdrawTask] We do not need to withdraw any currency items. Skipping this task until an area change or restart.
Chaos Set Complete
[ChaosSet] Helms: [ 1 ] (Max)
[ChaosSet] Body: [ 1 ] (Max)
[ChaosSet] Gloves: [ 1 ] (Max)
[ChaosSet] Boots: [ 1 ] (Max)
[ChaosSet] Belts: [ 7 ]
[ChaosSet] Two Hand Weapons: [ 3 ]
[ChaosSet] Rings: [ 2 ]
[ChaosSet] Amulets: [ 9 ]
[ChaosSet] Is Ready For Selling = True
[SignalRecipeExecutionTask][DEBUG] Do we have a Chaos set to sell ? True
[SignalRecipeExecutionTask] Now setting ExecuteSellingRecipesLogic = true.
[FastMoveToStash] Fast moving Chain Belt from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Colossus Mallet from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Clasped Mitts from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Gold Ring from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Lapis Amulet from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Two-Stone Ring from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Slink Boots from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Loricated Ringmail from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Mind Cage from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[WaitForStashTabContents] Waiting for a page control to become visible.
[RecipeWithdrawTask] Withdrawing has completed.
[RecipeWithdrawTask] Now resetting task state.
[RecipeQualityTask] Adding Item Clasped Mitts Location {2, 0}
[RecipeQualityTask] Adding Item Slink Boots Location {3, 2}
[RecipeQualityTask] Adding Item Loricated Ringmail Location {5, 0}
[RecipeQualityTask] Adding Item Mind Cage Location {7, 0}
[RecipeQualityTask] Adding Item Colossus Mallet Location {0, 1}
[WaitForInventoryLag] Updated item found at Location [X:2|Y:0] in 0.0008 ms
[LatencyTracker] AverageLatency: 17
[WaitForInventoryLag] Updated item found at Location [X:3|Y:2] in 0.001 ms
[WaitForInventoryLag] Updated item found at Location [X:5|Y:0] in 0.001 ms
[WaitForInventoryLag] Updated item found at Location [X:7|Y:0] in 0.0008 ms
[LatencyTracker] AverageLatency: 17
[WaitForInventoryLag] Updated item found at Location [X:0|Y:1] in 0.001 ms
[RecipeQualityTask] Failed to switch to the tab: 16, trying again.
[RecipeQualityTask] Failed to switch to the tab: 16 after 5 attempts, stopping bot
 
Last edited:
[RecipeQualityTask] Failed to switch to the tab: 16, trying again.
[RecipeQualityTask] Failed to switch to the tab: 16 after 5 attempts, stopping bot

I get this from time to time. It goes through tabs 1-15 and then has issues with 16. Tried moving tabs around so 16 is not there. Tried blacklisting tab 16. Still happens and stops the bot :(

Any advice? I found the post earlier but no solution offered.

Here's a full snippet of the log section relevant to this, hope it helps?

[RecipeWithdrawTask] Now resetting task state.
[RecipeQualityTask] Now resetting task state.
[RecipeSellTask] Now resetting task state.
[HandleBlockingChestsTask] Now resetting task state.
[HandleDoorsTask] Now resetting task state.
[SellTask] Now resetting task state.
[GCPRecipeTask] Now resetting task state.
[WithdrawTask] Now resetting task state.
[ChaosSet] Helms: [ 1 ] (Max)
[ChaosSet] Body: [ 1 ] (Max)
[ChaosSet] Gloves: [ 1 ] (Max)
[ChaosSet] Boots: [ 1 ] (Max)
[ChaosSet] Belts: [ 7 ]
[ChaosSet] Two Hand Weapons: [ 3 ]
[ChaosSet] Rings: [ 1 ]
[ChaosSet] Amulets: [ 9 ]
[ChaosSet] Is Ready For Selling = False
[SignalRecipeExecutionTask][DEBUG] Do we have a Chaos set to sell ? False
[HandleDeshretSpirit] Now resetting task state.
[HandleAllFlame] Now resetting task state.
[GemLeveler] Now resetting task state.
[HandleAllFlame] We don't have the necessary Allflame to give to Fairgraves.
[OpenInventoryPanel]
[OpenInventoryPanel] The InventoryPanel is not opened. Now opening it.
[BlackListFromIdentification] Gold Ring [TL: {0, 0}] has been Blacklisted from identification.
Added Ring to CHAOS set (2/20)
[IdentifyItemsTask] Gold Ring is protected from identification, passing by...
[LatencyTracker] HighestLatency: 15
[IdentifyItemsTask] The item been identified successfully
[CloseBlockingWindows] LokiPoe.Gui.IsLeftPanelShown || LokiPoe.Gui.IsRightPanelShown. Closing them.
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[CustomRules][Sell] item.IsRare returned true for Honour Razor
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[CustomRules][Sell] item.IsRare returned true for Honour Razor
[SellItemsCoroutine] The Npc sell window is not open. Now moving to a vendor to open it.
[MoveToLocation] Now moving towards {152, 178}. We have been performing this task for 00:00:00.1841276.
[FinishCurrentAction] Waiting 0 for the action to finish Move.
[FinishCurrentAction] Waiting 32 for the action to finish Move.
[FinishCurrentAction] Waiting 33 for the action to finish Move.
[FinishCurrentAction] Waiting 49 for the action to finish Move.
[FinishCurrentAction] Waiting 32 for the action to finish Move.
[LatencyTracker] HighestLatency: 16
[FinishCurrentAction] Waiting 50 for the action to finish Move.
[FinishCurrentAction] Waiting 31 for the action to finish Move.
[InteractWith] Now attempting to highlight 10.
[InteractWith] Now attempting to interact with 10.
[WaitForNpcDialogPanel]
[WaitForNpcDialogPanel] We have been waiting 00:00:00.0000281 for the npc dialog panel to open.
[LatencyTracker] HighestLatency: 32
[LatencyTracker] AverageLatency: 17
[WaitForSellPanel]
[SellItemsCoroutine] The Sell window is open. Now moving items to sell.
[CustomRules][Sell] item.IsRare returned true for Honour Razor
[SellItemsCoroutine] Now fast moving the item Headman's Sword into the current vendor tab.
[SellItemsCoroutine] Waiting for the item to be moved.
[CustomRules][Keep] item.IsCurrency returned true for Scroll Fragment
[CustomRules][Keep] item.IsCurrency returned true for Alteration Shard
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Scroll of Wisdom
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[SellItemsCoroutine] Moving items to sell has completed.
[ShouldAcceptSellOffer] The npc is offering us:
1x Orb of Augmentation
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[CustomRules][Keep] item.IsCurrency returned true for Scroll of Wisdom
[CustomRules][Keep] item.IsCurrency returned true for Orb of Augmentation
[CustomRules][Keep] item.IsCurrency returned true for Scroll Fragment
[CustomRules][Keep] item.IsCurrency returned true for Alteration Shard
[StashToSpecificTabTask] Found specific items in inventory, stashing them in given tabs :
[ARRAYDEBUG] Array contains 0 item(s)
[ARRAYDEBUG] Array contains 1 item(s)
[ARRAYDEBUG] Array contains 0 item(s)
[StashToSpecificTabTask][TabName : 12] - Gold Ring x1
[CloseBlockingWindows] LokiPoe.Gui.DialogWindowDepth > 0. Closing it.
[InteractWith] Now attempting to highlight 14.
[InteractWith] Now attempting to interact with 14.
[WaitForStashPanel]
[WaitForStashPanel] We have been waiting 00:00:00.0000228 for the stash panel to open.
[WaitForStashPanel] We have been waiting 00:00:00.1326301 for the stash panel to open.
[LatencyTracker] LowestLatency: 29
[LatencyTracker] HighestLatency: 29
[WaitForStashPanel] We have been waiting 00:00:00.2342390 for the stash panel to open.
[WaitForStashPanel] We have been waiting 00:00:00.3509131 for the stash panel to open.
[LatencyTracker] HighestLatency: 32
[WaitForStashPanel]
[FastMoveToStash] Fast moving Gold Ring from {0, 0}.
[FastMoveToStash] Waiting for fast move.
[StashToSpecificTabTask] Successfully moved Gold Ring to the tab called "12"
[StashToSpecificTabTask][TabName : 1] - Orb of Augmentation x1
[FastMoveToStash] Fast moving Orb of Augmentation from {0, 1}.
[FastMoveToStash] Waiting for fast move.
[StashToSpecificTabTask] Successfully moved Orb of Augmentation to the tab called "1"
[BlackListFromIdentification] Clearing identification blacklist.
[CustomRules][Keep] item.IsCurrency returned true for Portal Scroll
[CustomRules][Keep] item.IsCurrency returned true for Scroll Fragment
[CustomRules][Keep] item.IsCurrency returned true for Scroll of Wisdom
[CustomRules][Keep] item.IsCurrency returned true for Alchemy Shard
[CustomRules][Keep] item.IsCurrency returned true for Alteration Shard
[WithdrawTask] We do not need to withdraw any currency items. Skipping this task until an area change or restart.
Chaos Set Complete
[ChaosSet] Helms: [ 1 ] (Max)
[ChaosSet] Body: [ 1 ] (Max)
[ChaosSet] Gloves: [ 1 ] (Max)
[ChaosSet] Boots: [ 1 ] (Max)
[ChaosSet] Belts: [ 7 ]
[ChaosSet] Two Hand Weapons: [ 3 ]
[ChaosSet] Rings: [ 2 ]
[ChaosSet] Amulets: [ 9 ]
[ChaosSet] Is Ready For Selling = True
[SignalRecipeExecutionTask][DEBUG] Do we have a Chaos set to sell ? True
[SignalRecipeExecutionTask] Now setting ExecuteSellingRecipesLogic = true.
[FastMoveToStash] Fast moving Chain Belt from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Colossus Mallet from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Clasped Mitts from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Gold Ring from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Lapis Amulet from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Two-Stone Ring from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Slink Boots from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Loricated Ringmail from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[FastMoveToStash] Fast moving Mind Cage from Tab[12] to Inventory
[FastMoveFromStash] Waiting for fast move.
[WaitForStashTabContents] Waiting for a page control to become visible.
[RecipeWithdrawTask] Withdrawing has completed.
[RecipeWithdrawTask] Now resetting task state.
[RecipeQualityTask] Adding Item Clasped Mitts Location {2, 0}
[RecipeQualityTask] Adding Item Slink Boots Location {3, 2}
[RecipeQualityTask] Adding Item Loricated Ringmail Location {5, 0}
[RecipeQualityTask] Adding Item Mind Cage Location {7, 0}
[RecipeQualityTask] Adding Item Colossus Mallet Location {0, 1}
[WaitForInventoryLag] Updated item found at Location [X:2|Y:0] in 0.0008 ms
[LatencyTracker] AverageLatency: 17
[WaitForInventoryLag] Updated item found at Location [X:3|Y:2] in 0.001 ms
[WaitForInventoryLag] Updated item found at Location [X:5|Y:0] in 0.001 ms
[WaitForInventoryLag] Updated item found at Location [X:7|Y:0] in 0.0008 ms
[LatencyTracker] AverageLatency: 17
[WaitForInventoryLag] Updated item found at Location [X:0|Y:1] in 0.001 ms
[RecipeQualityTask] Failed to switch to the tab: 16, trying again.
[RecipeQualityTask] Failed to switch to the tab: 16 after 5 attempts, stopping bot

I never fixed the issue I had to turn chaos recipe off. Would love to find a fix to this.
 
is there any way that he sells all rares but keep always enough unid rares to make unid chaos recipe? i would be really gratefull, if someone could help me get this done :-(
 
is there any way that he sells all rares but keep always enough unid rares to make unid chaos recipe? i would be really gratefull, if someone could help me get this done :-(

It's a matter of rules... _- it's already built-in.
 
i enabled chaos recipe, set every item to keep to 2-4 and unchecked "never id items". but it doesnt work how i described it in my last post. what is wrong :-[?
 
I have discovered a small problem:

When you don't have enough scraps it will hang there and not continue. So it would be good if a check could be added if there's at least 80 scraps/20 whetstones. If there aren't enough and the set is already full, then sell. Otherwise make them 20q first and then sell.
 
Status
Not open for further replies.
Back
Top