I've manage after quite a long while to load the source files correctly and build a new dll + pdb file after modifying the following:
-Some of the Error msg commented that were added during testing for 30+ stash tabs.
-LControl outside of Inventory To Stash moved into same bracket as when it found item from inventory to place into X stash.
This is the part i changed in the code:
From
Code:
if (_dropItems.Count > 0)
{
var sortedByStash = (from itemResult in _dropItems
group itemResult by itemResult.StashIndex
into groupedDemoClass
select groupedDemoClass).ToDictionary(gdc => gdc.Key, gdc => gdc.ToList());
var latency = (int) GameController.Game.IngameState.CurLatency + Settings.ExtraDelay;
Keyboard.KeyDown(Keys.LControlKey);
Thread.Sleep(INPUT_DELAY);
foreach (var stashResults in sortedByStash)
{
if (!SwitchToTab(stashResults.Key))
{
continue;
}
foreach (var stashResult in stashResults.Value)
{
Mouse.SetCursorPosAndLeftClick(stashResult.ClickPos + _clickWindowOffset,
Settings.ExtraDelay);
Thread.Sleep(latency);
}
// QVIN's version of Hud doesn't support Subscription events, so we use reflection.
if (_callPluginEventMethod != null)
{
// We want to call all other plugins that are subscribed to "StashUpdate".
_callPluginEventMethod.Invoke(API, new object[] {"StashUpdate", new object[0]});
}
}
Keyboard.KeyUp(Keys.LControlKey);
}
To
Code:
if (_dropItems.Count > 0)
{
var sortedByStash = (from itemResult in _dropItems
group itemResult by itemResult.StashIndex
into groupedDemoClass
select groupedDemoClass).ToDictionary(gdc => gdc.Key, gdc => gdc.ToList());
var latency = (int) GameController.Game.IngameState.CurLatency + Settings.ExtraDelay;
foreach (var stashResults in sortedByStash)
{
if (!SwitchToTab(stashResults.Key))
{
continue;
}
foreach (var stashResult in stashResults.Value)
{
Keyboard.KeyDown(Keys.LControlKey);
Thread.Sleep(INPUT_DELAY);
Mouse.SetCursorPosAndLeftClick(stashResult.ClickPos + _clickWindowOffset,
Settings.ExtraDelay);
Thread.Sleep(latency);
Keyboard.KeyUp(Keys.LControlKey);
}
// QVIN's version of Hud doesn't support Subscription events, so we use reflection.
if (_callPluginEventMethod != null)
{
// We want to call all other plugins that are subscribed to "StashUpdate".
_callPluginEventMethod.Invoke(API, new object[] {"StashUpdate", new object[0]});
}
}
}
There was also an infinity Key LControl Down state that won't end until user try L/RControl in the latest version. I'm using slightly 1 version older before he added that support for POE TradeMacro.
With my change, it won't have issues with PoE TradeMacro, but
might still have issues with having Move To Stash plugin running at the same time.
Here is the download link for 2days, feel free to scan it or whatever you want.
ExpireBox | Stashie_modified.zip
Otherwise compile it yourself if you don't trust my
dll by doing what i did with the
StashieCore.cs
I'll take no credit for the code. All credit goes to the contributers who made this awesome Stashie plugin.
PS: I don't know if there is some sort of reason why the LControl key was outside of the If bracket. If there is an explanation,i would like to know. Perhaps i can learn something.