Register for your free account! | Forgot your password?

You last visited: Today at 07:47

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



D3D Codings

Discussion on D3D Codings within the Soldier Front Hacks, Bots, Cheats & Exploits forum part of the Soldier Front category.

Reply
 
Old   #1
 
bloodluster23's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 47
Received Thanks: 26
Post D3D Codings

Im just going to point out stuff you should want to know.

D3D, believe it or not you can color anything in, you want to make a fun little project?

Color the Wallz in Yellow , Red , Green Whatever!

How you say?

Code:
Globals:
 
int colored walls;
Code:
If(colored walls)//your bool statement in globals
 
texnum = (nNumVertices*100000)+nPrimitiveCount;//having it in texnums never hurts, unless its just a stride
 
if(m_Stride == model_rec)//Model Recognition, this recognizes what you want to color in, so we would have to get a Model Recognition logger, go in game and find the Stride for the wall/floor
{
 
{
pDevice->SetTexture( 0, Red ); //we colored it red. How'd we get to color it check out the next shizznet under this, chams..
}
return pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
}
Theres our colored, whatever :P

Chams however work differently, you have point out whether the person is behind the wall or not, and when in front, and then give it colors... when behind something.

Here, this is how i color in my chams.

SO it would be:

Code:
//==================================Defines============================================
#define ForceRecon (nNumVertices == 83 && nPrimitiveCount == 137 || nNumVertices == 79 && nPrimitiveCount == 105 || nNumVertices == 142 && nPrimitiveCount == 174 || nNumVertices == 278 && nPrimitiveCount == 462 || nNumVertices == 263 && nPrimitiveCount == 290 || nNumVertices == 316 && nPrimitiveCount == 556)
#define ForceReconAddons (nNumVertices == 432 && nPrimitiveCount == 354 || nNumVertices == 144 && nPrimitiveCount == 136 || nNumVertices == 299 && nPrimitiveCount == 311 || nNumVertices == 167 && nPrimitiveCount == 252 || nNumVertices == 298 && nPrimitiveCount == 506 || nNumVertices == 168 && nPrimitiveCount == 254 || nNumVertices == 860 && nNumVertices == 778 || nNumVertices == 648 && nPrimitiveCount == 710 || nNumVertices == 113 && nPrimitiveCount == 189 || nNumVertices == 142 && nPrimitiveCount == 172 || nNumVertices == 87 && nPrimitiveCount == 90 || nNumVertices == 79 && nPrimitiveCount == 105 || nNumVertices == 84 && nPrimitiveCount == 110 || nNumVertices == 70 && nPrimitiveCount == 70 || nNumVertices == 860 && nPrimitiveCount == 778 || nNumVertices == 85 && nPrimitiveCount == 137)
#define Mulan (nNumVertices == 118 && nPrimitiveCount == 126|| nNumVertices == 121 && nPrimitiveCount == 180|| nNumVertices == 124 && nPrimitiveCount == 126|| nNumVertices == 295 && nPrimitiveCount == 482|| nNumVertices == 299 && nPrimitiveCount == 452|| nNumVertices == 474 && nPrimitiveCount == 728)
#define MulanAddons (nNumVertices == 162 && nPrimitiveCount == 200|| nNumVertices == 120 && nPrimitiveCount == 188|| nNumVertices == 167 && nPrimitiveCount == 276|| nNumVertices == 108 && nPrimitiveCount == 198|| nNumVertices == 512 && nPrimitiveCount == 728|| nNumVertices == 790 && nPrimitiveCount == 881|| nNumVertices == 619 && nPrimitiveCount == 800|| nNumVertices == 399 && nPrimitiveCount == 532|| nNumVertices == 402 && nPrimitiveCount == 580|| nNumVertices == 102 && nPrimitiveCount == 170|| nNumVertices == 125 && nPrimitiveCount == 98|| nNumVertices == 116 && nPrimitiveCount == 128|| nNumVertices == 160 && nPrimitiveCount == 174) 
//========================================================
This goes in our defines, new character model recognitions, useful.

Globals: We have to declare something , so the codes know what we're talking about

:

