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

I had the problem in several of my own rules. Just check your .dis files, it's easy to see.
 
Any more specifics on that?

Also, which zip file should we be downloading?




I build my ItemRules on UnfiedTrinity ... check their changelog ..

Code:
Changelog
24/11/12
1.7.0.xx
-Switched to the new Community Trinity, created and developed by users hti, rrrix and ksmaze. This is the same as v0.45 except for a few changes made by those guys. And, of course, that huge GilesTrinity.cs file is now neatly split into various files to make it easier on developers and people who couldn't find a piece of code if their lives depended on it.
v0.45
-Added fix for HotA, by user Yellowspark
-Some tweaks to monk routines
22/11/12
v0.44
-Added bombastic's improved monk routines. Monk bots should work better now
-Added pi?ata SNO to resplendent chest SNOs, for those botting Whimsyshire
20/11/12
 
I had the problem in several of my own rules. Just check your .dis files, it's easy to see.

Why even have "# [KEEP]" for? It defaults "# [KEEP]" when it's left blank.

Edit: What are special items? I see this line:
[QUALITY] == Special # True # [KEEP]
 
Last edited:
That's what i got with both zips. Removed # [KEEP] from everywhere:

[09:10:56.713 D] Replaced hook [ProfileOrderBehavior_Hook] c0e8a979-5d37-481d-bcc0-86fec0c865a6
[09:10:56.858 D] System.FormatException: Входная строка имела неверный формат. means "Incoming string have wrong format"
в System.Number.ParseSingle(String value, NumberStyles options, NumberFormatInfo numfmt)
в System.Single.Parse(String s)
в GilesTrinity.ItemRules.Interpreter.checkExpression(String str1, String comparator, String str2, Boolean& checkFlag)
в GilesTrinity.ItemRules.Interpreter.checkTruth(String str, Boolean& checkFlag)
в GilesTrinity.ItemRules.Interpreter.checkTruth(String str, Boolean& checkFlag)
в GilesTrinity.ItemRules.Interpreter.interpret(String line, Boolean& checkFlag)
в GilesTrinity.ItemRules.Interpreter.checkItem(ACDItem item)
в GilesTrinity.GilesTrinity.ShouldWeStashThis(GilesCachedACDItem thisitem)
в GilesTrinity.GilesTrinity.GilesStashOverlord(Object ret)
в GilesTrinity.GilesTrinity.<GetStashDecorator>b__19(Object ctx)
в Zeta.TreeSharp.Decorator.CanRun(Object context)
в Zeta.TreeSharp.Decorator..()
в Zeta.TreeSharp.Composite.Tick(Object context)
в Zeta.TreeSharp.PrioritySelector..()
в Zeta.TreeSharp.Composite.Tick(Object context)
в Zeta.TreeSharp.Decorator..()
в Zeta.TreeSharp.Composite.Tick(Object context)
в Zeta.TreeSharp.PrioritySelector..()
в Zeta.TreeSharp.Composite.Tick(Object context)
в Zeta.Common.HookExecutor.Run(Object context)
в Zeta.TreeSharp.Action.RunAction(Object context)
в Zeta.TreeSharp.Action..()
в Zeta.TreeSharp.Composite.Tick(Object context)
в Zeta.TreeSharp.PrioritySelector..()
в Zeta.TreeSharp.Composite.Tick(Object context)
в Zeta.CommonBot.BotMain.()

And bot keep staying and cicling that damn items.
Upd.: It happens only if you have melee weapons in your inventory. Staves fine, crossbows and wands too.
 
Last edited:
Im still looping ...

I found these items where it loops...

1.webp 2.webp

These rules are guilty:

[QUALITY] == Rare && [TYPE] == FistWeapon # [DPS] > 800 && [DEXVIT] > 100 && [CRITDMG%] > 50 && [SOCKETS] > 0 && [WEAPAS] > 1.4
[QUALITY] == Rare && [TYPE] == MightyWeapon && [ONEHAND] == true # [DPS] > 800 && [STRVIT] > 100 && [CRITDMG%] > 50 && [SOCKETS] > 0 && [WEAPAS] > 1.4
[QUALITY] == Rare && [BASETYPE] == Weapon && [ONEHAND] == true # [DPS] > 700 && [CRITDMG%] > 50 && [SOCKETS] > 0 && [LOH] > 500 && [WEAPAS] > 1.4

I think [WEAPAS] is broken ... because when I deleted it from this rules it works
 
Last edited:
Im still looping ...

I found these items where it loops...

View attachment 70002View attachment 70003

These rules are guilty:

[QUALITY] == Rare && [TYPE] == FistWeapon # [DPS] > 800 && [DEXVIT] > 100 && [CRITDMG%] > 50 && [SOCKETS] > 0 && [WEAPAS] > 1.4
[QUALITY] == Rare && [TYPE] == MightyWeapon && [ONEHAND] == true # [DPS] > 800 && [STRVIT] > 100 && [CRITDMG%] > 50 && [SOCKETS] > 0 && [WEAPAS] > 1.4
[QUALITY] == Rare && [BASETYPE] == Weapon && [ONEHAND] == true # [DPS] > 700 && [CRITDMG%] > 50 && [SOCKETS] > 0 && [LOH] > 500 && [WEAPAS] > 1.4

I think [WEAPAS] is broken ... because when I deleted it from this rules it works

thx ... this will help me ... i gona dig into it ...
 
darkfriend77 can we please get a [TRINITY] tag?
a tag that will force it to send to trinity for decision?
 
darkfriend77 can we please get a [TRINITY] tag?
a tag that will force it to send to trinity for decision?


try this out quick implementation ...

in interpreter.cs

change

Code:
        public enum InterpreterAction { KEEP, TRASH, NULL };

to

Code:
        public enum InterpreterAction { KEEP, TRASH, IGNORE, NULL };

then use it like this ...

Code:
[QUALITY] == Rare && [TYPE] == Ring # [INT] > 100 # [IGNORE]

tell me if it is working ^^
 
You will get an email and darkfried77 will add you to the list of users.

I am a donator, but i am not quite sure whats the difference between TrinityCustom and the Community Version and the Beta Rules (3 Folders)

I want to have the newest Version - especially the newest (best) rules. Can you explain and or do some Documentation of the folder structure? Are the Rules all the same in the repository but only the plugin is different?
 
You will get an email and darkfried77 will add you to the list of users.

I am a donator, but i am not quite sure whats the difference between TrinityCustom and the Community Version and the Beta Rules (3 Folders)

I want to have the newest Version - especially the newest (best) rules. Can you explain and or do some Documentation of the folder structure? Are the Rules all the same in the repository but only the plugin is different?

.-) im working on a much better ... interpreter ... that will allow ... u to create much better rules ...

.. to have access to max values of an item
.. to have acces to functional values like [STR].has or [STR].max
.. addition and multiplication .... ([AS%] /2 + [CRIT%]*2) > 20
.. and on much more rules ...

as donators u will have it first ... .-) just a little patiance ..
 
// - Frostburn Gauntlets ------------------------------------------------------+
// Legendary Gloves
// 496?548 Armor
// Adds 5-6% to Cold Damage
// Cold skills deal 15-30% more damage.
// +216-240 Armor
// Health Globes and Potions Grant +3733-5977 Life.
// Increases Gold and Health Pickup by 7 Yards.
// Item Level: 62
[QUALITY] == Legendary && [NAME] == Gladiator Gauntlets # [COLDDMG%] > 5 && [ARMORTOT] > 750




// - Hierophant's Seal --------------------------------------------------------+
// Legendary Ring
// 191?215 Armor
// Attack Speed Increased by 6-7%
// +5-12% Damage to Demons
// +6-7% Life
// +191-215 Armor
// Regenerates 116-160 Life per Second
// +1 Random Magic Properties
// Item Level: 61
[QUALITY] == Legendary && [NAME] == Band of Hollow Whispers # [DMGFACTOR] > 7 || [MAXSTATVIT] > 50 || [ALLRES] > 40



