#include <windows.h>
#include "HighPigmentScripts.h"
#include "HighPigmentFunctions.h"
DWORD WallBase = 0x00DC67F0; //Savion helped me here xD
// AoB of 00DC67F0 = 8B 1D ? ? ? 00 8B 43 ? 8B BE ? ? 00 00 85 C0 74 ? 8B
DWORD LeftWallOffset = 0x001C; //It's finally here! (Your welcome)
void EnableKamiFloat() //Enables Kami Float...
{
WriteAddress((LPVOID)KamiAddy , KamiON, 2);
}
void DisableKamiFloat() //Disables Kami Float...
{
WriteAddress((LPVOID)KamiAddy , KamiOFF, 2);
}
void WallHook() //Throw this in your pointer updater (made this for tutorial sake)
{
LeftWall = (int)ReadPointer((ULONG_PTR*)WallBase,LeftWallOffset); //Left
TopWall = (int)ReadPointer((ULONG_PTR*)WallBase,LeftWallOffset + 4);//Top = 1C + 4
RightWall = (int)ReadPointer((ULONG_PTR*)WallBase,LeftWallOffset + 8);//Right = 1C + 8
BottomWall = (int)ReadPointer((ULONG_PTR*)WallBase,LeftWallOffset + 12);//Bottom = 1C + 0C (aka 12)
}
void KamiTeleport() // Actual Teleport (If delay is over 1s reduces ban rate by a lot!)
{
if(MobCount > 0) //Makes sure you dont teleport if no mobs are on map (an essential!)
{
WritePointer(CharacterBase, TeleportX, MobLocationX - RangeX); //Makes your character to go Mob X + Range
WritePointer(CharacterBase, TeleportY, MobLocationY - RangeY); //Makes your character to go Mob Y + Range
}
}
void WallCheck() //Checks if character is on wall (bans)
{
int MobCheckX = Convert::ToInt32(this->label1->Text) + Convert::ToInt32(this->textBox1->Text); //Gets your soon to be X location
int MobCheckY = Convert::ToInt32(this->label2->Text) + Convert::ToInt32(this->textBox2->Text); //Gets your soon to be Y location
//The if statement!
if (((LeftWall > MobCheckX) && (RightWall < MobCheckX)) && ((TopWall < MobCheckY) && (BottomWall > MobCheckY))) //Compares to see if you are past the wall
{
KamiTeleport();//Calls Teleport
}
//Pretty simple xD
}
void EnableKami()//Call this on your thread!?
{
WallHook(); //Gets walls
Sleep(1000); //Kami Sleep Delay (Since WallCheck(); takes milisecond xD)
WallCheck(); //Calls the check, if all goes well it will call KamiTeleport()
}
/*****Example of usage o-o?*****/
/*But seriously, dont use this...*/
//Your timer i guess?
void NigerianGUI::KamiSpoonFeedTimer_Tick(System::Object^ sender, System::EventArgs^ e)
{
if(KamiCheckBox->Checked)
{
EnableKami();
}
}
//Some checkbox?
void NigerianGUI::KamiCheckBox_CheckedChanged(System::Object^ sender, System::EventArgs^ e)
{
this->KamiSpoonFeedTimer->Interval = "1000"
if(KamiCheckBox->Checked)
{
EnableKamiFloat();
}
else
{
DisableKamiFloat();
}
}