#include "Windows.h"
#pragma warning(disable: 4700)
LPTSTR TheBaseTread = "PointBlank.exe";
LPTSTR TheBrother = "PointBlank.exe";
//*_____________________________________________________________________
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
DWORD dwI3EXEC, FsPeed, VK, VK1, Aim, Spion, Pasangg, Defusee, SpeedHacX, PI, PI1, Suicidee, TreadBase = 0;
DWORD dwBase, ofsMNZ1, CheckProtection = 0;
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
int Dewa = 0;
BYTE FSPEED_ON [4] = {0x6F, 0x12, 0x83, 0x40};
BYTE SPION_ON [2] = {0x00, 0x00};
BYTE AVK_ON [6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
BYTE AIM_ON [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
BYTE AIM_OFF [8] = {0x00, 0x00, 0x00, 0x20, 0x6C, 0xC1, 0x76, 0x3F};
BYTE PASANG_ON [4] = {0x00, 0x00, 0xA0, 0x00};
BYTE DEFUSE_ON [4] = {0x00, 0x00, 0xE0, 0x00};
BYTE SPEED_ON [2] = {0x90, 0x3F};
//BYTE HacX_OFF [2] = {0x84,, 0x3F};
BYTE PI_ON [16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#define BrutalSG 0x4CF108 //PointBlank.exe+4CE108
#define Anti_VK 0x58CFA4 //PointBlank.exe+58BFA4
#define Anti_VK1 0x58D1E4 //PointBlank.exe+58C1E4
#define Aim_Datar 0x4BE5E0 //PointBlank.exe+4BD5E0
#define Pasang 0x4BD904 //PointBlank.exe+4BC904
#define Defuse 0x4CA228 //PointBlank.exe+4C9228
#define SpeedHack 0x4C4BD6 //PointBlank.exe+4C3BD6
#define Anti_PI 0x4BEDDC //PointBlank.exe+4BDDDC
#define Anti_PI1 0x4CF044 //PointBlank.exe+4CE044
#define Suicide 0x4C4BD0 //PointBlank.exe+4C3BD0
//////////////////////////////////////////////////////////////////////////////////////////////////
#define Base_Player 0x632A58 //PointBlank.exe+00631A58
#define Base_Weapon 0x632A3C //PointBlank.exe+00631A3C
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//================================================================================?==================================================//
DWORD dwBase,ofsMNZ1, CheckProtection, adrOTB=0;
int StatusWeapon = 0;
void AlldyTeamElite(void *adress, void *Pointer, int Byte)
{
memcpy (adress,Pointer,Byte);
}
BOOL TreadCalled(unsigned long ADRexec, int OFSexec, int PTRexec)
{
}
void HHack(DWORD DKK,DWORD CHT,DWORD PBExec, DWORD PTRExec, BYTE VirFS)
{
DWORD A=0;
if (IsBadHugeReadPtr((LPDWORD)DKK,4)==0)
{
A=*(PDWORD)((DWORD)(DKK))+CHT;
if (IsBadHugeReadPtr((LPDWORD)A,4)==0)
{
A=*(PDWORD)((DWORD)(A))+PBExec;
if (IsBadHugeReadPtr((LPDWORD)A,4)==0)
{
A=*(PDWORD)((DWORD)(A))+PTRExec;
if (IsBadHugeReadPtr((LPDWORD)A,4)==0)
{
*(PBYTE)A=VirFS;
}
}
}
}
}
DWORD WINAPI PTAlldy(LPVOID param)
{
while (1)
{
/********************************************************************************?*****************************************************/
//====================== UNLIMITED AMMO =========================//
if (StatusWeapon==1){
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(TheBaseTread);
DWORD dwBasei3Exec = dwI3EXEC + (DWORD)Base_Weapon;
int i;
for(i=0x50;i<=0x347;i+=4)
{
HHack(dwBasei3Exec,0x174,i,0xF4B,0x46);
HHack(dwBasei3Exec,0x174,i,0xEE0,0x46);
HHack(dwBasei3Exec,0x174,i,0xEE1,0x46);
HHack(dwBasei3Exec,0x174,i,0xEE2,0x46);
}
}
///====================== 1 hit+Burst =========================//
if (StatusWeapon==2)
{
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(TheBaseTread);
DWORD dwBasei3Exec = dwI3EXEC + (DWORD)Base_Weapon;
int i;
for(i=0x50;i<=0x347;i+=4){
HHack(dwBasei3Exec,0x174,i,0x4F0,0x46);
HHack(dwBasei3Exec,0x174,i,0xEC4,0x30);
HHack(dwBasei3Exec,0x174,i,0x50F,0x46);
}
}
/*-------------------------------- Ammo Global ---------------------------------*/
if(GetAsyncKeyState(VK_HOME)&1)
{
MessageBeep(MB_ICONINFORMATION);
StatusWeapon =1;
}
/*--------------------------------Reset Pointer ---------------------------------*/
{
}
/*_________________________________ Anti Ilegal __________________________________*/
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(TheBrother);
if(dwI3EXEC > 0)
{
DWORD FsPeed = dwI3EXEC + BrutalSG;
DWORD VK = dwI3EXEC + Anti_VK;
DWORD VK1 = dwI3EXEC + Anti_VK1;
DWORD PI = dwI3EXEC + Anti_PI;
DWORD PI1 = dwI3EXEC + Anti_PI1;
AlldyTeamElite((void *)(FsPeed),(void*)(PBYTE)FSPEED_ON,4);
AlldyTeamElite((void *)(VK),(void*)(PBYTE)AVK_ON,6);
AlldyTeamElite((void *)(VK1),(void*)(PBYTE)AVK_ON,6);
AlldyTeamElite((void *)(PI),(void*)(PBYTE)PI_ON,16);
AlldyTeamElite((void *)(PI1),(void*)(PBYTE)PI_ON,16);
}
//============================== Pasang+Defius =============================================================//
if(GetAsyncKeyState(VK_INSERT)&1){
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(TheBrother);
if (dwI3EXEC > 0){
Beep(523,500);
Pasangg = dwI3EXEC + Pasang;
Defusee = dwI3EXEC + Defuse;
AlldyTeamElite((void*)Pasangg, (char *)PASANG_ON,4);
AlldyTeamElite((void*)Defusee, (char *)DEFUSE_ON,4);
}
}
//------------------------------ Aimbot Datar ----------------------------------
if(GetAsyncKeyState(VK_F1)&1){
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(TheBrother);
if (dwI3EXEC > 0){
Beep(523,500);
Aim = dwI3EXEC + Aim_Datar;
AlldyTeamElite((void*)Aim, (char *)AIM_ON,8);
}
}
if(GetAsyncKeyState(VK_F2)&1){
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(TheBrother);
if (dwI3EXEC > 0){
Beep(523,500);
Aim = dwI3EXEC + Aim_Datar;
AlldyTeamElite((void*)Aim, (char *)AIM_OFF,8);
}
}
//------------------------------ SpeedHack ----------------------------------
if(GetAsyncKeyState(VK_F3)&1){
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(TheBrother);
if (dwI3EXEC > 0){
Beep(523,500);
SpeedHacX = dwI3EXEC + SpeedHack;
AlldyTeamElite((void*)SpeedHacX, (char *)SPEED_ON,2);
}
}
if(GetAsyncKeyState(VK_F4)&1){
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(TheBrother);
if (dwI3EXEC > 0){
Beep(523,500);
SpeedHacX = dwI3EXEC + SpeedHack;
AlldyTeamElite((void*)SpeedHacX, (char *)"\x84\x3F",2);
}
}
//------------------------------------------------------------------------------
}
Sleep(15);
}
//============================================================================
BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpvReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
char strDLLName [_MAX_PATH];
Sleep(200);
GetModuleFileName(hModule, strDLLName , _MAX_PATH);
if (strstr(strDLLName, "v2.dll") <= 0) {
MessageBox(0, "", "RENAMER & RESHACKER", MB_OK + MB_ICONSTOP );
ExitProcess(0);
}
Beep(1000, 500);
MessageBox (0,"Credit : AlldyTeamElite","© PT.Alldy Software ©", MB_OKCANCEL + MB_ICONINFORMATION);
MessageBox (0,"Special Thank To :\n- Heldy TeamElite\n- Vj AsWin DX\n- Zick TeamElite\n- All Member PT.Alldy","TERIMA KASIH", MB_OK + MB_ICONINFORMATION);
MessageBox (0,"Fiture & Hotkey :\n- Ammo : Home\n- Pasang Or Defuse : Insert\n- Aimbot Datar : F1 ON & F2 OFF\n- SpeedHack : F3 ON & F4 OFF\n- Spion Mode : ?? ON & ?? OFF\n- Brutal SG : Auto ON\n- Anti PI : Auto ON\n- Anti VK : Auto ON","Hady_HacX", MB_OK + MB_ICONINFORMATION);
system("start https://www.facebook.com/profile.php?id=100002343800542");
system("start http://bpp-probase.******/forum/");
CreateThread(0,0,(LPTHREAD_START_ROUTINE)PTAlldy,0,0,0);
}
return TRUE;
}
_____________________________________________________________
>> 2 HacX
#include <windows.h>
#pragma warning(disable: 4700)
LPTSTR PBlankExe = "PointBlank.exe"; //Target Yang Terbaru ^__^
LPTSTR TheBrother = "PointBlank.exe";
DWORD Gravity, adrSpeed, dwExe, adrProteck, AIM_DATAR, Enemy, adrRep, adrBrutal, FullHack, ofsMNZ1, dwBase, Change, CheckProtection;
void AlldyTeamEliteDX(void *adr, void *ptr, int size)
{
DWORD CheckProtection;
VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &ofsMNZ1);
RtlMoveMemory(adr,ptr,size);
VirtualProtect(adr,size,CheckProtection, &dwBase);
}
int SS = 0;
int BB = 0;
int __fastcall AlldyJk(void)
{
return 0;
}
int Alldy = 0;
BOOL AlldyTeamElite(unsigned long ADRexec, int OFSexec, int PTRexec)
{
if (!IsBadWritePtr((void*)ADRexec, sizeof(unsigned long)))
{
if (!IsBadWritePtr((void*)(*(unsigned long*)ADRexec + OFSexec), sizeof(unsigned long)))
{
*(int*)(*(unsigned long*)ADRexec + OFSexec) = PTRexec;
}
}
return (0);
}
int __fastcall AlldyGantengLho(void)
{
return (0);
}
DWORD WINAPI AlldySpecialFullHack(LPVOID param)
{
while(1)
{
AlldyGantengLho();
AlldyGantengLho();
AlldyGantengLho();
AlldyGantengLho();
AlldyGantengLho();
AlldyGantengLho();
AlldyGantengLho();
AlldyGantengLho();
AlldyGantengLho();
AlldyGantengLho();
AlldyGantengLho();
//======================OFFSET========================
#define Plant 0x4BC904
#define Deafuse 0x4C9228
#define AntiIlegal 0x5C65F8 // Anti Ilegal
#define TagName 0x26F9D5 // ESP Name
#define BrutalAllWeapon 0x4CF168
#define AntiVoteKick 0x4B9F78
#define Darah 0X******
#define DCin1ROOM 0X******
//=======================Byte=============================
int Dewa = 0;
/*BYTE FSPEED [4] = {0x6F, 0x12, 0x83, 0x40};
BYTE MSPEED [8] = {0x00, 0x00, 0x00, 0x40 , 0xE1 , 0x7A , 0x89 , 0x3F};
BYTE KICKON [4] = {0xFF, 0xFF, 0xFF, 0x50};
BYTE KICKOF [4] = {0x6F, 0x12, 0x83, 0x3C};
BYTE AntiOF [4] = {0x00, 0x00, 0x00, 0x00};
BYTE AntiON [4] = {0x00, 0x00, 0x20, 0x42};
BYTE K400ON [2] = {0x00, 0x00};
BYTE K400OF [2] = {0x2e, 0x40};
BYTE TuyulOF [1] = {0x84};
BYTE TuyulON [1] = {0xA0};
BYTE defusOFF [4] = {0x40, 0x40, 0x40, 0x40};
BYTE plantOFF [4] = {0x40, 0x40, 0x40, 0x40};
BYTE defusON [4] = {0x00, 0x00, 0x00, 0x00};
BYTE plantON [4] = {0x00, 0x00, 0x00, 0x00};
BYTE FZ1ON [4] = {0x00, 0x00, 0x00, 0x00};
BYTE FZ2ON [15] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
BYTE DarahON [1] = {0xFF};
BYTE DarahOFF [1] = {0x3F};
BYTE AntiIlegal [7] = {x00,x00,x00,x00,x00,x00,xFF};
BYTE ESPName [6] = {xE9,x01,x00,x00,x00,x00};
BYTE BrutalSG[4] = {x6F,x12,x83,x40};
*/
//=======================================Brutal SG==============================================//New
if(GetAsyncKeyState(VK_Delete)&1){
FullHack = (DWORD)GetModuleHandleA("PointBlank.exe");
DWORD Brutal_SG = FullHack + 0x4CF168;
AlldyTeamEliteDX((void *)(AIM_DATAR),(void*)(PBYTE)"{x6F,x12,x83,x40};
MessageBeep(MB_ICONWARNING);
AlldyGantengLho();
}
//=======================================Ambiot Datar ON=====================================//New
if(GetAsyncKeyState(VK_HOME)&1){
FullHack = (DWORD)GetModuleHandleA("PointBlank.exe");
DWORD AIM_DATAR = FullHack + 0x4BE5E0;
AlldyTeamEliteDX((void *)(AIM_DATAR),(void*)(PBYTE)"\x00\x00\x00\x00\x00\x00\x00\x00",8);
MessageBeep(MB_ICONWARNING);
AlldyGantengLho();
}
//=======================================Aim Datar ( OFF )=====================================//New
if(GetAsyncKeyState(VK_INSERT)&1){
FullHack = (DWORD)GetModuleHandleA("PointBlank.exe");
DWORD AIM_DATAR = FullHack + 0x4BE5E0;
AlldyTeamEliteDX((void *)(AIM_DATAR),(void*)(PBYTE)"\x00\x00\x00\x20\x6C\xC1\x76\x3F",8);
MessageBeep(MB_ICONWARNING);
AlldyGantengLho();
}
//==================================Pasang bom 0 Detik Or Pasang===================================//New
if(GetAsyncKeyState(VK_END)&1){
FullHack = (DWORD)GetModuleHandleA("PointBlank.exe");
DWORD adrPlant = FullHack + 0x4CA288;
DWORD adrDefuse = FullHack + 0x4BD904;
AlldyTeamEliteDX((void *)(adrPlant),(int*)(PBYTE)"\x00\x00\xA0\x00",4);
AlldyTeamEliteDX((void *)(adrDefuse),(int*)(PBYTE)"\x00\x00\xE0\x00",4);
MessageBeep(MB_ICONWARNING);
AlldyGantengLho();
}
..=========================================Ghots On=============================================//New
if(GetAsyncKeyState(VK_F3)&1)
{
FullHack= (DWORD)GetModuleHandleA("PointBlank.exe");
DWORD Ghots= FullHack + 0x52A69E;
AlldyTeamEliteDX((void *)(BOMB),(void*)(PBYTE)"\x00\x00",2);
MessageBeep(MB_ICONWARNING);
AlldyGantengLho();
}
//=========================================Ghots off=============================================//New
if(GetAsyncKeyState(VK_F4)&1)
{
FullHack = (DWORD)GetModuleHandleA("PointBlank.exe");
DWORD Ghots= FullHack + 0x52A69E;
AlldyTeamEliteDX((void *)(BOMB),(void*)(PBYTE)"\x2E\x40",2);
MessageBeep(MB_ICONWARNING);
AlldyGantengLho();
}
//------------------------------------------------------------------------------
{
Sleep(0);
}
}
return(0);
}
//------------------------------------------------------------------------------
DWORD WINAPI AlldySpecialHack(LPVOID param)
{
while (1)
{
//========================MENGHINDARI AHNHS_ENGINE_DETECT_GAMEHACK==============
AlldyJk();
//------------------------------------------------------------------------------
{
Sleep(100);// Terserah loe mao di ganti brpa !!( Yg Penting TAHAN LAMA )
}
}
return(0);
}
//------------------------------------------------------------------------------
BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpvReserved)
{
if(dwReason == DLL_PROCESS_ATTACH) {
char strDLLName [_MAX_PATH];
Sleep(200);
MessageBox (0,"Credit By : \n[X] Alldy TëàmÉlitë ( ME )\n[X] VJ AsWin Dx ( MY Suhu )","Alldy Cheaters Cupu", MB_OKCANCEL | MB_ICONINFORMATION); // Plzzz JANGAN DI GANTI ( AGAR TAHAN LAMA Big Grin)
MessageBox (0,"Thank's to :\n[X] Devata Code Fredi ( MY FRIED )\n[X] AsWa*r TeamElite'Dx ( MY Fried )\n[X] All Member PT.Alldy ( My Grup )","PT.AlldySoft", MB_OK | MB_ICONINFORMATION); // Jangan Di ganti kalau mau tambah aja OK
MessageBox (0,"http://n5hackercyber.********.com/" ,"WEB RESMI KAMI", MB_OKCANCEL | MB_ICONINFORMATION); // Agar Tahan lama Big Grin
MessageBox (0,"https://www.facebook.com/profile.php?id=100002343800542" ,"FB RESMI DARI KAMI", MB_OKCANCEL | MB_ICONINFORMATION); // Agar Tahan lama Big Grin
system("start http://n5hackercyber.********.com/"); //kalau Diganti Gax Akan Work All Windows Big Grin
//------------------------------------------------------------------------------
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)AlldySpecialFullHack, 0, 0, 0);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)AlldySpecialHack, 0, 0, 0);
}
return TRUE;
}
_____________________________________________________________
>> 3 ESP Base
#define NAMESIZE 0x21
#define OFS_NAMES 0x5D2C
#define OFS_HEALTH 0x344
#define HPSIZE 0x1C
#define MAXPLAYERS 16
#define PLAYERSIZE 0x11A8
#define OFS_BASEPLAYER 0x631A58
#define OFS_PLAYER 0x74BC
#define OFS_TEAM 0x6150
#define OFS_RDATA 0x189080
#define OFS_Grade 0x5AD1
#define GradeSIZE 0x26
CHAR FrameRate[20] = "[+]";
DWORD dwGFX = (DWORD)GetModuleHandle("i3GfxDx.dll");
RenderContext *pRC = (RenderContext*)(dwGFX + OFS_RDATA);
bool WorldToScreen(D3DVECTOR Player,D3DVECTOR &PlayerScaled)
{
D3DXVECTOR3 PlayerPos(Player.x,Player.y,Player.z);
D3DXMATRIX identity;
D3DXVECTOR3 vScreen;
npDevice->GetViewport(&g_ViewPort);
g_ViewPort.X = g_ViewPort.Y = 0;
g_ViewPort.MinZ = 0;
g_ViewPort.MaxZ = 1;
D3DXVec3Project(&vScreen, &PlayerPos, &g_ViewPort, &pRC->pRenderData->ProjMatrix, &pRC->pRenderData->ViewMatrix, &pRC->pRenderData->GetWorldMatrix);
if (vScreen.z < 1.0f && vScreen.x > 0.0f && vScreen.y > 0.0f && vScreen.x < g_ViewPort.Width && vScreen.y < g_ViewPort.Height)
{
PlayerScaled.x = vScreen.x;
PlayerScaled.y = vScreen.y ;
PlayerScaled.z = vScreen.z;
return true;
}
return false;
}
void FillRGB( float x, float y, float w, float h, D3DCOLOR color)
{
if( w < 0 )w = 1;
if( h < 0 )h = 1;
if( x < 0 )x = 1;
if( y < 0 )y = 1;
D3DRECT rec = { x, y, x + w, y + h };
npDevice->Clear( 1, &rec, D3DCLEAR_TARGET, color, 0, 0 );
}
void DrawBox1(float x, float y, float w, float h, D3DCOLOR color )
{
D3DRECT rec;
rec.x1 = x;
rec.x2 = x + w;
rec.y1 = y;
rec.y2 = y + h;
npDevice->Clear( 1, &rec, D3DCLEAR_TARGET, color, 0, 0 );
}
void DrawString(float x, float y , DWORD color, const char *fmt, ...)
{
RECT FontPos = { x, y, x + 20, y + 10 };
char buf[1024] = {'\0'};
va_list va_alist;
va_start(va_alist, fmt);
vsprintf(buf, fmt, va_alist);
va_end(va_alist);
g_pFont->DrawText(NULL, buf, -1, &FontPos, DT_NOCLIP, color);
}
D3DVECTOR HeadPos;
D3DVECTOR FootPos;
D3DVECTOR ScreenPos;
#define BLACK D3DCOLOR_ARGB(150, 000, 000, 000)
#define WHITE D3DCOLOR_ARGB(255, 255, 255, 255)
#define RED D3DCOLOR_ARGB(255, 255, 000, 000)
#define GREEN D3DCOLOR_ARGB(255, 000, 255, 000)
#define YELLOW D3DCOLOR_ARGB(255, 255, 255, 000)
#define BLUE D3DCOLOR_ARGB(255, 000, 000, 255)
#define SKYBLUE D3DCOLOR_ARGB(255, 0, 180, 255)
#define RED2 D3DCOLOR_ARGB(100, 255, 000, 000)
void DrawBorder( float x, float y, float w, float h, int px, float Health)
{
DWORD HPcol = GREEN;
if (Health < 90 )HPcol = BLUE;
if (Health < 70 )HPcol = SKYBLUE;
if (Health < 50 )HPcol = YELLOW;
if (Health < 30) HPcol = RED;
if (Health < 10) HPcol = RED2;
if (Health = 0) HPcol = BLACK;
FillRGB( x, (y + h - px), w, px, HPcol);
FillRGB( x, y, px, h, HPcol);
FillRGB( x, y, w, px, HPcol);
FillRGB( (x + w - px), y, px, h, HPcol);
}
void FillRGB3( int x, int y, int w, int h, D3DCOLOR color, IDirect3DDevice9* pDevice )
{
if( w < 0 )w = 1;
if( h < 0 )h = 1;
if( x < 0 )x = 1;
if( y < 0 )y = 1;
D3DRECT rec = { x, y, x + w, y + h };
pDevice->Clear( 1, &rec, D3DCLEAR_TARGET, color, 0, 0 );
}
void DrawBorder333( int x, int y, int w, int h, int px, D3DCOLOR BorderColor, IDirect3DDevice9* pDevice )
{
FillRGB3( x, (y + h - px), w, px, BorderColor, pDevice );
FillRGB3( x, y, px, h, BorderColor, pDevice );
FillRGB3( x, y, w, px, BorderColor, pDevice );
FillRGB3( (x + w - px), y, px, h, BorderColor, pDevice );
}
void Healthbar(int x, int y, float Health)
{
DWORD HPcol = GREEN;
if (Health < 90 )HPcol = BLUE;
if (Health < 70 )HPcol = SKYBLUE;
if (Health < 50 )HPcol = YELLOW;
if (Health < 30) HPcol = RED;
if (Health < 10) HPcol = RED2;
DrawBorder333(x-1,y-1,50,6,1,BLACK,npDevice);
FillRGB3(x,y,Health/2,4,HPcol,npDevice);
}
void DrawRectangle(float x, float y, float w, int h)
{
D3DXVECTOR2 vLine1[2];
D3DXVECTOR2 vLine2[2];
D3DXVECTOR2 vLine3[2];
D3DXVECTOR2 vLine4[2];
vLine1[0].x = x;
vLine1[0].y = y;
vLine1[1].x = x;
vLine1[1].y = y+h;
vLine2[0].x = x+w;
vLine2[0].y = y;
vLine2[1].x = x+w;
vLine2[1].y = y+h;
vLine3[0].x = x;
vLine3[0].y = y;
vLine3[1].x = x+w;
vLine3[1].y = y;
vLine4[0].x = x;
vLine4[0].y = y+h;
vLine4[1].x = x+w;
vLine4[1].y = y+h;
g_pLine->SetWidth(2);
g_pLine->SetAntialias(false);
g_pLine->SetGLLines(false);
g_pLine->Begin();
g_pLine->Draw(vLine1, 2, 0xFF0000FF);
g_pLine->Draw(vLine2, 2, 0xFF0000FF);
g_pLine->Draw(vLine3, 2, 0xFF0000FF);
g_pLine->Draw(vLine4, 2, 0xFF0000FF);
g_pLine->End();
}
void DrawLine ( long Xa, long Ya, long Xb, long Yb, DWORD dwWidth, float Health)
{
DWORD HPcol = GREEN; // Deklarasi Health Protection Color
if (Health < 90 )HPcol = BLUE; // Jika HP Di Bawah 90 = Color
if (Health < 70 )HPcol = SKYBLUE; // Jika HP Di Bawah 70 = Color
if (Health < 50 )HPcol = YELLOW; // Jika HP Di Bawah 50 = Color
if (Health < 30) HPcol = RED; // Jika HP Di Bawah 30 = Color
if (Health < 10) HPcol = RED2; // Jika HP Di Bawah 10 = Color
if (Health = 0) HPcol = BLACK; // Jika HP Di Bawah 10 = Color
D3DXVECTOR2 vLine[ 2 ]; // 2 Poin
g_pLine->SetAntialias( 0 ); // Set Tepi
g_pLine->SetWidth( dwWidth ); // Lebar Dari Line
g_pLine->Begin();
vLine[ 0 ][ 0 ] = Xa; // Jadikan Point Menjadi Array
vLine[ 0 ][ 1 ] = Ya;
vLine[ 1 ][ 0 ] = Xb;
vLine[ 1 ][ 1 ] = Yb;
g_pLine->Draw( vLine, 2, HPcol ); // Draw Garis , Jumlah Garis , Warna Garis
g_pLine->End(); // Selesai
}
ID3DXLine *pLine; //Deklarasi pLine
void Draw3DBox(float x_bottom_left, float y_bottom_left, float x_bottom_right, float y_bottom_right, float x_top_left, float y_top_left, float x_top_right, float y_top_right, float x_forward_bottom_left, float y_forward_bottom_left, float x_forward_bottom_right, float y_forward_bottom_right, float x_forward_top_left, float y_forward_top_left, float x_forward_top_right, float y_forward_top_right, int a, int r, int g, int b)
{
if(!IsBadReadPtr(pLine, sizeof(ID3DXLine)))
{
D3DXVECTOR2 vLine1[2];
D3DXVECTOR2 vLine2[2];
D3DXVECTOR2 vLine3[2];
D3DXVECTOR2 vLine4[2];
D3DXVECTOR2 vLine5[2];
D3DXVECTOR2 vLine6[2];
D3DXVECTOR2 vLine7[2];
D3DXVECTOR2 vLine8[2];
D3DXVECTOR2 vLine9[2];
D3DXVECTOR2 vLine10[2];
D3DXVECTOR2 vLine11[2];
D3DXVECTOR2 vLine12[2];
float t=1;
pLine->SetWidth( t );
pLine->SetAntialias( false );
pLine->SetGLLines( false );
//bottom left to bottom right
vLine1[0].x = x_bottom_left;
vLine1[0].y = y_bottom_left;
vLine1[1].x = x_bottom_left+(x_bottom_right-x_bottom_left);
vLine1[1].y = y_bottom_left;
//bottom left to top left
vLine2[0].x = x_top_left;
vLine2[0].y = y_top_left;
vLine2[1].x = x_top_left;
vLine2[1].y = y_top_left+(y_bottom_left-y_top_left);
//bottom right to top right
vLine3[0].x = x_top_right;
vLine3[0].y = y_top_right;
vLine3[1].x = x_top_right;
vLine3[1].y = y_top_right+(y_bottom_right-y_top_right);
//top left to top right
vLine4[0].x = x_top_left;
vLine4[0].y = y_top_left;
vLine4[1].x = x_top_left+(x_top_right-x_top_left);
vLine4[1].y = y_top_left;
//from top left to top left forward
vLine5[0].x = x_top_left;
vLine5[0].y = y_top_left;
vLine5[1].x = x_top_left+(x_forward_top_left-x_top_left);
vLine5[1].y = y_top_left+(y_forward_top_left-y_top_left);
//from bottom left to bottom left forward
vLine6[0].x = x_bottom_left;
vLine6[0].y = y_bottom_left;
vLine6[1].x = x_bottom_left+(x_forward_bottom_left-x_bottom_left);//
vLine6[1].y = y_bottom_left+(y_forward_bottom_left-y_bottom_left);//
//from bottom right to bottom right forward
vLine7[0].x = x_bottom_right;
vLine7[0].y = y_bottom_right;
vLine7[1].x = x_bottom_right+(x_forward_bottom_right-x_bottom_right);//
vLine7[1].y = y_bottom_right+(y_forward_bottom_right-y_bottom_right);//
//from top right to top right forward
vLine8[0].x = x_top_right;
vLine8[0].y = y_top_right;
vLine8[1].x = x_top_right+(x_forward_top_right-x_top_right);//
vLine8[1].y = y_top_right+(y_forward_top_right-y_top_right);//
//bottom left forward to bottom right forward
vLine9[0].x = x_forward_bottom_left;
vLine9[0].y = y_forward_bottom_left;
vLine9[1].x = x_forward_bottom_left+(x_forward_bottom_right-x_forward_bottom_left);
vLine9[1].y = y_forward_bottom_left;
//bottom left forward to top left forward
vLine10[0].x = x_forward_top_left;
vLine10[0].y = y_forward_top_left;
vLine10[1].x = x_forward_top_left;
vLine10[1].y = y_forward_top_left+(y_forward_bottom_left-y_forward_top_left);
//bottom right forward to top right forward
vLine11[0].x = x_forward_top_right;
vLine11[0].y = y_forward_top_right;
vLine11[1].x = x_forward_top_right;
vLine11[1].y = y_forward_top_right+(y_forward_bottom_right-y_forward_top_right);
//top left forward to top right forward
vLine12[0].x = x_forward_top_left;
vLine12[0].y = y_forward_top_left;
vLine12[1].x = x_forward_top_left+(x_forward_top_right-x_forward_top_left);
vLine12[1].y = y_forward_top_left;
pLine->Begin( );
pLine->Draw( vLine1, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine2, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine3, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine4, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine5, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine6, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine7, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine8, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine9, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine10, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine11, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->Draw( vLine12, 2, D3DCOLOR_ARGB(a, r, g, b ) );
pLine->End( );
}
}
/*void DrawHealthbar(int x, int y, int w, int h, D3DCOLOR barCol, D3DCOLOR borCol, int hp, int maxhp)
{
FillRGB(x, y, ( hp / (double)maxhp ) * w, h, barCol, pDevice);
DrawBorder(x, y, w, h, Green, Green);
}*/
static char FinalString[260];
#define OFS_BASEPLAYER2 0x631A24
char dis[64];
DWORD dwPointer;
D3DXMATRIX ProjMatrix, World, ViewMatrix;//Place At Top Of Your Source Code
bool DxInit = false;
float FindDistance(D3DXVECTOR3 my,D3DXVECTOR3 other,CPlayers* pPlayer,CPlayers* pLocal)
{
return sqrt((pLocal->pos.x-pPlayer->pos.x)*(pLocal->pos.x-pPlayer->pos.x) + (pLocal->pos.y-pPlayer->pos.y)*(pLocal->pos.y-pPlayer->pos.y) + (pLocal->pos.z-pPlayer->pos.z)*(pLocal->pos.z-pPlayer->pos.z));
}
void DrawESP()
{
DWORD dwI3EXEC = (DWORD)GetModuleHandle("PointBlank.exe");
unsigned long dwBase = *(DWORD*)(dwI3EXEC + OFS_BASEPLAYER);
unsigned long dwBase2 = *(DWORD*)(dwI3EXEC + OFS_BASEPLAYER2);
CTeam *pTeam = ((CTeam*)(dwBase + OFS_TEAM));
D3DVECTOR ScreenPos;
for (int i = 0; i <= 16; i++)
{
CPlayers *pPlayer = (CPlayers*)((dwBase + OFS_PLAYER) + i * PLAYERSIZE);
CPlayers *pLocal = (CPlayers*)((dwBase + OFS_PLAYER) + pTeam->iTeam * PLAYERSIZE);
CNames *PNames = (CNames*) ((dwBase + OFS_NAMES) + NAMESIZE * i);
CGrade *PGrade = (CGrade*) ((dwBase + OFS_Grade) + GradeSIZE * i);
CHealth *pHealth = (CHealth*) ((dwBase2+ OFS_HEALTH) + i * HPSIZE);
HeadPos.x = pPlayer->pos.x;
HeadPos.y = 1.5f + pPlayer->pos.y;
HeadPos.z = pPlayer->pos.z;
FootPos.x = pPlayer->pos.x;
FootPos.y = pPlayer->pos.y;
FootPos.z = pPlayer->pos.z;
D3DXVECTOR3 xDistance = pPlayer->pos - pLocal->pos;
D3DXVECTOR3 MyDistance = pLocal->pos - pPlayer->pos;
float xaDistance = D3DXVec3Length(&xDistance );
float MyaDistance = D3DXVec3Length(&MyDistance );
if (WorldToScreen(pPlayer->pos,ScreenPos))
{
if(pHealth->CurHP > 1)
{
if (esphp == 1)
{
Healthbar((int)ScreenPos.x-23,(int)ScreenPos.y+15,pHealth->CurHP);
}
if (ESPHack == 1)
{
DrawBorder(ScreenPos.x-(10000/MyaDistance)/40,ScreenPos.y-(35000/MyaDistance)/40,50000/MyaDistance/6*2/40,50000/MyaDistance/3*2/40,1,pHealth->CurHP);
}
if(LineESP == 1)
{
DrawLine(ScreenCenterX,ScreenCenterY+550,ScreenPos.x-10,ScreenPos.y+20,1,pHealth->CurHP);
}
if (DrawStringESP == 1)
{
DrawString(ScreenPos.x+10,ScreenPos.y-25,WHITE,"Name : [%s]",PNames->szNames);
}
if (HealthBarDD == 1)
{
DrawString(ScreenPos.x+10,ScreenPos.y-35,YELLOW,"Clan : [%s] ",PGrade->szGrade);
}
_____________________________________________________________
>> 4 Middle Bomb
//==============================Midle==========================================//
if(MidleBom==0)
{
if(!MidleBom1)
{
DWORD MidleAOFF, MidleBOFF = 0;
DWORD dwI3EXEC = (DWORD) GetModuleHandleA("PointBlank.Exe");
if (dwI3EXEC!=0)
{
MidleAOFF = dwI3EXEC + (DWORD)0x4D16CC;
MidleBOFF = dwI3EXEC + (DWORD)0x4D16DC;
MEMpacht((void *)(MidleAOFF),(int*)(PBYTE)"\x00\x00\x00\x00",4);
MEMpacht((void *)(MidleBOFF),(int*)(PBYTE)"\x00\x00\x00\x00",4);
Sleep(1);
return TRUE;
}
}
}
if(MidleBom==1)
{ if(!MidleBom1)
{ DWORD MidleAON, MidleBON = 0;
DWORD dwI3EXEC = (DWORD) GetModuleHandleA("PointBlank.Exe");
if (dwI3EXEC!=0)
{ MidleAON = dwI3EXEC + (DWORD)0x4D16CC;
MidleBON = dwI3EXEC + (DWORD)0x4D16DC;
MEMpacht((void *)(MidleAON),(int*)(PBYTE)"\x00\x00\x00\x00",4);
MEMpacht((void *)(MidleBON),(int*)(PBYTE)"\x00\x00\x00\x00",4);
Sleep(1);
return TRUE;
}
}
}
//==============================Hollow==========================================//
if(Hollow==0)
{
if(!Hollow1)
{
DWORD HollowOFF = 0;
DWORD dwI3EXEC = (DWORD) GetModuleHandleA("PointBlank.Exe");
if (dwI3EXEC!=0)
{
HollowOFF = dwI3EXEC + (DWORD)0x4D9368;
MEMpacht((void *)(HollowOFF),(int*)(PBYTE)"\x00\x00\x00\x00",4);
Sleep(1);
return TRUE;
}
}
}
if(Hollow==1)
{ if(!Hollow1)
{ DWORD HollowON = 0;
DWORD dwI3EXEC = (DWORD) GetModuleHandleA("PointBlank.Exe");
if (dwI3EXEC!=0){ HollowON = dwI3EXEC + (DWORD)0x4D9368;
MEMpacht((void *)(HollowON),(int*)(PBYTE)"\x00\x00\x00\x00",4);
Sleep(1);
return TRUE;
}
}
}
_____________________________________________________________
>> 5 Ammo 01 HacX
#include "VirtualizerSDK.h"
int pelor = 0;
int Ammo = 0;
//==============================Ammo==========================================//
void MakeJMP(BYTE *pAddress, DWORD dwJumpTo, DWORD dwLen)
{
VIRTUALIZER_START
DWORD dwOldProtect, dwBkup, dwRelAddr;
VirtualProtect(pAddress, dwLen, PAGE_EXECUTE_READWRITE, &dwOldProtect);
dwRelAddr = (DWORD) (dwJumpTo - (DWORD) pAddress) - 5;
*pAddress = 0xE9;
*((DWORD *)(pAddress + 0x1)) = dwRelAddr;
for(DWORD x = 0x5; x < dwLen; x++) *(pAddress + x) = 0x90;
VirtualProtect(pAddress, dwLen, dwOldProtect, &dwBkup);
VIRTUALIZER_START
return;
}
DWORD i3ExecBase = (DWORD)GetModuleHandleA("PointBlank.Exe");
DWORD dwAMMO_Hook = (DWORD)i3ExecBase + 0x227975;
DWORD dwAMMO_tmp = (DWORD)i3ExecBase + 0xD9DD0;
DWORD dwAMMO_Ret = (DWORD)dwAMMO_Hook + 0x32;
__declspec(naked)void AmmoVoid()
{
__asm
{
mov [edx],0x03
push edx
call [dwAMMO_tmp]
add esp,0x08
MOV EAX,DWORD PTR SS:[EBP-0x04]
MOV ECX,DWORD PTR SS:[EBP+0x08]
MOV DWORD PTR DS:[EAX+0x978],ECX
mov esp,ebp
pop ebp
retn 0004
jmp [dwAMMO_Ret]
}}
void AMMO(void)
{
MakeJMP((PBYTE)dwAMMO_Hook,(DWORD)AmmoVoid,28);
}
DWORD WINAPI Pelor(LPVOID){
while(1){
if(Ammo){
AMMO();
}
}
return(0);
}
_____________________________________________________________
>> 6 Stride , dll !
#define SMOKE ( Stride == 24 && NumVertices == 256 ||(Stride == 24 && NumVertices == 192))
#define Dino ((primCount == 57) || (primCount == 161) || (primCount ==
186) || (primCount == 197) || (primCount == 349) || (primCount == 495)
|| (primCount == 955) || (NumVertices == 2517 && primCount ==
57) || (NumVertices == 3721 && primCount == 275) || (NumVertices
== 0 && primCount == 52) || (NumVertices == 0 &&
primCount == 105) || (NumVertices ==0 && primCount == 186) ||
(NumVertices == 0 && primCount == 197) || (primCount == 579) ||
(primCount == 488))
#define K400 ((NumVertices == 1002 && primCount == 980))
#define C5 ((NumVertices == 772 && primCount == 849))
#define CT ( NumVertices == 490 || NumVertices == 221 || NumVertices ==
611|| NumVertices == 102 ||(primCount == 526) || (primCount == 84) ||
(primCount == 64) || NumVertices == 67 || NumVertices == 92 ||
NumVertices == 95 || NumVertices == 114 || NumVertices == 504 ||
NumVertices == 108 || NumVertices == 398 || NumVertices == 520 ||
NumVertices == 684 || (primCount == 56) || (primCount == 93) )
#define Badan ((primCount == 16 || primCount == 28 || primCount == 50 ||
primCount == 52 || primCount == 76 || primCount == 130))
#define
Tero ((NumVertices == 88 && primCount == 130) || (NumVertices ==
142 && primCount == 266)|| (NumVertices == 472 &&
primCount == 304) || (NumVertices == 384 && primCount == 346) ||
(NumVertices == 348 && primCount == 520) || (NumVertices == 596
&& primCount == 590)|| (NumVertices == 628 && primCount
== 748) || (NumVertices == 3487 && primCount == 1737)||
(NumVertices == 3487 && primCount == 1766) || (NumVertices ==
262 && primCount == 196) || (NumVertices == 142 &&
primCount == 266) || (NumVertices == 244 && primCount == 406) ||
(NumVertices == 1846 && primCount == 414) || (NumVertices ==
528 && primCount == 540) || (NumVertices == 520 &&
primCount == 593) || (NumVertices == 2728 && primCount == 1344)
|| (NumVertices == 1091 && primCount == 1390) || (NumVertices ==
1095 && primCount == 1460) || (NumVertices == 1846 &&
primCount == 2090) || (NumVertices == 2263 && primCount == 45)
|| (NumVertices == 370 && primCount == 278) || (NumVertices ==
482 && primCount == 390) || (NumVertices == 734 &&
primCount == 688) || (NumVertices == 2263 && primCount == 1023)
|| (NumVertices == 812 && primCount == 1246) || (NumVertices ==
2263 && primCount == 1434) || (NumVertices == 2041 &&
primCount == 1561) || (NumVertices == 1530 && primCount == 1534)
|| (NumVertices == 749 && primCount == 1374) || (NumVertices ==
1831 && primCount == 1267) || (NumVertices == 2010 &&
primCount == 426) || (NumVertices == 287 && primCount == 396) ||
(NumVertices == 1831 && primCount == 341) || (NumVertices ==
1831 && primCount == 278) || (NumVertices == 185 &&
primCount == 254) || (NumVertices == 74 && primCount == 66) ||
(NumVertices == 56 && primCount == 40) || (NumVertices == 185
&& primCount == 271) || (NumVertices == 45 && primCount
== 56) || (NumVertices == 92 && primCount == 56) || (NumVertices
== 611 && primCount == 114) || (NumVertices == 611 &&
primCount == 526) || (NumVertices == 18 && primCount == 12) ||
(NumVertices == 96 && primCount == 92) || (NumVertices == 99
&& primCount == 61) || (NumVertices == 133 && primCount
== 205)|| (NumVertices == 245 && primCount == 276) ||
(NumVertices == 398 && primCount == 487) || (NumVertices == 26
&& primCount == 20) || (NumVertices == 1204 && primCount
== 241) || (NumVertices == 80 && primCount == 52) ||
(NumVertices == 1204 && primCount == 124) || (NumVertices == 113
&& primCount == 139) || (NumVertices == 1204 &&
primCount == 56) || (NumVertices == 684 && primCount == 740) ||
(NumVertices == 1204 && primCount == 42) || (NumVertices == 45
&& primCount == 56) || (NumVertices == 1204 && primCount
== 35) || (NumVertices == 334 && primCount == 360) ||
(NumVertices == 175 && primCount == 246) || (NumVertices == 195
&& primCount == 109) || (NumVertices == 71 && primCount
== 120) || (NumVertices == 88 && primCount == 130) ||
(NumVertices == 201 && primCount == 157) || (NumVertices == 224
&& primCount == 200) || (NumVertices == 296 && primCount
== 166) || (NumVertices == 1353 && primCount == 386) ||
(NumVertices == 18 && primCount == 20) || (NumVertices == 41
&& primCount == 30) || (NumVertices == 62 && primCount
== 67) || (NumVertices == 152 && primCount == 168) ||
(NumVertices == 202 && primCount == 174) || (NumVertices == 237
&& primCount == 395) || (NumVertices == 647 && primCount
== 716) || (NumVertices == 727 && primCount == 936) ||
(NumVertices == 90 && primCount == 136) || (NumVertices == 120
&& primCount == 170) || (NumVertices == 142 && primCount
== 128) || (NumVertices == 218 && primCount == 322) ||
(NumVertices == 285 && primCount == 94) || (NumVertices == 1316
&& primCount == 1574) || (NumVertices == 1316 &&
primCount == 134) || (NumVertices == 56 && primCount == 158) ||
(NumVertices == 73 && primCount == 112) || (NumVertices == 143
&& primCount == 94) || (NumVertices == 246 && primCount
== 120) || (NumVertices == 353 && primCount == 464) ||
(NumVertices == 381 && primCount == 234) || (NumVertices == 547
&& primCount == 700) || (NumVertices == 1353 &&
primCount == 1404))
_____________________________________________________________
7 >> WH Cacad
#include <windows.h>
#include <d3d9.h>
#include "resource.h"
#define WINDOW_TITLE "Initializing DirectX"
#define WINDOW_WIDTH 400
#define WINDOW_HEIGHT 400
#define SAFE_RELEASE(x) if( x ) { (x)->Release(); (x) = NULL; }
#define SAFE_DELETE(x) if( x ) { delete(x); (x) = NULL; }
#define SAFE_DELETE_ARRAY(x) if( x ) { delete [] (x); (x) = NULL; }
HWND hWnd;
LPDIRECT3D9 pD3D;
LPDIRECT3DDEVICE9 pD3DDevice;
//-----------------------------------------------------------------------------
// PROTOTYPES
//-----------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow);
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
void InitD3D(void);
void shutDown(void);
void RenderD3DScene(void);
LRESULT CALLBACK WndProc( HWND hWnd , UINT message , WPARAM wParam , LPARAM lParam){
switch(message){
case WM_CLOSE:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd,message,wParam,lParam);
}
bool CreateSimpWindow( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow,int width, int height){
// Create A Window Class Structure
// Define the window
WNDCLASSEX wc;
wc.cbClsExtra = 0;
wc.cbSize = sizeof(wc);
wc.cbWndExtra = 0;
wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wc.hCursor = NULL;
wc.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_DIRECTX_ICON);
wc.hIconSm = LoadIcon(hInstance, (LPCTSTR)IDI_DIRECTX_ICON);
wc.hInstance = hInstance;
wc.lpfnWndProc = WndProc;
wc.lpszClassName = WINDOW_TITLE;
wc.lpszMenuName = NULL;
wc.style = CS_VREDRAW|CS_HREDRAW|CS_OWNDC;
// Register Window Class
RegisterClassEx(&wc);
// Create Window
hWnd = CreateWindowEx(0,
WINDOW_TITLE, "Initializing - Direct3D(DX9)",
WS_OVERLAPPEDWINDOW|WS_VISIBLE, 100,100,width,height,
NULL,NULL,hInstance,0);
if( hWnd == NULL )
return false;
ShowWindow( hWnd, nCmdShow );
UpdateWindow( hWnd );
return true;
}
void InitD3D( void )
{
pD3D = Direct3DCreate9( D3D_SDK_VERSION );
if( pD3D == NULL )
{
// TO DO: Respond to failure of Direct3DCreate8
return;
}
D3DDISPLAYMODE d3ddm;
if( FAILED( pD3D->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &d3ddm ) ) )
{
// TO DO: Respond to failure of GetAdapterDisplayMode
return;
}
HRESULT hr;
if( FAILED( hr = pD3D->CheckDeviceFormat( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,
d3ddm.Format, D3DUSAGE_DEPTHSTENCIL,
D3DRTYPE_SURFACE, D3DFMT_D16 ) ) )
{
if( hr == D3DERR_NOTAVAILABLE )
// POTENTIAL PROBLEM: We need at least a 16-bit z-buffer!
return;
}
//
// Do we support hardware vertex processing? if so, use it.
// If not, downgrade to software.
//
D3DCAPS9 d3dCaps;
if( FAILED( pD3D->GetDeviceCaps( D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL, &d3dCaps ) ) )
{
// TO DO: Respond to failure of GetDeviceCaps
return;
}
DWORD dwBehaviorFlags = 0;
if( d3dCaps.VertexProcessingCaps != 0 )
dwBehaviorFlags |= D3DCREATE_HARDWARE_VERTEXPROCESSING;
else
dwBehaviorFlags |= D3DCREATE_SOFTWARE_VERTEXPROCESSING;
//
// Everything checks out - create a simple, windowed device.
//
D3DPRESENT_PARAMETERS d3dpp;
memset(&d3dpp, 0, sizeof(d3dpp));
d3dpp.BackBufferFormat = d3ddm.Format;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.Windowed = TRUE;
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
if( FAILED( pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
dwBehaviorFlags, &d3dpp, &pD3DDevice ) ) )
{
// TO DO: Respond to failure of CreateDevice
return;
}
}
void MessageLoop(){
MSG msg;
memset(&msg,0,sizeof(msg));
while( msg.message != WM_QUIT )
{
if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
RenderD3DScene();
}
}
void RenderD3DScene( void )
{ // background warna hitam
pD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,0,1,0);
// background warna hijau muda
// pD3DDevice->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
// D3DCOLOR_COLORVALUE(0.0f,1.0f,0.0f,1.0f), 1.0f, 0 );
pD3DDevice->BeginScene();
// Render geometry here...
pD3DDevice->EndScene();
pD3DDevice->Present( NULL, NULL, NULL, NULL );
}
void Shutdown(){
// Give back resources
SAFE_RELEASE( pD3DDevice );
SAFE_RELEASE( pD3D );
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow){
//INT WINAPI WinMain( HINSTANCE hInstance , HINSTANCE , LPSTR , INT ){
if(!CreateSimpWindow(hInstance, hPrevInstance,
lpCmdLine, nCmdShow, WINDOW_WIDTH, WINDOW_HEIGHT))return 1;
//if(!InitD3D())return 2;
InitD3D();
MessageLoop();
Shutdown();
return 0;
}