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!
Quote:
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).Code:uint ptr1 = Manager.Conquer.ReadUInt(Client.RoleManager.Local.BaseAddress + 0xAD0); uint ptr2 = Manager.Conquer.ReadUInt(ptr1 + 0xC); uint currentHp = Manager.Conquer.ReadUInt(ptr2);
CE table attached so you can try it out for yourself.
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 :)Quote:
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?Quote:
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));