hey everyone!
im kinda a bit stuck my friend is a mega coder in the 'gunz' (gaming) world and he has just made some thing.
ohh he also said i need to do it in dev c++ (if that any use to any one) lol
he sent me 3 files, and i have no clue what to do with them,
its hope-less :/
the 3 files contain this:
main:
//get some functions from other headers.
#include <windows.h>
#include <stdio.h>
#include "addresses.h"
#include "peerlist.h"
typedef void(__cdecl *ZChatOutputType)(const char*,int,int,DWORD);
ZChatOutputType ZChatOutput = (ZChatOutputType)ZChatOutputADDR;
typedef void(__cdecl *ZPostPeerChatType)(const char*,int);
ZPostPeerChatType ZPostPeerChat = (ZPostPeerChatType)ZPostPeerChatADDR;
typedef DWORD(__cdecl *ZGetGameClientType)();
ZGetGameClientType ZGetGameClient = (ZGetGameClientType)ZGetGameClientADDR;
typedef DWORD(__cdecl *ZGetGameInterfaceType)();
ZGetGameInterfaceType ZGetGameInterface = (ZGetGameInterfaceType)ZGetGameInterfaceADDR;
DWORD *pGame = (DWORD*)0x00672F68;
DWORD pChar()
{
if (pGame!=NULL && *pGame!=NULL){return *(DWORD*)(*pGame + 0x50);}
return NULL;
}
//This is the "UID" structure. This is needed for some functions
//UIDs consists of a Low and High IDs.
struct MUID
{
unsigned long LowID;
unsigned long HighID;
};
struct GameData {
int x1;
int x2;
char MapName[32];
int x3;
unsigned int GameType;
unsigned int NoOfRound;
unsigned int TimeInMinute;
unsigned int GapLevel;
signed char NoOfPlayer;
bool mode1;
bool mode2;
bool mode3;
bool TeamKill;
bool mode4;
bool LateJoin;
bool TeamBalance;
};
GameData *Settings = new GameData();
//Set up a convention to an internal function using Typedef and creating a variable and typecast the address to the type!
typedef void(__cdecl *ZPostRequestSpawnWorldItemType)(MUID*,int,float*);
ZPostRequestSpawnWorldItemType ZPostRequestSpawnWorldItem = (ZPostRequestSpawnWorldItemType)ZPostRequestSpawnWorldItemADDR;
typedef void(__cdecl *ZPostCreateMyCharType)(MUID*,int,const char*,int,int,int,int);
ZPostCreateMyCharType ZPostCreateMyChar = (ZPostCreateMyCharType)ZPostCreateMyCharADDR;
typedef VOID (__cdecl *ZPostGameKillType)(MUID*);
ZPostGameKillType ZPostGameKill = (ZPostGameKillType)ZPostGameKillADDR;
typedef VOID (__cdecl *ZPostSkillType)(int,int);
ZPostSkillType ZPostSkill = (ZPostSkillType)ZPostSkillADDR;
typedef VOID (__cdecl *ZPostStageChatType)(MUID*,MUID*,const char*);
ZPostStageChatType ZPostStageChat = (ZPostStageChatType)ZPostStageChatADDR;
typedef VOID (__cdecl *ZPostShotType)(float*,float*,int,int);
ZPostShotType ZPostShot = (ZPostShotType)ZPostShotADDR;
// type = 1 ; sel_type = 2 -- Remove timer
// type = 7 ; sel_type = 7 -- Melee Weapon Shot
// type = 8 ; sel_type = 7 -- First Gun shot
// type = 9 ; sel_type = 7 -- Second Gun Shot
// type = 10 ; sel_type = 7 -- First Equipt Shot
// type = 11 ; sel_type = 7 -- Second Equipt Shot
typedef VOID (__cdecl *ZPostShotMeleeType)(float*,int);
ZPostShotMeleeType ZPostShotMelee = (ZPostShotMeleeType)ZPostShotMeleeADDR;
typedef void (__cdecl *ZPostRequestSpawnFunc)(const MUID* uidChar, float*, float*);
ZPostRequestSpawnFunc ZPostRequestSpawn = (ZPostRequestSpawnFunc)ZPostRequestSpawnADDR;
typedef VOID (__cdecl *ZPostSpMotionType)(int);
ZPostSpMotionType ZPostSpMotion = (ZPostSpMotionType)ZPostSpMotionADDR;
typedef VOID (__cdecl *ZPostRequestExpelClanMemberType)(MUID*,char*);
ZPostRequestExpelClanMemberType ZPostRequestExpelClanMember = (ZPostRequestExpelClanMemberType)ZPostRequestExpelClanMemberADDR;
//Set up a pointer to MUID.
MUID *NewCHAR = new MUID();
MUID *NewCHAN = new MUID();
MUID *NewSTAG = new MUID();
MUID *NewCHAR2 = new MUID();
typedef void(__cdecl *ZPostChannelChatType)(MUID*,MUID*,const char*);
ZPostChannelChatType ZPostChannelChat = (ZPostChannelChatType)ZPostChannelChatADDR;
/******************************************************************************/
typedef void(__cdecl *ZPostStageEnterBattleType)(MUID*,MUID*);
ZPostStageEnterBattleType ZPostStageEnterBattle = (ZPostStageEnterBattleType)ZPostStageEnterBattleADDR;
typedef void(__cdecl *ZPostStageLeaveBattleType)(MUID*,MUID*);
ZPostStageLeaveBattleType ZPostStageLeaveBattle = (ZPostStageLeaveBattleType)ZPostStageLeaveBattleADDR;
typedef void(__cdecl *ZPostStageSettingType)(MUID*,MUID*,GameData*);
ZPostStageSettingType ZPostStageSetting = (ZPostStageSettingType)ZPostStageSettingADDR;
typedef void(__cdecl *ZPostStageTeamType)(MUID*,MUID*,int);
ZPostStageTeamType ZPostStageTeam = (ZPostStageTeamType)ZPostStageTeamADDR;
/******************************************************************************/
typedef void(__cdecl *ZPostQuestRequestNPCDeadType)(MUID*,MUID*,float*);
ZPostQuestRequestNPCDeadType ZPostQuestRequestNPCDead = (ZPostQuestRequestNPCDeadType)ZPostQuestRequestNPCDeadADDR;
typedef void(__cdecl *ZPostStageStartType)(MUID*,MUID*);
ZPostStageStartType ZPostStageStart = (ZPostStageStartType)ZPostStageStartADDR;
typedef void(__cdecl *ZPostQuestReadyToNewSectorType)(MUID*);
ZPostQuestReadyToNewSectorType ZPostQuestReadyToNewSector = (ZPostQuestReadyToNewSectorType)ZPostQuestReadyToNewSectorADDR;
/******************************************************************************/
typedef void(__cdecl *ZPostAdminHaltType)(MUID*);
ZPostAdminHaltType ZPostAdminHalt = (ZPostAdminHaltType)ZPostAdminHaltADDR;
typedef void(__cdecl *ZPostAdminAnnouncType)(MUID*,const char*,int);
ZPostAdminAnnouncType ZPostAdminAnnounc = (ZPostAdminAnnouncType)ZPostAdminAnnouncADDR;
typedef void(__cdecl *ZPostAdminRequestJjangType)(char*); //ioneZ22
ZPostAdminRequestJjangType ZPostAdminRequestJjang = (ZPostAdminRequestJjangType)ZPostAdminRequestJjangADDR;
typedef void(__cdecl *ZPostRequestChannelJoinType)(MUID*,MUID*);
ZPostRequestChannelJoinType ZPostRequestChannelJoin = (ZPostRequestChannelJoinType)ZPostRequestChannelJoinADDR;
typedef void(__cdecl *ZPostWhisperType)(char* sender,char* target,char* message);
ZPostWhisperType ZPostWhisper = (ZPostWhisperType)ZPostWhisperADDR;
typedef void(__cdecl *ZPostWhereType)(char*);
ZPostWhereType ZPostWhere = (ZPostWhereType)ZPostWhereADDR;
float *GetDir(DWORD ZChar)
{
return (float*)(DWORD)(ZChar + 0x5C);
}
//Get the position of the character specified
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;
}
//Set the position of our character
void SetPos(float *AllPos){
float *XYZPosition = GetPos(pChar());
XYZPosition[0] = AllPos[0];
XYZPosition[1] = AllPos[1];
XYZPosition[2] = AllPos[2];
//Does not require you to copy the bytes into the memory
}
//Get the character ID!
unsigned long GetMe()
{
return *(DWORD*)(ZGetGameClient() + 0x1A4); //Retreive the value of the pointer at "ZGetGameClient + 0x1A4" this is our Character's HighID returned
}
//Get our channel ID
unsigned long GetChannel()
{
return *(DWORD*)(ZGetGameClient() + 0x1AC); //Retreive the value of the pointer at "ZGetGameClient + 0x1AC" this is our Channel's HighID returned
}
//Get our Stage ID!
unsigned long GetStage()
{
return *(DWORD*)(ZGetGameClient() + 0x1B4); //Retreive the value of the pointer at "ZGetGameClient + 0x1B4" this is our Stage's HighID returned
}
//Get The last string input.
char *LastInput()
{
return (char*)(ZGetGameInterface() + 0x3A8); //Retreive the value of the pointer at "ZGetGameInterface + 0x3A8" this is our LastInput
}
int Attacker = 0;
bool plvl = 0;
//Get our attacker's ID!
unsigned long GetAttacker()
{if (pChar()){ //Check if you're ingame
DWORD ECX = pChar(); //Make a variable named ECX with the contents of our Characters address
DWORD EAX = *(DWORD*)(ECX + 0x32C); //Retreive the value of the pointer at "ECX + 0x32C". This will be our character's variable watch
EAX = *(DWORD*)(EAX + 0x20); //Retreive the value of the pointer at "EAX + 0x20". The value retreived is our Character's attacker!
return (long)EAX; //Typecast / convert the value of "EAX" into a long / double / integer / real number. And OUT / return the value
}
return NULL;
}
int ARG;
DWORD ZChar;
//Set up the internal function to ZCharacter::SetHP found in gunz!
void SetHP(int hp)
{
ZChar = pChar();
ARG = hp;
__asm(
"MOVL _ZChar,%ECX\n\t" //Namespace will be the Address of our char. Constructors in GunZ will always be in the ECX register
"MOVL _SetHPADDR,%EAX\n\t" //Store the address of SetHP to the eax register!
"PUSH _ARG\n\t" //PUSH the specified HP to the stack. This will be our parameter for SetHP
"CALL *%EAX\n\t" //Execute the procedure at the address stored in EAX register
);
}
//Set up the internal function to ZCharacter::SetAP found in gunz!
void SetAP(int ap)
{
ZChar = pChar();
ARG = ap;
__asm(
"MOVL _ZChar,%ECX\n\t" //Namespace will be the Address of our char. Constructors in GunZ will always be in the ECX register
"MOVL _SetAPADDR,%EAX\n\t" //Store the address of SetAP to the eax register!
"PUSH _ARG\n\t" //PUSH the specified AP to the stack. This will be our parameter for SetAP
"CALL *%EAX\n\t" //Execute the procedure at the address stored in EAX register
);
}
char BUFFER[1024];
bool godmode = 0;
bool flip = 0;
bool mass = 0;
bool lawn = 0;
bool botlastattacker = 0;
bool shotspam = 0;
bool tofu = 0;
bool invisiblespawn = 0;
int fakehackerwho = 0;
int fakehacker = 0;
bool speedhack = 0;
bool airwalk = 0;
bool prevent = 0;
bool wallhack = 0;
bool qplvl = 0;
float D3DXVECTOR[3];
float D3DXVECTOR1[3];
float D3DXVECTOR2[3];
float Empty[] = {0,0,0,0};
MUID *NewMUID = new MUID();
DWORD result;
long LOW;
long HIGH;
bool chanspam = 0;
bool roomspam = 0;
bool roombot = 0;
//This function gets the Namespace of the character specified. Will return / OUT a hexidecimal
//ZCharacterManager Namespace
//ZCharacterManager::Find(long low,long high) Function!
DWORD GetZChar(long character)
{
LOW = 0;
HIGH = character;
result = 0;
__asm
(
"MOVL _LOW,%EDX\n\t"
"MOVL _HIGH,%EBX\n\t"
"MOVL _ZCharacterManager,%EAX\n\t"
"CALL *%EAX\n\t"
"MOVL %EAX,%ECX\n\t"
"PUSH %EBX\n\t"
"PUSH %EDX\n\t"
"MOVL _ZCharacterManagerFind,%EAX\n\t"
"CALL *%EAX\n\t"
"MOVL %EAX,_result\n\t"
);
return result;
}
float D3DXVECTORS[3];
void Spam()
{while(1){
//SPAM!!!
if (roomspam)
{
NewCHAR->LowID=0;
NewCHAN->LowID=0;
NewCHAR->HighID=GetMe();
NewCHAN->HighID=GetChannel();
NewSTAG->LowID = 0;
NewSTAG->HighID = GetStage();
unsigned long ID = GetChannel();
char spamX[128];
FILE * f = fopen("spam.txt","r");
while(!feof(f))
{
fgets(spamX,128,f);
NewCHAN->HighID=ID;ZPostChannelChat(NewCHAR,NewCHAN,spamX);
ZPostPeerChat(spamX,0);
ZPostStageChat(NewCHAR,NewSTAG,spamX);
for(int i = 1;i<=17;i++){if (i!=ID){NewCHAN->HighID=i;ZPostChannelChat(NewCHAR,NewCHAN,spamX);}}
Sleep(50);
}
fclose(f);
}
if (chanspam)
{
NewCHAR->LowID=0;
NewCHAN->LowID=0;
NewCHAR->HighID=GetMe();
NewCHAN->HighID=GetChannel();
NewSTAG->LowID = 0;
NewSTAG->HighID=GetStage();
char spamX[128];
FILE * f = fopen("spam.txt","r");
while(!feof(f))
{
fgets(spamX,128,f);
ZPostChannelChat(NewCHAR,NewCHAN,spamX);
ZPostPeerChat(spamX,0);
ZPostStageChat(NewCHAR,NewSTAG,spamX);
}
fclose(f);
}
Sleep(20);}}
void MegaStage(char map[],int type,int rounds)
{
Settings->GameType = type;
Settings->GapLevel = 0;
Settings->LateJoin = true;
Settings->mode1 = false;
Settings->mode2 = false;
Settings->mode3 = false;
Settings->mode4 = false;
Settings->NoOfPlayer = 120;
Settings->NoOfRound = rounds;
Settings->TeamBalance = false;
Settings->TeamKill = false;
Settings->TimeInMinute = -1;
Settings->x1 = 0;
Settings->x2 = 0;
Settings->x3 = 0;
for(int i=0;i<=32;i++)Settings->MapName[i] = map[i];
NewCHAR->LowID=0;
NewSTAG->LowID=0;
NewCHAR->HighID=GetMe();
NewSTAG->HighID=GetStage();
ZPostStageSetting(NewCHAR,NewSTAG,Settings);
}
//Auto questing!
int isKilling = 0;
void Questing()
{
while(1)
{
if (qplvl)
{
isKilling = 0;
NewCHAR->LowID = 0;NewCHAR->HighID = GetMe();
NewSTAG->LowID = 0;NewSTAG->HighID = GetStage();
ZPostStageStart(NewCHAR,NewSTAG);
for(int i=GetAttacker()-300;i<=GetAttacker()+300;i++)
{
NewCHAR->LowID = 0;
NewCHAN->LowID = 0;
NewCHAR->HighID = GetMe();
NewCHAN->HighID = i;
if (GetAttacker()){float *GetMyPosition = GetPos(pChar());GetMyPosition[0] = 5000;GetMyPosition[1] = 5000;GetMyPosition[2] = 5000;SetHP(200);SetAP(200);}
if (pChar() && GetAttacker()){isKilling = 1;/*sprintf(BUFFER,"Request %d NPC Dead!",NewCHAN->HighID);ZPostPeerChat(BUFFER,0);*/ZPostQuestRequestNPCDead(NewCHAR,NewCHAN,GetPos(pChar()));}
Sleep(12);
}
if (isKilling){ZPostQuestReadyToNewSector(NewCHAR);isKilling = 0;}
}
Sleep(500);
}
}
void ShotSpam2()
{while(1){
if (pChar() && fakehacker)
{
if (GetZChar(fakehackerwho))
{
if (fakehacker==2)
{
ZChatOutput("Your attacker came back! Spamming meds now!",1,0,0xFFFFFFFF);fakehacker = 1;
}
NewCHAR->LowID = 0;
NewCHAR->HighID = fakehackerwho;
ZPostRequestSpawnWorldItem(NewCHAR,111,GetPos(GetZChar(fakehackerwho)));
ZPostRequestSpawnWorldItem(NewCHAR,120,GetPos(GetZChar(fakehackerwho)));
ZPostRequestSpawnWorldItem(NewCHAR,130,GetPos(GetZChar(fakehackerwho)));
ZPostRequestSpawnWorldItem(NewCHAR,131,GetPos(GetZChar(fakehackerwho)));
//ZPostRequestSpawnWorldItem(NewCHAR,201,GetPos(GetZChar(fakehackerwho)));
}
else
{
if (fakehacker!=2)
{
fakehacker = 2;ZChatOutput("Apparently, your attacker has left! Leaving it on incase they come back!",1,0,0xFFFFFFFF);
}
}
}
if (shotspam && pChar()){
ZPostRequestSpawnWorldItem(NewCHAR,111,GetPos(pChar()));}
Sleep(250);}}
int Team = -1;
void ShotSpam1()
{while(1){
//PLVL
if (plvl && pChar())
{
NewCHAR->LowID = 0;
NewCHAR->HighID = Attacker;
ZPostGameKill(NewCHAR);/*Sleep(250);*/
SetHP(0);SetAP(0);
Sleep(100);
}
if (shotspam && pChar()){
NewCHAR->LowID = 0;
NewCHAR->HighID = GetMe();
for(int i = 7 ;i<=11;i++){if (pChar()){
ZPostShot(GetPos(pChar()),Empty,i,7);Sleep(2);ZPostShot(GetPos(pChar()),Empty,1,2);Sleep(2);for(int i=0;i<15;i++)ZPostSpMotion(i);}}
}
Sleep(20);}}
void MainCheck()
{while(1){
if (GetAsyncKeyState(VK_RETURN)&0x8000)
{
Sleep(50);
if (memcmp(LastInput(),"@admin_wall ",12)==0)
{
char szMessage[1024];
for(int i = 12;i<=128;i++)
{
szMessage[i-12]=LastInput()[i];
}
NewCHAR->LowID = 0;
NewSTAG->LowID = 0;
NewCHAN->LowID = 0;
NewCHAR->HighID = GetMe();
NewSTAG->HighID = GetStage();
NewCHAN->HighID = GetChannel();
//sprintf(szMessage,"^2%s",szMessage);
ZPostPeerChat(szMessage,0);
ZPostStageChat(NewCHAR,NewSTAG,szMessage);
ZPostChannelChat(NewCHAR,NewCHAN,szMessage);
long ID = GetChannel();
for(int i = 1;i<=17;i++)
{
if (i!=ID){NewCHAN->HighID = i;ZPostChannelChat(NewCHAR,NewCHAN,szMessage);}
}
Sleep(2000);
}
if (memcmp(LastInput(),"@male ",6)==0)
{
//Copy our string from offset 12
char MEMCMPSTR4[12];
for(int i = 6;i<=18;i++)
{
int Str = 0;
if (LastInput()[i] == ''){MEMCMPSTR4[i-6] = '\n';Str = 1;} //Alt + 0141 ; New Line
if (LastInput()[i] == ' '){MEMCMPSTR4[i-6] = '\t';Str = 1;} //Alt + 0160 ; Tab
//Alt + 255 also = space
if (Str == 0){MEMCMPSTR4[i-6] = LastInput()[i];}
}
NewCHAR->LowID = 0;
NewCHAR->HighID = GetMe();
for(int a = 0;a<=4;a++)ZPostCreateMyChar(NewCHAR,a,MEMCMPSTR4,0,4,0,1); //female = 1 ; male = 0 ; Male is first :( SEXIST!!!!
Sleep(1200);
}
if (memcmp(LastInput(),"@friend ",8)==0)
{
//Copy our string from offset 12
char MEMCMPSTR5[12];
for(int i = 8;i<=20;i++)
{
int Str = 0;
if (LastInput()[i] == ''){MEMCMPSTR5[i-8] = '\n';Str = 1;} //Alt + 0141 ; New Line
if (LastInput()[i] == ' '){MEMCMPSTR5[i-8] = '\t';Str = 1;} //Alt + 0160 ; Tab
//Alt + 255 also = space
if (Str == 0){MEMCMPSTR5[i-8] = LastInput()[i];}
}
NewCHAR->LowID = 0;
NewCHAR->HighID = GetMe();
ZPostWhere(MEMCMPSTR5);
Sleep(1200);
}
if (memcmp(LastInput(),"@female ",8)==0)
{
//Copy our string from offset 12
char MEMCMPSTR5[12];
for(int i = 8;i<=20;i++)
{
int Str = 0;
if (LastInput()[i] == ''){MEMCMPSTR5[i-8] = '\n';Str = 1;} //Alt + 0141 ; New Line
if (LastInput()[i] == ' '){MEMCMPSTR5[i-8] = '\t';Str = 1;} //Alt + 0160 ; Tab
//Alt + 255 also = space
if (Str == 0){MEMCMPSTR5[i-8] = LastInput()[i];}
}
NewCHAR->LowID = 0;
NewCHAR->HighID = GetMe();
for(int a = 0;a<=4;a++)ZPostCreateMyChar(NewCHAR,a,MEMCMPSTR5,1,4,0,1); //female = 1 ; male = 0 ; Male is first :( SEXIST!!!!
Sleep(1200);
}
}
//Random ZPostShot functions o.O
if (GetAsyncKeyState(VK_NUMPAD1)&0x8000 && pChar()){ZPostShot(GetPos(pChar()),Empty,7,7);}
if (GetAsyncKeyState(VK_NUMPAD2)&0x8000 && pChar()){ZPostShot(GetPos(pChar()),Empty,8,7);}
if (GetAsyncKeyState(VK_NUMPAD3)&0x8000 && pChar()){ZPostShot(GetPos(pChar()),Empty,9,7);}
if (GetAsyncKeyState(VK_NUMPAD4)&0x8000 && pChar()){ZPostShot(GetPos(pChar()),Empty,10,7);}
if (GetAsyncKeyState(VK_NUMPAD5)&0x8000 && pChar()){ZPostShot(GetPos(pChar()),Empty,11,7);}
if (GetAsyncKeyState(VK_NUMPAD6)&0x8000 && pChar()){ZPostShot(GetPos(pChar()),Empty,1,2);}
//Teleport SideDirection - 150
if (GetAsyncKeyState(VK_LEFT)&0x8000 && pChar())
{
float *CharPos = GetPos(pChar());
CharPos[0] += GetDir(pChar())[1]*150;
CharPos[1] -= GetDir(pChar())[0]*150;
}
//Teleport SideDirection + 150
if (GetAsyncKeyState(VK_RIGHT)&0x8000 && pChar())
{
float *CharPos = GetPos(pChar());
CharPos[0] -= GetDir(pChar())[1]*150;
CharPos[1] += GetDir(pChar())[0]*150;
}
//Teleport Direction + 150
if (GetAsyncKeyState(VK_UP)&0x8000 && pChar())
{
float *CharPos = GetPos(pChar());
CharPos[0] += GetDir(pChar())[0]*150;
CharPos[1] += GetDir(pChar())[1]*150;
}
//Teleport Direction - 150
if (GetAsyncKeyState(VK_DOWN)&0x8000 && pChar())
{
float *CharPos = GetPos(pChar());
CharPos[0] -= GetDir(pChar())[0]*150;
CharPos[1] -= GetDir(pChar())[1]*150;
}
//Teleport Z + 200
if (GetAsyncKeyState(VK_PRIOR)&0x8000 && pChar())
{
float *CharPos = GetPos(pChar());
CharPos[2] += 200;
}
//Teleport Z - 200
if (GetAsyncKeyState(VK_NEXT)&0x8000 && pChar())
{
float *CharPos = GetPos(pChar());
CharPos[2] -= 200;
}
//Save our position!
if (GetAsyncKeyState(VK_HOME)&0x8000 && pChar())
{
float *CharPos = GetPos(pChar());
D3DXVECTOR[0] = CharPos[0];
D3DXVECTOR[1] = CharPos[1];
D3DXVECTOR[2] = CharPos[2];
}
//Go to our saved position!
if (GetAsyncKeyState(VK_END)&0x8000 && pChar())
{
float *CharPos = GetPos(pChar());
CharPos[0] = D3DXVECTOR[0];
CharPos[1] = D3DXVECTOR[1];
CharPos[2] = D3DXVECTOR[2];
}
//The check to prevent our character from falling!
if (prevent && pChar()){
if (GetPos(pChar())[2] < D3DXVECTOR2[2]){float *Position = GetPos(pChar());Position[2] = D3DXVECTOR2[2];}
}
//SpeedHack!
if (speedhack && pChar() && GetAsyncKeyState('W')){float *MyPos = GetPos(pChar());MyPos[0] += GetDir(pChar())[0]*20;MyPos[1] += GetDir(pChar())[1]*20;}
if (speedhack && pChar() && GetAsyncKeyState('S')){float *MyPos = GetPos(pChar());MyPos[0] -= GetDir(pChar())[0]*20;MyPos[1] -= GetDir(pChar())[1]*20;}
if (speedhack && pChar() && GetAsyncKeyState('A')){float *MyPos = GetPos(pChar());MyPos[0] += GetDir(pChar())[1]*20;MyPos[1] -= GetDir(pChar())[0]*20;}
if (speedhack && pChar() && GetAsyncKeyState('D')){float *MyPos = GetPos(pChar());MyPos[0] -= GetDir(pChar())[1]*20;MyPos[1] += GetDir(pChar())[0]*20;}
//WallHack!
if (wallhack && pChar() && GetAsyncKeyState('W')){float *MyPos = GetPos(pChar());MyPos[0] += GetDir(pChar())[0];MyPos[1] += GetDir(pChar())[1];}
if (wallhack && pChar() && GetAsyncKeyState('S')){float *MyPos = GetPos(pChar());MyPos[0] -= GetDir(pChar())[0];MyPos[1] -= GetDir(pChar())[1];}
if (wallhack && pChar() && GetAsyncKeyState('A')){float *MyPos = GetPos(pChar());MyPos[0] += GetDir(pChar())[1];MyPos[1] -= GetDir(pChar())[0];}
if (wallhack && pChar() && GetAsyncKeyState('D')){float *MyPos = GetPos(pChar());MyPos[0] -= GetDir(pChar())[1];MyPos[1] += GetDir(pChar())[0];}
//Godmode!
if (godmode && pChar()){SetHP(200);SetAP(200);}
//Flipmower!
if (flip && pChar()){ZPostSkill(1,7);}
//Insane Massives
if (mass && pChar()){ZPostSkill(2,7);ZPostShot(Empty,Empty,1,2);}
//Lawnmower!
if (lawn && pChar()){ZPostShotMelee(GetPos(pChar()),7);ZPostShot(Empty,Empty,1,2);}
//Bot last attacker!
if (botlastattacker && pChar()){if (GetAttacker()){NewCHAR->LowID = 0;NewCHAR->HighID = GetAttacker();ZPostRequestExpelClanMember(NewCHAR,"Faggot!");};}
//invisible Spawn!
if (invisiblespawn && pChar()){
NewCHAR->LowID = 0;NewCHAR->HighID = GetMe();
NewSTAG->LowID = 0;NewSTAG->HighID = GetStage();
ZPostStageLeaveBattle(NewCHAR,NewSTAG);
ZPostStageEnterBattle(NewCHAR,NewSTAG);
ZPostShot(Empty,Empty,1,2);
Sleep(900);
}
Sleep(20);}}
void MainLoop()
{while(1){
//Spam taunts, each taunt has an id, 1 = 15
if (GetAsyncKeyState(VK_CONTROL)&0x8000 && GetAsyncKeyState('C') && pChar())
{
for(int i=1;i<15;i++)ZPostSpMotion(i);
}
//Get our current Z position and activate a check to prevent from going lower!
if (GetAsyncKeyState(VK_DELETE)&0x80000 && pChar())
{
prevent=!prevent;
D3DXVECTOR2[2] = GetPos(pChar())[2];Sleep(500);
}
if (GetAsyncKeyState(VK_SUBTRACT)&0x80000 && pChar())
{
NewCHAR->LowID = 0 ; NewCHAN->LowID = 0;
NewCHAR->HighID = GetMe() ; NewCHAN->HighID = GetChannel();
ZPostRequestChannelJoin(NewCHAR,NewCHAN);
}
//Activate PLVL
if (GetAsyncKeyState(VK_MENU)&0x80000 && GetAsyncKeyState('P')&0x8000 && pChar())
{
plvl=!plvl;
if (GetAttacker()){Attacker = GetAttacker();}else{if (plvl==1){plvl = 0;ZChatOutput("You have to let someone attack you to activate plvl!",1,0,0xFFFFFFFF);}}
Sleep(500);
}
//Create a female char
if (GetAsyncKeyState(VK_MENU)&0x80000 && GetAsyncKeyState('Q')&0x80000)
{
char szCharName[12];
FILE * f = fopen("szCharName.txt","r");
fgets(szCharName,12,f);
fclose(f);
NewCHAR->LowID = 0;
NewCHAR->HighID = GetMe();
for(int i=0;i<=4;i++)ZPostCreateMyChar(NewCHAR,i,szCharName,1,4,0,1);
}
//Create a male character
if (GetAsyncKeyState(VK_MENU)&0x80000 && GetAsyncKeyState('W')&0x80000)
{
char szCharName[12];
FILE * f = fopen("szCharName.txt","r");
fgets(szCharName,12,f);
fclose(f);
NewCHAR->LowID = 0;
NewCHAR->HighID = GetMe();
for(int i=0;i<=4;i++)ZPostCreateMyChar(NewCHAR,i,szCharName,0,4,0,1);
}
//Spam tofu
if (GetAsyncKeyState(VK_TAB)&0x80000 && pChar() && tofu)
{
NewCHAR->LowID = 0;
NewCHAR->HighID = GetMe();Sleep(25);
ZPostRequestSpawnWorldItem(NewCHAR,111,GetPos(pChar()));
ZPostRequestSpawnWorldItem(NewCHAR,120,GetPos(pChar()));
ZPostRequestSpawnWorldItem(NewCHAR,130,GetPos(pChar()));
ZPostRequestSpawnWorldItem(NewCHAR,131,GetPos(pChar()));
}
//Activate Invisible Spawn
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('O')&0x8000)
{
invisiblespawn=!invisiblespawn;Sleep(500);
}
//Activate speed hack
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('E')&0x8000)
{
speedhack=!speedhack;Sleep(500);
}
//Activate wall hack
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('R')&0x8000)
{
wallhack=!wallhack;Sleep(500);
}
//Activate Bot last attacker
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('B')&0x8000)
{
botlastattacker=!botlastattacker;Sleep(500);
}
//Activate flipmower
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('F')&0x8000)
{
flip=!flip;Sleep(500);
}
//Activate Fake hacker, makes some checks also!
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('Y')&0x8000)
{if (pChar()){
if (fakehacker == 0){fakehacker = 1;}else{fakehacker = 0;};fakehackerwho = GetAttacker();
if (fakehacker != 0 && GetZChar(GetAttacker())==0){fakehacker = 0;ZChatOutput("No attacker retreived!",1,0,0xFFFFFFFF);}
Sleep(500);
}}
//Activate tofu spam hotkey
if (GetAsyncKeyState(VK_CONTROL)&0x8000 && GetAsyncKeyState(VK_LSHIFT)&0x8000 && GetAsyncKeyState(VK_TAB)&0x8000)
{
tofu=!tofu;Sleep(500);
}
//Activate insane massives
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('M')&0x8000)
{
mass=!mass;Sleep(500);
}
//Shows menu
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('I')&0x8000)
{
ZChatOutput("FrenchFatCat.dll By FrenchFatCat!",1,0,0xFFFFFFFF);
ZChatOutput("Add My MSN? Treeinthemiddleofthegarden@hotmail.com",1,0,0xFFFFFFFF);
ZChatOutput("\nHotKeys:",1,0,0xFFFFFFFF);
ZChatOutput("ALT + M = Insane Massives",1,0,0xFFFFFFFF);
ZChatOutput("ALT + L = Lawnmower",1,0,0xFFFFFFFF);
ZChatOutput("ALT + F = Flipmower",1,0,0xFFFFFFFF);
ZChatOutput("ALT + G = Godmode",1,0,0xFFFFFFFF);
ZChatOutput("ALT + B = Bot last attacker",1,0,0xFFFFFFFF);
ZChatOutput("ALT + Y = Fake hacker on attacker",1,0,0xFFFFFFFF);
ZChatOutput("ALT + T = Show useless ID infos",1,0,0xFFFFFFFF);
ZChatOutput("ALT + I = Show This Menu!",1,0,0xFFFFFFFF);
ZChatOutput("ALT + S = Shot Spam!",1,0,0xFFFFFFFF);
ZChatOutput("CONTROL + C = Taunt Spam!",1,0,0xFFFFFFFF);
ZChatOutput("PageUp = Teleport Up",1,0,0xFFFFFFFF);
ZChatOutput("PageDown = Teleport Down",1,0,0xFFFFFFFF);
ZChatOutput("Arrowkeys = Teleport Sideways",1,0,0xFFFFFFFF);
ZChatOutput("Delete = Prevent falling at current Z",1,0,0xFFFFFFFF);
ZChatOutput("Home = Save Position",1,0,0xFFFFFFFF);
ZChatOutput("End = Go to Saved position",1,0,0xFFFFFFFF);
ZChatOutput("ALT + Q = Create Female Character",1,0,0xFFFFFFFF);
ZChatOutput("ALT + W = Create Male Character",1,0,0xFFFFFFFF);
ZChatOutput("NumberPad + = Buffer-overrun(Crash people. only in rooms!)",1,0,0xFFFFFFFF);
ZChatOutput("NumberPad 1 = Melee Weapon Attack",1,0,0xFFFFFFFF);
ZChatOutput("NumberPad 2 = Shoot Gun #1",1,0,0xFFFFFFFF);
ZChatOutput("NumberPad 3 = Shoot Gun #2",1,0,0xFFFFFFFF);
ZChatOutput("NumberPad 4 = Deploy Kit #1",1,0,0xFFFFFFFF);
ZChatOutput("NumberPad 5 = Deploy Kit #2",1,0,0xFFFFFFFF);
ZChatOutput("NumberPad 6 = Clear fShotTime",1,0,0xFFFFFFFF);
ZChatOutput("ALT + R = Wall Hack",1,0,0xFFFFFFFF);
ZChatOutput("ALT + E = Speed Hack",1,0,0xFFFFFFFF);
ZChatOutput("NumberPad - = Instant Room Leave!",1,0,0xFFFFFFFF);
ZChatOutput("ALT + P = Power Level!",1,0,0xFFFFFFFF);
ZChatOutput("ALT + N = Auto Questing!",1,0,0xFFFFFFFF);
ZChatOutput("ALT + 1-8 = Mega Stage(1-6 are gametypes)",1,0,0xFFFFFFFF);
ZChatOutput("NumberPad * = Spam",1,0,0xFFFFFFFF);
ZChatOutput("NumberPad / = Fast Spam",1,0,0xFFFFFFFF);
ZChatOutput("ALT + X = Switch Teams",1,0,0xFFFFFFFF);
ZChatOutput("ALT + C = Activate Room Killer!(Wait 10 seconds)",1,0,0xFFFFFFFF);
ZChatOutput("ALT + Z = Root Bot!(Wait 10 seconds)",1,0,0xFFFFFFFF);
ZChatOutput("\nShift + Ctrl + Tab = Activate Tofu Hotkey",1,0,0xFFFFFFFF);
ZChatOutput("Tab = Spam Tofu",1,0,0xFFFFFFFF);
Sleep(500);
}
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState(VK_F3)&0x8000)
{
ExitProcess(0);
}
//Activate quest plvl
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('N')&0x8000)
{
if (qplvl==0){ZChatOutput("Auto Questing On! ps. FrenchFatCat was here :-P",1,0,0xFFFFFFFF);}else
{ZChatOutput("Auto Questing Off! YOU FOOL!",1,0,0xFFFFFFFF);}
qplvl=!qplvl;Sleep(500);
}
//Activate Room-killer
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('C')&0x8000)
{
roomkill=!roomkill;Sleep(500);
}
//Activate Room-bot
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('Z')&0x8000)
{
roombot=!roombot;Sleep(500);
}
//Whisper overrun a person!
if (GetAsyncKeyState(VK_LSHIFT)&0x8000 && GetAsyncKeyState('C')&0x8000 && pChar())
{
NewCHAR->LowID = 0;
NewCHAR->HighID = GetAttacker();
ZPostAdminAnnounc(NewCHAR,"I R SERIOUS CAT. THIS IS SERIOUS THREAD!",0);
ZPostAdminAnnounc(NewCHAR,"I R SERIOUS CAT. THIS IS SERIOUS THREAD!",1);
}
//Activate lawnmower
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('L')&0x8000)
{
lawn=!lawn;Sleep(500);
}
//Activate Shotspam
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('S')&0x8000)
{
shotspam=!shotspam;Sleep(500);
}
//Switch Teams
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('X')&0x8000)
{
NewSTAG->LowID = 0;
NewSTAG->HighID = GetStage();
NewCHAR->LowID = 0;
NewCHAR->HighID = GetMe();
Team++;if (Team>4){Team=0;}
ZPostStageTeam(NewCHAR,NewSTAG,Team);
Sleep(500);
}
//Activate Godmode
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('G')&0x8000)
{
godmode=!godmode;
Sleep(500);
}
/*
if (GetAsyncKeyState(VK_PRIOR)&0x8000){
NewCHAR->LowID=0;
NewCHAN->LowID=0;
NewCHAR->HighID=GetMe();
NewCHAN->HighID=GetChannel();
unsigned long ID = GetChannel();
char spamX[128];
FILE * f = fopen("spam.txt","r");
while(!feof(f))
{
fgets(spamX,128,f);
NewCHAN->HighID=ID;ZPostChannelChat(NewCHAR,NewCHAN,spamX);
ZPostPeerChat(spamX,0);
for(int i = 1;i<=10;i++){if (i!=ID){NewCHAN->HighID=i;ZPostChannelChat(NewCHAR,NewCHAN,spamX);}}
}
fclose(f);
}*/
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('T')&0x8000){
sprintf(BUFFER,"UserID(0 , %d) ; ChannelID(0 , %d) ; StageID (0 , %d)",GetMe(),GetChannel(),GetStage());
ZChatOutput(BUFFER,1,0,0xFFFFFFFF);
sprintf(BUFFER,"LastInput('%s')",LastInput());
ZChatOutput(BUFFER,1,0,0xFFFFFFFF);
if (pChar())
{
sprintf(BUFFER,"Attacker:(0 , %d , %X)",GetAttacker(),GetZChar(GetAttacker()));
ZChatOutput(BUFFER,1,0,0xFFFFFFFF);
sprintf(BUFFER,"D3DXVECTOR DIRECTION: ( %f , %f , %f )",GetDir(pChar())[0],GetDir(pChar())[1],GetDir(pChar())[2]);
ZChatOutput(BUFFER,1,0,0xFFFFFFFF);
}
Sleep(500);
}
if (GetAsyncKeyState(VK_MULTIPLY)&0x8000 && GetAsyncKeyState(VK_MENU)&0x8000)
{
roomspam=!roomspam;Sleep(500);
}
if (GetAsyncKeyState(VK_DIVIDE)&0x8000 && GetAsyncKeyState(VK_MENU)&0x8000)
{
chanspam=!chanspam;Sleep(500);
}
if (GetAsyncKeyState(VK_MULTIPLY)&0x8000)
{
NewCHAR->LowID=0;
NewCHAN->LowID=0;
NewCHAR->HighID=GetMe();
NewCHAN->HighID=GetChannel();
NewSTAG->LowID = 0;
NewSTAG->HighID = GetStage();
unsigned long ID = GetChannel();
char spamX[128];
FILE * f = fopen("spam.txt","r");
while(!feof(f))
{
fgets(spamX,128,f);
NewCHAN->HighID=ID;ZPostChannelChat(NewCHAR,NewCHAN,spamX);
ZPostPeerChat(spamX,0);
ZPostStageChat(NewCHAR,NewSTAG,spamX);
for(int i = 1;i<=17;i++){if (i!=ID){NewCHAN->HighID=i;ZPostChannelChat(NewCHAR,NewCHAN,spamX);}}
Sleep(50);
}
fclose(f);
}
if (GetAsyncKeyState(VK_DIVIDE)&0x8000)
{
NewCHAR->LowID=0;
NewCHAN->LowID=0;
NewCHAR->HighID=GetMe();
NewCHAN->HighID=GetChannel();
NewSTAG->LowID = 0;
NewSTAG->HighID = GetStage();
char spamX[128];
FILE * f = fopen("spam.txt","r");
while(!feof(f))
{
fgets(spamX,128,f);
ZPostChannelChat(NewCHAR,NewCHAN,spamX);
ZPostPeerChat(spamX,0);
ZPostStageChat(NewCHAR,NewSTAG,spamX);
}
fclose(f);
}
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState(0x31)&0x8000)
{char mapname[32];FILE * f = fopen("mapname.txt","r");fgets(mapname,32,f);fclose(f);MegaStage(mapname,0,133333337);}
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState(0x32)&0x8000)
{char mapname[32];FILE * f = fopen("mapname.txt","r");fgets(mapname,32,f);fclose(f);MegaStage(mapname,1,133333337);}
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState(0x33)&0x8000)
{char mapname[32];FILE * f = fopen("mapname.txt","r");fgets(mapname,32,f);fclose(f);MegaStage(mapname,2,133333337);}
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState(0x34)&0x8000)
{char mapname[32];FILE * f = fopen("mapname.txt","r");fgets(mapname,32,f);fclose(f);MegaStage(mapname,3,133333337);}
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState(0x35)&0x8000)
{char mapname[32];FILE * f = fopen("mapname.txt","r");fgets(mapname,32,f);fclose(f);MegaStage(mapname,4,133333337);}
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState(0x36)&0x8000)
{char mapname[32];FILE * f = fopen("mapname.txt","r");fgets(mapname,32,f);fclose(f);MegaStage(mapname,5,133333337);}
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState(0x37)&0x8000)
{char mapname[32];FILE * f = fopen("mapname.txt","r");fgets(mapname,32,f);fclose(f);MegaStage(mapname,6,133333337);}
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState(0x38)&0x8000)
{char mapname[32];FILE * f = fopen("mapname.txt","r");fgets(mapname,32,f);fclose(f);MegaStage(mapname,8,133333337);}
//Send a HUGE message / Buffer-overrun!
if (GetAsyncKeyState('Y')&0x8000 && pChar() && overrun == 1)
{
ZPostPeerChat("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t",0);
NewCHAR->LowID = 0 ; NewCHAN->LowID = 0;
NewCHAR->HighID = GetMe() ; NewCHAN->HighID = GetChannel();
ZPostRequestChannelJoin(NewCHAR,NewCHAN);
Sleep(5000);
ExitProcess(0);
NewCHAR->LowID=0;
NewCHAN->LowID=0;
NewCHAR->HighID=GetMe();
NewCHAN->HighID=GetChannel();
overrun = 0;
}
if (GetAsyncKeyState('N')&0x8000 && pChar() && overrun == 1)
{
ZChatOutput("Request has been canceled!",1,0,0xFFFFFFFF);
overrun = 0;
}
if (GetAsyncKeyState(VK_ADD)&0x8000 && pChar() && overrun == 0){
overrun = 1;
ZChatOutput("Do you wish to buffer-overrun the room? (y/n)",1,0,0xFFFFFFFF);
Sleep(100);
}
Sleep(20);}}
void Respawn()
{while(1){
float direction[] = {0,0,0,0};
MUID *fake = new MUID();
if (GetAsyncKeyState(VK_MENU)&0x8000 && GetAsyncKeyState('S')&0x8000)
{
float *pos = GetPos(pChar());
//ZPostRequestSpawn(fake,pos,direction);
Sleep(100);
}
Sleep(20);}}
long Slot = 0;
long GET = 0;
long GET2 = 0;
void roombotter()
{while(1){
GET2 = GetPeerFromList(Slot);
if (pChar() && roombot && GET2!=GetMe() && GetZChar(GET2))
{
NewCHAR2->LowID = 0;
NewCHAR2->HighID = GET2;
ZPostRequestExpelClanMember(NewCHAR2,"Faggot!");
}
Sleep(20);}}
void roomkiller()
{while(1){
GET = GetPeerFromList(Slot);
if (pChar() && roomkill && GetZChar(GET))
{
SetPos(GetPos(GetZChar(GET)));
ZPostSkill(2,7);
ZPostShot(Empty,Empty,1,2);
}
Sleep(10);}}
void process()
{while(1){
for(int i = 1;i<=GetPeersInList();i++)
{
if (pChar()){
Slot = i;
if (GetZChar(GetPeerFromList(Slot))){Sleep(50);}
}
}
Sleep(10);
}}
//This is the function that does a peer check in room
//If ZCharacterManager, or GetZChat returns 0, the peer is not in the room
//Therefore, we don't add him!
void roomcheck()
{while(1){
if (pChar() && roomkill || roombot)
{
ClearPeerList();
for (int i = 1;i<=maxexaust;i++)
{if (pChar()){
if (GetZChar(i) && i != GetMe())
{
AddPeerToList(i);
}
}}
}
Sleep(10000);}}
//Where the DLL will start!
extern "C"
{
//Add our Export headers because Our compiler doesn't automatically add it!
__declspec(dllexport) BOOL __stdcall DllMain(HINSTANCE hInst,DWORD reason,LPVOID lpv)
{
DisableThreadLibraryCalls(hInst);
if (reason == DLL_PROCESS_ATTACH)
{
//Create a new file!
FILE * a = fopen("szCharName.txt","w");
fclose(a);
FILE * b = fopen("test.txt","w");
fputs("XTRAP_PATCH_SKIP",b);
fclose(b);
FILE * c = fopen("spam.txt","w");
fputs("FrenchFatCat Made This Hack! Replace the Text In Your Gunz Folder!",c);
fclose(c);
FILE * e = fopen("overrun.txt","w");
fputs("FrenchFatCat",e);
fclose(e);
FILE * d = fopen("mapname.txt","w");
fputs("Mansion",d);
fclose(d);
//Show a message that the DLL was injected!
//MessageBox(NULL,"FrenchFatCat.dll By FrenchFatCat NOTE: Press Alt+I in the lobby :]\n\nDISCLAIMER: I am not responsible to whatever happens to your account with my *Originally* Compiled DLL!","FrenchFatCat.dll",MB_OK);
//MessageBox(NULL,"FrenchFatCat Made This!","FrenchFatCat.dll",MB_OK);
//Create different Threads to prevent gunz from stopping!
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&MainLoop,NULL,0,NULL);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&MainCheck,NULL,0,NULL);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&Respawn,0,NULL,NULL);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&ShotSpam1,0,NULL,NULL);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&ShotSpam2,0,NULL,NULL);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&Questing,0,NULL,NULL);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&Spam,0,NULL,NULL);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&roomcheck,0,NULL,NULL);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&process,0,NULL,NULL);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&roomkiller,0,NULL,NULL);
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&roombotter,0,NULL,NULL);
}
return true;
}
}
addresses:
#define ZChatOutputADDR 0x0042A230
#define ZPostPeerChatADDR 0x004297F0
#define ZPostStageChatADDR 0x00417F80
#define ZGetGameClientADDR 0x004ABCC0
#define ZGetGameInterfaceADDR 0x004ABCE0
#define ZPostChannelChatADDR 0x004298D0
#define ZPostAdminHaltADDR 0x0042C350
#define ZPostGameKillADDR 0x004A07E0
#define ZPostSkillADDR 0x0047DDA0
#define ZPostShotADDR 0x0047DF30
#define ZPostShotMeleeADDR 0x0047E020
#define ZPostSpMotionADDR 0x004A0350
DWORD ZPostRequestSpawnADDR = 0x004B26C0;
#define ZPostRequestExpelClanMemberADDR 0x00424F90
#define ZPostRequestSpawnWorldItemADDR 0x004B4640
#define ZPostCreateMyCharADDR 0x00448730
#define ZPostRequestChannelJoinADDR 0x004C4010
#define ZPostQuestRequestNPCDeadADDR 0x0048A9E0
#define ZPostStageStartADDR 0x00448E30
#define ZPostQuestReadyToNewSectorADDR 0x0045D830
#define ZPostStageEnterBattleADDR 0x004A05C0
#define ZPostStageLeaveBattleADDR 0x00433480
#define ZPostStageSettingADDR 0x0045BE00
#define ZPostStageTeamADDR 0x00448480
#define ZPostAdminAnnouncADDR 0x0042C200
#define ZPostAdminRequestJjangADDR 0x0042AE10
#define ZPostWhisperADDR 0x0042A9D0
#define ZPostWhereADDR 0x00424560
DWORD ZCharacterManager = 0x0049E870;
DWORD ZCharacterManagerFind = 0x0047A660;
DWORD SetHPADDR = 0x00473750;
DWORD SetAPADDR = 0x00473760;
peerlist:
bool roomkill = 0;
bool overrun = 0;
#define maxexaust 1000000
int PeersInList = 0;
long Peers[maxexaust];
int GetPeersInList()
{
return PeersInList;
}
long GetPeerFromList(int offset)
{
if (offset>0 && offset<=PeersInList){return Peers[offset];}
return 0;
}
bool IsPeerInList(long peer)
{
for (int i=1;i<=GetPeersInList();i++){if (Peers[i]==peer)return 1;}
return 0;
}
void RemovePeerFromList(long peer)
{
for(int i = 1;i<=GetPeersInList();i++){if (i == peer)Peers[i]=0;}
}
void AddPeerToList(long peer)
{
PeersInList++;
Peers[PeersInList] = peer;
}
void ClearPeerList()
{
PeersInList = 0;
}
i know it needs to be a dll, and he said that it should be about the size of 45kb
if any one can compile of give an idiots guide of how i can compile
(a guide would be better)
i would be VERY thankful!