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

[Plugin] Giles Stash & Loot Rule Replacer

There's a few reasons it can miss items atm, and not a complete list but some things;
- Random DB burp (it happens in various places, from failing to read an item, to failing to "Interact" with one to pick it up).
- Item not within current "loot-radius" at a point in time that DB is not busy moving/fighting.
- Frozen/rooted right at the end of combat, and so stash replacer blacklists an item thinking you can't reach it rather than wait for you to get unrooted (something I can probably fix in a future update).

I wouldn't worry too much about it - if anything, those rare misses could well just be the stash replacer over-riding a situation where default Db would have crashed/failed/got stuck in a loop, there's all sorts of "safeties" throughout the plugin that check for memory mis-reads and item-handle-failings etc. and instead of crashing or getting stuck, it cleanly either blacklists the item and continues, or tries to do a town-run to see if it can fix itself.

I'm using .199 and 1.9.3 and I have seen it ignoring 60-63 rare rings even if the bot circles away it comes back to pick up the other rares + blues, but leaves ring behind this has happened like 4-5 times when I have been on computer.. Maby it gets blacklisted or something I don't know seems to pick up other items perfectly fine
 
I'm using .199 and 1.9.3 and I have seen it ignoring 60-63 rare rings even if the bot circles away it comes back to pick up the other rares + blues, but leaves ring behind this has happened like 4-5 times when I have been on computer.. Maby it gets blacklisted or something I don't know seems to pick up other items perfectly fine

You'll get these bugs a lot more frequently in any DB version older than the latest #204 version - it's a memory-reading problem with DemonBuddy<->Diablo 3 client, and caused because older versions of DB were screwing up their cached data between runs (or something along those lines)... new DB is supposed to fix it altogether, though the odd occurrence does still happen, just not anywhere near as frequently. Point number 1 I listed will most likely be the culprit. You can always check the full log for "blacklisting" messages around the point the ring first drops onwards, to see if it simply got blacklisted/bugged out though.
 
v1.9.6 uploaded:
-- Will now always repair whenever visiting the sale vendor, to reduce the amount of town-runs needed.
-- Initial attempts to prevent trying to town-run while in Zoltun Kulle's chamber (and if there is loot on the ground, it will ignore it to allow your bot to leave the chamber and then town-run).
-- Should no longer blacklist items on the ground it "can't reach" if your character is detected as frozen/stunned/rooted ("jailed" tag may not yet be working in DB).
-- Plugin will now STOP THE BOT if it tries to stash an item and finds your stash is full.
-- Plugin will now STOP THE BOT if you have less than 40,000 gold and need repairs when at the vendor, to prevent an infinite broken-gear-death loop or an infinite town-run-loop.

^^ Really this update is all about trying to implement more safety for people, to prevent those awkward situations that can cause issues.
 
Last edited:
I am having problems getting this plugin to work with DB version 1.99. I have created a plugins folder and extracted all 3 of your plugins to that folder, but only Monster Priority Changer is loading up. I receive errors for the rest which I've pasted below.

Compiler Error: c:\Users\Wez\Desktop\DB.199\Plugins\GilesStashReplacer\GilesStashReplacer.cs(793,20) : error CS0246: The type or namespace name 'FollowerType' could not be found (are you missing a using directive or an assembly reference?)
[16:45:21.920 N] Compiler Error: c:\Users\Wez\Desktop\DB.199\Plugins\GilesStashReplacer\GilesStashReplacer.cs(796,71) : error CS0246: The type or namespace name 'FollowerType' could not be found (are you missing a using directive or an assembly reference?)
[16:45:21.920 N] Compiler Error: c:\Users\Wez\Desktop\DB.199\Plugins\GilesStashReplacer\GilesStashReplacer.cs(894,133) : error CS0246: The type or namespace name 'FollowerType' could not be found (are you missing a using directive or an assembly reference?)
[16:45:21.920 N] Compiler Error: c:\Users\Wez\Desktop\DB.199\Plugins\GilesStashReplacer\GilesStashReplacer.cs(1092,171) : error CS0246: The type or namespace name 'FollowerType' could not be found (are you missing a using directive or an assembly reference?)
[16:45:21.920 N] Compiler Error: c:\Users\Wez\Desktop\DB.199\Plugins\GilesStashReplacer\GilesStashReplacer.cs(1127,174) : error CS0246: The type or namespace name 'FollowerType' could not be found (are you missing a using directive or an assembly reference?)
[16:45:21.920 N] Compiler Error: c:\Users\Wez\Desktop\DB.199\Plugins\GilesStashReplacer\GilesStashReplacer.cs(1173,52) : error CS0246: The type or namespace name 'FollowerType' could not be found (are you missing a using directive or an assembly reference?)
[16:45:21.920 N] Compiler Error: c:\Users\Wez\Desktop\DB.199\Plugins\GilesStashReplacer\GilesStashReplacer.cs(894,163) : error CS0103: The name 'FollowerType' does not exist in the current context
 
