#1Sáb 25 maio - 21:19
[c/c++]Como Usar Classes BasicPlayerInfo
primeiramente você tem que ter a definições a seguir atualizada:
Add New Item classe.h:
Na sua base você irá adicionar o seguinte code:
Assim você pode add varias funções mas nunca troca o BasicPlayerInfoPointer no caso dessa classe:
Você adiciona as funções.EX:
Obs: Algumas funções como MovementSpeed não se deve colocar valor muito alto, porque vai dar erro no client.
- Código:
#define CryptCShell /*CShell.dll*/XorStr<0xB0,11,0xE45690BF>("\xF3\xE2\xDA\xD6\xD8\xD9\x98\xD3\xD4\xD5"+0xE45690BF).s
#define PlayerMgr 0x???????
Add New Item classe.h:
- Código:
class BasicPlayerInfo;
class BasicPlayerInfo
{
public:
float BaseInfoPointer;//0x00
float MovementSpeed;//0x04
float MovementWalkRate;//0x08
float MovementDuckWalkRate;//0x0C
float MovementSideMoveRate;//0x10
float MovementFBRunAnimRate;//0x14
float MovementLRRunAnimRate;//0x18
float MovementFBWalkAnimRate;//0x1C
float MovementLRWalkAnimRate;//0x20
float MovementAccelation;//0x24
float MovementFriction;//0x28
float JumpTime;//0x2C
float JumpVelocity;//0x30
float JumpLandedWaitTime;//0x34
float JumpLandedNoJumpTimeRate;//0x38
float JumpRepeatPenaltyMoveRate;//0x3C
float JumpRepeatPenaltyHeightRate;//0x40
float JumpLandedMovePenaltyTimeRate;//0x44
float JumpLandedMovePenaltyMoveRate;//0x48
float PVPosDefault;//0x4C
float PVRotationDefault;//0x50
float PVModelFOV;//0x54
float PVModelAspect;//0x58
char _0x0000[8];
float PVOnlyMoveFlipTime;//0x64
float PVOnlyMoveGap;//0x68
float Unknown_00;//0x6C
float Unknown_01;//0x70
float DamagePenaltyTime;//0x74
float DamagePenaltyMoveRate;//0x78
float C4PlantTime;//0x7C
float C4DefuseTime;//0x80
float MaxCanDefuseDistance;//0x84
float CharacterHiddenAlpha;//0x88
float CharacterHiddenWalkAlpha;//0x8C
float CharacterHiddenRunAlpha;//0x90
float MovementHiddenRate;//0x94
};
Na sua base você irá adicionar o seguinte code:
- Código:
DWORD CShell = (DWORD)GetModuleHandleA( CryptCShell );
BasicPlayerInfo *BasicPlayerInfoPointer = *(BasicPlayerInfo **)(CShell + PlayerMgr);
Assim você pode add varias funções mas nunca troca o BasicPlayerInfoPointer no caso dessa classe:
- Código:
BasicPlayerInfoPointer->função = valor;
Você adiciona as funções.EX:
- Código:
if(speed){
BasicPlayerInfoPointer->MovementSpeed= 3000.0f;
}
if(c4hack){
BasicPlayerInfoPointer->C4DefuseTime =3.0f;*
}
Obs: Algumas funções como MovementSpeed não se deve colocar valor muito alto, porque vai dar erro no client.