darkfriend check legendary.dis
 
can you please choose better names for your donwloads, so that it is really clear waht the last version is
 
// - Frostburn Gauntlets ------------------------------------------------------+
// Legendary Gloves
// 496–548 Armor
// Adds 5-6% to Cold Damage
// Cold skills deal 15-30% more damage.
// +216-240 Armor
// Health Globes and Potions Grant +3733-5977 Life.
// Increases Gold and Health Pickup by 7 Yards.
// Item Level: 62
[QUALITY] == Legendary && [NAME] == Gladiator Gauntlets # [COLDDMG%] > 5 && [ARMORTOT] > 750




// - Hierophant's Seal --------------------------------------------------------+
// Legendary Ring
// 191–215 Armor
// Attack Speed Increased by 6-7%
// +5-12% Damage to Demons
// +6-7% Life
// +191-215 Armor
// Regenerates 116-160 Life per Second
// +1 Random Magic Properties
// Item Level: 61
[QUALITY] == Legendary && [NAME] == Band of Hollow Whispers # [DMGFACTOR] > 7 || [MAXSTATVIT] > 50 || [ALLRES] > 40



darkfriend check legendary.dis

thx

can you please choose better names for your donwloads, so that it is really clear waht the last version is

i will try
 
// - Echoing Fury -------------------------------------------------------------+
// Legendary Mace
// 687.5–1323.6 Damage Per Second
// (370-638)–(605-1187) Damage
// 1.41-1.45 Attacks per Second
// +112-296 Minimum Damage
// +149-391 Maximum Damage
// +36-40% Damage
// +0.21-0.25 Attacks per Second
// 10.0-20.0% Chance to Fear on Hit
// One of 3 Magic Properties (varies)
// +150-169 Intelligence
// +150-169 Dexterity
// +150-169 Strength
// +2 Random Magic Properties
// Item Level: 62
[QUALITY] == Legendary && [NAME] == Echoing Fury # [DPS] > 800 && [SOCKETS] > 0 && ([CRITDMG%] > 0 || [LOH] > 0)
[QUALITY] == Legendary && [NAME] == Echoing Fury # [DPS] > 900 && ([SOCKETS] > 0 || [CRITDMG%] > 0 || [LOH] > 0)
[QUALITY] == Legendary && [NAME] == Echoing Fury # [DPS] > 1000

this means it will thrash if the mace have 3life steal and socket?
 
seems to not match legendaries by Quality == legendary && type == armor
its keeping trash and the cleanup lines aren't trashing them!
 
Ok, this is strange. I haven't changed a thing, but two days ago my legendary rules just stopped working. I am using my own russian ones, they worked good before and now when I load plugin - I get this into the log folder. It can't read russian letters now and hence can't identify the legendaries, thus keeping trash. Haven't changed your plugin either. Still usgin 1.01a as before.