Code:
int m_Stride;
int texnum;
int nNumVertices;
int nPrimitiveCount;
LPDIRECT3DTEXTURE8 Red;
LPDIRECT3DTEXTURE8 Yellow;
LPDIRECT3DTEXTURE8 Green;
LPDIRECT3DTEXTURE8 Blue;
LPDIRECT3DTEXTURE8 Purple;
LPDIRECT3DTEXTURE8 Orange;
LPDIRECT3DTEXTURE8 Pink;
LPDIRECT3DTEXTURE8 White;
LPDIRECT3DTEXTURE8 Black;
bool chams = false;
bool Color = true;
Now, i should've said this before, but when we color in anything we have to declare the colors too.... But whats going to generate these colors??? I mean just because we say it, doesnt mean we have it right?

So to demonstrate how to generate these colors we would use this function:
Code:
//======================================================================================================================================================================================================================================================================================================================//
HRESULT GenerateTexture(IDirect3DDevice8 *pD3Ddev, IDirect3DTexture8 **ppD3Dtex, DWORD colour32)
{
if( FAILED(pD3Ddev->CreateTexture(8, 8, 1, 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, ppD3Dtex)) )
return E_FAIL;
 
WORD colour16 = ((WORD)((colour32>>28)&0xF)<<12)
|(WORD)(((colour32>>20)&0xF)<<8)
|(WORD)(((colour32>>12)&0xF)<<4)
|(WORD)(((colour32>>4)&0xF)<<0);
 
D3DLOCKED_RECT d3dlr; 
(*ppD3Dtex)->LockRect(0, &d3dlr, 0, 0);
WORD *pDst16 = (WORD*)d3dlr.pBits;
 
for(int xy=0; xy < 8*8; xy++)
*pDst16++ = colour16;
 
(*ppD3Dtex)->UnlockRect(0);
 
return S_OK;
}
//==============================================================================================================

But wait theres more, you generate the colors but we still dont have it..

this is where

Code:
bool Color = true;

In Endscene, which is another D3D function we must define these colors :P


Code:
 
typedef HRESULT ( WINAPI* oEndScene ) ( LPDIRECT3DDEVICE8 pDevice );
oEndScene pEndScene;
 
HRESULT WINAPI myEndScene(LPDIRECT3DDEVICE8 pDevice)
{
if(Color)
{ 
GenerateTexture(pDevice, &Red, D3DCOLOR_ARGB (255 , 255 , 0 , 0 ));
GenerateTexture(pDevice, &Yellow, D3DCOLOR_ARGB (255 , 255 , 255 , 0 ));
GenerateTexture(pDevice, &Green, D3DCOLOR_ARGB (255 , 0 , 255 , 0 ));
GenerateTexture(pDevice, &Blue, D3DCOLOR_ARGB (255 , 0 , 0 , 255 ));
GenerateTexture(pDevice, &Purple, D3DCOLOR_ARGB (255 , 102 , 0 , 153 ));
GenerateTexture(pDevice, &Pink, D3DCOLOR_ARGB (255 , 255 , 20 , 147 ));
GenerateTexture(pDevice, &Orange, D3DCOLOR_ARGB (255 , 255 , 165 , 0 ));
GenerateTexture(pDevice, &Black, D3DCOLOR_ARGB (255 , 0 , 0 , 0 ));
GenerateTexture(pDevice, &White, D3DCOLOR_ARGB (255 , 255 , 255 , 255 ));
Color=false; 
}
 
return pEndScene(pDevice);
}
see how we used GenerateTexture, now you have all your colors(could addd more if you find them(Google))
Btw we will be adding more to endscene.


Now where do we draw this? I might have not pointed this out before, but we would color shit in a D3D Function, known as DrawIndexedPrimitive. All the drawing takes place, like our Colored floors and walls... :P

Cham Code :

Code:
typedef HRESULT ( WINAPI* oDrawIndexedPrimitive ) ( LPDIRECT3DDEVICE8 pDevice, D3DPRIMITIVETYPE pType, UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount );
oDrawIndexedPrimitive pDrawIndexedPrimitive;
 
