wow 2.4.3 offest\find address of partymembers health menu

User Tag List

Results 1 to 6 of 6
  1. #1
    J.Livingston's Avatar Member
    Reputation
    1
    Join Date
    Sep 2016
    Posts
    1
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    wow 2.4.3 offest\find address of partymembers health

    Greetings, i have a problem with finding of party members health. Succesfuly i found addres of myself health base+offset etc. But i can't to find health of party members. Just i try to find exact value change it as usual in game find new and ... find nothing. Is it maybe something wrong i do ? Useing ArtMoney, ChatEngine. In the end i wanna make simple healing bot. For now it workds over finding health status of player as change window ID and finding status as "myself health per window" but its bad way. So is it maybe someone can explain me how to find party(raid)members health or maybe has offsets?

    wow 2.4.3 offest\find address of partymembers health
  2. #2
    Zazazu's Avatar Contributor
    Reputation
    191
    Join Date
    Jun 2016
    Posts
    390
    Thanks G/R
    5/143
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    IDK as in 2.4.3, but in higher version y need read raid/party info (its record contained info GIUD, class-role (aka tank, heal, dps) and party/raid role) and find by GUID party members in heap with other entity (objectMAnager)

  3. #3
    bone91's Avatar Sergeant Major
    Reputation
    91
    Join Date
    Feb 2008
    Posts
    156
    Thanks G/R
    17/9
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Some stuff I quickly took from wRobot binaries:
    PartyLeaderGUID: 0x7C75F8
    Party1Guid: 0x7C6F48
    Party2Guid: 0x7C6F50
    Party3Guid: 0x7C6F58
    Party4Guid: 0x7C6F60

    Now you can iterate the ObjectManager and find the units by guid.

    Realized these were vanilla values, TBC is:
    Leader: 0x86F6E8
    Party1: 0x86F6B0
    Party2: 0x86F6B8
    Party3: 0x86F6C0
    Party4: 0x86F6C8

    These are all relative to wowBase, of course
    Last edited by bone91; 02-06-2019 at 07:17 AM.

  4. #4
    air999's Avatar Contributor
    Reputation
    131
    Join Date
    Nov 2014
    Posts
    102
    Thanks G/R
    9/62
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    There is special structure for party members, named RemoteStats
    It's exist even if member in other continent and not in ObjectManager, even offline.

    Code:
    struct CGPartyInfo::RemoteStats
    {
      int health;
      int maxHealth;
      POWER_TYPE powerType;
      int power;
      int maxPower;
      int classID;
      int level;
      int mapID;
      int areaID;
      NTempest::C3Vector pos;
      int connected;
    };

  5. Thanks bone91 (1 members gave Thanks to air999 for this useful post)
  6. #5
    bone91's Avatar Sergeant Major
    Reputation
    91
    Join Date
    Feb 2008
    Posts
    156
    Thanks G/R
    17/9
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Do you have the offset for where these start? I'm trying to find raid members world position in battlegrounds when they are out of reach.

  7. #6
    air999's Avatar Contributor
    Reputation
    131
    Join Date
    Nov 2014
    Posts
    102
    Thanks G/R
    9/62
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Look into Script_UnitIsDead, there is call to CGPartyMemberStateRepository::GetState

    Code:
    signed __int64 __fastcall Script_UnitIsDead(__int64 a1)
    {
      __int64 v1; // rbx
      __int64 v3; // rax
      __int64 v4; // rax
      _WORD *v5; // rax
      __int64 (__fastcall *(**v6)[4])(); // rax
      __int64 v7; // rax
      __int64 v8; // rdx
      char v9; // [rsp+20h] [rbp-18h]
      unsigned __int64 v10; // [rsp+28h] [rbp-10h]
    
      v1 = a1;
      if ( !(unsigned int)lua_isstring(a1, 1i64) )
      {
        luaL_error(v1, "Usage: UnitIsDead(\"unit\")");
        return 0i64;
      }
      v3 = lua_tolstring(v1, 1i64);
      Script_GetGUIDFromToken(&v9, v3, 0i64);
      v4 = GetObjectFromGUID(
             &v9,
             32i64,
             "d:\\buildserver\\wow\\4\\work\\shared-checkout\\branches\\wow-patch-8_1_5-branch-fastpatch-6\\wow\\source\\uiut"
             "il\\scriptevents.cpp",
             2459i64);
      if ( v4 )
      {
        if ( *(_QWORD *)(v4 + 5520) <= 0i64 || (*(_DWORD *)(v4 + 5584) >> 13) & 1 && !(unsigned __int8)sub_140B3A98C(v4) )
        {
          lua_pushboolean(v1, 1i64);
          return 1i64;
        }
      }
      else
      {
        v5 = (_WORD *)CGPartyMemberStateRepository::GetState((__int64)&v9);
        if ( v5 )
        {
          lua_pushboolean(v1, *v5 & 4);
          return 1i64;
        }
        if ( v10 >> 58 == 20 )
        {
          v6 = CActorManager::Get();
          v7 = CActorManager::GetActorUnit(v6, &v9);
          v8 = 0i64;
          if ( v7 )
          {
            LOBYTE(v8) = *(_QWORD *)(v7 + 376) <= 0i64;
            lua_pushboolean(v1, v8);
            return 1i64;
          }
        }
      }
      lua_pushboolean(v1, 0i64);
      return 1i64;
    }
    In CGPartyMemberStateRepository::GetState you can find address of CGPartyMemberStateRepository::m_repository, it's a hash list in live build

    Code:
    __int64 __fastcall CGPartyMemberStateRepository::GetState(__int64 guid)
    {
      __int64 result; // rax
      __int64 v2; // [rsp+20h] [rbp-28h]
    
      GetObjectFromHash(&CGPartyMemberStateRepository::m_repository, &v2, (__int64 *)guid);
      result = v2;
      if ( v2 )
        result = *(_QWORD *)(v2 + 24);
      return result;
    }

Similar Threads

  1. How do you find the game.exe address of WoW?
    By Sleevirs in forum WoW Bots Questions & Requests
    Replies: 0
    Last Post: 06-04-2015, 06:55 AM
  2. [wow][2.4.3] Find addresses with pointer and playerbase.
    By fab92 in forum WoW Memory Editing
    Replies: 13
    Last Post: 06-08-2010, 02:48 PM
  3. Replies: 6
    Last Post: 03-27-2010, 01:49 PM
  4. Finding Addresses in wow without a known value (with CE..)
    By vivec45 in forum World of Warcraft General
    Replies: 3
    Last Post: 07-21-2007, 12:12 AM
  5. Finding addresses in wow without a known value
    By vivec45 in forum World of Warcraft General
    Replies: 0
    Last Post: 07-14-2007, 10:47 AM
All times are GMT -5. The time now is 03:43 PM. 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