Game structure of agents menu

User Tag List

Results 1 to 5 of 5
  1. #1
    TerminX's Avatar Private
    Reputation
    1
    Join Date
    Apr 2013
    Posts
    3
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Game structure of agents

    Evening,

    in GW1 there was a static pointer to an agentStruct conatinig certain agents (including yourself or the target). There were offsets to agentIDs (character and target) so that you could read e.g. both yourselve's and target's hp from memory. Like:

    AgentStructBase + 0x4C(own agentID) + 0x90(e.g. health)
    AgentStructBase + 0x54(targetID) + 0x48(e.g. target health)

    How is the stucturing of agents in GW2?

    Greetings

    Game structure of agents
  2. #2
    JuJuBoSc's Avatar Banned for scamming CoreCoins Purchaser
    Reputation
    1019
    Join Date
    May 2007
    Posts
    922
    Thanks G/R
    1/3
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It's different in Gw2, you need to read in this order :

    Player : CharacterClientContext->controlledCharacter->CharClientHealth->currentHealth
    Target : AgentSelectionContext->selectedAgent->charClient->CharClientHealth->currentHealth

  3. #3
    TerminX's Avatar Private
    Reputation
    1
    Join Date
    Apr 2013
    Posts
    3
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,

    thanks for the info. So I found 2 float values for current health (0x0F536A7C, 0x0FA74A8. From there I wanted to find the pointer to CharClientHealth by searching for 4 byte values step by step HealthAdress - 4 (0x0FA74A84, 0x0FA74A80, 0x0FA74A7C, 0x0FA74A7 - no results. If the CharClientHealth structure isnt too big, shouldn't I have received an adress?
    Here's a picture of what I mean:
    Attached Thumbnails Attached Thumbnails Game structure of agents-example-jpg  

  4. #4
    JuJuBoSc's Avatar Banned for scamming CoreCoins Purchaser
    Reputation
    1019
    Join Date
    May 2007
    Posts
    922
    Thanks G/R
    1/3
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You need first to find the pointer of the ChCliContext class, in this one there is a pointer to the ChCliCharacter (named controlledCharacter), then is the ChCliCharacter class, there is a pointer to the ChCliHealth class, which contains the current and max value as float

    Btw, your pic of the structure is wrong wrong that way

  5. #5
    TerminX's Avatar Private
    Reputation
    1
    Join Date
    Apr 2013
    Posts
    3
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So I found a static pointer at 0x1656FD4 and created a working routine to read the currentHealth. When I changed the area, the routine failed. Further analysis revealed, that the offset 0x5670 added to the value of 0x1656FD4 changed. The problem is the following:
    I find to adresses for currentHealth: 0x0FC19BDC and 0x1096EB38.
    I look what accesses 0x0FC19... and search for the suggested value. I find one to three results, but the values of the adresses change like mad. Access/write analysis revealed, that they change each other, so I do not receive any new information. So I discarded the 0x0FC19BDC result for current health.
    Then I tried write analysis of 0x1096EB38 (2nd result for currentHealth). I do not get any results for the suggested value. The other results seem to work circular, too.

    Now I am totally confused I do not know how I managed to find this one static pointer in the first place o.O. Is 0x1656FD4 even a good result or did I land elsewhere?

    Any help would be very much appreciated

    Edit:

    I experimented a bit and the problem for my best solution is that the value of pointer to the base of ControlledCharacterHealth mutates all the time. So when I read and add 0x18 (what seems to be the offset CharacterHealth -> CharacterHealthCurrentHealth), the value matches. But only sometimes.
    Attached Thumbnails Attached Thumbnails Game structure of agents-example1-jpg   Game structure of agents-example-2-jpg  
    Last edited by TerminX; 04-26-2013 at 08:53 AM.

Similar Threads

  1. Reverse Engineering of data structures in games
    By sYpro in forum Programming
    Replies: 0
    Last Post: 10-20-2014, 03:47 AM
  2. [Trinity] Place Structure in game 3.3.5a
    By husky999 in forum WoW EMU Questions & Requests
    Replies: 1
    Last Post: 12-20-2013, 09:30 PM
  3. Evading Hack Detection Mechanisms in Online Games
    By Matt in forum World of Warcraft Guides
    Replies: 4
    Last Post: 10-06-2006, 06:47 PM
  4. Should MMOwned Cover more Games? -- Poll
    By Matt in forum OC News
    Replies: 26
    Last Post: 09-03-2006, 01:31 AM
  5. Favourite Gaming Consoles!
    By janzi9 in forum Gaming Chat
    Replies: 30
    Last Post: 08-09-2006, 08:53 PM
All times are GMT -5. The time now is 09:41 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search