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.
Code:
(item.IsChest or item.IsHelmet or item.IsBoots) and item.TotalArmor >= X and item.MaximumLife >= Y and (item.IsTriRes or item.OverallResistancesPct >= Z)

Replace X/Y/Z

Hey ToNyx,

New to how the AIF rules work. Where you've got "or" "and" etc in the code above, is that just short handing it for the sake of the explanation, or can we substitute words instead of operators in the actual rule? I ask because you only mention to change X/Y/Z, not fix the operators.

Also, this question might be redundant by the time you reply, but I'd like to verify that all I need to do to setup a rule is simply copy pasta code like the above into the create rule box, checkbox what type of rule it is and create rule correct? There's nothing that would need to be added to code above other than change values (and possibly operators?). Mainly asking as my bot is currently running and do not want to stop it yet, but I'd like to start writing out rule code for when I do stop it.

Edit:

Is this an acceptable format? What I am trying to achieve is getting at least 2/3 of the affixes including life so I can craft the third.

Code:
item.IsRing && item.MaximumLife >= 50 && (item.CastSpeed >= 5 || item.IncreasedRarity >= 15) && (item.IncreasedRarity >= 15 || item.IncreasedFireDamage >= 7) && (item.CastSpeed >= 5 || item.IncreasedFireDamage >= 7)
 
[ChaosSet] Helms: [ 1 ] (Max)
[ChaosSet] Body: [ 1 ] (Max)
[ChaosSet] Gloves: [ 1 ] (Max)
[ChaosSet] Boots: [ 1 ] (Max)
[ChaosSet] Belts: [ 1 ]
[ChaosSet] Two Hand Weapons: [ 1 ] (Max)
[ChaosSet] Rings: [ 1 ]
[ChaosSet] Amulets: [ 1 ]
[ChaosSet] Is Ready For Selling = False

how to fix this so annoying
 
Can someone that achieve to get the chaos receipe working, share his static item filter.
No matter what if I set a rule to sell all rare items (unid or id), the bot sells all items. and doesn't keep items for chaos receipe.

Tonyx, I attached extra logs.
View attachment 184311

I had a look to the code the item are protected from ID but not from sell. if you put a rue that sell all rare item. even if it match like in the log, the bot just sell it.
Anyway for the time being I wil just id them.
 
Hi, first of all I wanna thank you for the great work. Everything is working smooth but at the moment I am using it very basically without many rules etc.
In the "pickup" tab there is under MISC the possibility to "Use Jyann's filter for rare items". At the moment it didnt same to make any difference when its active. Could anyone please explain what it is for?
 
[ChaosSet] Helms: [ 1 ] (Max)
[ChaosSet] Body: [ 1 ] (Max)
[ChaosSet] Gloves: [ 1 ] (Max)
[ChaosSet] Boots: [ 1 ] (Max)
[ChaosSet] Belts: [ 1 ]
[ChaosSet] Two Hand Weapons: [ 1 ] (Max)
[ChaosSet] Rings: [ 1 ]
[ChaosSet] Amulets: [ 1 ]
[ChaosSet] Is Ready For Selling = False

how to fix this so annoying

what is the problem here ? he is telling you he's still collecting pieces to turnin for chaos orbs.

People these days, some basic game knowledge would be great you know.
 
Hey ToNyx,

New to how the AIF rules work. Where you've got "or" "and" etc in the code above, is that just short handing it for the sake of the explanation, or can we substitute words instead of operators in the actual rule? I ask because you only mention to change X/Y/Z, not fix the operators.

Also, this question might be redundant by the time you reply, but I'd like to verify that all I need to do to setup a rule is simply copy pasta code like the above into the create rule box, checkbox what type of rule it is and create rule correct? There's nothing that would need to be added to code above other than change values (and possibly operators?). Mainly asking as my bot is currently running and do not want to stop it yet, but I'd like to start writing out rule code for when I do stop it.

Edit:

Is this an acceptable format? What I am trying to achieve is getting at least 2/3 of the affixes including life so I can craft the third.

Code:
item.IsRing && item.MaximumLife >= 50 && (item.CastSpeed >= 5 || item.IncreasedRarity >= 15) && (item.IncreasedRarity >= 15 || item.IncreasedFireDamage >= 7) && (item.CastSpeed >= 5 || item.IncreasedFireDamage >= 7)

The acceptable format is what I posted, basically the rules are in Python format. for the sake of understanding :D so || becomes or && becomes and. the rest is still unchanged iirc.
The only reason this becomes handy is because I can evaluate the full rule as a string ;)

