Исходник Classes 10.06.2019 RU Для StrikeEngine

Чит на Warface ProjectX, подробности в ЛС!
Пользователь
Статус
Оффлайн
Регистрация
30 Ноя 2017
Сообщения
215
Реакции[?]
38
Поинты[?]
0
Вот тут всё что менялось из того, что я нашел, может что то упустил. Пользуйтесь
Вроде работает.
C++:
#define IGameFramework_Address 0x1B6E264

enum GameData : DWORD
{
    SystemGlobalAdress = 0x1937640

};

static SSystemGlobalEnvironment* GetInstance() { return *(SSystemGlobalEnvironment * *)0x1937640; }
static SSystemGlobalEnvironment* Singleton() { return *(SSystemGlobalEnvironment**)0x1937640; }

CPlayer *GetPlayer() { return (CPlayer*)*(DWORD*)((DWORD)this + 0x9B8); };

static IGame* GetIGame() {
        return *(IGame**)0x1B64A14;

static ICVar* Singleton()
    {
        return *(ICVar**)(0x1B64A14); //IGame
    }

bool ProjectToScreen(w2s_info *info)
    {
        using ProjectToScreen = bool(__thiscall*)(PVOID, w2s_info*);
        return cClassValue<ProjectToScreen>(this, 400)(this, info); //396
    }
C++:
int RayWorldIntersection(SRWIParams& rp, const char* pNameTag, int iCaller)
{
return CallFunction<int(__thiscall*)(PVOID, SRWIParams&, const char*, int)>(this, 140)(this, rp, pNameTag, iCaller); //136
}
 
Последнее редактирование:
Чит на Warface ProjectX, подробности в ЛС!
Пользователь
Статус
Оффлайн
Регистрация
30 Ноя 2017
Сообщения
215
Реакции[?]
38
Поинты[?]
0
Функции оружия не менялись
 
Чит на Warface ProjectX, подробности в ЛС!
Пользователь
Статус
Оффлайн
Регистрация
30 Ноя 2017
Сообщения
215
Реакции[?]
38
Поинты[?]
0
Вот эта функция крашила ещё.
Это для визибла


int RayWorldIntersection(SRWIParams& rp, const char* pNameTag, int iCaller)
{
return CallFunction<int(__thiscall*)(PVOID, SRWIParams&, const char*, int)>(this, 140)(this, rp, pNameTag, iCaller); //136
}
 
Начинающий
Статус
Оффлайн
Регистрация
19 Авг 2018
Сообщения
74
Реакции[?]
19
Поинты[?]
0
Вот эта функция крашила ещё.
Это для визибла


int RayWorldIntersection(SRWIParams& rp, const char* pNameTag, int iCaller)
{
return CallFunction<int(__thiscall*)(PVOID, SRWIParams&, const char*, int)>(this, 140)(this, rp, pNameTag, iCaller); //136
}
После инжекта закрывается игра
 
Чит на Warface ProjectX, подробности в ЛС!
Пользователь
Статус
Оффлайн
Регистрация
30 Ноя 2017
Сообщения
215
Реакции[?]
38
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
19 Авг 2018
Сообщения
74
Реакции[?]
19
Поинты[?]
0
Чит на Warface ProjectX, подробности в ЛС!
Пользователь
Статус
Оффлайн
Регистрация
30 Ноя 2017
Сообщения
215
Реакции[?]
38
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
21 Дек 2018
Сообщения
383
Реакции[?]
11
Поинты[?]
2K
шшшш
Вот эта функция крашила ещё.
Это для визибла


int RayWorldIntersection(SRWIParams& rp, const char* pNameTag, int iCaller)
{
return CallFunction<int(__thiscall*)(PVOID, SRWIParams&, const char*, int)>(this, 140)(this, rp, pNameTag, iCaller); //136
}
35 вместо 140
 
Чит на Warface ProjectX, подробности в ЛС!
Пользователь
Статус
Оффлайн
Регистрация
30 Ноя 2017
Сообщения
215
Реакции[?]
38
Поинты[?]
0
шшшш

35 вместо 140
140, я использую 140, в другой теме человек использует по другому)
А это я писал под тот исходник Strike, а там именно 140
Если ты там впишешь 35, увидишь что визибл не будет работать (точнее он будет тебя крашить xD)
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
19 Авг 2018
Сообщения
74
Реакции[?]
19
Поинты[?]
0
Можете пожалуйста подсказать как искать данные значения в IDA
V_GetCurrentGameRules 0x618
V_Shutter 0x8A
V_SetRecoilMult 752
V_OffRecoil 756
V_SetRecoil 748
V_CameraSway 4
 
Чит на Warface ProjectX, подробности в ЛС!
Пользователь
Статус
Оффлайн
Регистрация
30 Ноя 2017
Сообщения
215
Реакции[?]
38
Поинты[?]
0
Можете пожалуйста подсказать как искать данные значения в IDA
V_GetCurrentGameRules 0x618
V_Shutter 0x8A
V_SetRecoilMult 752
V_OffRecoil 756
V_SetRecoil 748
V_CameraSway 4
Они не сменились, а так не помню, я какие то из них не нашел, поройся в старом дампе)
 
Начинающий
Статус
Оффлайн
Регистрация
19 Авг 2018
Сообщения
74
Реакции[?]
19
Поинты[?]
0
Обновил все классы при инжекте пищит и через несколько секунд закрывает игру

Код:
#pragma once



#define IGameFramework_Address 0x1B6E264

#define V_GetCurrentGameRules 0x618

#define V_Shutter 0x8A

#define V_SetRecoilMult 752

#define V_OffRecoil 756

#define V_SetRecoil 748

#define V_CameraSway 4

typedef unsigned int EntityId;

class IRenderer;

class SSystemGlobalEnvironment;

class I3DEngine;

class IGame;

class IActorSystem;

class ICVar;

class IEntitySystem;

class IEntity;

class IEntityClassRegistry;

class IPhysicalWorld;

class ITimer;

class ISystem;

class IPhysicalEntity;

struct HitInfo;



template< typename cData >

cData vFun_Call(PVOID BaseClass, DWORD vOFFSET)

{

    PDWORD* vPointer = (PDWORD*)BaseClass;

    PDWORD vFunction = *vPointer;

    DWORD dwAddress = vFunction[vOFFSET];

    return (cData)(dwAddress);

}



enum GameData : DWORD

{

    SystemGlobalAdress = 0x1937640,

    IRendererI = 0x30,

    D3DXCreateTextureI = 0x7E70,