HRESULT WINAPI myDrawIndexedPrimitive(LPDIRECT3DDEVICE8 pDevice, D3DPRIMITIVETYPE pType, UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount)
{
 
if(chams)
{
texnum = (nNumVertices*100000)+nPrimitiveCount; 
if(m_Stride==40 && 
(texnum==34900580)|| // Delta Force Head
(texnum==36100604)|| // Spetsnaz Head
(texnum==38000658)|| // Spetsnaz Legs
(texnum==18300268)|| // Spetsnaz Body
(texnum==36200604)|| // GIGN Head
(texnum==21200306)|| // GIGN Body
(texnum==35500568)|| // GSG9 Head
(texnum==2200024)|| // GSG9 Bangs
(texnum==8800105)|| // GSG9 Feet
(texnum==36900650)|| // GSG9 Legs
(texnum==19600314)|| // GSG9 Body
(texnum==36700612)|| // SAS Head
(texnum==8500105)|| // SAS Feet
(texnum==37000650)|| // SAS Legs
(texnum==18000274)|| // SAS Body
(texnum==35300556)|| // KSF Head
(texnum==7500121)|| // KSF Arms
(texnum==9200115)|| // KSF Feet
(texnum==12400168)|| // KSF Hands
(texnum==30100522)|| // KSF Legs
(texnum==18700288)|| // KSF Body
(texnum==40900594)|| // ARTC Head
(texnum==11700190)|| // ARTC Arms
(texnum==9100118)|| // ARTC Feet
(texnum==12500170)|| // ARTC Hands
(texnum==37000634)|| // ARTC Legs
(texnum==41700516)|| // ARTC Body
(texnum==19400260)|| // ROKMC Body
(texnum==37900592)|| // ROKMC Head
(texnum==36500642)|| // ROKMC Legs
(texnum==44800776)|| // SRG Head
(texnum==15900200)|| // SRG Left Arm
(texnum==10500168)|| // SRG Right Arm
(texnum==80401016)|| // SRG Body
(texnum==10000121)|| // SRG Feet
(texnum==13200180)|| // SRG Hands
(ForceRecon)|| // ForceRecon
(Mulan)||
(texnum==33800534)) // SRG Leg
 
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture(0,Yellow);
pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
pDevice->SetTexture(0,Red);
}
 
if (nNumVertices == 213 && nPrimitiveCount == 174) // M67 Grenade =============== //
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture(0,Red);
pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
pDevice->SetTexture(0,Green);
}
if (nNumVertices == 158 && nPrimitiveCount == 131) // Flashbang =============== //
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture(0,Red);
pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
pDevice->SetTexture(0,Green);
}
if (nNumVertices == 171 && nPrimitiveCount == 143) // Smoke Grenade =============== //
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture(0,Red);
pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
pDevice->SetTexture(0,Blue);
}
if (nNumVertices == 271 && nPrimitiveCount == 257) // VX Grenade =============== //
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture(0,Red);
pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
pDevice->SetTexture(0,Blue);
}
if (nNumVertices == 338 && nPrimitiveCount == 339) // RGD-5 Grenade =============== //
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture(0,Red);
pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
pDevice->SetTexture(0,Yellow);
}
 
 
 