[ChaosSet] Helms: [ 1 ] (Max)
[ChaosSet] Body: [ 1 ] (Max)
[ChaosSet] Gloves: [ 1 ] (Max)
[ChaosSet] Boots: [ 1 ] (Max)
[ChaosSet] Belts: [ 1 ]
[ChaosSet] Two Hand Weapons: [ 1 ] (Max)
[ChaosSet] Rings: [ 1 ]
[ChaosSet] Amulets: [ 1 ]
[ChaosSet] Is Ready For Selling = False

how to fix this so annoying
You need two rings for the chaos recipe..

Here is your answer ^

I had a look to the code the item are protected from ID but not from sell. if you put a rue that sell all rare item. even if it match like in the log, the bot just sell it.
Anyway for the time being I wil just id them.

Then your rules are bad. if you have a recipe checked, and there's an eligible item in your inventory (unid ofc) it'll be saved if you don't match the max values (the sliders)

Hi, first of all I wanna thank you for the great work. Everything is working smooth but at the moment I am using it very basically without many rules etc.
In the "pickup" tab there is under MISC the possibility to "Use Jyann's filter for rare items". At the moment it didnt same to make any difference when its active. Could anyone please explain what it is for?

Jyam's filters work on item names, they search for combination with affixes/suffixes to evaluate them. They're not updated for 2.0, maybe jyam is working on it dunno. If he is, gonna make it so asap ;)
 
Hello.
I've been using static item filter with itemfiltereditor all the time. Now i would like to start using your advanceditemfilter. Got some questions
1) If i would like to use advanceditemfilter with custom rules should i turn off plugin itemfiltereditor in plugins tab to stop EB using static filters?
After that i go to AdvancedItemFilter -> Custom Rules -> Enable Custom Rules (advanced users only) -> create rules

2) if i would like to pickup all rares and sell them
item.IsRare Pickup
item.IsRare Sell
item.IsRare Id
bot will pickup all rares and sell them, but rares for chaos recipe will stash ?

3) than if i would like to keep currency i add something like this ?
item.IsCurrency Pickup
item.IsCurrency Stash
item.IsCurrency and item.FullName == "Blacksmith's Whetstone" Sell
Bot will pickup all currency but sell blacksmith's whetstones?

4) if i would like to pickup all maps i add:
item.IsMap Pickup
item.IsMap Keep
item.IsMap Id
bot should pickup all maps, id them, and keep them?

5) if i would like to make unique filters i add:
item.IsUnique Pickup
item.IsUnique Keep
item.IsUnique Id
so the bot will pickup, ID and stash all unique items
after that i would like to sell crap uniques so i add for example:
item.IsUnique and item.FullName == "Redbeak" Sell
is this going to work correct? bot will pickup all uniques, id them, stash them , but Redbeak swords going to sell ??

6) If i would like to sell all 6sock but stash 6link
item.Sockets == 6 Pickup
item.Sockets == 6 and not item.Links == 6 Sell
item.Links == 6 Keep
will it pickup 6sockets and sell them but stash 6links?

7) If i would like to sell all RGB i add
item.IsRGB Pickup
item.IsRGB Sell
bot will pickup all rgb and sell them, what happens if item is 6link with rgb, will it sell it ?

8) and gems, i would like to stash enlighten, enhance, empower, and ony other gem which is 10%+ quality
so i add
item.IsGem and item.Quality > 10 Pickup
item.IsGem and item.Quality > 10 Stash
item.IsGem and item.FullName == "Empower" pickup, keep
item.IsGem and item.FullName == "Enhance" pickup, keep
item.IsGem and item.FullName == "Enlighten" pickup, keep

9) Do i also need to make rules to dont pick up white items and blue items ? or bot just wont pickup anything which i dont add in customrules?

Please correct me if im wrong
Thanx in advance
 
Hello.
I've been using static item filter with itemfiltereditor all the time. Now i would like to start using your advanceditemfilter. Got some questions
1) If i would like to use advanceditemfilter with custom rules should i turn off plugin itemfiltereditor in plugins tab to stop EB using static filters?
After that i go to AdvancedItemFilter -> Custom Rules -> Enable Custom Rules (advanced users only) -> create rules

2) if i would like to pickup all rares and sell them
item.IsRare Pickup
item.IsRare Sell
item.IsRare Id
bot will pickup all rares and sell them, but rares for chaos recipe will stash ?

3) than if i would like to keep currency i add something like this ?
item.IsCurrency Pickup
item.IsCurrency Stash
item.IsCurrency and item.FullName == "Blacksmith's Whetstone" Sell
Bot will pickup all currency but sell blacksmith's whetstones?

4) if i would like to pickup all maps i add:
item.IsMap Pickup
item.IsMap Keep
item.IsMap Id
bot should pickup all maps, id them, and keep them?

5) if i would like to make unique filters i add:
item.IsUnique Pickup
item.IsUnique Keep
item.IsUnique Id
so the bot will pickup, ID and stash all unique items
after that i would like to sell crap uniques so i add for example:
item.IsUnique and item.FullName == "Redbeak" Sell
is this going to work correct? bot will pickup all uniques, id them, stash them , but Redbeak swords going to sell ??

