Can anyone enlighten me on decoding entity names. I've looked at GW2browser but I don't see anything in the dats relating to entity names at all. Is there an easier way to do this? I'm a C# programmer fyi.
Cheers guys.
Can anyone enlighten me on decoding entity names. I've looked at GW2browser but I don't see anything in the dats relating to entity names at all. Is there an easier way to do this? I'm a C# programmer fyi.
Cheers guys.
You need them available to you without running the game?
Just do some simple memory reading? It has been explained plenty of times in this section. Also, the entity names are there (under the strings section), but finding the desired ones would take a long time.
http://www.ownedcore.com/forums/mmo/...ml#post2591484 (Some Classes and Functions from 2012.09.09)
Should be enough to get you going for now. Increase the for loop to 4*16 in ChCliPlayer.
Took a look at your source, very nicely written but not very descriptive on how to use it, and using someone elses code can be a pain without documentation and I can't seem to figure out where the mob array starts. However I have mixed in some of your methods with the gw2playerparser posted by another user and able to acquire the player list including names, how would I parse the mob list using your source? Could you give a little example please bud? One of the issues is knowing which base offsets to use for your methods.
Cheers.
The mobs are in the characterarray
If you need their names, you will have to go through quite a bitch to get them unencrypted as you have to obtain them from the game files, decoded. It's doable in C++, but with C# you have to go through a lot of pain. Juju has done it, but he is probably the only one, in C#, too.Code:CHAR _0x0000[20]; DWORD m_characterArray; //0x0014 CHAR _0x0018[4]; INT m_characterArraySize; //0x001C CHAR _0x0020[8]; DWORD m_playerArray; //0x0028 CHAR _0x002C[4]; INT m_playerArraySize; //0x0030 CHAR _0x0034[4]; ChCliCharacter* m_controlledCharacter; //0x0038 ChCliPlayer* m_controlledPlayer; //0x003C
It's tricky to do it in .NET, all you need is to understand what you are doing, and how the game is doing to achieve it, detour a function, call some ASM, and let the magic happen
I would go as far as saying it is not possible to get the names by purely scanning memory...they are getting pulled out of the ressources file at each request (can't remember if they are stored somewhere after the first time they were needed)
You will indeed be forced to go with ASM if you want to stick to C#. You will have to do the work of the C++ code in ASM. I suppose it's shareable, but you really won't learn a thing of it if you don't at least manage some functions yourself. It sucks as a beginner, but it's all pointless without really knowing what's going on. We've all been there, perfect example is Juju himself .
The 'some classes ans functions'-thread contains quite a lot of info regarding the virtual funcs. Try getting a simple one like GetControlledCharacter working. All the info to find it is there. It doesn't require any parameters whatsoever so even for .NET it's easy enough. The info to get ChCliContext (including the function returning it's instance) is all-over, so is the position of that function. For the TLS you need to hook a gamethread. The thread I mentioned shows a nice function to do just that.