if (m_Stride==40 && // Equipment =============== //
(texnum==13200212)|| // Delta Force Helmet
(texnum==13200212)|| // Delta Force Helmet 2
(texnum==34700538)|| // Delta Force Gas Mask
(texnum==19500352)|| // Delta Force Balaclava
(texnum==84900778)|| // Delta Force Clan BDU
(texnum==27500442)|| // Delta Force Body Armor
(texnum==42800576)|| // Delta Force Body Armor 2
(texnum==52100658)|| // Delta Force Tactical Vest
(texnum==12200196)|| // Spetsnaz Helmet
(texnum==27100464)|| // Spetsnaz Gas Mask
(texnum==33600552)|| // Spetsnaz Body Armor
(texnum==44100646)|| // Spetsnaz Tactical Vest
(texnum==17800292)|| // GIGN Red Bandana
(texnum==21300290)|| // GIGN Helmet
(texnum==2800036)|| // GIGN Helmet Lens
(texnum==35700558)|| // GIGN Gas Mask
(texnum==22100396)|| // GIGN Balaclava
(texnum==29700492)|| // GIGN Body Armor
(texnum==11200188)|| // ROKMC Beret
(texnum==12000194)|| // ROKMC Helmet
(texnum==29800450)|| // ROKMC Gas Mask
(texnum==27100394)|| // ROKMC Body Armor
(texnum==28700374)|| // ROKMC X Harness
(texnum==34700470)|| // ROKMC X Harness
(texnum==5100056)|| // ROKMC Pouch
(texnum==9900163)|| // ROKMC Left Arm
(texnum==18300163)|| // ROKMC Right Arm
(texnum==16400266)|| // GSG9 Red Bandana
(texnum==16200243)|| // GSG9 Helmet
(texnum==31900466)|| // GSG9 Gas Mask
(texnum==19300342)|| // GSG9 Balaclava
(texnum==83600752)|| // GSG9 Clan BDU
(texnum==33400477)|| // GSG9 Body Armor
(texnum==10500163)|| // GSG9 Rolled Up Sleeves
(texnum==38100666)|| // GSG9 Tactical Knee Pads
(texnum==9600172)|| // SAS Boonie Hat
(texnum==14200236)|| // SAS Helmet
(texnum==37800552)|| // SAS Gas Mask
(texnum==28100486)|| // SAS Balaclava
(texnum==62400752)|| // SAS Clan BDU
(texnum==27900456)|| // SAS Body Armor
(texnum==45700654)|| // SAS Tactical Vest
(texnum==39800532)|| // SAS Tactical Vest 2
(texnum==9200100)|| // SAS Holster
(texnum==4800040)|| // SAS Magazine Pouch
(texnum==4000044)|| // SAS Pouch
(texnum==6500110) || // KSF Boonie Hat
(texnum==12900208)|| // KSF Helmet
(texnum==29600448)|| // KSF Gas Mask
(texnum==31100398)|| // KSF Sunglasses
(texnum==84700776)|| // KSF Clan BDU
(texnum==600004)|| // KSF Clan BDU Logo
(texnum==36500606)|| // KSF Body Armor
(texnum==63100646)|| // KSF Tactical Vest
(texnum==19800163)|| // KSF Rolled Up Sleeves
(texnum==7000066)|| // KSF Holster
(texnum==10400190)|| // SRG Beret
(texnum==23800294)|| // SRG Deer Head
(texnum==11600180)|| // SRG NIJ IIIA Helmet
(texnum==17100278)|| // SRG Red Bandana
(texnum==14600198)|| // SRG Battle Cap
(texnum==18200266)|| // SRG Helmet
(texnum==19100106)|| // SRG Gas Mask
(texnum==54300350)|| // SRG Sunglasses
(texnum==30800380)|| // SRG Mid Class Sunglasses
(texnum==79300995)|| // SRG Clan BDU 1
(texnum==13300138)|| // SRG Clan BDU 2
(texnum==300001)|| // SRG Clan BDU 3
(texnum==1200012)|| // SRG Clan BDU Logo
(texnum==10900110)|| // SRG Bulletproof Vest
(texnum==6200064)|| // SRG Holster
(ForceReconAddons)||
(MulanAddons)||
(texnum==22700250)) // SRG Pouch
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture(0,Green);
pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
pDevice->SetTexture(0,Blue);
}
if (m_Stride==40 && // Guns =============== //
(texnum==187200968)|| // GALIL
(texnum==187200968)|| // GALIL 2
(texnum==149701124)|| // UZI
(texnum==193701304)|| // M249
(texnum==232501431)|| // SIG551
(texnum==161500751)|| // FA-MAS
(texnum==107400724)|| // FR-F2
(texnum==141600900)|| // AN94
(texnum==145900805)|| // G36C
(texnum==42200339)|| // K1
(texnum==23400116)|| // K1 2
(texnum==17500073)|| // K1 3
(texnum==3200012)|| // K1 4
(texnum==2300012)|| // K1 5
(texnum==71900459)|| // MP5
(texnum==1800008)|| // MP5 2
(texnum==20300084)|| // MP5 3
(texnum==16700083)|| // MP5 4
(texnum==79100469)|| // M4A1
(texnum==12000044)|| // M4A1 2
(texnum==16800062)|| // M4A1 3
(texnum==2400008)|| // M4A1 4
(texnum==600002)|| // M4A1 5
(texnum==12800050)|| // M4A1 6
(texnum==2600010)|| // M4A1 7
(texnum==4200014)|| // M4A1 8
(texnum==1400008)|| // M4A1 9
(texnum==80600442)|| // M16A2
(texnum==13400052)|| // M16A2 2
(texnum==17600066)|| // M16A2 3
(texnum==5400018)|| // M16A2 4
(texnum==46200348)|| // STEYR_AUG 
(texnum==27000133)|| // STEYR_AUG 2
(texnum==4100025)|| // STEYR_AUG 3
(texnum==1200006)|| // STEYR_AUG 4
(texnum==400002)|| // STEYR_AUG 5
(texnum==46800367)|| // PSG-1
(texnum==9600042)|| // PSG-1 2
(texnum==18800092)|| // PSG-1 3
(texnum==16900071)|| // PSG-1 4
(texnum==3400012)|| // PSG-1 5
(texnum==800004)|| // PSG-1 6
(texnum==40500383)|| // K2
(texnum==15800089)|| // K2 2
(texnum==2200012)|| // K2 3
(texnum==7000034)|| // K2 4
(texnum==60700349)|| // P90
(texnum==5500033)|| // P90 2
(texnum==47700227)|| // P90 3
(texnum==10300047)|| // P90 4
(texnum==3800014)|| // P90 5
(texnum==50300349)|| // AK-74
(texnum==14700071)|| // AK-74 2
(texnum==13100061)|| // AK-74 3
(texnum==194501145)|| // MG36
(texnum==116000670)|| // DESERT EAGLE
(texnum==182101089)|| // MR73
(texnum==62500454)|| // REMINGTON M870
(texnum==95200571)|| // BENELLI M1
(texnum==40700334)|| // GLOCK 23
(texnum==71500449)|| // BERETTA M92F
(texnum==11000044)|| // BERETTA M92F 2
(texnum==16500075)|| // BERETTA M92F 3
(texnum==4400020)|| // BERETTA M92F 4
(texnum==2800014)|| // BERETTA M92F 5
(texnum==92000543)|| // COLT 45
(texnum==239001276)) // DRAGONUV
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture(0,Blue);
pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
pDevice->SetTexture(0,Green);
}
}
return pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
}

