[gMS v.99.2] [Source] Kami Wallcheck

WallCheck Source
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#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();
}
}
Wall Addy + Offsets
//By Condor aka Cawndar aka TalibanTom
DWORD WallAddy = 0x00DC67F0
//AoB: 8B 1D ? ? ? 00 8B 43 ? 8B BE ? ? 00 00 85 C0 74 ? 8B
DWORD LeftWallOffset = 0x001C
DWORD TopWallOffset = 0x001C + 04
DWORD RightWallOffset = 0x001C + 08
DWORD BottomWallOffset = 0x001C + 0C (12)
Toast to the Jerk Offs