    pIPhysicalWorld = 0x44,                                            /// Поиск: RayWorldIntersection(Game) +

    pIGame = 0x70,                                                    /// Поиск: IsPlayer +

    GetI3DEngine = 0x88,                                                /// Поиск: Dof_Active +

    GetITimer = 0x2C,                                                    /// Поиск: GetFrameTime (this + 96 at the top) +

    GetIEntitySystem = 0x78,

};



struct CPlayer

{

    Quat GetViewRotation()

    {

        return m_viewQuatFinal;

    }



    void SetViewRotation(Quat& rotation)

    {

        m_viewQuat = m_viewQuatFinal = m_BaseQuat = rotation;

    }



    void SetZRotation(Quat& Rotation)

    {



        m_viewQuat.v.z = m_viewQuatFinal.v.z = m_BaseQuat.v.z = Rotation.v.z;

        m_viewQuat.w = m_viewQuatFinal.w = m_BaseQuat.w = Rotation.w;

    }





    void SetScale(FLOAT Value) { *(FLOAT*)((DWORD)this + 0x8) = Value; }

    char pad_0x0000[0x80]; //0x0000

    Quat m_viewQuat; //0x0080

    Quat m_viewQuatFinal; //0x0090

    Quat m_BaseQuat; //0x00A0

    char pad_0x00B0[0x1]; //0x00B0

    bool m_ignoreRecoil; //0x00B1 (работае,)?я хз есть 2 варианта



                         /*void SetIgnoreRecoil(bool fValue)

                         {

                         *(bool*)((DWORD)this + 0xB1) = fValue; // sp_difficulty пока без этой

                         }*/

};



enum EStance {

    STANCE_NULL = -1,

    STANCE_STAND = 0,

    STANCE_CROUCH,

    STANCE_PRONE,

    STANCE_RELAXED,

    STANCE_STEALTH,

    STANCE_LOW_COVER,

    STANCE_ALERTED,

    STANCE_HIGH_COVER,

    STANCE_SWIM,

    STANCE_ZEROG,

    STANCE_LAST

};



struct SStanceState {

    Vec3 pos;///0-8

    Vec3 entityDirection;//c-14

    Vec3 animationBodyDirection;//18-20

    Vec3 upDirection;//24-2C

    Vec3 weaponPosition;//30-38

    Vec3 aimDirection;//3C-44

    Vec3 fireDirection;//48-50

    Vec3 eyePosition;//54-5C

    Vec3 eyeDirection;//60-68

    float lean;//6C

    float peekOver;//70

    AABB m_StanceSize;//74-88

    AABB m_ColliderSize;//8C-94,98-A0

};



struct SMovementState : public SStanceState {

    DWORD Unk;//Vec3 fireTarget;//A4

    EStance stance;//A8

    Vec3 animationEyeDirection;//AC-B4

    Vec3 movementDirection, lastMovementDirection;//B8-C0,C4-CC

    float desiredSpeed;//D0

    float minSpeed;

    float normalSpeed;

    float maxSpeed;

    float slopeAngle;

    bool atMoveTarget;

    bool isAlive;

    bool isAiming;

    bool isFiring;

    bool isVisible;

    bool isMoving;

};



class CMovementRequest {};



class IMovementController {

public:

    virtual virtual ~IMovementController() {}; //0x0

    virtual bool RequestMovement(CMovementRequest& request) = 0;

    virtual void GetMovementState(SMovementState& state) = 0;

    virtual bool GetStanceState( /*const SStanceStateQuery& query, SStanceState& state*/) = 0;

};

enum GameModes

{

    Mode_Unknown = 0,

    Mode_TeamDeathmatch,

    Mode_Capture,

    Mode_CoopSurvival,

    Mode_PlantTheBomb,

    Mode_Storm,

    Mode_FreeForAll,

    Mode_Destruction,

    Mode_Domination

};



template <typename T>

T cClassValue(VOID* Base, INT index) { return (*(T * *)Base)[index / 4]; }



class IWeaponExtraOne

{

public:

    void Damage(int iValue) { *(__int32*)((DWORD)this + 0x8) = iValue; }

};

enum IWeaponSystemId : DWORD {

    eWS_NoiseLevel = 4,//Уровень шума

    eWS_MaxAmmoClip = 5,//кол-во патронов в обойме

    eWS_Zatvor = 17,//скорость затвора

    eWS_MaxDamage = 27,//максимальный урон

    eWS_Distance1 = 28,//Дальность оружия

    eWS_MinDamage = 30,//минимальный урон

    eWS_SpeedPricel = 43,//скорость входа в прицел

    eWS_MeleeWeaponDamage = 55,//Урон в ближнем бою

    eWS_KnifeLKM = 56,//скорость удара ножом лкм

    eWS_Distance2 = 58,//дальность удара ножом лкм

    eWS_Distance3 = 63,//дальность удара ножом пкм

    eWS_MinRecoil = 66,//Минимальная Отдача

    eWS_MaxRecoil = 67,//Максимальная Отдача

    eWS_SpeedReload = 72,//Скорость перезарядки

    eWS_FireRate = 80,//Темп стрельбы

    eWS_KnifePKM = 83,//скорость удара ножов пкм

    eWS_MaxTo4nost = 95,//Минимальная точность

    eWS_MinTo4nost = 95,//Максимальная точность

    eWS_Zoom = 108,//дальность зума

};

class IWeaponExtraTwo

{

public:

    void SetCameraSway(float fValue)

    {

        *(float*)((DWORD)this) = fValue;

        *(float*)((DWORD)this + V_CameraSway) = fValue;

    }

    bool FindValue(DWORD actId, float fValue = 0.0f)

    {

        auto v3 = *(DWORD*)((DWORD)this + 0x6C);

        auto v5 = *(DWORD*)(v3 + 4);

        while (!*(BYTE*)(v5 + 13))

        {

            auto itemActId = *(DWORD*)(v5 + 16);

            if (itemActId == actId)

            {

                *(__int32*)(v5 + 20) = *(__int32*)(v5 + 24) ^ *(__int32*)& fValue;

                return true;

            }

            else if (itemActId > actId)

                v5 = *(DWORD*)v5;

            else

                v5 = *(DWORD*)(v5 + 8);

        }

        return false;

    }

};



class IWeaponExtraThree

{

public:

    bool UnlimitedAmmo2; //0x0000

    char pad_0x0001[0x3]; //0x0001

    __int32 Ammo; //0x0004



    void SetAmmoCount(__int32 iValue) { *(__int32*)((DWORD)this + 0x4) = iValue; }

