-
Contributor
Originally Posted by
zaafar
actually there is, suppose you are using inventory "chaos reciepy" to store all your chaos reciepy items....now u lookup to see all inventories containing chaos reciepy as title, and u get 2-3. now u can use a for loop and if 1 is full, u can use other one, and so on...
hope that make any sense.
so in this way, a plugin developer can decide if he only want to use 1st one, if he want to use 2nd when first is full or if he randomly select 1 of the both.
I think we don't need to make this confusing function at all. Let plug programmer decide how to release it. He has all requed data to do that function himself.
Btw stash tabs should be received by index.
-
Originally Posted by
Stridemann
I think we don't need to make this confusing function at all. Let plug programmer decide how to release it. He has all requed data to do that function himself.
Btw stash tabs should be received by index.
Well, if we don't provide that function then the person need to save stash name <-> stash index correlation.
and if we provide that function then the person have to deal with the issue of having 2 stashes with same name.
so both methods comes with their own confusions/drawback. 
one function that I would like to see is
bool isVisible(int index)
or
bool isVisible(string stashname)
currently plugin programmer have to deal with it by doing something like stash_element_variable.asObject<Element>().isVisisble().
EDIT: wait, that would be done in this class "public class Inventory : RemoteMemoryObject" we need isVisible thingy
EDIT2: oh i remember, u can do it with this
inventory.InventoryRootElement.isVisible
EDIT3: it should be InventoryUiElement, i don't remember why i named it that.
Last edited by GameHelper; 06-18-2017 at 01:27 PM.
If I did not reply to you, it mean the question you are asking is stupid.
-
Contributor
In this moment I'm working with this stash classes and one thing I would like to have- Inventory have its own property- int StashIndex. I'm not sure this value can be found as some simple offset inside Inventory, so I think we should iterate again to find it.
and I think the most better way is something like:
Code:
var invParentAddr = Inventory.Parent.Parent.Address;
for(int i ..... i<StashInventoryPanel.ChildCount
{
if(StashInventoryPanel.Children[i].Address == invParentAddr)
return i;
}
return -1;
so its better than:
Code:
if(StashInventoryPanel.Children[i].Children[0].Children[0] == ...
Edit:
this one is better I think (we skip offsets GameController.Game.IngameState.ServerData.StashPanel):
Code:
var invParent= Inventory.Parent.Parent;
var invParentAddr = invParent.Address;
var stashInventoryPanel = invParent.Parent;
for(int i ..... i<stashInventoryPanel .ChildCount
{
if(stashInventoryPanel .Children[i].Address == invParentAddr)
return i;
}
return -1;
Last edited by Stridemann; 06-18-2017 at 02:04 PM.
-
think twice before changing Inventory class. ( public class Inventory : RemoteMemoryObject )
Thing about that class is that, it's a generic class used by following things. So make sure u check them all.
1: Player inventory ( public Inventory this[InventoryIndex k] )
2: Player slots ( such as flask slot, helm, body slots etc etc )
3: Normal Stash Inventory
4: Currency, essence, div stash inventory.
If I did not reply to you, it mean the question you are asking is stupid.
-
Contributor
Originally Posted by
zaafar
think twice before changing Inventory class. ( public class Inventory : RemoteMemoryObject )
Thing about that class is that, it's a generic class used by following things. So make sure u check them all.
1: Player inventory ( public Inventory this[InventoryIndex k] )
2: Player slots ( such as flask slot, helm, body slots etc etc )
3: Normal Stash Inventory
4: Currency, essence, div stash inventory.
I'm not changing, just thinking about to add new function I wrote upper.
-
Member
dropped @tehcheat a donation, just gotta say thanks to all of you who work on hud and the plugins for the amazing work, you seriously turned a game i would have quit years ago into an awesome, fun experience. I dont know about other people but for me, no hud and plugins equals no poe, so thanks a million for making that happen for me, you guys are legends
-
Post Thanks / Like - 4 Thanks
-
Member
can somebody send me a link to there copy of the 2.6 POEhud with the flask manager working i cant get it to work just keeps giving method exceptions and crap.
-
Contributor
Poehud with flask manager plugin works fine, I've just download both and test this.
-
Active Member
It's nice that new things are getting added to the hud, but caution should be showed to not add offsets that doesn't work on all platforms.
getAllStashNames()
Tested on laptop (Win10, 2.6.2 Poe x64 steam version) - Worked.
Tested on desktop (Win10, 2.6.2 Poe x64 steam version) - Didn't work.
Tested on Treasure's desktop - Didn't work.
Tested on Zafaar's machine (steam and non - steam) - Worked.
Not sure what's causing the issue here, I tried re-installing PoE to no avail.
Tried some of the new Elements that got added, none of them worked for me.
Why's this a problem?
Plugin developers that are not up-to-date on which off-sets that are causing problems on some versions, could potentially break their plugin.
What's my proposal to fixing this?
Every time new offsets are added to PoeHud, have a small sample plugin that X people test before it gets added.
This could be done by having a dev branch for each of the master branches (master, x64, .. and so on) where review is required when merging from /dev to the respective master branch.
Pros:
Only working code gets added to PoeHud.
Cons:
Review process.
-
That's a very weird offset....normally when thing work on my laptop ( stream + non stream ), it works everywhere...
Running plugins along with poehud to test offsets is not very useful.
Because if offset works on my computer, all plugins will work on my computer...
So running plugin won't tell me anything new/different.
Last edited by GameHelper; 06-19-2017 at 06:28 AM.
If I did not reply to you, it mean the question you are asking is stupid.
-
Contributor
Also I think we need to make some functions/api to work with stash tabs(I'm talking about GoToTab(int index) ).
There are 3 plugins that use this functionality: MoveToStash, Stashie and FullRareSetManager.
MoveToStash use shitty left\right arrows navigation.
Stashie got permanent freeze on activating. I think on this line of code:
Stashie/Core.cs at master * nymann/Stashie * GitHub
Code:
while (!element.IsVisible)// <-
{
Thread.Sleep(WhileDelay);
}
It missclick StashList button and can't get out from cycle.
One more though why: not considering the GameController.Window.GetWindowRectangle(); while mouse clicking (I didn't saw the mouse click code) (some players played on windowed, but the other in windowed fullscreen, so the position of screen can be different). I also try the IndexVersion too.
And my version FullRareSetManager:
PoeHUD_FullRareSetManager/DropAllToInventory.cs at master * Stridemann/PoeHUD_FullRareSetManager * GitHub
I take this function from stashie, cut off some useless code. My version has shitty check of opened stash (I will fix that today), but it open stash tabs fine (at least on my computer)).
Last edited by Stridemann; 06-19-2017 at 07:01 AM.
-
Post Thanks / Like - 1 Thanks
toadskin (1 members gave Thanks to Stridemann for this useful post)
-
I don't think we can incorporate any thing more in poehud related to stash tabs such as clicking or gototab as it will be consider automation and lies in the category of bots, so this is all we got
If I did not reply to you, it mean the question you are asking is stupid.
-
Contributor
Originally Posted by
zaafar
I don't think we can incorporate any thing more in poehud related to stash tabs such as clicking or gototab as it will be consider automation and lies in the category of bots, so this is all we got

I don't said that we should place it to PoeHud
Just in some external lib/project.
-
Originally Posted by
Stridemann
I don't said that we should place it to PoeHud

Just in some external lib/project.
That would be nice!
If I did not reply to you, it mean the question you are asking is stupid.
-
Active Member
Originally Posted by
Stridemann
Also I think we need to make some functions/api to work with stash tabs(I'm talking about GoToTab(int index) ).
There are 3 plugins that use this functionality: MoveToStash, Stashie and FullRareSetManager.
MoveToStash use shitty left\right arrows navigation.
Stashie got permanent freeze on activating. I think on this line of code:
Stashie/Core.cs at master * nymann/Stashie * GitHub
Code:
while (!element.IsVisible)// <-
{
Thread.Sleep(WhileDelay);
}
It missclick StashList button and can't get out from cycle.
One more though why: not considering the GameController.Window.GetWindowRectangle(); while mouse clicking (I didn't saw the mouse click code) (some players played on windowed, but the other in windowed fullscreen, so the position of screen can be different). I also try the IndexVersion too.
And my version FullRareSetManager:
PoeHUD_FullRareSetManager/DropAllToInventory.cs at master * Stridemann/PoeHUD_FullRareSetManager * GitHub
I take this function from stashie, cut off some useless code. My version has shitty check of opened stash (I will fix that today), but it open stash tabs fine (at least on my computer)).
I use the user32.dll wrapper InputSimulator which doesn't consider Mouse Settings, so if your mouse settings are different than windows sensivity 6/11 or you have Enhanced Pointer Precision, it won't work. The freezing is down to the way I get the dropDownList element. I access it via a "index path" of open left panel, but there seem to be two different paths, hence why I have the UI option to toggle the lesser common path.
Tl;Dr if it freezes and you have correct mouse settings, then toggle the bottom UI option.