6) If i would like to sell all 6sock but stash 6link
item.Sockets == 6 Pickup
item.Sockets == 6 and not item.Links == 6 Sell
item.Links == 6 Keep
will it pickup 6sockets and sell them but stash 6links?

7) If i would like to sell all RGB i add
item.IsRGB Pickup
item.IsRGB Sell
bot will pickup all rgb and sell them, what happens if item is 6link with rgb, will it sell it ?

8) and gems, i would like to stash enlighten, enhance, empower, and ony other gem which is 10%+ quality
so i add
item.IsGem and item.Quality > 10 Pickup
item.IsGem and item.Quality > 10 Stash
item.IsGem and item.FullName == "Empower" pickup, keep
item.IsGem and item.FullName == "Enhance" pickup, keep
item.IsGem and item.FullName == "Enlighten" pickup, keep

9) Do i also need to make rules to dont pick up white items and blue items ? or bot just wont pickup anything which i dont add in customrules?

Please correct me if im wrong
Thanx in advance

1) No, you have to keep it enabled, tho you can disable all the rules (right click/disable)
2) Those rules are right, If you have recipes enabled recipe check will always trigger before evaluation.
3) I think it should work, never tried but it should ;)
4) Yup, it'll keep your maps.
5) Make sure to add "item.IsIdentified" in the check for the item, security purpose.
6) should work like this :) I'll pickup 6s items, sell those who arent 6L, and keep the rest.
7) IsRGB checks for links, if it's a 6L IsRGB return false.
8) Yup, you can correct it by adding >= instead of >, so you get 10-20% range.
9) Nope, usually if there's random white items it's because the bot had issue to pick or move, that's why I recommend "Key Pickup" option in Poe's client.
Tho you can make rules to pickup specific white items by their name (for chancing)
 
Downloaded fresh EB Install > Downloaded fresh advanceditemfilter Install > place the extracted folder into Plugins Folder > use default Settings > it still stashes crap rares

What am i doing wrong?
 
Downloaded fresh EB Install > Downloaded fresh advanceditemfilter Install > place the extracted folder into Plugins Folder > use default Settings > it still stashes crap rares

What am i doing wrong?

You have to configure rules in AIF for stashing. Doesn't come configured out of the box and I doubt you'll get a ruleset from anyone.
 
Hi! Alright, bare with me here I am 100% new to tampering with item filters. Going off of what Krzys said and what you confirmed, Tonyx, I could create a rule like the following and it would work correctly?

item.IsCommon and item.FullName == "Agate Amulet" Pickup/Keep

So I would be picking up all white agate amulets for chancing, I get that right?
 
Hi! Alright, bare with me here I am 100% new to tampering with item filters. Going off of what Krzys said and what you confirmed, Tonyx, I could create a rule like the following and it would work correctly?

item.IsCommon and item.FullName == "Agate Amulet" Pickup/Keep

So I would be picking up all white agate amulets for chancing, I get that right?
You should use Name instead of fullname for the base item name imo (I am not sure if it will work with FullName, it might, but might not)
 
Well if you know Name works for sure, I'll defer to your knowledge. :) Thanks!
 
1) No, you have to keep it enabled, tho you can disable all the rules (right click/disable)
2) Those rules are right, If you have recipes enabled recipe check will always trigger before evaluation.
3) I think it should work, never tried but it should ;)
4) Yup, it'll keep your maps.
5) Make sure to add "item.IsIdentified" in the check for the item, security purpose.
6) should work like this :) I'll pickup 6s items, sell those who arent 6L, and keep the rest.
7) IsRGB checks for links, if it's a 6L IsRGB return false.
8) Yup, you can correct it by adding >= instead of >, so you get 10-20% range.
9) Nope, usually if there's random white items it's because the bot had issue to pick or move, that's why I recommend "Key Pickup" option in Poe's client.
Tho you can make rules to pickup specific white items by their name (for chancing)

thx for fast answer!

ok so should i use staticfilter with advanceditemfilter with custom rules? or there will be less mess if i will just disable all static filters, and put all filters in custom rules?

For example using staticfilters in ItemFilterEditor for:

pickup and stash: currency, divination cards, maps, maps fragments, gems,
nothing else

and rest in custom rules with AIF like:

rares: [pick all rares, id all rares, sell all rares, keep chaos recipe rares]
item.IsRare Pickup
item.IsRare Sell
item.IsRare Id

6sock, 6link
item.Sockets == 6 Pickup
item.Sockets == 6 and not item.Links == 6 Sell
item.Links == 6 Keep

RGB:
item.IsRGB Pickup
item.IsRGB Sell