Code:
28112012214606: 1:[QUALITY]==Legendary&&[NAME]==�����������#[DPS]>800&&[SOCKETS]>0&&([LOH]>300||[STR]>100)
28112012214606: 2:[QUALITY]==Legendary&&[NAME]==�����������#[DPS]>870&&[SOCKETS]>0&&[MAXSTATVIT]>100
28112012214606: 3:[QUALITY]==Legendary&&[NAME]==�����������#[DPS]>900&&[SOCKETS]>0
28112012214607: 4:[QUALITY]==Legendary&&[NAME]==�����������#[DPS]>1100
28112012214607: 5:[QUALITY]==Legendary&&[NAME]==�����������#[1]==1#[TRASH]
28112012214607: 6:[QUALITY]==Legendary&&[NAME]==��������������������#[1]==1#[TRASH]
28112012214607: 7:[QUALITY]==Legendary&&[NAME]==������������������#[DPS]>1080&&([SOCKETS]>0||[CRITDMG%]>90||[LOH]>800)
28112012214607: 8:[QUALITY]==Legendary&&[NAME]==������������������#[1]==1#[TRASH]
28112012214607: 9:[QUALITY]==Legendary&&[NAME]==��������������#[DPS]>1020&&[ALLRES]==80&&[ARCONCRIT]==10
28112012214607: 10:[QUALITY]==Legendary&&[NAME]==��������������#[1]==1#[TRASH]
28112012214607: 11:[QUALITY]==Legendary&&[NAME]==��������#[DPS]>980&&[SOCKETS]>0&&([CRITDMG%]>80||[LOH]>800||[LS%]==3)
28112012214607: 12:[QUALITY]==Legendary&&[NAME]==��������#[1]==1#[TRASH]
28112012214607: 13:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>950&&([SOCKETS]>0||[CRITDMG%]>0||[LOH]>300||[LS%]>0)&&[MAXSTATVIT]>250
28112012214607: 14:[QUALITY]==Legendary&&[NAME]==���������������#[SOCKETS]>0&&[STR]>149&&([CRITDMG%]>0||[LOH]>300||[LS%]>0)
28112012214607: 15:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>870&&[SOCKETS]>0&&[LS%]>0
28112012214607: 16:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>870&&[STR]>149&&[CRITDMG%]>0&&[LS%]>0
28112012214607: 17:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>900&&[SOCKETS]>0&&[CRITDMG%]>0
28112012214607: 18:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>990&&[SOCKETS]>0&&[STR]>149
28112012214607: 19:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1000&&[STR]>149&&[CRITDMG%]>0&&[LOH]>300
28112012214607: 20:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1000&&[SOCKETS]>0&&[LOH]>300
28112012214607: 21:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1020&&[CRITDMG%]>0&&[LS%]>0
28112012214607: 22:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1100&&[SOCKETS]>0
28112012214607: 23:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1100&&[LS%]>0&&[LOH]>300
28112012214607: 24:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1100&&[CRITDMG%]>0&&[LOH]>300
28112012214607: 25:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1150&&[CRITDMG%]>0&&[STR]>149
28112012214607: 26:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1200&&[CRITDMG%]>0
28112012214607: 27:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1310
28112012214607: 28:[QUALITY]==Legendary&&[NAME]==���������������#[1]==1#[TRASH]
28112012214607: 29:[QUALITY]==Legendary&&[NAME]==���������������#[SOCKETS]>0&&[CRITDMG%]>0&&[STR]>150
28112012214607: 30:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>880&&[SOCKETS]>0&&([CRITDMG%]>0||[LS%]>0)
28112012214607: 31:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1000&&[SOCKETS]>0&&[STR]>150
28112012214607: 32:[QUALITY]==Legendary&&[NAME]==���������������#[DPS]>1050&&[SOCKETS]>0
28112012214607: 33:[QUALITY]==Legendary&&[NAME]==���������������#[1]==1#[TRASH]
28112012214607: 34:[QUALITY]==Legendary&&[NAME]==��������������#[DPS]>1000&&[SOCKETS]>0
28112012214607: 35:[QUALITY]==Legendary&&[NAME]==��������������#[DPS]>1050&&[CRITDMG%]>60
28112012214607: 36:[QUALITY]==Legendary&&[NAME]==��������������#[1]==1#[TRASH]
28112012214607: 37:[QUALITY]==Legendary&&[NAME]==�����������������#[1]==1#[TRASH]
28112012214607: 38:[QUALITY]==Legendary&&[NAME]==�����������#[1]==1#[TRASH]
28112012214607: 39:[QUALITY]==Legendary&&[NAME]==����������������#[1]==1#[TRASH]
28112012214607: 40:[QUALITY]==Legendary&&[NAME]==�����������#[DPS]>1050&&([SOCKETS]>0||[CRITDMG%]>80)
 
Back
Top