Here is my vehicle stuff
Vehicleclasses:
Code:
class cVehicleBase;
class cVehicleBase2;
class cVehicles;
class cVehicle;
class cVehicleRestrictions;
class cVehicleWeaponBase;
class cVehicleWeapon;
class cVehiclePosition;
static DWORD dwVehiclePointer = 0x00AE2C70;
static cVehicleBase *g_pVehicleArray = (cVehicleBase *) (dwVehiclePointer);
class cVehicleBase
{
public:
/* 0x00000000 */ cVehicleBase2 *m_pVehicleBase;
};
class cVehicleBase2
{
public:
/* 0x00000000 */ BYTE _00 [0x0C];
/* 0x0000000C */ cVehicles *m_pVehicles;
};
class cVehicles
{
public:
/* 0x00000000 */ cVehicle *m_pVehicles [64];
};
class cVehicle
{
public:
/* 0x00000000 */ BYTE _00 [0x38];
/* 0x00000038 */ __int8 m_isType;
/* 0x00000039 */ BYTE _39 [0x1F];
/* 0x00000058 */ char m_szVehicleName [0x10];
/* 0x00000068 */ BYTE _68 [0x10];
/* 0x00000078 */ __int32 m_iMaxPassengers;
/* 0x0000007C */ __int32 m_iHealth;
/* 0x00000080 */ __int32 m_iMaxHealth;
/* 0x00000084 */ BYTE _84 [0x04];
/* 0x00000088 */ __int32 m_iCurrentPassengers;
/* 0x0000008C */ BYTE _8C [0x150];
/* 0x000001DC */ cVehicleRestrictions *m_pRestrictions;
/* 0x000001E0 */ cVehiclePosition *m_pPositions;
/* 0x000001E4 */ BYTE _1E4 [0xE8];
/* 0x000002CC */ __int32 m_iIndex;
/* 0x000002D0 */ BYTE _2D0 [0x04];
/* 0x000002D4 */ __int32 m_iLocalSeat;
/* 0x000002D8 */ BYTE _2D8 [0x28];
/* 0x00000300 */ cVector3D m_vSpawnPos;
/* 0x0000030C */ BYTE _3EC [0x70];
/* 0x0000037C */ float m_fSpeed;
/* 0x00000380 */ float m_fDirection;
};
class cVehicleRestrictions
{
public:
/* 0x00000004 */ BYTE _00 [0x40];
/* 0x00000040 */ float m_fMaxSpeed;
/* 0x00000044 */ float m_fMaxBackSpeed;
/* 0x00000048 */ float m_fAccelerationForeward;
/* 0x0000004C */ float m_fAccelerationBackward;
/* 0x00000050 */ float m_fAccelerationSideward;
/* 0x00000054 */ BYTE _54 [0x3C];
/* 0x00000090 */ float m_fLetsFetz;
/* 0x00000094 */ BYTE _94 [0x10];
/* 0x000000A4 */ cVehicleWeaponBase *m_pWeaponBase;
};
class cVehicleWeaponBase
{
public:
/* 0x00000000 */ cVehicleWeapon *m_pWeapons;
};
class cVehicleWeapons
{
public:
/* 0x00000000 */ BYTE _0x0000 [0x21C];
/* 0x0000021C */ cVehicleWeapon m_Weapon1;
/* 0x00000264 */ BYTE _264 [0x120];
/* 0x00000384 */ cVehicleWeapon m_Weapon2;
/* 0x000003CC */ BYTE _3CC [0x58];
/* 0x00000424 */ cVector3D m_vAimAt;
};
class cVehicleWeapon
{
public:
/* 0x00000000 */ __int32 m_iMaxAmmo;
/* 0x00000004 */ __int32 m_iAmmoXor1;
/* 0x00000008 */ __int32 m_iAmmoXor2;
/* 0x0000000C */ BYTE _0C [0x08];
/* 0x00000014 */ __int32 m_iDelayTime;
/* 0x00000018 */ BYTE _18 [0x04];
/* 0x0000001C */ float m_fShootTime;
/* 0x00000020 */ BYTE _20 [0x0C];
/* 0x0000002C */ float m_fOverheatInc;
/* 0x00000030 */ float m_fOverheatDec;
/* 0x00000034 */ BYTE _34 [0x08];
/* 0x0000003C */ __int8 m_isShooting;
/* 0x0000003D */ BYTE _3D [0x07];
/* 0x00000044 */ float m_fOverheat;
};
class cVehiclePosition
{
public:
/* 0x00000000 */ BYTE _00 [0x10];
/* 0x00000010 */ cVehicleWriteablePositions *m_pPositions;
/* 0x00000014 */ BYTE _14 [0x34];
/* 0x00000048 */ cVector3D m_vPos;
};
class cVehicleWriteablePositions
{
public:
/* 0x00000000 */ BYTE _00 [0x98];
/* 0x00000098 */ cVector3D m_vPos;
};
Some examples:
Code:
Vehicle NoOverheat:
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pRestrictions->m_pWeaponBase->m_pWeapons->m_Weapon1.m_fOverheatInc = 0.0f;
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pRestrictions->m_pWeaponBase->m_pWeapons->m_Weapon2.m_fOverheatInc = 0.0f;
Vehicle Unl. Ammo:
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pRestrictions->m_pWeaponBase->m_pWeapons->m_Weapon1.m_iMaxAmmo = 30000;
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pRestrictions->m_pWeaponBase->m_pWeapons->m_Weapon2.m_iMaxAmmo = 30000;
Vehicle NoDelay:
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pRestrictions->m_pWeaponBase->m_pWeapons->m_Weapon1.m_iDelayTime = 0;
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pRestrictions->m_pWeaponBase->m_pWeapons->m_Weapon2.m_iDelayTime = 0;
Vehicle Speed:
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pRestrictions->m_fMaxSpeed *= fFactor;
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pRestrictions->m_fMaxBackSpeed *= fFactor;
Similar with the acceleration offsets for higher acceleration
VehicleOPK:
for (int i = 0 ; i < 64 ; ++i)
{
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pPositions->m_pPositions->m_vPos.m_fX = 0.0f;
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pPositions->m_pPositions->m_vPos.m_fY = 0.0f;
g_pVehicleArray->m_pVehicleBase->m_pVehicles->m_pVehicles [i].m_pPositions->m_pPositions->m_vPos.m_fZ = 0.0f;
}
Credits: NikM
Maybe interesting too:
If you are sitting in a vehicle you can access your current vehicle like that:
[[Playerpointer]+C4C4h]