Unique: [pickup all, sell crap]
item.IsUnique Pickup
item.IsUnique Id
item.IsUnique and item.IsIdentified Keep
item.IsUnique and item.FullName == "Redbeak" Sell

and that should be pretty much all is needed
is this setup going to work without problems ?
thx in advance
 
Well apparently jyam did share his staticitemfilter(which handle´s rare´s) here:
Just not sure if it still will work with 2.0

https://www.thebuddyforum.com/exile...dvanceditemfilter-save-item-affixes-beta.html

It works if you open up the filter and remove the life/mana leech lines as the naming scheme of it changed in 2.0 (or I guess you could just update it to the new naming scheme if you wanted them).

The issue is you can't reliably use both AIF and the staticfilter. There's no "protect my chaos recipe tab items" function in AIF.. so if you set the staticfilter to ID stuff and sell crappy rares, it's going to ID everything and sell off your chaos recipe rares. I believe the only way to get that working would be to configure AIF to handle everything.. pickup, stashing, selling, etc. The problem is there's no quick solution, you have to setup your own rules and the format for the staticfilter entries is different than the format for AIF so you can't just copy and paste everything.
 
God almighty I've done it -_-
Ok, so I've figure out why the fuck my customrules were not working. Maybe it will help someone else having problems with it so I'll leave a post here.

TL;DR: make sure that the plugins load in this particular order (Settings -> global -> Plugin order): ItemFilterEditor, then AdvancedItemFilter.
Seems like if loaded in alphabetical order (AIF -> ItemFilterEditor) the default evaluator would replace the modified evaluator and then the default one will proceed to get used, hence not using any of the AIFs code when it comes to itemrules. Other functions shouldn't be concerned by this at all.
 
God almighty I've done it -_-
Ok, so I've figure out why the fuck my customrules were not working. Maybe it will help someone else having problems with it so I'll leave a post here.

TL;DR: make sure that the plugins load in this particular order (Settings -> global -> Plugin order): ItemFilterEditor, then AdvancedItemFilter.
Seems like if loaded in alphabetical order (AIF -> ItemFilterEditor) the default evaluator would replace the modified evaluator and then the default one will proceed to get used, hence not using any of the AIFs code when it comes to itemrules. Other functions shouldn't be concerned by this at all.

I am getting the following error code when changing the plugin load order like you´ve mentioned:

[Stop] Now requesting the BotThread to stop.
[Tick] Exception during execution:Buddy.Coroutines.CoroutineUnhandledException: Exception was thrown by coroutine ---> System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei AdvancedItemFilter.MyItemEvaluator.Match(Item item, EvaluationType type, IItemFilter& filter) in c:\Users\Patrick\Downloads\VBooooooooooooot\Plugins\AdvancedItemFilter\MyItemEvaluator.cs:Zeile 1061.
bei Loki.Bot.ItemEvaluator.Match(Item item, EvaluationType type, IItemFilter& filter)
bei Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.‬‪‫‫**‏‎‎*‪**​‪‪*‎**​‫*‬‏‪‬*(Item , Object )
bei Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.*‎****‫‪*‪*‬‫**‬**‏*​*(Item )
bei System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
bei Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.‬**‏‬‬*‎*‎‏***‫‪‏*‎‎‎​‏***‏*()
bei Loki.Bot.Logic.Bots.OldGrindBot.SellTask.R"ZZfWq2:ntNknN!EIV_\,'B6\&.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Loki.Bot.TaskManager.7hY3C0yJ;\&VK1L"\\!TGEod4.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
bei Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.@\*4wdFjrP)350G\[4(G4Zr AB.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Buddy.Coroutines.Coroutine.)\,>s\[WS2;ze8Oz(/m "om\]L=!.S\*W}\,Ni/IdXqlU$2mI8rm_sZ!.MoveNext()
--- Ende der internen Ausnahmestapelüberwachung ---
bei Buddy.Coroutines.Coroutine.‬****‎‬**‬**‏*‫​‫‬*‬‏*‏*‏***‬*(Boolean )
bei Buddy.Coroutines.Coroutine.**​*‫​‬‪​‫‬‎‬‪****​‎**‫‫‏‫‏*(Boolean )
bei Buddy.Coroutines.Coroutine.Resume()
bei Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.Tick()
bei Loki.Bot.BotManager.**‫‬‎‪​‫​*​‏*‫***‫​‫‫​‬*(IBot )
 
If IEF is loaded before AIF though how is it handling unid recipe? Since the default staticfilter would have to ID items to parse stats. AIF wouldn't be able to "protect" them from being identified.

I guess if you're only going for the ID'd recipe that's a good way of going about it, but in an ideal setup I'd have my recipe tab which houses the default 1x 2h, 1x helm, etc unid, then everything beyond that gets ID'd and parsed.
 
Status
Not open for further replies.
Back
Top