Now ill be explaining a lot... :P

Remember these:

Code:
int m_Stride;
int texnum;
int nNumVertices;
int nPrimitiveCount;
bool chams = false;

The first 4 are different types of model recognitions... Every model, like a player body has a stride, or a Numvertices or Primcount. In Soldierfront case, the Stride is 40, when the Stride is 40, everything would be chammed... but we use numvertices and primcount to point out the things we want colored in. and in all of that, we simplify it to texnums . Most games dont have a stride which recognizes everything like soldierfront and you wont need numverts and primcounts... like crossfire, the player modelrecognition is Stride == 40.

So texnum is


Code:
texnum = (nNumVertices*100000)+nPrimitiveCount;


only use this function when you are useing nNumvertices and primcout.

Now we recognize everything with our texnums and shit... and in globals we mention chams so it knew what we are talking about...:P

Then you get to this...



Code:
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture(0,Yellow);
pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
pDevice->SetTexture(0,Red);

This is the wallhack code, all you guys need to know is that we enable buffers and switch them enable to see people behind walls.. and

you see


Code:
pDevice->SetTexture(0,Yellow);
Code:
pDevice->SetTexture(0,Red);
This is how we color our texnums(Model Recognition in)

The first one is behind walls color, the second one, is in front of walls color.. You can change it to any colors we've mentioned in our globals.. since we generated it and declared it.

The Colors(Just in case you forgot):

Code:
LPDIRECT3DTEXTURE8 Red;
LPDIRECT3DTEXTURE8 Yellow;
LPDIRECT3DTEXTURE8 Green;
LPDIRECT3DTEXTURE8 Blue;
LPDIRECT3DTEXTURE8 Purple;
LPDIRECT3DTEXTURE8 Orange;
LPDIRECT3DTEXTURE8 Pink;
LPDIRECT3DTEXTURE8 White;
LPDIRECT3DTEXTURE8 Black;

Now thats our chams, oh and the guns, you can just modify there colors on the wallhack code right under it.. :P

SO what i'm trying to say is you can color anything in as long as you have its model recognition.

Moving on!

//================================================== ================================================== ================================================== ================================================== ================================================== ================================================== =========//

Now we have our chams... and anything really.... that we want to color in.. but our recognition comes from a different place SetStreamSource :P another d3d Function

Code:
typedef HRESULT ( WINAPI* oSetStreamSource ) ( LPDIRECT3DDEVICE8 pDevice, UINT nStreamNumber, LPDIRECT3DVERTEXBUFFER8 pStreamData, UINT nStride );
oSetStreamSource pSetStreamSource;
 
