Comments (5)
I found the issue and have a temporary solution! The EnmityEntry
structure has wrong offset as Name
and ID
changes places. You can go to this line in the code with the following assignment
ID = (uint) MemoryHandler.Instance.GetPlatformInt(address, MemoryHandler.Instance.Structures.EnmityEntry.ID),
Name = MemoryHandler.Instance.GetString(address + MemoryHandler.Instance.Structures.EnmityEntry.Name),
and swap the offsets like this:
ID = (uint) MemoryHandler.Instance.GetPlatformInt(address, MemoryHandler.Instance.Structures.EnmityEntry.Name),
Name = MemoryHandler.Instance.GetString(address + MemoryHandler.Instance.Structures.EnmityEntry.ID),
This yields correct results in my case but it will break once the API gets fixed.
from sharlayan.
Just from your code I can't deduce any serious problems. There are basically two possible explanations I have in mind:
- The offsets haven't been updated for Patch 3.5. I am not sure whether the others have adjusted the offsets yet since there were some minor changes which shift a few values around thus giving you completely unrelated results and unexpected behavior. @Icehunter will surely be able to tell us whether he updated the API yet.
- An internal bug in the library. Assume the offsets are all up-to-date, it could be possible that the library is doing internally something wrong. I haven't used the enmity functions and haven't looked through the code yet, but here is an example of a similiar issue I had in my own project. There is structure which holds up to 344 units and doodads that are around the player. Although the structure is semi-sequential the entries at some spots are outdated, but not invalidated. I can definitely imagine something internally going wrong, especially combined with the change introduced with the new patch.
Anyways, let's wait on some feedback from @Icehunter. In the meantime I definitely suggest to debug the code and step into the library code to see where exactly the objects get corrupted or wrong data.
from sharlayan.
For future reference here is how I noticed this:
I debugged the library and noticed that the assignment of the name happens right here. The resulting name is of course wrong, but I created a breakpoint right after the assignment and extended the function GetString
right here with one line Debug.WriteLine(address.ToInt64().ToString("X"));
. I used Cheat Engine to look into the memory and saw the following:
The name that was displayed is the marked code in red which is a unit id, but the name is way before the id - thus I used hardcoded offsets and then noticed the value having swapped positions and not being "just" off.
from sharlayan.
You sir, are amazing. That did the trick, thank you so much.
from sharlayan.
Sorry for being such a pain, but I was wondering if you knew how to properly use the Reader.GetPartyMembers() method? Everytime I try and call it, it returns that I only have 1 (myself) in my party when performing a count on Reader.GetPartyMembers()?.PartyEntities , despite having multiple people (and/or pets) in my party.
from sharlayan.
Related Issues (20)
- Broken since patch HOT 6
- Collection of 64bit Offsets, Structures and Enums for Patch 3.5 HOT 4
- Enumeration.cs Error HOT 11
- 3.55a Offsets HOT 1
- Updated offset for ZONEINFO
- Feature Request for Data Reading bool
- PlayerEntity memory incorrect? HOT 5
- PlayerEntity does not have RDM and SAM. HOT 1
- NewNPC always contains Marketboard and Summoning Bell HOT 1
- Key name is wrong in Zones JSON HOT 1
- TargetID offset for ActorEntity
- Inventory information seems broken HOT 2
- How to get player position? HOT 1
- Read contents of crafting logs
- mousover target not working?
- Non existent JSONCacheDirectory silently fails json get from api
- Free Company chest 4 and 5 missing from enum
- A couple things broken with 6.1 patch HOT 2
- Patch 6.3, a couple offset changes HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sharlayan.