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

[Plugin] Giles Stash & Loot Rule Replacer

Urrr, probably, you'll have to tell me what for though, I don't like doing things blindly! And do you just mean a sort of global aggregate stat? And on what, ALL items picked up (actually bit hard since we don't see that til the identify in a town-run)... all items stashed? Sold/salvaged? Although actually it's going to be unreliable, as we still can't read a number of the weirder possible affixes, like if it increases damage of a specific class skill and all those sorts of things, and a few of the more "Normal" but generally ignored stats still aren't readable... so actually, now I think about it, that info would be pretty useless if you couldn't make it 100% reliable :P

It could be very useful for the people that use MF gear. I'm sure we'd understand much better what impact does MF have over the number of Affixes that roll on an item.
Maybe you can implement it for iLvl63 Rare items? An average of number of affixes? :D
 
[22:04:27.298 N] [GilesStashReplacer 1.9.7] No more space to pickup a 2-slot item, now running town-run routine.



hmm, my inv were full and went to stash things
saw it put a single slot item in stash and took out a set helm, dropped on ground
and walk towards vendor and start doing next area
 
Last edited:
I'd definitely appreciate such a list. If somebody can rule out all the "definites" - the legendaries that drop but are ALWAYS worthless (or worth less than 100k anyway) no matter what... etc., I'd like to incorporate that (those junk legendaries annoy me too :P). I think it'll have to be a specific blacklist, so when unknown legendaries come along (eg with a Diablo patch), they are auto-kept.
I started to work on such a list, but then the blue post on legendaries was released and it seems like it's not worth it at this point. Most of the legendaries will be reworked, so compiling a complete least at this point seems futile =)


Urrr, probably, you'll have to tell me what for though, I don't like doing things blindly! And do you just mean a sort of global aggregate stat? And on what, ALL items picked up (actually bit hard since we don't see that til the identify in a town-run)... all items stashed? Sold/salvaged? Although actually it's going to be unreliable, as we still can't read a number of the weirder possible affixes, like if it increases damage of a specific class skill and all those sorts of things, and a few of the more "Normal" but generally ignored stats still aren't readable... so actually, now I think about it, that info would be pretty useless if you couldn't make it 100% reliable :P

Itemstats would benefit greatly from expanding the stats you record and also making them permanent/flushable.

I really feel the lack of statistics to make my gearing decisions off.

Do I need more MF, or more combat stats?
Do I need MS or more MF OR combat stats?
Which profiles/locations net more rare per hour?

I don't know how many of the stats I would love to see are actually easy to pull but here is the somewhat list:
-average time spent in a location
-average champions killed in a location
-average deaths in a location
-average time fighting a champion pack?
-average rare+legendary drops per pack before 5 stacks
-average rare+legendary drops after 5 stacks
 
For the people who use a relog tool, could you guys tell me which one have you guys gotten to work with this plugin?

Thanks.
 
I have received this error twice now and it's making me lose connection. Anybody had a similar issue?

[GilesStashReplacer 1.9.6] GSError: Tried to interact with an item too many times in a row, blacklisting and attempting a forced town-run [CorePickup-3 Staff_norm_base_flippy_04-13681]

EDIT: I think this has something to do with lag actually. I just checked on the bot and it was struggling to pick an item up... Anyhow, I checked it manually and indeed it was lagging. Is anybody else experiencing a lot of lag at the moment?
 
Last edited:
[22:04:27.298 N] [GilesStashReplacer 1.9.7] No more space to pickup a 2-slot item, now running town-run routine.



hmm, my inv were full and went to stash things
saw it put a single slot item in stash and took out a set helm, dropped on ground
and walk towards vendor and start doing next area

I was also wondering if anybody else has found a 'set' item whilst this plugin has been active. The reason I ask is that I have found 15 or so legendaries, but not one set item... Seems kind of odd...
 
v1.9.7.1 uploaded:
-- Yet again removed any of DemonBuddy's internal itemtype checking as it still seems to be unreliable even with the latest DB.
-- Now logs (Diagnostics) any detection by the plugin of a possible item-type mis-read with a line like;
"GSDebug: Item Internal=trOut_OldTristramTombstoneDestructibleB-7029. DemonBuddy ItemType thinks item type is=CraftingPage. Giles thinks item type is=Unknown. This is *usually* a sign of DB mis-reading item data. [pickup]"
(DB was trying to pickup a tombstone... my item detection decided rightly that it wasn't an item)
These logs are so we can determine how safe or unsafe DB's itemtype reading is in future versions, and whether or not my own item-type detection is getting anything wrong.



I can only apologize to users of version 1.9.6 and 1.9.7 who experienced unusual pickup and stashing behaviors - since the latest DB was meant to fix a lot of the item-type misreadings, I was migrating code back to rely on DemonBuddy to determine itemtypes. Apparently this was a bad decision. 1.9.7.1 now goes back to relying on my own item-type recognition (only trying to utilize DemonBuddy in special fringe-cases for certain class-specifics that can't be identified by internalname alone), which should fix a lot of the oddities people have had with mis-stashing and large item pickup errors since 1.9.6.

Here's a few examples of DB mis-reading items (now protected by my plugin once again), and this is on the 1st run (so no issue of badly cached data, which was the supposed main cause of issues fixed in the last DB);

[GilesStashReplacer 1.9.7.1] GSDebug: Item Internal=trOut_OldTristramTombstoneDestructibleB-7029. DemonBuddy ItemType thinks item type is=CraftingPage. Giles thinks item type is=Unknown. This is *usually* a sign of DB mis-reading item data. [pickup]
[GilesStashReplacer 1.9.7.1] Blacklisting item: trOut_OldTristramTombstoneDestructibleB-7029 because of either D3 memory read error, invalid item type, or DB treating a random object as an item.
[GilesStashReplacer 1.9.7.1] GSDebug: Item Internal=HealthGlobe_02-10812. DemonBuddy ItemType thinks item type is=CraftingPage. Giles thinks item type is=Unknown. This is *usually* a sign of DB mis-reading item data. [pickup]
[GilesStashReplacer 1.9.7.1] Blacklisting item: HealthGlobe_02-10812 because it is a health-globe and shouldn't have a loot-attempt.


You can see DB would have tried looting a tombstone destructible item, and a healthglobe, as crafting pages - which could have caused odd problems.

[GilesStashReplacer 1.9.7.1] GSDebug: Item Internal=ceremonialDagger_norm_base_flippy_03-16100. DemonBuddy ItemType thinks item type is=Unknown. Giles thinks item type is=CeremonialDagger. This is *usually* a sign of DB mis-reading item data. [pickup]

And that's a case where DB would have ignored a real item because it thought it was an unknown item type - a sign DB can ignore actual items.

I am worried that DB is mis-reading other things too - like monsters, shrines etc. which could cause random issues fighting or generally botting. I can't say for sure, but I can't imagine this is limited strictly to reading item-types in DB?

If anyone wants to see other situations of item-type mis-reads, just open your full log file after running for a while with 1.9.7.1 and look for the text "GSDebug:" - and keep F3'ing to go down through your log-file for that phrase. (note that GSDebug: also crops up during a town-run just to show which stage of the town-run the bot is on).

[22:04:27.298 N] [GilesStashReplacer 1.9.7] No more space to pickup a 2-slot item, now running town-run routine.
hmm, my inv were full and went to stash things
saw it put a single slot item in stash and took out a set helm, dropped on ground
and walk towards vendor and start doing next area

Hi, please update to 1.9.7.1. I can only apologize for the error - I shouldn't have ever gone back to DemonBuddy itemtype reading. I just thought that they really had fixed these issues with the latest DemonBuddy update.
 
Last edited:
hey giles im having problem with gold pickup on ur "giles world object handler " .. i set it to "0" and it was working fine.. now it doesnt loot i dont know why
 
Dont know if this is a fluke just upgraded


Items dropped by quality:
- White: 132 [146.12 per hour] {53.23 %}
--- ilvl 51 White: 1 [1.11 per hour] {0.4 %}
--- ilvl 52 White: 1 [1.11 per hour] {0.4 %}
--- ilvl 53 White: 1 [1.11 per hour] {0.4 %}
--- ilvl 54 White: 1 [1.11 per hour] {0.4 %}
--- ilvl 55 White: 19 [21.03 per hour] {7.66 %}
--- ilvl 56 White: 3 [3.32 per hour] {1.21 %}
--- ilvl 57 White: 4 [4.43 per hour] {1.61 %}
--- ilvl 58 White: 18 [19.93 per hour] {7.26 %}
--- ilvl 59 White: 3 [3.32 per hour] {1.21 %}
--- ilvl 60 White: 23 [25.46 per hour] {9.27 %}
--- ilvl 61 White: 29 [32.1 per hour] {11.69 %}
--- ilvl 62 White: 23 [25.46 per hour] {9.27 %}
--- ilvl 63 White: 6 [6.64 per hour] {2.42 %}
- Magic: 62 [68.63 per hour] {25 %}
--- ilvl 52 Magic: 1 [1.11 per hour] {0.4 %}
--- ilvl 54 Magic: 1 [1.11 per hour] {0.4 %}
--- ilvl 55 Magic: 3 [3.32 per hour] {1.21 %}
--- ilvl 56 Magic: 4 [4.43 per hour] {1.61 %}
--- ilvl 57 Magic: 5 [5.53 per hour] {2.02 %}
--- ilvl 58 Magic: 13 [14.39 per hour] {5.24 %}
--- ilvl 59 Magic: 3 [3.32 per hour] {1.21 %}
--- ilvl 60 Magic: 12 [13.28 per hour] {4.84 %}
--- ilvl 61 Magic: 14 [15.5 per hour] {5.65 %}
--- ilvl 62 Magic: 5 [5.53 per hour] {2.02 %}
--- ilvl 63 Magic: 1 [1.11 per hour] {0.4 %}
- Rare: 53 [58.67 per hour] {21.37 %}
--- ilvl 52 Rare: 3 [3.32 per hour] {1.21 %}
--- ilvl 54 Rare: 1 [1.11 per hour] {0.4 %}
--- ilvl 55 Rare: 5 [5.53 per hour] {2.02 %}
--- ilvl 56 Rare: 2 [2.21 per hour] {0.81 %}
--- ilvl 57 Rare: 3 [3.32 per hour] {1.21 %}
--- ilvl 58 Rare: 15 [16.6 per hour] {6.05 %}
--- ilvl 59 Rare: 2 [2.21 per hour] {0.81 %}
--- ilvl 60 Rare: 6 [6.64 per hour] {2.42 %}
--- ilvl 61 Rare: 6 [6.64 per hour] {2.42 %}
--- ilvl 62 Rare: 8 [8.86 per hour] {3.23 %}
--- ilvl 63 Rare: 2 [2.21 per hour] {0.81 %}
- Legendary: 1 [1.11 per hour] {0.4 %}
--- ilvl 61 Legendary: 1 [1.11 per hour] {0.4 %}


but...

===== Item PICKUP Statistics =====
Items:
Total items picked up: 34 [37.64 per hour]
Item picked up by ilvl:
- ilvl60: 2 [2.21 per hour] {5.88 %}
- ilvl61: 17 [18.82 per hour] {50 %}
- ilvl62: 12 [13.28 per hour] {35.29 %}
- ilvl63: 3 [3.32 per hour] {8.82 %}

Items picked up by quality:
- Magic: 17 [18.82 per hour] {50 %}
--- ilvl 61 Magic: 12 [13.28 per hour] {35.29 %}
--- ilvl 62 Magic: 4 [4.43 per hour] {11.76 %}
--- ilvl 63 Magic: 1 [1.11 per hour] {2.94 %}
- Rare: 17 [18.82 per hour] {50 %}
--- ilvl 60 Rare: 2 [2.21 per hour] {5.88 %}
--- ilvl 61 Rare: 5 [5.53 per hour] {14.71 %}
--- ilvl 62 Rare: 8 [8.86 per hour] {23.53 %}
--- ilvl 63 Rare: 2 [2.21 per hour] {5.88 %}

No Legendary PICKUP...? also the pickups should match drops by ilvl... its missing 1 rare ilvl61 2 magic ilvl61 1 magic ilvl 62...is this DB or what this sucks! lol
 
Last edited:
another legendary just droppped while i was watching now its
DROP
- Legendary: 2 [2.03 per hour] {0.71 %}
--- ilvl 61 Legendary: 2 [2.03 per hour] {0.71 %}

PICKUP
- Legendary: 1 [1.02 per hour] {2.27 %}
--- ilvl 61 Legendary: 1 [1.02 per hour] {2.27 %}
 
[15:07:45.971 D] [GilesStashReplacer 1.9.7.1] GSError: Failed to reach item in time, blacklisting for 1m30s [took too long: Boots_norm_unique_051-3259]

[15:08:42.042 D] [GilesStashReplacer 1.9.7.1] GSError: Failed to reach item in time, blacklisting for 1m30s [took too long: chestArmor_norm_base_flippy-5544]

Had two or three of these for items, and quite a few for lorebooks (tomes im assuming)

[15:37:12.750 D] [GilesStashReplacer 1.9.7.1] GSError: Failed to reach item in time, blacklisting for 1m30s [took too long: Gloves_norm_base_flippy-24696]

[15:46:46.661 D] [GilesStashReplacer 1.9.7.1] GSError: Failed to reach item in time, blacklisting for 1m30s [took too long: Belt_norm_base_flippy-4895]

I am assuming these are the ones that i am missing from the drop to pickup....anyway to increase the failed to reach item in time IF in combat, or maybe have it set to 5 seconds, or maybe have it set to 5 seconds x 3 then if still cannot reach then 1 min?

o rmaybe have a check that if DROPPED items and PICKEDUP items don't match or something? i dont know lol

i think the blacklisting for items is coming on way to fast...i was about 7 yards away from an elite group, my companion killed it, so the bot lost aggro and went to continue on way point, I have leap for movement, it leaped away, I saw the items drop, still in screen, the bot went to go pick them up, it picked up ONE item, but already blacklisted the other item as [16:29:52.554 D] [GilesStashReplacer 1.9.7.1] GSError: Failed to reach item in time, blacklisting for 1m30s [took too long: chestArmor_norm_base_flippy-3616]...it was about 3-4 seconds IF that.....i think that is too fast to Blacklist, just IMHO
 
Last edited:
I am assuming these are the ones that i am missing from the drop to pickup....anyway to increase the failed to reach item in time IF in combat, or maybe have it set to 5 seconds, or maybe have it set to 5 seconds x 3 then if still cannot reach then 1 min?
o rmaybe have a check that if DROPPED items and PICKEDUP items don't match or something? i dont know lol

Those errors don't necessarily mean you actually failed to pick the item up. It can often be that the plugin looped so fast that DB still thought the item was on the ground after the 1st pickup loop and so it tries to pickup two or three times in a row. The same can be said for "reaching an item".

It doesn't try to pick an item up if in combat - so being "in-combat" won't affect how long it takes trying to loot - it'll only start trying to loot once out of combat. I can increase the time it waits a bit - but I'd only do that if you've watched it running straight towards an item and then "pop" suddenly it decided it took too long so turns back. I've never seen that myself - only seen it where items have dropped, the bot's been fighting and gone around a corner, and it can't reach the item once it finishes the fight anymore.

As for the legendary - that was probably a genuine failed pickup (eg Db couldn't "Interact" with or reach the item). It happens. It sucks, but it happens.

As for the stat mis-match - could be the above - but also be aware if you have item pickups set differently... eg if you are picking up ilvl 63 weapons, ilvl 62 armours, and ilvl 61 jewelry - if an ilvl 62 weapon drops, that will add +1 to the drop stats for ilvl 62 rares - but it won't be picked up since it wasn't of the required type.
 
Those errors don't necessarily mean you actually failed to pick the item up. It can often be that the plugin looped so fast that DB still thought the item was on the ground after the 1st pickup loop and so it tries to pickup two or three times in a row. The same can be said for "reaching an item".

It doesn't try to pick an item up if in combat - so being "in-combat" won't affect how long it takes trying to loot - it'll only start trying to loot once out of combat. I can increase the time it waits a bit - but I'd only do that if you've watched it running straight towards an item and then "pop" suddenly it decided it took too long so turns back. I've never seen that myself - only seen it where items have dropped, the bot's been fighting and gone around a corner, and it can't reach the item once it finishes the fight anymore.

As for the legendary - that was probably a genuine failed pickup (eg Db couldn't "Interact" with or reach the item). It happens. It sucks, but it happens.

As for the stat mis-match - could be the above - but also be aware if you have item pickups set differently... eg if you are picking up ilvl 63 weapons, ilvl 62 armours, and ilvl 61 jewelry - if an ilvl 62 weapon drops, that will add +1 to the drop stats for ilvl 62 rares - but it won't be picked up since it wasn't of the required type.


funny you JUST said that if it runs towards an item then decides NO...it literally JUST did that with my above example....

I have 61+ Rares Armor/Weapon and 52+ Rare Jewelry
and 61+ Magic Armor/Weapon and 59+ Magic Jewelry so 61/62/63 should match equal to equal....I haven't watched the bot in a while, just today and am noticing these issues, albeit small, just things i think could get some tweaking, and if I am being a anal retentive stiffler just let me know i will let it be...
 
I was also wondering if anybody else has found a 'set' item whilst this plugin has been active. The reason I ask is that I have found 15 or so legendaries, but not one set item... Seems kind of odd...

Forget what I said, I've just found a set item. :)
 
funny you JUST said that if it runs towards an item then decides NO...it literally JUST did that with my above example....
I have 61+ Rares Armor/Weapon and 52+ Rare Jewelry
and 61+ Magic Armor/Weapon and 59+ Magic Jewelry so 61/62/63 should match equal to equal....I haven't watched the bot in a while, just today and am noticing these issues, albeit small, just things i think could get some tweaking, and if I am being a anal retentive stiffler just let me know i will let it be...

Hehe no I'm very OCD aswell - I just hadn't seen it happen myself! I'm going to improve it's path-finding to objects a bit in the next release, but in the meantime a VERY quick and dirty fix (don't recommend this generally and this isn't what I'm doing next release) would be to increase the timeout - if you open the code and find this code;
Code:
            // Make sure we don't attempt this forever!
            iAttemptsToReachThisItem++;
            if (iAttemptsToReachThisItem >= 80)
            {
                Log("GSError: Failed to reach item in time, blacklisting for 1m30s [took too long: " + thisGilesDiaItem.ThisInternalName + "]", true);
                Blacklist.Add(thisGilesDiaItem.ThisRActorGuid, BlacklistFlags.Loot, TimeSpan.FromMinutes(1.5));
                return RunStatus.Failure;
            }

You can increase that 80 - try 150 or so. It's not a measurement of time - purely a measurement of code-loops. It's a quick and dirty fix for now, but it might do exactly what you need, let me know how you find that works for you! :D
 
Okay I have pinpointed a possibly break when this blacklisting tends to happen. One simple word: Shielding. When a mob has this, the aggro is broken MANY times due to the shielding, and if the mob "shields" we break away to find another target, if another target is "too far" we will get loot, as we go to get loot we will engage NEW enemy that is now in range, and thus loot will be blacklisted.....doesn't always happen but did just see it happen with a tome due to this....i have NOT increased your code loop change as of now trying to figure out when and how this happens
 
Okay I have pinpointed a possibly break when this blacklisting tends to happen. One simple word: Shielding. When a mob has this, the aggro is broken MANY times due to the shielding, and if the mob "shields" we break away to find another target, if another target is "too far" we will get loot, as we go to get loot we will engage NEW enemy that is now in range, and thus loot will be blacklisted.....doesn't always happen but did just see it happen with a tome due to this....i have NOT increased your code loop change as of now trying to figure out when and how this happens

Are you using EITHER monster priority changer, OR the new combat replacer plugin? (you can only use one, they aren't compatible with eachother)? Because either of those will handle shielded mobs "properly" - ie it won't ignore them - if there's no other mobs present, it'll keep attacking the shields until the shields drop, which should prevent this...? Default DemonBuddy/Belphegor I know will just ignore the mobs the moment they become shielded.
 
Are you using EITHER monster priority changer, OR the new combat replacer plugin? (you can only use one, they aren't compatible with eachother)? Because either of those will handle shielded mobs "properly" - ie it won't ignore them - if there's no other mobs present, it'll keep attacking the shields until the shields drop, which should prevent this...? Default DemonBuddy/Belphegor I know will just ignore the mobs the moment they become shielded.
if you are referring to DEnhancement, no i am NOT using that, just your monster priority changer, however, like i said, there ARE other mobs present, and bot will go after them, because the mobs are shielded, then go back to them when unshielded, what's happening is during this lose aggro gain aggro lose aggro, the bot TRIES to pick up loot (i have seen it pick it up if i am standing on it) but if i am not standing on it, it starts the black list timer, i believe, I will video record it next time I get a shielding to see if it does it...

also i think it may happen be contributing to the Avoidance as well, since when we are avoiding we arent in combat the bot goes to loot mode (I will test this theory i havent yet)
 
if you are referring to DEnhancement, no i am NOT using that, just your monster priority changer, however, like i said, there ARE other mobs present, and bot will go after them, because the mobs are shielded, then go back to them when unshielded, what's happening is during this lose aggro gain aggro lose aggro, the bot TRIES to pick up loot (i have seen it pick it up if i am standing on it) but if i am not standing on it, it starts the black list timer, i believe, I will video record it next time I get a shielding to see if it does it...
also i think it may happen be contributing to the Avoidance as well, since when we are avoiding we arent in combat the bot goes to loot mode (I will test this theory i havent yet)

I *think* I know what you mean now - and yes, I think DemonBuddy can actually call all the other behavior trees in those short-gaps between target changes (giving looting, path-finding, everything else a chance to kick in thinking there's no combat for about 1 loop before combat loop takes over again). This did cause me some headaches with stuff when I was first making stash replacer handle item pickups! Hmmmm... I'll have a think on this one!

Btw no didn't mean DBEnhancement - was referring to my new plugin, combat replacer! :D Came out tonight - but not compatible with monster priority changer (since it does it's own stuff that monster prio changer does). I suspect this error might not occur with my new combat plugin - hard to say without really testing it - but because of the nature of the combat replacer totally over-writing DB's combat behavior tree altogether, it might prevent the looting stuff ever getting a chance to loop while combat is happening. Don't quote me on that, but it could be worth a try (if you have a monk/barb and are willing to test out the first version :P).
 
Back
Top