HRESULT WINAPI mySetStreamSource(LPDIRECT3DDEVICE8 pDevice, UINT nStreamNumber, LPDIRECT3DVERTEXBUFFER8 pStreamData, UINT nStride)
{
if(nStreamNumber==0)
m_Stride = nStride;
 
return pSetStreamSource(pDevice, nStreamNumber, pStreamData, nStride);
see, the code that says m_Stride = nStride?

Well nStride is apart of a modelrecognition, and we used m_Stride, by saying that they equal each other.. m_Stride in our chams code = nStride.. now you say, why dontwe just use nStride instead? Well we have to use this function to identify or use the model recognition system :P

Now we're almost done, we have to assign it a hotkey.. :P

Back to endscene... Now why is Endscene so important? Because it renders every frame per second :P

To add a hotkey. we would do it like this..

Code:
if (GetAsyncKeyState(VK_F1)&1) // if we click f1
{ chams = !chams; } // chams = on
Now the hotkeys name has to be exactly like it is.. remember we also use if(colored walls) before?

Code:
if (GetAsyncKeyState(VK_F2)&1) // if we click f2
{ colored walls = !colored walls; } // colored walls = on

The hotkeys name has to be the same as the if function and as it is in the globals, thats why we define shit like

bool chams = false;

so we can add a hotkey to chams and recognize it :P


phew that was alot


But theres more(Dam billy mayes)

Want no fog, xray , fullbright?

declare them first like chams.. :P

Code:
int nofog;
int xray;
int fullbright;
Now where we could put this, in DIP, or another D3D function SetRenderState... so you have two options.. put it in dip or SRS :P.. DIP is detected on most games so i'd put it in SetRenderstate, it will help you get used to other functions..

Code:
 
typedef HRESULT ( WINAPI* oSetRenderState ) ( LPDIRECT3DDEVICE8 pDevice, D3DRENDERSTATETYPE State, DWORD Value);
oSetRenderState pSetRenderState;
HRESULT WINAPI mySetRenderState(LPDIRECT3DDEVICE8 pDevice, D3DRENDERSTATETYPE State, DWORD Value)
{
if(fullbright)
{
pDevice->SetRenderState(D3DRS_LIGHTING, false); //d3d lighting off
pDevice->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_ARGB(255,255,255,255)); // use all colors to glow up the lighting ingame
}
 
 
if(nofog) // if nofog on
{ // then
pDevice->SetRenderState(D3DRS_FOGENABLE, false); // Disable the Fog
} // end of then
if(xray)
{
if(m_Stride == Modelrecognition) //you can define the stride like this to        
{
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);   
}
}
 
return pSetRenderState(pDevice,State, Value);
}
Now we have three different hacks in SRS(SetRenderState)!

Like before we just have to set a hotkey for it... IN ENDSCENE!

Code:
if (GetAsyncKeyState(VK_F3)&1) // if we click f3
{ //then
nofog = !nofog; //nofog = on
} //end of then
and the same applys to xray and fullbright

phew a lot of hacks..

What we've nailed down..

-Wallhack
-Chams
-NoFog
-Xray
-FullBright

whats left?

Crosshair :P

in globals we put:


Code:
float ScreenCenterX = 0.0f;
float ScreenCenterY = 0.0f;
bool xhair = false;
D3DCOLOR redt = D3DCOLOR_XRGB( 255, 0, 0 );

Centering and declaring the xhair.. also giving it the color of red(You also just use the regular red,or whatever color)

SO here we are back to endscene again ...


Code:
if(xhair)
{
D3DRECT rec2 = {ScreenCenterX-20, ScreenCenterY, ScreenCenterX+ 20, ScreenCenterY+2};
D3DRECT rec3 = {ScreenCenterX, ScreenCenterY-20, ScreenCenterX+ 2,ScreenCenterY+20};
pDevice->Clear(1, &rec2, D3DCLEAR_TARGET,redt, 0, 0);
pDevice->Clear(1, &rec3, D3DCLEAR_TARGET,redt, 0, 0);
}
we're drawing this in endscene... where it says redt, you can change to any of the colors we declared.

But to adding a crosshair we need screenpositioning... we use the d3d function SetViewPort

Code:
typedef HRESULT (WINAPI* oSetViewport)(LPDIRECT3DDEVICE8 pDevice,CONST D3DVIEWPORT8* pViewport);
oSetViewport pSetViewport;
 
HRESULT WINAPI mySetViewport(LPDIRECT3DDEVICE8 pDevice,CONST D3DVIEWPORT8* pViewport)
{
ScreenCenterX = ( float )pViewport->Width / 2;
ScreenCenterY = ( float )pViewport->Height / 2; 
 
return pSetViewport(pDevice,pViewport);
}

it just positions it.. and you know whats next.. back to Endscene...

add the hotkey

Code:
 
if (GetAsyncKeyState(VK_F8)&1) // if we click f8
{ xhair = !xhair; } // xhair = on
Now we have

-WallHack
-Chams
-Nofog
-Xray
-Fullbright
-Crosshair

whats left how about wire frame?


