Seems like some offsets were broken with the newest update. Healthbars do not work at all and flasks are used in hideout, but not in the map.
Seems like some offsets were broken with the newest update. Healthbars do not work at all and flasks are used in hideout, but not in the map.
My added plugins that worked when I added them will randomly stop working and I'll need to reinstall the program and readd them to work again until they stop, then repeat. You heard of this issue before? Thanks!
Strange, I've tried clean installation of HUD before posting here and was sure that it was problem with offsets (since the problem occurred after the last update). I guess it's on my end then...
The log window displays "Listing Plugins failed!" and "Object reference not set to an instance of an object".
Last edited by Senotin; 01-21-2021 at 04:47 PM. Reason: additional info
Sorry for distracting you with my stupid questions again^^
I do not use PoeHelper at all, but only some of the offsets that you kindly replicate and support. And I try to find them on my own.
Now I have installed PoeHelper and your terrain plugin and I see that the IngameDataOffsets->Terrain->LayerMelee is correct, but....
As a reference for learning/finding all stuff about the terrain I used that post:
https://www.ownedcore.com/forums/mmo...ta-memory.html (Finding map data in memory)
map coords tiles are 23 x 23 - so:
NumRows * BytesPerRow * 23 = LayerMelee data byte size
For Lioneye's Watch (13) we have:
18 * 345 * 23 = 142830 correct
19 * 345 * 23 != 142830 NOt correct
so Current offsets of your TerrainData.NumRows structures lead to an implicit value 19 instead 18
and it's all
TerrainData_3.13.jpg
So correct offsets is
Code:[StructLayout(LayoutKind.Explicit, Pack = 1)] public struct IngameDataOffsets { [FieldOffset(0x78)] public long CurrentArea; [FieldOffset(0x90)] public byte CurrentAreaLevel; [FieldOffset(0xF4)] public uint CurrentAreaHash; [FieldOffset(0xF8)] public NativePtrArray MapStats; [FieldOffset(0x228)] public long self_pointer_for_check; [FieldOffset(0x438)] public long LocalPlayer; [FieldOffset(0x11C)] public long LabDataPtr; [FieldOffset(0x4C0)] public long EntityList; [FieldOffset(0x4C8)] public long EntitiesCount; [FieldOffset(0x660)] public long Cols; [FieldOffset(0x6D8)] public long Rows; [FieldOffset(0x720)] public NativePtrArray LayerMelee; [FieldOffset(0x738)] public NativePtrArray LayerRanged; [FieldOffset(0x750)] public int BytesPerRow; }
Last edited by GameAssist; 01-21-2021 at 04:56 PM.
You're right in context of the game, but you're wrong in context to how ExileAPI does things
From a general perspective, the actual issue in ExileAPI is that the following offset is wrong:It should beCode:[FieldOffset(0x670)] public TerrainData Terrain;0x648 is the actual start of the struct boundary for terrain data in the client currentlyCode:[FieldOffset(0x648)] public TerrainData Terrain;
That would then lead to NumCols = 0x648 + 0x18 = 0x660, which also matches what you've come up with
This is easily verifiable by setting a HWBP on the vector start pointer for LayerMelee and clicking on the ground to move: Screenshot - d63dcd48f22f426ddaed9bda040e55eb - Gyazo (dump 1 is relative to start of what I call LocalData of course)
Remember, the client has the final say as to what is actually "right" or "wrong" based on what it does, so when I say "wrong", it doesn't mean it won't work or I don't think you should do it, but rather it just doesn't match what the client is doing. You don't have to write an API that exactly mirrors the client like I try to
However, the code for the terrain plugin, and possibly other code that ExileAPI is using, is operating under the assumption rows/cols has to be modified (Terrain/TerrainCore.cs at master . mm3141/Terrain . GitHub
As you see, the "off-by-one" error of the API is corrected, so everything "works" in ExileAPI, but won't work when you try to use it in your own code_numCols = (int) (terrain.NumCols-1) * 23;
_numRows = (int) (terrain.NumRows-1) * 23;
if ((_numCols & 1) > 0)
_numCols++;
Hope that clears up the issue as to why ExileAPI "works" despite not matching what the client does
I remember there being a DPS meter available some many expansions ago. Is that still around?
Thanks for your clarifications = I always read your posts with great pleasure.
I feel that it's time for me to move on to mastering x64dbg in order to have a more organized discussion.
while I have not installed it yet and will manage with Cheat Engine, and what I see in your picture terrifies me
anyway
terrain.NumCols-1 in my opinion can only be considered as "quick'n'dirty, temporary solution"
Last edited by GameAssist; 01-21-2021 at 07:32 PM.
anyway
terrain.NumCols-1 in my opinion can only be considered as "quick'n'dirty, temporary solution"[/QUOTE]
It is, done two, three hours after first release of 3.13. If you want it fixed, please prepare tested PRs, I am sure Queuete will accept them.
Is the Passive Skill Tree planter working for you guys? It just doesnt draw for me
Does someone know the terrain height data? I am looking for this for a long time in memory, have no idea. I studied the data around the terrain and analyzed it in x64dbg, but no results.
I think it's about "Weapon DPS" option from extras plugin AdvancedTooltip (from here).
This plugin fully not working in the latest release.
It was very useful.
Is it possible to fix it?
is there a plugin to help with delve at the moment? i remember there was one that showed delve walls ..
Looking for working versions:
- Map Notifier
- Inventory Item Analyser
- Advanced Tooltips
I've tried some repos but with no effect. No additional info is presented.
Alternative: how to debug where is the problem?
You should take a look at the link to illium's plugin repository in the first post: ExileApi/Plugins/Source at master . IlliumIv/ExileApi . GitHub
DelveWalls is definitly included in there.
"tried some repos" is not something we can work with. If you want help you should describe a bit more extensivly what you have tried and what the result was. This includes the log with error/debug messages when the load of a plugin fails. The posted link is probably relevant for you aswell.