    VOID UnlimitedAmmo(INT Value) { *(INT*)((DWORD)this + 0x0000) = Value; }

    __int32 GetAmmoCount() { return *(__int32*)((DWORD)this + 0x4); }

};





class IWeaponSpecific

{

public:

    auto m_pWeaponExtraOne() { return *(IWeaponExtraOne * *)((DWORD)this + 0x24); }

    auto m_pWeaponExtraTwo() { return *(IWeaponExtraTwo * *)((DWORD)this + 0x30); }

    auto m_pWeaponExtraThree() { return *(IWeaponExtraThree * *)((DWORD)this + 0x34); }



    VOID SetRecoilMult(INT8 iValue) { *(INT8*)((DWORD)this + V_SetRecoilMult) = iValue; }

    VOID Shutter(INT8 iValue) { *(INT8*)((DWORD)this + V_Shutter) = iValue; }

};



class IFireMode

{

public:

    bool IsFiring()

    {

        using oIsFiring = bool(__thiscall*)(PVOID);

        return cClassValue<oIsFiring>(this, 144)(this);

    }

};

class IWeaponAmmoCount

{

public:

    VOID UnlimitedAmmo(INT Value) { *(INT*)((DWORD)this + 0x0000) = Value; }

    VOID SetAmmoCount(INT iValue) { *(INT*)((DWORD)this + 0x4) = iValue; }



    INT CounterAmmo(VOID)

    {

        return (INT) * (DWORD*)((DWORD)this + 0x0004);

    }

};





class IWeaponPTR

{

public:

    //    char _0x0000[36];

    //    IWeaponParamsOne* WeaponParamsOne; //0x0024

    char _0x0028[8];

    //    IWeaponParamsTwo* WeaponParamsTwo; //0x0030

    IWeaponExtraThree* WeaponParamsThree; //0x0034



    IWeaponAmmoCount* GetAmmoCount() { return (IWeaponAmmoCount*) * (DWORD*)((DWORD)this + 0x0034); }

    void UnlimAmmo(bool status) { WeaponParamsThree->UnlimitedAmmo2 = status; }

    bool IsUnlimAmmo() { return WeaponParamsThree->UnlimitedAmmo2; }

    bool IsFiring()

    {

        DWORD v12 = *(DWORD*)((DWORD)this + 0x70);

        return (v12 == 3 || v12 == 6 || v12 == 12 || v12 == 13 || v12 == 14 || v12 == 15 || v12 == 16 || v12 == 48 || v12 == 49);

    }

};





class IWeapon

{

public:



    void StartFire()

    {

        using oStartFire = void(__thiscall*)(PVOID);

        return cClassValue<oStartFire>(this, 44)(this);

    }



    void StopFire()

    {

        using oStopFire = void(__thiscall*)(PVOID);

        return cClassValue<oStopFire>(this, 48)(this);

    }

    VOID F1RE() { // это простой

        StartFire();

        StopFire();

    }



    VOID F1RE2() { //это задержка 1 мс

        StartFire();

        //Sleep(1);

        StopFire();

    }



    VOID F1RE3() {

        StartFire(); // это и есть аля зажим

    }



    VOID F1REOFF() { // это офф ну на всякий w



    }

    IFireMode* GetFireMode(int FireModeId)

    {

        using oGetFireMode = IFireMode * (__thiscall*)(PVOID, int);

        return cClassValue<oGetFireMode>(this, 116)(this, FireModeId);

    }

    LPCSTR GetCurrentWeapon()

    {

        DWORD Base;

        DWORD Level1;

        DWORD Level2;

        DWORD Level3;

        DWORD Level4;

        DWORD Level5;



        Base = ((DWORD)this + 0x0C);

        Level1 = *(DWORD*)(*(DWORD*)(Base + 0x0) + 0x8);

        Level2 = *(DWORD*)(Level1 + 0x8);

        Level3 = *(DWORD*)(Level2 + 0x28);

        Level4 = *(DWORD*)(Level3 + 0x8);

        Level5 = ((DWORD)(Level4 + 0x0));



        return (LPCSTR)Level5;

    }

    auto m_pWeaponSpecific() { return *(IWeaponSpecific * *)((DWORD)this + 0x4); }

    IWeaponPTR* WeaponPTR() { return (IWeaponPTR*) * (DWORD*)((DWORD)this + 0x0004); }

};



class IItem

{

public:

    IWeapon* GetIWeapon() { return((IWeapon*)this + 0x14); } //+

    VOID SetFiringPos(Vec3 vPos) { *(Vec3*)((DWORD) * (DWORD*)((DWORD)GetIWeapon() + 0xC) + 0x10) = vPos; }

    Vec3 GetFiringPos(Vec3 pos) { return *(Vec3*)((DWORD) * (DWORD*)((DWORD)GetIWeapon() + 0xC) + 0x10); }

};

class SSystemGlobalEnvironment

{

public:

    char pad_0x0000[0x30]; //0x0000

    IRenderer* pRenderer; //0x0030

    char pad_0x0034[0x10]; //0x0034

    IPhysicalWorld* pPhysicalWorld; //0x0044

    char pad_0x0048[0x28]; //0x0048

    IGame* pIGame; //0x0070

    char pad_0x0074[0x4]; //0x0074

    IEntitySystem* pEntitySystem; //0x0078

    char pad_0x007C[0xC]; //0x007C

    I3DEngine* p3DEngine; //0x0088

    char pad_0x008C[0x34]; //0x008C

    ISystem* pSystem; //0x0080

    char _0x0084[4];

    static SSystemGlobalEnvironment* GetInstance() { return *(SSystemGlobalEnvironment * *)0x1937640; }

    static SSystemGlobalEnvironment* Singleton() { return *(SSystemGlobalEnvironment**)0x1937640; }

    auto m_IRenderer() { return (IRenderer*) * (DWORD*)((DWORD)this + IRendererI); }

    IGame* GIGame() { return (IGame*) * (DWORD*)((DWORD)this + 112); }



};



class I3DEngine

{

public:

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5(); //

    virtual void Function6(); //

    virtual void Function7(); //

    virtual void Function8(); //

    virtual void Function9(); //

    virtual void Function10(); //

    virtual void Function11(); //

    virtual void Function12(); //

    virtual void Function13(); //

    virtual void Function14(); //

    virtual void Function15(); //

    virtual void Function16(); //

    virtual void Function17(); //

    virtual void Function18(); //

    virtual void Function19(); //

    virtual void Function20(); //

    virtual void Function21(); //

    virtual void Function22(); //

    virtual void Function23(); //

    virtual void Function24(); //