Code:
typedef HRESULT ( WINAPI* oDrawIndexedPrimitive ) ( LPDIRECT3DDEVICE8 pDevice, D3DPRIMITIVETYPE pType, UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount );
oDrawIndexedPrimitive pDrawIndexedPrimitive, OriginalDrawIndexedPrimitive;
HRESULT WINAPI myDrawIndexedPrimitive(LPDIRECT3DDEVICE8 pDevice, D3DPRIMITIVETYPE pType, UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount)
{
 
if(WireFame)
 
if(m_Stride == modelrecog)
{ // then
 pDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
} // end of then
This can go either in DIP or SetRenderState.. does it matter.. maybe if dip gets detected.

You will need a model recognition to choose what you want to wireframe like what you want to color..

remember in globals

Code:
int WireFrame;
and add the hotkey

Code:
if (GetAsyncKeyState(VK_F3)&1) // if we click f3
{ //then
wireframe = !wireframe; //wireframe = on
} // end of then
Now you know whats cool about wire frame.. we can create nosmoke and flash with this...

But you will need the modelrecognition of the smoke and flash...

Remember how i said Stride == 40 Renders everything in soldierfront? If we do

Code:
if(m_Stride == 40)
{ // then
pDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
} // end of then
then everything will be wiredframe..

Time for uber sexy AsusWallhack

Globals

Code:
int AsusWallhack;
Code in either SetRenderstate or DIP:

Example in DIP

Code:
 
typedef HRESULT ( WINAPI* oDrawIndexedPrimitive ) ( LPDIRECT3DDEVICE8 pDevice, D3DPRIMITIVETYPE pType, UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount );
oDrawIndexedPrimitive pDrawIndexedPrimitive, OriginalDrawIndexedPrimitive;
HRESULT WINAPI myDrawIndexedPrimitive(LPDIRECT3DDEVICE8 pDevice, D3DPRIMITIVETYPE pType, UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount)
{
 
if(AsusWallhack)
 
if(Model_rec//for walls)
      {
pDevice->SetRenderState( D3DRS_SRCBLEND, 3 );
pDevice->SetRenderState( D3DRS_DESTBLEND, 4 );
pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, true );
      }
}

then add hotkey

so now we have

-WallHack
-Chams
-NoFog
-FullBright
-Xray
-NoSmoke(wireFrame)
-NoFlash(Wireframe)
-WireFrame(Whole screen)
-Crosshair
-Asus Wallhack

Whats left?

-NoRecoil
-NoSpread
-Shoot with nades
-ESP(Coming soon)
-ColorAimbot(Easier now that we have chams)
-SuperJump


Coming Soon:
-Debugging boxes(Sexy)
-PixelShaderChams(Sexy)
-Esp(Meh)
-NoSky(another easy one)

UPDATE: NoSKy,NOFlash,NoSmoke,NoWater -> D3D Style.

NoSky:

Start off with


Code:
int nosky;
we need our globals.

Now in DIP:

Code:
 
if(nosky)
{
if(modelrec)
{
return D3D_OK
}
}

NoFlash:


Code:
int noflash;
In DIP

Code:
if(noflash)
{
if(ModelRec)
{
return D3D_OK;
}
}
NoSmoke

Code:
int nosmoke;
Code:
in DIP

if(nosmoke)
{
if(ModelRec)
{
return D3D_OK;
}
}
NoSmoke

int nosmoke;

in DIP


Code:
if(nosmoke)
{
if(ModelRec)
{
return D3D_OK;
}
}
NoWater:

Code:
int nowater;
In DIP

Code:
if(nowater)
{
if(ModelRec)
{
return D3D_OK;
}
}
See how much paysites make off bullshit?

Btw.. going over some detection.. On Windows XP, Soldierfront Scans DrawIndexedPrimitive so its detected..So chams and Wallhack will have to wait.. for now render all the stuff you can in setrenderstate... Full Screen WireFrame will still help.

Now for hooking you will need to use detours..

Detours: Add this to your source..


Code:
//==========================================FindPatt======================================================================//
bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
for(;*szMask;++szMask,++pData,++bMask)
if(*szMask=='x' && *pData!=*bMask) return 0;
return (*szMask) == NULL;
}
//=======================================================================
DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
for(DWORD i=0; i<dwLen; i++)
if (bCompare((BYTE*)(dwAddress+i),bMask,szMask)) return (DWORD)(dwAddress+i);
return 0;
}
//=======================================================================
void *DetourFunc(BYTE *src, const BYTE *dst, const int len)
{
BYTE *jmp = (BYTE*)malloc(len+5);
DWORD dwBack;
VirtualProtect(src, len, PAGE_READWRITE, &dwBack);
memcpy(jmp, src, len); 
jmp += len;
jmp[0] = 0xE9;
*(DWORD*)(jmp+1) = (DWORD)(src+len - jmp) - 5;
src[0] = 0x90; //50
src[1] = 0x90; // 58
src[2] = 0xE9;
*(DWORD*)(&src[3]) = (DWORD)(dst - src) - 7;
for (int i=7; i<len; i++) src[i] = 0x90;
VirtualProtect(src, len, dwBack, &dwBack);
return (jmp-len);
}