v1.9.6 uploaded:
-- Will now always repair whenever visiting the sale vendor, to reduce the amount of town-runs needed.
-- Initial attempts to prevent trying to town-run while in Zoltun Kulle's chamber (and if there is loot on the ground, it will ignore it to allow your bot to leave the chamber and then town-run).
-- Should no longer blacklist items on the ground it "can't reach" if your character is detected as frozen/stunned/rooted ("jailed" tag may not yet be working in DB).
-- Plugin will now STOP THE BOT if it tries to stash an item and finds your stash is full.
-- Plugin will now STOP THE BOT if you have less than 40,000 gold and need repairs when at the vendor, to prevent an infinite broken-gear-death loop or an infinite town-run-loop.

^^ Really this update is all about trying to implement more safety for people, to prevent those awkward situations that can cause issues.


Huge update. The auto repair and ZK fix is really top notch. Appreciate the work
 
I am having problems getting this plugin to work with DB version 1.99. I have created a plugins folder and extracted all 3 of your plugins to that folder, but only Monster Priority Changer is loading up. I receive errors for the rest which I've pasted below.

The big red "Important" note just above the actual attachments probably holds the key to your errors ;)

Important:
v1.9.4+ requires DemonBuddy #204+ (08th August DB release). Use 1.9.3 if you use any earlier DemonBuddy version.

Only the new DB has solved (most) of the memory read problems and has support for all the follower-types added from 1.9.4+
 
The big red "Important" note just above the actual attachments probably holds the key to your errors ;)



Only the new DB has solved (most) of the memory read problems and has support for all the follower-types added from 1.9.4+

Hehe, I was reading the compatibility section so not a wonder I didn't see it. :) I've managed to install the plugin now, but it is leaving a lot of high level items behind. I take it that's down to the memory read problems of DB you mentioned?
 
Hehe, I was reading the compatibility section so not a wonder I didn't see it. :) I've managed to install the plugin now, but it is leaving a lot of high level items behind. I take it that's down to the memory read problems of DB you mentioned?

Are you using the latest version of DB and the plugin, and got everything on a fresh install etc. etc. yadda-yadda? What I like to do to test the plugin is set all the pickup filters to level 52 (so level 52 for blue and yellow for all three item types) - so it should pick up "everything" (with the exception of follower items which it'll only pickup 60+ yellows of). That's quite a good way to monitor how often it's ignoring items (or not).

Otherwise it's easy to forget that it's only picking up 63+ yellow weapons and say 62+ yellow armors so when you see a yellow 61 item ignored you can easily think "ZOMG IT IGNORED ONE!" when actually it was a weapon/armor so not matching your pickup filters.

Also worth checking the logfiles around the time it ignores any items, just to see if it looks like it's wrongly blacklisting that item.
 
sorry for bother you.
but cloud you please add some option to make db auto stop and start at the beginning of profile?

because this fix problem with incompatibility for gile stash replacer and another relogger


because i have to manual click stop then click start every time i start diablo and db

if i dont do this your plugin won't be load properly.


and thank for great plugin.
 
sorry for bother you.
but cloud you please add some option to make db auto stop and start at the beginning of profile?
because this fix problem with incompatibility for gile stash replacer and another relogger
because i have to manual click stop then click start every time i start diablo and db
if i dont do this your plugin won't be load properly.
and thank for great plugin.

Any issues with plugin loading are a fault with DemonBuddy. Check (and bump!) this thread here;
[url]http://www.thebuddyforum.com/demonbuddy-forum/developers/64988-request-plugin-compile-initialize-before-start-login.html[/url]
It's an issue they need to fix, so that plugins are always actually ready-to-run.
 
Any issues with plugin loading are a fault with DemonBuddy. Check (and bump!) this thread here;
[url]http://www.thebuddyforum.com/demonbuddy-forum/developers/64988-request-plugin-compile-initialize-before-start-login.html[/url]
It's an issue they need to fix, so that plugins are always actually ready-to-run.


Hey giles as you know I tried to tell you before when I just got out of bed but actually failed a bit .. :)
I have been testing with a temp fix for your plugin for a while now and it seems to be working when launched with the autostart commandline argument