    virtual void Function25(); //

    virtual void Function26(); //

    virtual void Function27(); //

    virtual void Function28(); //

    virtual void Function29(); //

    virtual void Function30(); //

    virtual void Function31(); //

    virtual void Function32(); //

    virtual void Function33(); //

    virtual void Function34(); //

    virtual void Function35(); //

    virtual void Function36(); //

    virtual void Function37(); //

    virtual void Function38(); //

    virtual void Function39(); //

    virtual void Function40(); //

    virtual void Function41(); //

    virtual void Function42(); //

    virtual void Function43(); //

    virtual void Function44(); //

    virtual void Function45(); //

    virtual void Function46(); //

    virtual void Function47(); //

    virtual void Function48(); //

    virtual void Function49(); //

    virtual void Function50(); //

    virtual void Function51(); //

    virtual void Function52(); //

    virtual void Function53(); //

    virtual void Function54(); //

    virtual void Function55(); //

    virtual void Function56(); //

    virtual void Function57(); //

    virtual void Function58(); //

    virtual void Function59(); //

    virtual void Function60(); //

    virtual void Function61(); //

    virtual void Function62(); //

    virtual void Function63(); //

    virtual void Function64(); //

    virtual void Function65(); //

    virtual void Function66(); //

    virtual void Function67(); //

    virtual void Function68(); //

    virtual void Function69(); //

    virtual void Function70(); //

    virtual void Function71(); //

    virtual void Function72(); //

    virtual void Function73(); //

    virtual void Function74(); //

    virtual void Function75(); //

    virtual void Function76(); //

    virtual void Function77(); //

    virtual void Function78(); //

    virtual void Function79(); //

    virtual void Function80(); //

    virtual void Function81(); //

    virtual void Function82(); //

    virtual void Function83(); //

    virtual void Function84(); //

    virtual void Function85(); //

    virtual void Function86(); //

    virtual void Function87(); //

    virtual void Function88(); //

    virtual void Function89(); //

    virtual void Function90(); //

    virtual void Function91(); //

    virtual void Function92(); //

    virtual void Function93(); //

    virtual void Function94(); //

    virtual void Function95(); //

    virtual void Function96(); //

    virtual void Function97(); //

    virtual void Function98(); //

    virtual void Function99(); //

    virtual void Function100(); //

    virtual void Function101(); //

    virtual void Function102(); //

    virtual void Function103(); //

    virtual void Function104(); //

    virtual void Function105(); //

    virtual void Function106(); //

    virtual void Function107(); //

    virtual void Function108(); //

    virtual void Function109(); //

    virtual void Function110(); //

    virtual void Function111(); //

    virtual void Function112(); //

    virtual void Function113(); //

    virtual void Function114(); //

    virtual void Function115(); //

    virtual void Function116(); //

    virtual void Function117(); //

    virtual void Function118(); //

    virtual void Function119(); //

    virtual void Function120(); //

    virtual void Function121(); //

    virtual void Function122(); //

    virtual void Function123(); //

    virtual void Function124(); //

    virtual void Function125(); //

    virtual void Function126(); //

    virtual void Function127(); //

    virtual void Function128(); //

    virtual void Function129(); //

    virtual void Function130(); //

    virtual void Function131(); //

    virtual void Function132(); //

    virtual void Function133(); //

    virtual void Function134(); //

    virtual void Function135(); //

    virtual void Function136(); //

    virtual void Function137(); //

    virtual void Function138(); //

    virtual void Function139(); //

    virtual void Function140(); //

    virtual void Function141(); //

    virtual void Function142(); //

    virtual void SetPostEffectParam(const char* pParam, float fValue, bool bForceValue = false); //virtual void Function143(); //

}; //Size=0xC84

//мой класс

struct IGameObjectExtension

{

    IEntity* GetEntity() const { return m_pEntity; }

    char unk[4];

public:

    IEntity* m_pEntity;

    char unk2[4];

};



class IActor : public IGameObjectExtension {

public:

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5(); //

    virtual void Function6(); //

    virtual void Function7(); //

    virtual void Function8(); //

    virtual void Function9(); //

    virtual void Function10(); //

    virtual void Function11(); //

    virtual void Function12(); //

    virtual void Function13(); //

    virtual void Function14(); //

    virtual void Function15(); //

    virtual void Function16(); //

    virtual void Function17(); //

    virtual void Function18(); //

    virtual void Function19(); //

    virtual void Function20(); //

    virtual void Function21(); //

    virtual void Function22(); //

    virtual void Function23(); //

    virtual bool IsDead(); //

    virtual void Function25(); //

    virtual void Function26(); //

    virtual int GetHealth(); //

    virtual void Function28(); //

    virtual void Function29(); //

    virtual void Function30(); //

    virtual void Function31(); //

    virtual int GetArmor();

    virtual void Function33(); //

    virtual void Function34(); //

    virtual void Function35(); //

    virtual void Function36(); //

    virtual void Function37(); //

    virtual void Function38(); //

    virtual void Function39(); //

    virtual void Function40(); //

    virtual void Function41(); //

    virtual void Function42(); //

    virtual void Function43(); //

    virtual void Function44(); //

    virtual void Function45(); //

    virtual void Function46(); //

    virtual void Function47(); //

    virtual void SetCurrentItem(EntityId itemid); //

    virtual void Function49(); //

    virtual void Function50(); //

    virtual void SetViewRotation(const Quat& pRotation); //

    virtual  Quat GetViewRotation(); //

    virtual void Function53(); //

    virtual void Function54(); //

    virtual void Function55(); //

    virtual IItem* GetCurrentItem(bool includeVehicle = false) const = 0; //

    virtual void Function57(); //

    virtual void Function58(); //

    virtual void Function59(); //

    virtual IMovementController* GetMovementController(); //



    IEntity* LinkedEntity() { return (IEntity*) * (DWORD*)((DWORD)this + 0x0008); }





    int getEntityId() { return *(int*)((DWORD)this + 0x10); }; // 0x10 (хз) не факт (У себя чекну) пробуй пока

                                                               //8 192 44



    IEntity* getIEntity() { return (IEntity*) * (DWORD*)((DWORD)this + 0x08); }; //0x18

    CPlayer* GetPlayer() { return (CPlayer*) * (DWORD*)((DWORD)this + 0x9B8); };



    auto IsTriggerID()

    {

        auto u = *(int*)((DWORD)this + 0xC);

        u = *(int*)((DWORD)u + 0x40);

        u = *(int*)((DWORD)u + 0x18);

        return (int) * (DWORD*)((DWORD)u + 0x110);

    }

