Code:
#include "stdafx.h"
#include <windows.h>
#define Keys(a, b) GetAsyncKeyState(a)&0x8000 && GetAsyncKeyState(b)
struct MUID
{
unsigned long Low;
unsigned long High;
};
DWORD ZChar;
DWORD *pGame = (DWORD*)0x00672F68;
DWORD ZChatAdd = 0x0042A230;
DWORD SpawnItemAdd = 0x004B4640;
DWORD ZEffectManagerAdd = 0x004ABDB0;
DWORD ZGetGameAdd = 0x004ABDD0;
DWORD ZGetClientAdd = 0x004ABCC0;
DWORD ZGetInterfaceAdd = 0x004ABCF0;
DWORD AddFireAdd = 0x00468150;
DWORD SetHPAdd = 0x00473750;
DWORD SetAPAdd = 0x00473760;
DWORD GetHPAdd = 0x00473730;
DWORD GetAPAdd = 0x00473740;
float D3D[3];
float D3D1[3];
float D3D2[3];
MUID* HOLD = new MUID();
MUID* CHARR = new MUID();
MUID* STAGG = new MUID();
typedef void(__cdecl *ZChatType) (const char*, int, int, DWORD);
ZChatType ZChat = (ZChatType)ZChatAdd;
typedef void(__cdecl *SpawnItemType) (MUID*, int, float*);
SpawnItemType SpawnItem = (SpawnItemType)SpawnItemAdd;
typedef DWORD(__cdecl *ZGetClientType) ();
ZGetClientType ZGetClient = (ZGetClientType)ZGetClientAdd;
typedef DWORD(__cdecl *ZGetGameType) ();
ZGetGameType ZGetGame = (ZGetGameType)ZGetGameAdd;
typedef DWORD(__cdecl *ZGetInterfaceType) ();
ZGetInterfaceType ZGetInterface = (ZGetInterfaceType)ZGetInterfaceAdd;
DWORD pChar()
{
if (pGame != NULL && *pGame != NULL)
{
return *(DWORD*)(*pGame + 0x50);
}
return NULL;
}
unsigned long GetMe()
{
return *(DWORD*)(ZGetClient() + 0x1A4);
}
unsigned long GetStage()
{
return *(DWORD*)(ZGetClient() + 0x1B4);
}
float *GetPos(DWORD ZChar)
{
DWORD ECX = ZChar;
DWORD EAX = *(DWORD*)(ECX + 0x58);
ECX = *(DWORD*)(EAX + 0x20);
DWORD EDX = *(DWORD*)(EAX + 0xC);
EAX = *(DWORD*)(EDX + ECX * 0x4);
return (float*)EAX;
}
void SetPos(float *AllPos)
{
float *Poss = GetPos(pChar());
Poss[0] = AllPos[0];
Poss[1] = AllPos[1];
Poss[2] = AllPos[2];
}
char *LastInput()
{
return (char*)(ZGetInterface() + 0x3A8);
}
void ClearInput()
{
(*(char*)(ZGetInterface() + 0x3A8)) = '/n';
}
void Fire()
{
ZChar = pChar();
__asm
{
PUSH ZChar
CALL ZEffectManagerAdd
MOV ECX, EAX
CALL AddFireAdd
}
}
void SetHP(int nHP)
{
ZChar = pChar();
__asm
{
MOV ECX, ZChar
MOV EAX, SetHPAdd
PUSH nHP
CALL EAX
}
}
void SetAP(int nAP)
{
ZChar = pChar();
__asm
{
MOV ECX, ZChar
MOV EAX, SetAPAdd
PUSH nAP
CALL EAX
}
}
int GetHP()
{
ZChar = pChar();
int ReturnVal;
__asm
{
MOV ECX, ZChar
MOV EAX, GetHPAdd
CALL EAX
MOV ReturnVal, EAX
}
return ReturnVal;
}
int GetAP()
{
ZChar = pChar();
int ReturnVal;
__asm
{
MOV ECX, ZChar
MOV EAX, GetAPAdd
CALL EAX
MOV ReturnVal, EAX
}
return ReturnVal;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////// //////// //////// //////// //////// //////// /////
//////// //////// //////// //////// //////// //////// ////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool bHelper = false;
bool bGame = false;
bool bFire = false;
int spot = 0;
void Helper()
{
while(1)
{
if(bHelper && pChar())
{
if(Keys(VK_MENU, 'P'))
{
float *Pos = GetPos(pChar());
D3D[0] = Pos[0];
D3D[1] = Pos[1];
D3D[2] = Pos[2];
ZChat("Spot saved!", 2, 0, 0xFFFFFF);
spot = 1;
}
}
Sleep(20);
}
}
void FireT()
{
while(1)
{
if(bGame && pChar())
{
Fire();
Sleep(100);
}
Sleep(20);
}
}
void Game()
{
while(1)
{
if(bGame && pChar())
{
Sleep(150);
SpawnItem(HOLD, **** D3D); //The *** is the worlditem ID fkin RZ censorship.
SetHP(GetHP() - 10);
SetAP(GetAP() - 7);
Sleep(700);
}
Sleep(20);
}
}
void Keyys()
{
while(1)
{
if(Keys(VK_MENU, 'M'))
{
ZChat("Game Mode Activated!", 2, 0, 0xFFFFFF);
bGame = !bGame;
bFire = !bFire;
Sleep(150);
}
if(Keys(VK_MENU, 'H'))
{
ZChat("Helper Activated!", 2, 0, 0xFFFFFF);
bHelper = !bHelper;
Sleep(150);
}
if(Keys(VK_MENU, 'O'))
{
ZChat("Alt + M = GameMode", 2, 0, 0xFFFFFF);
ZChat("Alt + H = HelperModule", 2, 0, 0xFFFFFF);
ZChat("@helper = HelperModule", 2, 0, 0xFFFFFF);
ZChat("@mode = GameMode", 2, 0, 0xFFFFFF);
Sleep(150);
}
if(memcmp(LastInput(), "@helper", 6) == 0 || memcmp(LastInput(), "@Helper", 6) == 0)
{
bHelper = !bHelper;
ClearInput();
}
if(memcmp(LastInput(), "@mode", 5) == 0 || memcmp(LastInput(), "@Mode", 5) == 0)
{
bGame = !bGame;
ClearInput();
}
Sleep(20);
}
}
extern "C"
{
__declspec(dllexport) BOOL __stdcall DllMain(HINSTANCE hInst, DWORD reason, LPVOID lpv)
{
DisableThreadLibraryCalls(hInst);
if (reason == DLL_PROCESS_ATTACH)
{
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Helper, NULL, 0, NULL);
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&FireT, NULL, 0, NULL);
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&Game,0, NULL, NULL);
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&Keyys, 0, NULL, NULL);
}
return true;
}
}
I attempted to add a few things, but failed. So some things are useless in their.