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

[Plugin Addon] "Item Rules" with a file based scripting language

[16:07:35.466 N] [GilesTrinity] ItemRuleSet: Rift Cartridge [Rare6] = (TRASH)
[16:07:35.613 N] [GilesTrinity] ItemRuleSet: Nemesis Wings [Rare4] = (TRASH)
[16:07:35.779 N] [GilesTrinity] ItemRuleSet: Cunning Flight [Rare4] = (TRASH)
[16:07:35.934 N] [GilesTrinity] ItemRuleSet: Element Aim [Rare4] = (TRASH)
[16:07:36.096 N] [GilesTrinity] ItemRuleSet: Feather Hope [Rare4] = (TRASH)
[16:07:36.213 D] System.FormatException: Input string was not in a correct format.
at System.Number.ParseSingle(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Single.Parse(String s)
at GilesTrinity.Functions.Interpreter.checkExpression(String str1, String comparator, String str2, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkTruth(String str, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkTruth(String str, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.interpret(String line, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkItem(ACDItem item)
at GilesTrinity.GilesTrinity.ShouldWeStashThis(GilesCachedACDItem thisitem)
at GilesTrinity.GilesTrinity.GilesStashOverlord(Object ret)
at Zeta.TreeSharp.Decorator.CanRun(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.Common.HookExecutor.Run(Object context)
at Zeta.TreeSharp.Action.RunAction(Object context)
at Zeta.TreeSharp.Action..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.CommonBot.BotMain.()
[16:07:36.419 N] [GilesTrinity] ItemRuleSet: Rift Cartridge [Rare6] = (TRASH)
[16:07:36.576 N] [GilesTrinity] ItemRuleSet: Nemesis Wings [Rare4] = (TRASH)
[16:07:36.717 N] [GilesTrinity] ItemRuleSet: Cunning Flight [Rare4] = (TRASH)
[16:07:36.872 N] [GilesTrinity] ItemRuleSet: Element Aim [Rare4] = (TRASH)
[16:07:37.021 N] [GilesTrinity] ItemRuleSet: Feather Hope [Rare4] = (TRASH)
[16:07:37.143 D] System.FormatException: Input string was not in a correct format.
at System.Number.ParseSingle(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Single.Parse(String s)
at GilesTrinity.Functions.Interpreter.checkExpression(String str1, String comparator, String str2, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkTruth(String str, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkTruth(String str, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.interpret(String line, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkItem(ACDItem item)
at GilesTrinity.GilesTrinity.ShouldWeStashThis(GilesCachedACDItem thisitem)
at GilesTrinity.GilesTrinity.GilesStashOverlord(Object ret)
at Zeta.TreeSharp.Decorator.CanRun(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.Common.HookExecutor.Run(Object context)
at Zeta.TreeSharp.Action.RunAction(Object context)
at Zeta.TreeSharp.Action..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.CommonBot.BotMain.()
[16:07:37.404 N] [GilesTrinity] ItemRuleSet: Rift Cartridge [Rare6] = (TRASH)
[16:07:37.545 N] [GilesTrinity] ItemRuleSet: Nemesis Wings [Rare4] = (TRASH)
[16:07:37.683 N] [GilesTrinity] ItemRuleSet: Cunning Flight [Rare4] = (TRASH)
[16:07:37.832 N] [GilesTrinity] ItemRuleSet: Element Aim [Rare4] = (TRASH)
[16:07:37.998 N] [GilesTrinity] ItemRuleSet: Feather Hope [Rare4] = (TRASH)
[16:07:38.112 D] System.FormatException: Input string was not in a correct format.
at System.Number.ParseSingle(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Single.Parse(String s)
at GilesTrinity.Functions.Interpreter.checkExpression(String str1, String comparator, String str2, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkTruth(String str, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkTruth(String str, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.interpret(String line, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkItem(ACDItem item)
at GilesTrinity.GilesTrinity.ShouldWeStashThis(GilesCachedACDItem thisitem)
at GilesTrinity.GilesTrinity.GilesStashOverlord(Object ret)
at Zeta.TreeSharp.Decorator.CanRun(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.Common.HookExecutor.Run(Object context)
at Zeta.TreeSharp.Action.RunAction(Object context)
at Zeta.TreeSharp.Action..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.CommonBot.BotMain.()
[16:07:38.338 N] [GilesTrinity] ItemRuleSet: Rift Cartridge [Rare6] = (TRASH)
[16:07:38.501 N] [GilesTrinity] ItemRuleSet: Nemesis Wings [Rare4] = (TRASH)
[16:07:38.655 N] [GilesTrinity] ItemRuleSet: Cunning Flight [Rare4] = (TRASH)
[16:07:38.817 N] [GilesTrinity] ItemRuleSet: Element Aim [Rare4] = (TRASH)
[16:07:38.963 N] [GilesTrinity] ItemRuleSet: Feather Hope [Rare4] = (TRASH)
[16:07:39.084 D] System.FormatException: Input string was not in a correct format.
at System.Number.ParseSingle(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Single.Parse(String s)
at GilesTrinity.Functions.Interpreter.checkExpression(String str1, String comparator, String str2, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkTruth(String str, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkTruth(String str, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.interpret(String line, Boolean& checkFlag)
at GilesTrinity.Functions.Interpreter.checkItem(ACDItem item)
at GilesTrinity.GilesTrinity.ShouldWeStashThis(GilesCachedACDItem thisitem)
at GilesTrinity.GilesTrinity.GilesStashOverlord(Object ret)
at Zeta.TreeSharp.Decorator.CanRun(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.Common.HookExecutor.Run(Object context)
at Zeta.TreeSharp.Action.RunAction(Object context)
at Zeta.TreeSharp.Action..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.CommonBot.BotMain.()
[16:07:39.419 N] [GilesTrinity] ItemRuleSet: Rift Cartridge [Rare6] = (TRASH)

in that way
 
Hi, got a Problem

The Plugin keeps keeping items which are not mentioned in the rare.dis file sometimes. For example I got 2 Bracers without Crit in my Stash.

I thought these line Trash everything which ist not mentioned as KEEP above in the config file



My Wrist line shows this

I got the same problem. Lots of crap polearm weapons that don't match the item rules. I'm using the rare.dis from the other thread.
 
//Damage per second + Critical hit damage + Socket
//Damage per second + Critical hit damage + Life on hit
[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] > 1000 && [CRITDMG%] >= 0 && [SOCKETS] > 0 # [KEEP]
[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] > 1900 && [CRITDMG%] >= 0 && [LOH] > 0 # [KEEP]
----------------------------------------------------------------------------------------------------------------
//Damage per second + Vitality + Socket
//Damage per second + Vitality + Life on hit
[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] > 1000 && [VIT] > 300 && [SOCKETS] > 0 # [KEEP]
[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] > 1000 && [VIT] > 300 && [LOH] > 500 # [KEEP]
----------------------------------------------------------------------------------------------------------------
//Damage per second + Highest class specific stat (str,int,dex) + socket
//Damage per second + Highest class specific stat (str,int,dex) + life on hit
[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] > 1000 && [MAXSTAT] > 300 && [SOCKETS] > 0 # [KEEP]
[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] > 1000 && [MAXSTAT] > 300 && [LOH] > 500 # [KEEP]
----------------------------------------------------------------------------------------------------------------
//Damage per second + Highest class specific stat (str,int,dex) + vitality
[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] > 1000 && [MAXSTATVIT] > 300 # [KEEP]
----------------------------------------------------------------------------------------------------------------
//Damage per second + Socket + life on hit
[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] > 1000 && [SOCKETS] > 0 && [LOH] > 1000 # [KEEP]
----------------------------------------------------------------------------------------------------------------
//Damage per second + Highest class specific stat (str,int,dex) + vitality + socket
[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] > 1000 && [MAXSTATVIT] > 500 && [SOCKETS] > 0 # [KEEP]
----------------------------------------------------------------------------------------------------------------

[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] > 1000 && [MAXSTATVIT] > 500 && [LOH] > 0 # [KEEP]
[QUALITY] == Legendary && [NAME] == Warmonger # [DPS] < 1300 # [TRASH]
 
you can make pattern for each item and adjust for your needs
 
I'm stashing items that are not matched by any rule. There are no entries for a matching rule in the log either, still they're being stashed. Any idea why? Are there other Trinity loot settings that have to be adjusted?
 
darkfriend77, can you make the rules do as following:

[KEEP] = KEEP
[TRASH] = TRASH
Rule match but no keep nor trash (i.e NULL) = trinity decides

??

as i understand currently anything with a rule matched that isn't TRASH is auto KEEP.
 
darkfriend77, can you make the rules do as following:

[KEEP] = KEEP
[TRASH] = TRASH
Rule match but no keep nor trash (i.e NULL) = trinity decides

??

as i understand currently anything with a rule matched that isn't TRASH is auto KEEP.

do like this
//this is to check stats you are looking for
[QUALITY] == Legendary && [NAME] == The Butcher's Sickle # [DPS] > 720 && [SOCKETS] > 0 && [LOH] > 300 # [KEEP]
//and this tells it to send item to trash it if code above didn't find what you were looking for
[QUALITY] == Legendary && [NAME] == The Butcher's Sickle # True # [TRASH]
 
Last edited:
how do I install this? When I go to the SVN there is no zip just the files. Do I need to download everything and recreate the directory structure?
 
do like this
//this is to check stats you are looking for
[QUALITY] == Legendary && [NAME] == The Butcher's Sickle # [DPS] > 720 && [SOCKETS] > 0 && [LOH] > 300 # [KEEP]
//and this tells it to send item to trash it if code above didn't find what you were looking for
[QUALITY] == Legendary && [NAME] == The Butcher's Sickle # True # [TRASH]

Not what i meant.
I want it like this:

[QUALITY] == Rare && [TYPE] == Chest # [DEXVIT] > 300 && [SOCKETS] > 2 # [KEEP]
[QUALITY] == Rare && [TYPE] == Chest # [DEXVIT] > 200 && [SOCKETS] > 1
[QUALITY] == Rare && [TYPE] == Chest # [1] == 1 # [TRASH]

i want line 1 to keep, line 2 to send to trinity for a decision, and anything that isn't matched is auto TRASHED
 
What giles item rule handling i must select with the new beta?

"use giles filters and scoring" or " use custom loot rules"
 
Thrown a donation your way, keep up the good work m8!
 
Last edited:
This is in the junklog with the new custom beta

Armor - Shoulders 'Vile Ward'. Score = 30579 {legendary item}
Dexterity=172. Life Regen=293. +All Resist=75. Armor=253

how is this possible?
 
This is in the junklog with the new custom beta

Armor - Shoulders 'Vile Ward'. Score = 30579 {legendary item}
Dexterity=172. Life Regen=293. +All Resist=75. Armor=253

how is this possible?

The legendary rules need work, they throw away a lot of good loot and should be disabled by default which they are not.
 
Back
Top