    VOID slideDistanceMult(FLOAT Value) { *(FLOAT*)((DWORD)this + 0x0C3C) = Value; }

    VOID claymore_detector_radius(FLOAT Value) { *(FLOAT*)((DWORD)this + 0xB00) = Value; }

    VOID minStaminaToStartHaste(FLOAT Value) { *(FLOAT*)((DWORD)this + 0xC40) = Value; } // не факт

};



struct IGame

{

public:

    ICVar* GetICvar()

    {

        return (ICVar*) * (DWORD*)((DWORD)this + 0x98);

    }



    static IGame* GetIGame() {

        return *(IGame * *)0x1B64A14;  // atimeout ds:d___   upper ssge   or  Libs/UI/HUDHitIndicatorHor.tif  between ssge and aLibsUiHudhitin ds:d

    }



};



class ICVar

{

public:

    void SetIPelletsDisp(float iValue)//accuracy

    {

        *(float*)((DWORD)this + 0x118) = iValue;//i_pelletsDisp

    }

    void CrosshairSpreadTuning(float pValue)

    {

        *(float*)((DWORD)this + 0x550) = pValue;

    }

    void g_parametric_spread_attack_enabled(float pValue)

    {

        *(FLOAT*)((DWORD)this + 0x240) = pValue;

    }

    void ACPatternScan(int OFF) {

        *(int*)((DWORD)this + 0xA24) = OFF;

    }

    void ACMemScan(int OFF) {

        *(int*)((DWORD)this + 0xA1C) = OFF;

    }

    void ACMemLog(int OFF) {

        *(int*)((DWORD)this + 0xA20) = OFF;

    }

    void silencer_shoot_spotting(int xValue)

    {

        *(int*)((DWORD)this + 0xB98) = xValue; // 0x0B98

    }

    void SetPickupDist(float fValue)

    {

        *(float*)((DWORD)this + 0x748) = fValue; //+

    }

    void g_kickvote_pve_max_checkpoints(int num)

    {

        *(int*)((DWORD)this + 0x458) = num; //+

    }

    void g_enable_ingame_kickvote_in_zombiemission(int fValue)

    {

        *(int*)((DWORD)this + 0x44C) = fValue; //No update

    }

    void i_soundeffects(int fValue)

    {

        *(int*)((DWORD)this + 0xD0) = fValue; //No update

    }

    void g_enableIdleCheck(int fValue)

    {

        *(int*)((DWORD)this + 0x158) = fValue; //No update

    }



    int g_victoryCondition()

    {

        return *(int*)((DWORD)this + 0x57C);

    }



    static ICVar* Singleton()

    {

        return *(ICVar * *)(0x1B64A14); //IGame

    }



    void God(float fValue)

    {

        *(float*)((DWORD)this + 0x5A0) = fValue; //+

    }

};



struct ray_hit {

    float dist;

    IPhysicalEntity* pCollider;

    int ipart;

    int partid;

    short surface_idx;

    short idmatOrg;    // original material index, not mapped with material mapping

    int foreignIdx;

    int iNode; // BV tree node that had the intersection; can be used for "warm start" next time

    Vec3 pt;

    Vec3 n;    // surface normal

    int bTerrain;    // global terrain hit

    int iPrim; // hit triangle index

    ray_hit* next; // reserved for internal use, do not change

};



class IGameRules {

public:

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5(); //

    virtual void Function6(); //

    virtual void Function7(); //

    virtual void Function8(); //

    virtual void Function9(); //

    virtual void Function10(); //

    virtual void Function11(); //

    virtual void Function12(); //

    virtual void Function13(); //

    virtual void Function14(); //

    virtual void Function15(); //

    virtual void Function16(); //

    virtual void Function17(); //

    virtual void Function18(); //

    virtual void Function19(); //

    virtual void Function20(); //

    virtual void Function21(); //

    virtual void Function22(); //

    virtual void Function23(); //

    virtual void Function24(); //

    virtual void Function25(); //

    virtual void Function26(); //

    virtual void Function27(); //

    virtual void Function28(); //

    virtual void Function29(); //

    virtual void Function30(); //

    virtual void Function31(); //

    virtual void Function32(); //

    virtual void Function33(); //

    virtual void Function34(); //

    virtual void Function35(); //

    virtual void Function36(); //

    virtual void Function37(); //

    virtual void Function38(); //

    virtual void Function39(); //

    virtual void Function40(); //

    virtual void Function41(); //

    virtual void Function42(); //

    virtual void Function43(); //

    virtual void Function44(); //

    virtual void Function45(); //

    virtual void Function46(); //

    virtual void Function47(); //

    virtual void Function48(); //

    virtual void Function49(); //

    virtual void Function50(); //

    virtual void Function51(); //

    virtual void Function52(); //

    virtual void Function53(); //

    virtual void Function54(); //

    virtual void Function55(); //

    virtual void Function56(); //

    virtual void Function57(); //

    virtual void Function58(); //

    virtual void Function59(); //

    virtual void Function60(); //

    virtual void Function61(); //

    virtual void Function62(); //

    virtual void Function63(); //

    virtual void Function64(); //

    virtual void Function65(); //

    virtual void Function66(); //

    virtual void Function67(); //

    virtual void Function68(); //

    virtual void Function69(); //

    virtual void Function70(); //

    virtual void Function71(); //

    virtual void Function72(); //

    virtual void Function73(); //

    virtual void Function74(); //

    virtual void Function75(); //

    virtual void Function76(); //

    virtual void Function77(); //

    virtual void Function78(); //

    virtual void Function79(); //

    virtual void Function80(); //

    virtual void Function81(); //

    virtual void Function82(); //

    virtual void Function83(); //

    virtual void Function84(); //

    virtual void Function85(); //

    virtual void Function86(); //

    virtual void Function87(); //

    virtual void Function88(); //

    virtual void Function89(); //

    virtual void Function90(); //

    virtual void Function91(); //

    virtual void Function92(); //

    virtual void Function93(); //

    virtual void Function94(); //

    virtual void Function95(); //

    virtual void Function96(); //

    virtual void Function97(); //

    virtual void Function98(); //

    virtual void Function99(); //

    virtual void Function100(); //

    virtual void Function101(); //

    virtual void Function102(); //

    virtual void Function103(); //

    virtual void Function104(); //

    virtual void Function105(); //

    virtual void Function106(); //

    virtual void Function107(); //

    virtual int GetTeam(int entityId); //

};



class IGameFramework

{

public:

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5(); //

    virtual void Function6(); //

