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

Pick up highlighted items and from itemfilter

S0ul3r

New Member
Joined
Oct 18, 2016
Messages
9
Reaction score
0
Is there a way to set up the bot that it picks up items from Advanced Item Filter AND items that are highlighted from my Neversink's item filter in game (Uber-Strict).

Neversinks ItemFilter highlight good rares and I have rares turned off on AIF bacuse it also picks up a lot of trash rare items, so I want it to pick up both currency from AIF and rares from neversink's item filter.

Alterative way for bot is to pick up only highlighted items without AIF but it doesnt seem to work
(SETTINGS->Bots->Cross-bot Settings->Misc->Loot all visible items)
 
wow really I have never think of that -.- It would take a lot of time. I am asking for smart ways not all manual, they are written in different code so I would have to translate from one into another.
 
Guess I missed seeing this thread in this forum, but this is really easy to do with one code change.

Inside "Default\EXtensions\Global\CombatAreaCache.cs", currently line 198:
Code:
if ((Settings.Instance.LootVisibleItems && worldItem.HasVisibleHighlightLabel) ||
                    ItemEvaluator.Match(item, EvaluationType.PickUp) ||
                    PickupEvaluators.Exists(e => e.Eval(item)))
                {
                    var pos = worldItem.WalkablePosition();
                    pos.Initialized = true; //disable walkable position searching for items
                    Items.Add(new CachedWorldItem(id, pos, item.Size, item.Rarity));
                }

If you were to make that something like (untested, but this is the idea)
Code:
// If we want to loot based on the game's item filter
if (Settings.Instance.LootVisibleItems)
{
    var take = false;

    // If it has a label matching the game's item filter AND it matches the bot's item filter
    if (worldItem.HasVisibleHighlightLabel && ItemEvaluator.Match(item, EvaluationType.PickUp))
    {
        take = true;
    }
    else if (PickupEvaluators.Exists(e => e.Eval(item))) // Otherwise, does it match the chaos recipe eval
    {
        take = true;
    }

    if(take)
    {
        var pos = worldItem.WalkablePosition();
        pos.Initialized = true; //disable walkable position searching for items
        Items.Add(new CachedWorldItem(id, pos, item.Size, item.Rarity));
    }
}
else // Default code
{
    if ((Settings.Instance.LootVisibleItems && worldItem.HasVisibleHighlightLabel) ||
        ItemEvaluator.Match(item, EvaluationType.PickUp) ||
        PickupEvaluators.Exists(e => e.Eval(item)))
    {
        var pos = worldItem.WalkablePosition();
        pos.Initialized = true; //disable walkable position searching for items
        Items.Add(new CachedWorldItem(id, pos, item.Size, item.Rarity));
    }
}

That would basically force matching of both the in-game filter and your own item filter when you enabled the LootVisibleItems option. You'd need to apply the changes every update, as it's not a common thing to match both item filter and game filter, because if you don't match the game filter perfectly, you'll have to show all item labels to loot, which defeats the purpose of easily looting based on the in-game filter so you don't have to mess with a bot item filter.
 
Back
Top