Code:
public void OnEnabled()
        {
            if (!Directory.Exists(pluginPath))
            {
                Log("Fatal Error - cannot enable plugin. Invalid path: " + pluginPath);
                Log("Please check you have installed the plugin to the correct location, and then restart DemonBuddy and re-enable the plugin.");
                Log(@"Plugin should be installed to \<DemonBuddyFolder>\Plugins\GilesStashReplacer\");
            }
            else
            {
                LoadConfiguration();
                Log("****************************");
                Log("Locked and Loaded!");
                Log("DB's item handling now replaced");
                Log("****************************");
                Zeta.CommonBot.BotMain.OnStart += HandleBotStart;
                Zeta.CommonBot.BotMain.OnStop += HandleBotStop;
                Zeta.CommonBot.GameEvents.OnGameJoined += OnJoinGame;
                Zeta.CommonBot.GameEvents.OnGameLeft += OnLeaveGame;
				
				// Check if bot is already running
				if (BotMain.IsRunning)
				{
					HandleBotStart(null);
					
					if (ZetaDia.IsInGame)
						OnJoinGame(null, null);
				}
            }
        }
 
Anyway have a work around for missing item drops? As the bot always prioritizes killing before Looting, a fair amount of loot is actually missed from time to time from what I've observed.

I know that straight up prioritizing it would cause stucks, but any way to cache item drop locations so it would be next thing the bots runs to do, (i.e. to the drop's location) rather than continuing on with standard waypoint locations.
 
Anyway have a work around for missing item drops? As the bot always prioritizes killing before Looting, a fair amount of loot is actually missed from time to time from what I've observed.

I know that straight up prioritizing it would cause stucks, but any way to cache item drop locations so it would be next thing the bots runs to do, (i.e. to the drop's location) rather than continuing on with standard waypoint locations.

That's not an issue with Giles plugin BTW, it's DB. I get the feeling that the bot starts running away too fast once the elite is dead, don't you agree? If it stuck around half a second it would atleast not run outside of the loot range before it drops. I'm gonna see if I can make a function for belphegor that makes you stop once the last elite in range is dead and see if that helps. Won't help with fetching the random rares/legendaries/plans that drop off of trash, but it's something.
 
How do you make it where it does the townrun when it detect only 4 spaces left compared to only 2 spaces left. Had some instances where if backpack was full, the original DB townrun kicks in first, and it does it's own thing and run to it's own NPC/vendor. With the option to change it to 4, this plugin will kick in before DB does.
 
Any issues with plugin loading are a fault with DemonBuddy. Check (and bump!) this thread here;
[url]http://www.thebuddyforum.com/demonbuddy-forum/developers/64988-request-plugin-compile-initialize-before-start-login.html[/url]
It's an issue they need to fix, so that plugins are always actually ready-to-run.


i already fixed this

by using this script make by sinterlkaas
http://www.thebuddyforum.com/demonbuddy-forum/63473-request-db-stop-starter.html

it's just push stop and start and problem were gone.
 
How do you make it where it does the townrun when it detect only 4 spaces left compared to only 2 spaces left. Had some instances where if backpack was full, the original DB townrun kicks in first, and it does it's own thing and run to it's own NPC/vendor. With the option to change it to 4, this plugin will kick in before DB does.

Hi, if you have installed and loaded the plugin correctly - then it actually *replaces* DB's own town-run code, rather than simply competes with it. It's as if DB's town-run code doesn't even exist anymore. So there's no chance of DB's town-run code "beating" mine, so no need to try and make mine go "earlier" - I do this by replacing parts of DemonBuddy's core behavior tree and over-riding what functions get called, and when they get called, for all the town-run, item looting, and decision-making on looting/town-running (mine can actually go later than default DB did, cos it actually waits until you literally can't fit another 2-square item in your pack, DB would town-run based on "only 2 squares left" even if those 2 squares were together and could fit another item).
 
Hi, if you have installed and loaded the plugin correctly - then it actually *replaces* DB's own town-run code, rather than simply competes with it. It's as if DB's town-run code doesn't even exist anymore. So there's no chance of DB's town-run code "beating" mine, so no need to try and make mine go "earlier" - I do this by replacing parts of DemonBuddy's core behavior tree and over-riding what functions get called, and when they get called, for all the town-run, item looting, and decision-making on looting/town-running (mine can actually go later than default DB did, cos it actually waits until you literally can't fit another 2-square item in your pack, DB would town-run based on "only 2 squares left" even if those 2 squares were together and could fit another item).

I also use GilesWorldObjects and GilesEquipper and have DisableLootRules=False on GilesWorldObjects and on GilesStashReplacer to use my custom loot rules to pick up all magic+ items for my level up bot. With those settings, for example, sometimes my early act 1 quest if backpack is full, it doesn't always go to the miner for vending. Instead it goes to the west vendor which is blocked on early quests. So I'm assuming it used DB's townrun because I didn't see your message on the log when it detects backpack is full. Sometimes I see your backpack full message and sometimes I don't, which is why I'm confused.
 
how do i turn off gold pickup? running goblin hunter and its kinda killin my goblin findin :(
 
That's not an issue with Giles plugin BTW, it's DB. I get the feeling that the bot starts running away too fast once the elite is dead, don't you agree? If it stuck around half a second it would atleast not run outside of the loot range before it drops. I'm gonna see if I can make a function for belphegor that makes you stop once the last elite in range is dead and see if that helps. Won't help with fetching the random rares/legendaries/plans that drop off of trash, but it's something.
I'm not implying that it's the plugin, but the plugin was meant to improve on DB's pitfalls haha.

It's sometimes not even when an elite is killed and it runs away too fast, sometimes it could be that upon killing one elite, another elite was agroed before the first elite was killed, dragging the character like all the way across the map.

Without a "task" to that tells to bot to revisit the area that the elite died, it would be problematic even with pauses after elite kills :)
 
Giles is it possible to have an option NOT to auto save all legendary items?
basically if they are lv 59+ just salvage them if they are crap (mats worth alot) under that just sell.
i just get my stash full of crap legendary items :p frustrating
 
Back
Top