    virtual void Function7(); //

    virtual void Function8(); //

    virtual void Function9(); //

    virtual void Function10(); //

    virtual void Function11(); //

    virtual void Function12(); //

    virtual void Function13(); //

    virtual void Function14(); //

    virtual void Function15(); //

    virtual void Function16(); //

    virtual void Function17(); //

    virtual void Function18(); //

    virtual void Function19(); //

    virtual void Function20(); //

    virtual void Function21(); //

    virtual void Function22(); //

    virtual void Function23(); //

    virtual void Function24(); //

    virtual IActorSystem* GetIActorSystem();

    virtual void Function26(); //

    virtual void Function27(); //

    virtual void Function28(); //

    virtual void Function29(); //

    virtual void Function30(); //

    virtual void Function31(); //

    virtual void Function32(); //

    virtual void Function33(); //

    virtual void Function34(); //

    virtual void Function35(); //

    virtual void Function36(); //

    virtual void Function37(); //

    virtual void Function38(); //

    virtual void Function39(); //

    virtual void Function40(); //

    virtual void Function41(); //

    virtual void Function42(); //

    virtual void Function43(); //

    virtual void Function44(); //

    virtual void Function45(); //

    virtual void Function46(); //

    virtual void Function47(); //

    virtual void Function48(); //

    virtual void Function49(); //

    virtual void Function50(); //

    virtual void Function51(); //

    virtual void Function52(); //

    virtual void Function53(); //

    virtual void Function54(); //

    virtual void Function55(); //

    virtual void Function56(); //

    virtual void Function57(); //

    virtual void Function58(); //

    virtual void Function59(); //

    virtual void Function60(); //

    virtual void Function61(); //

    virtual void Function62(); //

    virtual void Function63(); //

    virtual void Function64(); //

    virtual void Function65(); //

    virtual void Function66(); //

    virtual void Function67(); //

    virtual void Function68(); //

    virtual void Function69(); //

    virtual void Function70(); //

    virtual void Function71(); //

    virtual void Function72(); //

    virtual void Function73(); //

    virtual void Function74(); //

    virtual void Function75(); //

    virtual void Function76(); //

    virtual void Function77(); //

    virtual void Function78(); //

    virtual void Function79(); //

    virtual void Function80(); //

    virtual void Function81(); //

    virtual void Function82(); //

    virtual void Function83(); //

    virtual void Function84(); //

    virtual void Function85(); //

    virtual void Function86(); //

    virtual void Function87(); //

    virtual void Function88(); //

    virtual void Function89(); //

    virtual void Function90(); //

    virtual void Function91(); //

    virtual void Function92(); //

    virtual void Function93(); //

    virtual void Function94(); //

    virtual void Function95(); //

    virtual void Function96(); //

    virtual void Function97(); //

    virtual void Function98(); //

    virtual void Function99(); //

    virtual void Function100(); //

    virtual void Function101(); //

    virtual void Function102(); //

    virtual void Function103(); //

    virtual void Function104(); //

    virtual void Function105(); //

    virtual void Function106(); //

    virtual void Function107(); //

    virtual void Function108(); //

    virtual void Function109(); //

    virtual void Function110(); //

    virtual void Function111(); //

    virtual void Function112(); //

    virtual void Function113(); //

    virtual void Function114(); //

    virtual void Function115(); //

    virtual void Function116(); //

    virtual void Function117(); //

    virtual void Function118(); //

    virtual void Function119(); //

    virtual void Function120(); //

    virtual void Function121(); //

    virtual void Function122(); //

    virtual void Function123(); //

    virtual void Function124(); //

    virtual void Function125(); //

    virtual void Function126(); //

    virtual void Function127(); //

    virtual void Function128(); //

    virtual void Function129(); //

    virtual void Function130(); //

    virtual void Function131(); //

    virtual void Function132(); //

    virtual void Function133(); //

    virtual void Function134(); //

    virtual void Function135(); //

    virtual void Function136(); //

    virtual void Function137(); //

    virtual void Function138(); //

    virtual void Function139(); //

    virtual void Function140(); //

    virtual void Function141(); //

    virtual bool GetClientActor(IActor** pAct); //0x23c



    static IGameFramework* GetGameFramework() {//The highlited dword_... is the IGameFramework address.

        return *(IGameFramework * *)IGameFramework_Address; //search Failed to create the GameFramework Interface!

    }



    IGameRules* GetIGameRules() { return *(IGameRules * *)((DWORD)this + V_GetCurrentGameRules); }

};



struct IActorIterator

{

public:

    virtual void Function0(); //

    virtual IActor* Next(); //

    virtual void IncreaseIndex(); //

    virtual int Count(); //



};//Size=0x0004



struct IActorSystem

{

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5(); //

    virtual void Function6(); //

    virtual void Function7(); //

    virtual void Function8(); //

    virtual void Function9(); //

    virtual void Function10(); //

    virtual void CreateActorIterator(IActorIterator** ActorIterator);

    virtual void Function12(); //

    virtual int GetCount(); //0x0034

    virtual IActor* GetActorByChannelId(int ChannelId); //0x0038

    virtual IActor* GetActor(int entityId); //0x003C

};



class IRenderer

{

public:

    struct w2s_info

    {

        float Posx;

        float Posy;

        float Posz;

        float* Scrnx;

        float* Scrny;

        float* Scrnz;

    };

    bool ProjectToScreen(w2s_info* info)

    {

        using ProjectToScreen = bool(__thiscall*)(PVOID, w2s_info*);

        return cClassValue<ProjectToScreen>(this, 400)(this, info); //396

    }

    DWORD* GetDirectDevice()

    {

        return (DWORD*) * (DWORD*)((DWORD)this + D3DXCreateTextureI);

    }

};



struct IEntityIt

{

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5();

    virtual IEntity* Next(); //

};



struct IEntitySystem

{

    virtual void Function0(); //

    virtual IEntityClassRegistry* GetClassRegistry() = 0;//

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5(); //

    virtual void Function6(); //

    virtual void Function7(); //

    virtual void Function8(); //

    virtual void Function9(); //

    virtual void Function10(); //

    virtual void GetEntity(); //

    virtual void Function12(); //

    virtual void Function13(); //

    virtual void Function14(); //

    virtual void Function15(); //

    virtual void Function16(); //

    virtual void Function17(); //

    virtual void Function18(); //

    virtual void Function19(); //

    virtual IEntityIt* GetEntityIterator();

    virtual void Function21(); //

    virtual void Function22(); //

    virtual void Function23(); //

    virtual void Function24(); //

