Jump to content

Join our Slack

Talk to other users and have a great time
Slack Server

Welcome to our Community

Click here to get your Exiled Bot license
Donation Store
jpbot

Smart Pickit Syntax

Recommended Posts

I see a lot of pickit files with wrong syntax
 
Ex: 

[Category] == "Chest" && [Rarity] == "Rare" && [base_maximum_life] >= "60" && [base_cold_damage_resistance_%] >= "25" && [base_fire_damage_resistance_%] >= "25" # [StashItem] == "true" 

 
Should be: 

[Category] == "Chest" && [Rarity] == "Rare" # [base_maximum_life] >= "60" && [base_cold_damage_resistance_%] >= "25" && [base_fire_damage_resistance_%] >= "25" 

 


Smart Pickit Syntax.
 

Ok explanation:
 
We have this on default.ipd file

// You'll find the mods list in the ModsList.txt file, in the main bot folder, remember to only use expressions from the right (ie. local_minimum_added_physical_damage, base_maximum_energy_shield, ...).
// Expressions to the left are only here to help you choosing the right ones
...
// Syntax is: [Key] operator "Value"
...
// # is used to separate mods checked after item identification. If an item matchs mods before the # and doesn't match the ones after, it will be sold to vendor.

 
# If you put that symbol, your item will be identified.
 
Everything in left of # is to tell the bot which item will pick up
 
Everything in the right of # is to tell the bot which modifiers it will check in that item, if they match that item will be stashed 


 
Ex 1. You want to take belts and stash it unids

[Category] == "Belt" && [Rarity] == "Rare"

Bot will take any rare belt.
No # so item it is left unidentified.
 
 
 
Ex 2. You want any belt with life > 40 and cold and fire res > 20

[Category] == "Belt" && [Rarity] == "Rare" # [base_maximum_life] >= "40" && [base_cold_damage_resistance_%] >= "20" && [base_fire_damage_resistance_%] >= "20"

[Category] == "Belt" && [Rarity] == "Rare"  --> Bot will pick up any rare belt. Left side of #
#  -->  Item will be identified.
[base_maximum_life] >= "40" && [base_cold_damage_resistance_%] >= "20" && [base_fire_damage_resistance_%] >= "20"  --> Bot will check all mods if they match will be stashed. Right side of #
 
 
 
Ok that was the basic info.



******************************************************************************************************



A little more info:


Expressions to the left, I am going to call those KEYS
Expressions to the right, I am going to call those MODS


KEYS:

Everything in left of # is to tell the bot which item will pick up

Syntax:
[Key] operator "Value"

Possible values (all of them):
[Type] operator "xxx" --> operator values: ( == ), "xxx" values: Any name from file ItemNameList.txt
[itemLevel] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" values: Numeric
[Armor] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" values: Numeric **
[Evasion] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" values: Numeric **
[Energy Shield] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" values: Numeric **
[Rarity] operator "xx" --> operator values: ( ==, != ), "xx" values: "Normal", "Magic", "Rare", "Unique"
[Quality] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" Numeric, Item Quality, (1-20)
[sockets] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" Numeric, Item Sockets, (1-6)
[Linked] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" Numeric, Number of linked sockets (1-6) ????
[Category] operator "xx" --> operator values: ( ==, != ), "xx" possible values: "Chest", "Shield", "Helm", "Ring", "Amulet", "Flask", "Weapon", "Gloves", "Boots", "Belt", "Map"

All those keys will be before #


** Only apply for Helmets, Body Armour, Gloves, Boots and Shields, since poe has fixed base values, those keys are not very useful (imo)

Ex.
Saintly Chainmail --> Armor:286, Energy Shield:98: Evasion:0 All Saintly Chainmail have those values
Astral Plate --> Armor:507, Energy Shield:0: Evasion:0 All Astral Plate have those values




MODS:

Everything in the right of # is to tell the bot which modifiers it will check in that item, if they match that item will be stashed 

Syntax:
[Mod] operator "Value"

Possible values:
[xxx] operator "nnn"

xxx: any value from file ModsList.txt (use the expresion on the left, before -> ). **
operator values: ( ==, <=, >=, <, > )
"nnn": Numeric


** You can use a mod by his index (if it is not in the ModsList.txt file) this way [modindex] == "value", ie. [587] == "30".




MORE:


* Press F7 to dump inventory and find mod indexes. First press pause (F12).


* Operators && and || are available, parenthesis are working. This can be used only outside condition not inside.

Ex 1. No Ok
[Category] == "Chest" && [Rarity] == ("Magic" || "Rare") # [stashItem] == "true" && [base_maximum_life] >= "60" && [base_cold_damage_resistance_%] >= "25" && [base_fire_damage_resistance_%] >= "25" 

