How to create a NoMenu Hack
Hey MPGH Community!
Today I'm going to show you how to create a WarRock NoMenu Hack. I've havent seen many tutorials on MPGH on how to create a NoMenu WarRock hack so I decided to create my own.I'm currently using visual studio c++ 2010 but this will work with all. Lets get started!
First open c++ and click on File -> New -> Project.
Now click on Win32 and select Win32 Project.
Enter the name and the location you would like to save the project. In this case we will name it "NoMenu TUT".
[IMG]http://i619.photobucke*****m/albums/tt273/brandon29483/TUT1.jpg[/IMG]
Now click OK and Next.
Now select DLL and Check Empty Project then click Finish.
[IMG]http://i619.photobucke*****m/albums/tt273/brandon29483/TUT2.jpg[/IMG]
Now look to your left or right and you will see Header Files and other files.
Right click on source files and click add and new item.
Now select C++ File .cpp and name that "main" then hit add.
Now you should see a blank page.
At the top type this.
#ifndef Base_CPP // We will need this at the end
#include <windows.h> // Include the windows header file
#include "Addresses.h" // Include the addies
Now right click on Header Files this time and add a new item.
Select headers file .h and name it "Addresses.h"
Now double click on Addresses.h at the left and type this.
then after "#define" type the name of your addie. In this tut we will be making NoFallDamage and Superjump so type this. For these hacks we will need the Playerpointer but for the heck of it, I'll give you the Player and Serverpointer.
OFS_Z is the offset for Superjump.
We will need to define every addie. BTW: Addie is short for Address.
Now we need to give the actual address. Im giving the Up2Date addies but when WarRock updates, you will need to find the updated addresses. Type 0x00 before the actual addie. Thats the prefix. So type this.
So this means that the actual addie for OFS_Z is 0102E4 but with the Prefix it is 0x000102E4. Same with NFD.
Now go down and type this.
Then means that Superjump is on. 1 is ON ... 0 is OFF
[IMG]http://i619.photobucke*****m/albums/tt273/brandon29483/TUT3.jpg[/IMG]
Now go back to main.cpp and under
type
void Hack(void){
for(;

{
DWORD Servercall = *(DWORD*)ADR_PLAYERPOINTER;
DWORD Playercall = *(DWORD*)ADR_SERVERPOINTER;
Now instead of typing "ADR_SERVERPOINTER", We can just type "Servercall". They both are the same.
Now under that we type the Hack Functions. We are creating Superjump and NFD so under
DWORD Playercall = *(DWORD*)ADR_SERVERPOINTER;
Type
// Superjump
{
if(Superjump == 1){
if(GetAsyncKeyState(VK_CONTROL) &1){
if(Playercall != 0){
*(float*)(Playercall+OFS_Z) = 2500;}}}
}
// NFD
{
*(float*)(Playercall+NFD) =- 13948;
}
If you type "//" before something, this means its just text and doesnt affect the hack in anyway.
It's used to know what you did if you forgot.
Pretty much, use the "//" if you want to look back on how you did something.
Now under
// Superjump
{
if(Superjump == 1){
if(GetAsyncKeyState(VK_CONTROL) &1){
if(Playercall != 0){
*(float*)(Playercall+OFS_Z) = 2500;}}}
}
// NFD
{
*(float*)(Playercall+NFD) =- 13948;
}
You can place all your other hack functions like 5th slot and teleport. Those are just some examples.
Now we create the HackThread. Without this, the hack will just not work.
So type
Sleep(10);
}
}
BOOL WINAPI DllMain(HINSTANCE hModule,DWORD dwReason,LPVOID lpvReserved){
if(dwReason==DLL_PROCESS_ATTACH){
CreateThread(0,0,(LPTHREAD_START_ROUTINE)Hack,0,0, 0);}
return TRUE;}
#endif
[IMG]http://i619.photobucke*****m/albums/tt273/brandon29483/TUT4.jpg[/IMG]
Now debug it.
After you are done debugging, save all then exit.
Now go to where you saved it and click on "NoMenu TUT" and then "DEBUG" and you will see "NoMenu TUT.dll"
That's your hack, now just inject it and have fun hacking!
<3 Shunnai <3