    virtual void Function25(); //

    virtual void Function26(); //

    virtual void Function27(); //

    virtual void Function28(); //

    virtual void Function29(); //

    virtual void Function30(); //

    virtual void Function31(); //

    virtual void Function32(); //

    virtual void Function33(); //

    virtual void Function34(); //

    virtual void Function35(); //

    virtual void Function36(); //

    virtual void Function37(); //

    virtual void Function38(); //

    virtual void Function39(); //

    virtual void Function40(); //

    virtual void Function41(); //

    virtual void Function42(); //

    virtual void Function43(); //

    virtual void Function44(); //

    virtual void Function45(); //

    virtual void Function46(); //

    virtual void Function47(); //

    virtual void Function48(); //

    virtual void Function49(); //

    virtual void Function50(); //

    virtual void Function51(); //

    virtual IEntity* FindEntityByName(const char* EntityName); //0x00D0

};



class IEntityProxy {



    virtual VOID function0();

    virtual VOID function1();

    virtual VOID function2();

    virtual VOID function3();



};



enum EEntityProxy

{

    ENTITY_PROXY_RENDER,

    ENTITY_PROXY_PHYSICS,

    ENTITY_PROXY_SCRIPT,

    ENTITY_PROXY_SOUND,

    ENTITY_PROXY_AI,

    ENTITY_PROXY_AREA,

    ENTITY_PROXY_BOIDS,

    ENTITY_PROXY_BOID_OBJECT,

    ENTITY_PROXY_CAMERA,

    ENTITY_PROXY_FLOWGRAPH,

    ENTITY_PROXY_SUBSTITUTION,

    ENTITY_PROXY_TRIGGER,

    ENTITY_PROXY_ROPE,

    ENTITY_PROXY_ENTITYNODE,



    ENTITY_PROXY_USER,



    // Always the last entry of the enum. 

    ENTITY_PROXY_LAST

};



enum ESilhouettesParams {

    eAllMap = 524312,

    eLimitDistance = 524296

};



class IRenderNode

{

public:

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5(); //

    virtual void Function6(); //

    virtual void Function7(); //

    virtual void Function8(); //

    virtual void Function9(); //



    void SetRndFlags(unsigned int dwFlags) { m_dwRndFlags = dwFlags; }

    void SetRndFlags(unsigned int dwFlags, BOOLEAN bEnable)

    {

        if (bEnable)

        {

            SetRndFlags(m_dwRndFlags | dwFlags);

        }

        else { SetRndFlags(m_dwRndFlags & (~dwFlags)); }

    }



    char _0x0004[12];

    DWORD m_dwRndFlags; //0x0010

};



struct IEntityRenderProxy

{

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5(); //

    virtual void Function6(); //

    virtual void Function7(); //

    virtual void Function8(); //

    virtual void Function9(); //

    virtual void Function10(); //

    virtual void Function11(); //

    virtual void Function12(); //

    virtual void Function13(); //

    virtual void Function14(); //

    virtual void Function15(); //

    virtual void Function16(); //

    virtual void Function17(); //

    virtual void Function18(); //

    virtual void Function19(); //

    virtual void Function20(); //

    virtual void Function21(); //

    virtual void Function22(); //

    virtual void Function23(); //

    virtual void Function24(); //

    virtual void Function25(); //

    virtual void Function26(); //

    virtual void Function27(); //

    virtual void Function28(); //

    virtual void Function29(); //

    virtual void Function30(); //

    virtual void Function31(); //

    virtual void Function32(); //

    virtual void Function33(); //

    virtual void Function34(); //

    virtual void Function35(); //

    virtual void Function36(); //

    virtual void Function37(); //

    virtual void Function38(); //

    virtual void Function39(); //

    virtual void Function40(); //

    virtual void Function41(); //

    virtual void Function42(); //

    virtual void Function43(); //

    virtual void SetHUDSilhouettesParams(float a, float r, float g, float b);

    void SetRndFlags(int Flag) { *(int*)((DWORD)this + 0x6C) = Flag; }

    IRenderNode* GetRenderNode() { return (IRenderNode*)((DWORD)this + 0x0004); }

};



struct ISkeletonPose

{

public:

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5(); //

    virtual void Function6(); //

    virtual QuatT& GetBoneByID(int nJointID); //

};



struct ICharacterInstance

{

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual ISkeletonPose* GetISkeletonPose(); //0x14 //virtual void Function5(); //

};



struct IEntity

{

    virtual void Function0(); //

    virtual void Function1(); //

    virtual void Function2(); //

    virtual void Function3(); //

    virtual void Function4(); //

    virtual void Function5(); //

    virtual int GetFlags(); //

    virtual void Function7(); //

    virtual void Function8(); //

    virtual void Function9(); //

    virtual void Function10();// virtual const Matrix34& GetWorldTM();; //virtual void Function10(); //

    virtual void SetName(const char* NewName); //

    virtual const char* GetName() const; //

    virtual void Function13(); //

    virtual void Function14(); //

    virtual void Function15();//

    virtual void Function16(); //

    virtual void Function17(); //

    virtual void Function18(); //

    virtual void Function19(); //

    virtual void Function20(); //

    virtual void Function21(); //

    virtual void Function22(); //

    virtual const Matrix34& GetWorldTM(); //

    virtual void Function24(); //

    virtual void GetWorldBounds(AABB& bbox) = 0;

    virtual void Function26(); //

    virtual void SetLocalPos(const Vec3& vPos, int nWhyFlags = 0);;  //virtual void Function27(); //

    virtual void Function28(); //

    virtual void Function29(); //

    virtual void Function30(); //

    virtual void SetScale(const Vec3& vScale, int nWhyFlags = 0) = 0;

    virtual const Matrix34& GetSlotLocalTM(int nSlot, bool bRelativeToParent) const;; //0x0080

    virtual void Function33(); //

    virtual void Function34(); //

    virtual void Function35(); //

    virtual void Function36(); //

    virtual void Function37(); //

    virtual void Function38(); //

    virtual void Function39(); //

    virtual void Function40(); ////virtual void SetPos(const Vec3 &vPos, int nWhyFlags = 0);; //0x00A0

    virtual void Function41(); //

    virtual void Function42(); //

    virtual void Function43(); //

    virtual void Function44(); //

    virtual void Function45(); //

    virtual void Function46(); //

    virtual void Function47(); //

    virtual void Function48(); //

    virtual void Function49(); //

    virtual void Function50(); //

    virtual void Function51(); //

    virtual void Function52(); //

    virtual void Function53(); //