now how do we use this? Remember we need to define these too!


Code:
bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask);
DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask);
void *DetourFunc(BYTE *src, const BYTE *dst, const int len);
int D3D8BASE (void);
int sleepthread2 (void);
int sleepthread (void);
After that, heres the hook!

Code:
//=======================================Vtable Hook====================================================================//
int D3D8BASE (void)
{
    HMODULE D3D8BASE = NULL;
    for (;D3D8BASE == NULL;Sleep(100))
    D3D8BASE = LoadLibrary("d3d8.dll");
    DWORD* VTableHook = 0;                  
    DWORD hD3D8 = (DWORD)GetModuleHandle("d3d8.dll");
    DWORD VIRTUALTABLE = FindPattern(hD3D8, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
    memcpy(&VTableHook, (void*)(VIRTUALTABLE+2), 4);
 
    DWORD dwEndScene                    = VTableHook[35];
    DWORD dwDrawIndexedPrimitive        = VTableHook[71];
    DWORD dwSetStreamSource             = VTableHook[83];
    DWORD dwSetViewport                 = VTableHook[40];
DWORD dwSetRenderState              = VTableHook[50];
 
 
    pDrawIndexedPrimitive = (oDrawIndexedPrimitive)DetourFunc((PBYTE)dwDrawIndexedPrimitive, (PBYTE)myDrawIndexedPrimitive, 7);
    pSetStreamSource = (oSetStreamSource)DetourFunc((PBYTE)dwSetStreamSource, (PBYTE)mySetStreamSource, 7);
    pEndScene = (oEndScene)DetourFunc((PBYTE)dwEndScene, (PBYTE)myEndScene, 7);
    pSetViewport = (oSetViewport)DetourFunc((PBYTE)dwSetViewport, (PBYTE)mySetViewport, 7);
pSetRenderState = (oSetRenderState)DetourFunc((PBYTE)dwSetRenderState, (PBYTE)mySetRenderState, 7);
 
    return 0;
}
 
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
    DisableThreadLibraryCalls(hDll);
 
    if ( dwReason == DLL_PROCESS_ATTACH )
    {        
        CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)D3D8BASE, NULL, NULL, NULL);
 
    }
    return TRUE;
}
You have everything now.! Heres a source for you to add this into!

Good luck and have fun!


Compile These in C++.
If u dont have one, Download this.

bloodluster23 is offline  
Thanks
1 User
Old 09/18/2010, 10:09   #2
 
★Zero★'s Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 278
Received Thanks: 608
how to do this?
need coder
★Zero★ is offline  
Thanks
1 User
Old 09/18/2010, 10:13   #3
 
Zhina_Shines's Avatar
 
elite*gold: 0
Join Date: Sep 2010
Posts: 128
Received Thanks: 34
this is ovenran:

that source is too oldt and the detours pattaern is patched/outdated

you are not the one who code that gaeve some credits to soreback
Zhina_Shines is offline  
Old 09/18/2010, 14:29   #4
 
mskijhomar1304's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 31
Received Thanks: 12
yeah he leech it from soreback in GZP :P
mskijhomar1304 is offline  
Old 09/18/2010, 17:06   #5
 
Zhina_Shines's Avatar
 
elite*gold: 0
Join Date: Sep 2010
Posts: 128
Received Thanks: 34
we caen update the detour pattaern but idk how to do it :P
Zhina_Shines is offline  
Reply


Similar Threads Similar Threads
D3D Codings InGameMenu - February 06, 2010
02/09/2010 - Soldier Front Hacks, Bots, Cheats & Exploits - 14 Replies
Add Code in specified Files or Functions!!! File: d3d8dev.cpp at Top: #include "cLTFX.h" ( PRERESET ) ltfx.PreReset( );



All times are GMT +1. The time now is 07:49.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.