[5777+] Memory offsets/pointers

11/17/2013 15:28 Baloony#16
phize i was wandering if you can release your bot for public use not your source...because there are many unskilled programmers as you can see that would apreciate your efforts!
03/03/2014 12:34 elitesuckup#17
Hey how can i use those functions , i know this old functions will not work soo how to get the new one and use it?
03/03/2014 13:38 Ultimation#18
Quote:
Originally Posted by phize View Post
Code:
uint ptr1 = Manager.Conquer.ReadUInt(Client.RoleManager.Local.BaseAddress + 0xAD0);
uint ptr2 = Manager.Conquer.ReadUInt(ptr1 + 0xC);
uint currentHp = Manager.Conquer.ReadUInt(ptr2);
Tested this on a a class with no MP, so you'll have to find that yourself, but just search for the value with CE and trace back from there to your CHero base address (what CHero__InstancePtr points to).

CE table attached so you can try it out for yourself.

using this method for reading a pointer chain is really ugly lol.

Why don't you have a function that takes a list of offsets and reads from the base address. For example

(this code has been typed directly here and not tested)
Code:
int ReadPointerChain(int BaseAddress, params int[] Offsets)
{
   int current = BaseAddress;
          foreach (int offset in Offsets)
          {
              current = ReadInt(current+offset)
          }
   return current;
}

int currentHp = ReadInt(ReadPointerChain(Client.RoleManager.Local.BaseAddress,0xAD0,0xC));
03/03/2014 13:55 phize#19
Quote:
Originally Posted by Ultimation View Post
using this method for reading a pointer chain is really ugly lol.

Why don't you have a function that takes a list of offsets and reads from the base address. For example

(this code has been typed directly here and not tested)
Code:
int ReadPointerChain(int BaseAddress, params int[] Offsets)
{
   int current = BaseAddress;
          foreach (int offset in Offsets)
          {
              current = ReadInt(current+offset)
          }
   return current;
}

int currentHp = ReadInt(ReadPointerChain(Client.RoleManager.Local.BaseAddress,0xAD0,0xC));
Never really thought about it, to be honest. I suppose I should add a method like that in my memory class though :)
03/03/2014 14:05 elitesuckup#20
Quote:
Originally Posted by Ultimation View Post
using this method for reading a pointer chain is really ugly lol.

Why don't you have a function that takes a list of offsets and reads from the base address. For example

(this code has been typed directly here and not tested)
Code:
int ReadPointerChain(int BaseAddress, params int[] Offsets)
{
   int current = BaseAddress;
          foreach (int offset in Offsets)
          {
              current = ReadInt(current+offset)
          }
   return current;
}

int currentHp = ReadInt(ReadPointerChain(Client.RoleManager.Local.BaseAddress,0xAD0,0xC));
can you help me?
03/03/2014 14:08 Ultimation#21
Quote:
Originally Posted by phize View Post
Never really thought about it, to be honest. I suppose I should add a method like that in my memory class though :)
just makes the code easier neater, and sometimes easier to follow.
03/04/2014 11:26 elitesuckup#22
how to get those pointers again?