    virtual void Function54(); //

    virtual int LoadCharacter(int nSlot, const char* sFilename, int nLoadFlags = 0);; //0x00DC

    virtual EntityId GetId() const;; //0x00E0

    virtual void Function57(); //

    virtual void Function58(); //

    virtual IEntityProxy* GetProxy(EEntityProxy proxy) const;; //virtual void Function59(); //

    virtual void Function60();//

    virtual void Function61(); //

    virtual void Function62(); //

    virtual void FreeAllSlots(); //

    virtual void Function64(); //

    virtual void Function65(); //

    virtual void Function66(); //

    virtual void Function67(); //

    virtual void Function68(); //

    virtual void Function69(); ////;; //0x0114

    virtual void Function70(); //

    virtual void Function71(); //

    virtual void Function72(); //

    virtual void Function73(); //

    virtual void Function74();//

    virtual void SetFlags(int iFlags);; //0x012C

    virtual void Function76(); //

    virtual void Function77(); //

    virtual void Function78(); //

    virtual void Function79(); //

    virtual void Function80(); //

    virtual void Function81(); //

    virtual ICharacterInstance* GetCharacter(int nSlot);//0x148

    int GetID() { return *(int*)((DWORD)this + 0x14); }



    Vec3 GetWorldPos() {

        Matrix34 m = this->GetWorldTM();

        return m.GetTranslation();

    }



    VOID SetPos(Vec3& Position, INT Flags = 0)

    {

        using SetPos = VOID(__thiscall*)(PVOID, Vec3&, INT);

        return CallFunction<SetPos>(this, 108)(this, Position, Flags);

    }



    char _0x0004[16];

    DWORD EntityID; //0x0014

    char _0x0018[24];

    Matrix34 EntityWorldTM; //0x0030

    char _0x0070[8];

    Quat EntityAngle; //0x0078

    char _0x0088[48];

    //    DWORD NamePtr; //0x00B8

};



class IEntityLink;



struct ray_hit_cached {    // used in conjunction with rwi_reuse_last_hit

    ray_hit_cached() { pCollider = 0; ipart = 0; }

    ray_hit_cached(const ray_hit& hit) { pCollider = hit.pCollider; ipart = hit.ipart; iNode = hit.iNode; }

    ray_hit_cached& operator=(const ray_hit& hit) { pCollider = hit.pCollider; ipart = hit.ipart; iNode = hit.iNode; return *this; }



    IPhysicalEntity* pCollider;

    int ipart;

    int iNode;

};



class SRWIParams

{

public:

    void* pForeignData; //0x0000

    __int32 iForeignData; //0x0004

    char pad_0x0008[0x4]; //0x0008

    Vec3 org; //0x000C

    Vec3 dir; //0x0018

    __int32 objTypes; //0x0024

    unsigned int flags; //0x0028

    ray_hit* hits; //0x002C

    __int32 nMaxHits; //0x0030

    ray_hit_cached* phitLast; //0x0034

    __int32 nSkipEnts; //0x0038

    IPhysicalEntity** pSkipEnts; //0x003C

}; //Size=0x0040



struct pe_explosion

{

    Vec3 epicenter;

    Vec3 epicenterImp;

    float rmin, rmax, r;

    float impulsivePressureAtR;

    int nOccRes;

    int nGrow;

    float rminOcc;

    float holeSize;

    Vec3 explDir;

    int iholeType;

    bool forceDeformEntities;

    IPhysicalEntity** pAffectedEnts;

    float* pAffectedEntsExposure;

    int nAffectedEnts;

};



class IPhysicalWorld

{

public:

    int RayWorldIntersection(const Vec3& org, const Vec3& dir, int objtypes, unsigned int flags, ray_hit* hits, int nMaxHits, IPhysicalEntity* pSkipEnt, IPhysicalEntity* pSkipEntAux = 0, void* pForeignData = 0, int iForeignData = 0)

    {

        IPhysicalEntity* pSkipEnts[2];

        int nSkipEnts = 0;

        if (pSkipEnt) pSkipEnts[nSkipEnts++] = pSkipEnt;

        if (pSkipEntAux) pSkipEnts[nSkipEnts++] = pSkipEntAux;

        return RayWorldIntersection(org, dir, objtypes, flags, hits, nMaxHits, pSkipEnts, nSkipEnts, pForeignData, iForeignData);

    }

    int RayWorldIntersection(SRWIParams& rp, const char* pNameTag, int iCaller)

    {

        return CallFunction<int(__thiscall*)(PVOID, SRWIParams&, const char*, int)>(this, 140)(this, rp, pNameTag, iCaller); //136

    }

    int RayWorldIntersection(const Vec3& org, const Vec3& dir, int objtypes, unsigned int flags, ray_hit* hits, int nmaxhits, IPhysicalEntity** pSkipEnts = 0, int nSkipEnts = 0, void* pForeignData = 0, int iForeignData = 0, const char* pNameTag = "", ray_hit_cached * phitLast = 0, int iCaller = 4)

    {

        SRWIParams rp;

        rp.org = org;

        rp.dir = dir;

        rp.objTypes = objtypes;

        rp.flags = flags;

        rp.hits = hits;

        rp.nMaxHits = nmaxhits;

        rp.pForeignData = pForeignData;

        rp.iForeignData = iForeignData;

        rp.phitLast = phitLast;

        rp.pSkipEnts = pSkipEnts;

        rp.nSkipEnts = nSkipEnts;

        return RayWorldIntersection(rp, pNameTag, iCaller);

    }

};
 
Чит на Warface ProjectX, подробности в ЛС!
Пользователь
Статус
Оффлайн
Регистрация
30 Ноя 2017
Сообщения
215
Реакции[?]
38
Поинты[?]
0
Обновил все классы при инжекте пищит и через несколько секунд закрывает игру
Отключи потоки где используются классы, и инжекть и посмотри появилось ли меню, потом уже по немногу добавляй код, и смотри где крашит, над той функцией и мозгуй
 
Начинающий
Статус
Оффлайн
Регистрация
19 Авг 2018
Сообщения
74
Реакции[?]
19
Поинты[?]
0
Отключи потоки где используются классы, и инжекть и посмотри появилось ли меню, потом уже по немногу добавляй код, и смотри где крашит, над той функцией и мозгуй
Каким инжектором посоветуешь инжектить?
 
Чит на Warface ProjectX, подробности в ЛС!
Пользователь
Статус
Оффлайн
Регистрация
30 Ноя 2017
Сообщения
215
Реакции[?]
38
Поинты[?]
0
Сверху Снизу