@TheStupidDog, sir will you still be updating the AFKloader together with Thr!ce and NtKid? It will be really nice though.
void WalkTo(float X, float Y){
PlayerInfo *Axis = NULL;
PlayerInfo->X = X;
PlayerInfo->Y = Y;
DWORD dunAddr = ReadPointerAddress(0x0164A8C, 2, 0x51C, 0x3E8);
if (dunAddr == 0)
return;
DWORD addr = ReadPointerAddress(0x01A6DF4, 3, 0xC0, 0x10, 0x0);
if (addr == 0)
return;
__asm mov ecx, (ClassPointer)
((int(__stdcall*)(int, void*, int, int, int))0x006733B0)(Dungeon, (PlayerInfo*)Axis, 0, 0, 1);
}
PlayerInfo *Axis = NULL; PlayerInfo->X = X; PlayerInfo->Y = Y;
void WalkTo(float X, float Y){
PlayerInfo Axis;// no pointer here or dynamic allocation : the address here will be on the stack
Axis.X = X;
Axis.Y = Y;
DWORD dunAddr = ReadPointerAddress(0x0164A8C, 2, 0x51C, 0x3E8);
if (dunAddr == 0)
return;
DWORD addr = ReadPointerAddress(0x01A6DF4, 3, 0xC0, 0x10, 0x0);
if (addr == 0)
return;
__asm mov ecx, (ClassPointer)
((int(__stdcall*)(int, void*, int, int, int))0x006733B0)(Dungeon, (void*)&Axis, 0, 0, 1);
}
Quote:
And also, I wonder why writing value (Speed Hack) + reading memory address makes the game GUI crash/dislocated..
DWORD address; address = *(DWORD*)(0x00C22194); if (!address) return -1; address = *(DWORD*)(address + 0x2fc); if (!address) return -1; address = *(DWORD*)(address + pukNum * 0x4); if (!address) return -1; address = *(DWORD*)(address + 0x32c); return address;
((int(__stdcall*)(int, void*, int, int, int))0x006733B0)(Dungeon, (void*)&Axis, 0, 0, 1);
__asm{
push 1
push 0
push 0
push (Struct Pointer/Or any pointer that leads to coordiante X and Y)
push dungeonID
call Addr
}
__asm
{
mov edi, lpthis;
mov edi, [edi];
mov edi, [edi + 0x0000001c];
mov ecx, edi;
push 0x40400000;
push 1;
push Y;
push X;
call lpFunction;
}
__asm mov ecx, (ClassPointer); ((int(__stdcall*)(float, float, int, float, char, int))0x006F1CB4)(PointX, PointY, 1, 3, 1, 0);