Ex 2. Ok
[Category] == "Chest" && ([Rarity] == "Magic" || [Rarity] == "Rare") # [stashItem] == "true" && [base_maximum_life] >= "60" && [base_cold_damage_resistance_%] >= "25" && [base_fire_damage_resistance_%] >= "25" 


* Flags that can be used are : [stashItem] == "true", [sellItem] == "true", [sellUnid] == "true" and can not be false


* The bot evaluate all pickit lines and Stash have priority over Sell.






 
Remember Exiledbot still beta, there will be bugs. 
 
 
 
 
Gracias.

Edited by jpbot
  • Upvote 6

Share this post


Link to post
Share on other sites

Thanks so much for this, trying to learn how to code this as well. Working on a custom lower lvl pickit for bots in the act1 merc area to find their own gear from ledge or act2 western forest in preparation for act3 merc farming. Capping resists, getting surviability stats while maintaining kill stats and maybe even a bit of MF

Share this post


Link to post
Share on other sites

Actually with 0.15l bot doesn't pick up any rare of unique anymore, even though all boxes are checked ("loot rare items", "loot rare/rings etc.). Only picks up 6s items and orbs now and ignores the rest. I've tried to switch "smart pickit" on and off + importing pickup .ipd file from previous version - the result is the same. Also i've checked - nothing is changed in default .ipd  files, like forced ignore of ALL uniques and rares. And even if it would be so, then old (imported) pickit  would work fine. Something was changed in bot itself maybe?

Am I the only one having this problem?

Share this post


Link to post
Share on other sites

Actually with 0.15l bot doesn't pick up any rare of unique anymore, even though all boxes are checked ("loot rare items", "loot rare/rings etc.). Only picks up 6s items and orbs now and ignores the rest. I've tried to switch "smart pickit" on and off + importing pickup .ipd file from previous version - the result is the same. Also i've checked - nothing is changed in default .ipd  files, like forced ignore of ALL uniques and rares. And even if it would be so, then old (imported) pickit  would work fine. Something was changed in bot itself maybe?

Am I the only one having this problem?

download "m" version. l was bugged in serveral ways

Share this post


Link to post
Share on other sites

wow. now i understand what i did wrong with some pickit lines.

 

could you check this:

bot should stash every chest with armor higher then 1500?

 

[Category] == "Chest" && [Rarity] == "Rare" && [Evasion] >= "1500"  # [base_maximum_life] >= "70" && [stashItem] == "true"

[Category] == "Chest" && [Rarity] == "Rare" && [Armor] >= "1500"  # [base_maximum_life] >= "70" && [stashItem] == "true"

 

 

this should do following:

 

-> bot picks up every rare chest, bot wil check if evasion / or armor is above 1500 - when yes - it will ID it - when it has more than +70life, it will stash it?

-> will the bot also ID every chest, which hasnt more than 1500 Amor and Eva?

Edited by dasnon

Share this post


Link to post
Share on other sites

wow. now i understand what i did wrong with some pickit lines.

 

could you check this:

bot should stash every chest with armor higher then 1500?

 

[Category] == "Chest" && [Rarity] == "Rare" && [Evasion] >= "1500"  # [base_maximum_life] >= "70" && [stashItem] == "true"

[Category] == "Chest" && [Rarity] == "Rare" && [Armor] >= "1500"  # [base_maximum_life] >= "70" && [stashItem] == "true"

 

 

this should do following:

 

-> bot picks up every rare chest, bot wil check if evasion / or armor is above 1500 - when yes - it will ID it - when it has more than +70life, it will stash it?

-> will the bot also ID every chest, which hasnt more than 1500 Amor and Eva?

 

[Evasion] >= "1500"  or [Armor] >= "1500"   

 

those keys take the base of an item, no the final value.

 

 

Ex.

Saintly Chainmail --> Armor:286, Energy Shield:98: Evasion:0 All Saintly Chainmail have those values

Astral Plate --> Armor:507, Energy Shield:0: Evasion:0 All Astral Plate have those values

 

 

you need use a mod to take 1500 evasion or armor chests.  

 

last time I check those mods (armor, evasion, es) were bugged.  : /

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

[Evasion] >= "1500"  or [Armor] >= "1500"   

 

those keys take the base of an item, no the final value.

 

 

Ex.

Saintly Chainmail --> Armor:286, Energy Shield:98: Evasion:0 All Saintly Chainmail have those values

Astral Plate --> Armor:507, Energy Shield:0: Evasion:0 All Astral Plate have those values

 

 

you need use a mod to take 1500 evasion or armor chests.  

 

last time I check those mods (armor, evasion, es) were bugged.  : /

 

thanks for the clarification. i thought now that i will get my wished chests^^. 

they are bugged as hell if my syntax are correct. will take them out.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...