Начинающий
-
Автор темы
- #1
Подскажите пожалуйста
не работает проверка на прицел
не работает проверка на прицел
C++:
struct CWeaponGeneral
{
enum EWeaponStates
{
eWS_Disabled,
eWS_Idle,
eWS_IdleZoomed,
eWS_Fire,
eWS_IdleUnderBarrel,
eWS_HoldFireUnderBarrel,
eWS_FireUnderBarrel,
eWS_ReloadUnderBarrel,
eWS_HolsterInDisabled,
eWS_HolsterInUnderBarrel,
eWS_HolsteredUnderBarrel,
eWS_MeleeUnderBarrel,
eWS_ThrowingFire,
eWS_ThrowingFireActivate,
eWS_ZoomedFire,
eWS_ZoomInFire,
eWS_ZoomOutFire,
eWS_Reload,
eWS_ReloadBarrel,
eWS_BoltAction,
eWS_ZoomedBoltAction,
eWS_ZoomIn,
eWS_ZoomOut,
eWS_ZoomOutReloadAuto,
eWS_ZoomOutReloadManual,
eWS_ZoomOutQSA,
eWS_ZoomOutMelee,
eWS_ZoomOutBoltAction,
eWS_ZoomOutCustomize,
eWS_Throwing,
eWS_Toss,
eWS_Melee,
eWS_Select,
eWS_Deselect,
eWS_Holding,
eWS_Activate,
eWS_Customize,
eWS_CustomizeIn,
eWS_CustomizeOut,
eWS_HolsterIn,
eWS_Holstered,
eWS_StartRestoreSelf,
eWS_StartRestoreTeamMate,
eWS_CancelRestore,
eWS_RestoreSelf,
eWS_RestoreTeamMate,
eWS_TryingRestoreSelf,
eWS_TryingRestoreTeamMate,
eWS_DropAmmoPack,
eWS_Resurrect,
eWS_ResetClipAmmo,
eWS_Last,
eWS_Num = eWS_Last
};
public:
EWeaponStates GetCurrState() { return Virtual<EWeaponStates(__thiscall*)(PVOID64)>(this, 40)(this); }
bool IsZooming() {
uintptr_t state = *(uintptr_t*)((uintptr_t)this + 0x118);
return (EWeaponStates)state == EWeaponStates::eWS_IdleZoomed
|| (EWeaponStates)state == EWeaponStates::eWS_ZoomedFire
|| (EWeaponStates)state == EWeaponStates::eWS_ZoomIn
|| (EWeaponStates)state == EWeaponStates::eWS_ZoomOut
|| (EWeaponStates)state == EWeaponStates::eWS_ZoomInFire
|| (EWeaponStates)state == EWeaponStates::eWS_ZoomOutFire;
}
};
class IWeapon
{
public:
CWeaponGeneral* GetWeaponGeneral() { return *(CWeaponGeneral**)((uintptr_t)this + 0x8); }
};