Skocz do zawartości
1 maja :: Święto Pracy / 2 maja :: Dzień Flagi / 3 maja :: Święto Konstytucji

[CSGO] Kompletnie nic nie działa w cheacie.


# CSH External VIP Project

Masz dosyć problemów z czynnikiem zaufania w CS2 lub notorycznymi banami?

Sprawdź CSH External VIP Project.


Więcej informacji  

Rekomendowane odpowiedzi

Nie wiem czemu ale po aktualizacji cheatosa, nic nie chce działać. Kiedy strzelam do modeli z ustawionym legitbot-em to instant crashuje. Skinchanger - w ogóle nie działa.
qXIPBRn.jpg
 
Mam niby auto-offsety ale kto wie czy one działają. Przed update z 7 lipca wszystko ładnie śmigało.  :1f611: 
offsets.cpp
Spoiler
  1. void Offsets::GrabOffsets()
  2. {
  3. offsets.m_iHealth = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_iHealth"));
  4. offsets.m_iTeamNum = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_iTeamNum"));
  5. offsets.m_ArmorValue = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_ArmorValue"));
  6. offsets.m_bHasHelmet = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_bHasHelmet"));
  7. offsets.m_bDormant = 0xE9;
  8. offsets.m_bGunGameImmunity = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_bGunGameImmunity"));
  9. offsets.m_lifeState = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_lifeState"));
  10. offsets.m_fFlags = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_fFlags"));
  11. offsets.m_nTickBase = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_nTickBase"));
  12. offsets.m_angEyeAngles = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_angEyeAngles"));
  13. offsets.m_flFlashDuration = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_flFlashDuration"));
  14. offsets.m_viewPunchAngle = U::NetVars->GetOffset(("DT_BasePlayer"), ("m_viewPunchAngle"));
  15. offsets.m_aimPunchAngle = U::NetVars->GetOffset(("DT_BasePlayer"), ("m_aimPunchAngle"));
  16. offsets.m_vecOrigin = U::NetVars->GetOffset(("DT_BasePlayer"), ("m_vecOrigin"));
  17. offsets.m_vecViewOffset = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_vecViewOffset[0]"));
  18. offsets.m_vecVelocity = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_vecVelocity[0]"));
  19. offsets.m_hActiveWeapon = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_hActiveWeapon"));
  20. offsets.m_Collision = U::NetVars->GetOffset(("DT_BasePlayer"), ("m_Collision"));
  21. offsets.m_iShotsFired = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_iShotsFired"));
  22. offsets.m_nMoveType = 0x258;
  23. offsets.m_nHitboxSet = U::NetVars->GetOffset(("DT_BasePlayer"), ("m_nHitboxSet"));
  24. offsets.m_flC4Blow = U::NetVars->GetOffset(("DT_PlantedC4"), ("m_flC4Blow"));
  25. offsets.m_bBombTicking = U::NetVars->GetOffset(("DT_PlantedC4"), ("m_bBombTicking"));
  26. offsets.m_flTimerLength = U::NetVars->GetOffset(("DT_PlantedC4"), ("m_flTimerLength"));
  27. offsets.m_flDefuseLength = U::NetVars->GetOffset(("DT_PlantedC4"), ("m_flDefuseLength"));
  28. offsets.m_flDefuseCountDown = U::NetVars->GetOffset(("DT_PlantedC4"), ("m_flDefuseCountDown"));
  29. offsets.m_hMyWearables = U::NetVars->GetOffset(("DT_BaseCombatCharacter"), ("m_hMyWearables"));
  30. offsets.m_flNextPrimaryAttack = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_flNextPrimaryAttack"));
  31. offsets.m_nFallbackPaintKit = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_nFallbackPaintKit"));
  32. offsets.m_nFallbackSeed = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_nFallbackSeed"));
  33. offsets.m_flFallbackWear = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_flFallbackWear"));
  34. offsets.m_nFallbackStatTrak = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_nFallbackStatTrak"));
  35. offsets.m_iItemIDHigh = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_iItemIDHigh"));
  36. offsets.m_iItemIDLow = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_iItemIDLow"));
  37. offsets.m_iAccountID = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_iAccountID"));
  38. offsets.m_iAccount = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_iAccount"));
  39. offsets.m_iEntityQuality = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_iEntityQuality"));
  40. offsets.m_iClip1 = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_iClip1"));
  41. offsets.m_OriginalOwnerXuidLow = U::NetVars->GetOffset(("DT_BaseAttributableItem"), ("m_OriginalOwnerXuidLow"));
  42. offsets.m_OriginalOwnerXuidHigh = U::NetVars->GetOffset(("DT_BaseAttributableItem"), ("m_OriginalOwnerXuidHigh"));
  43. offsets.m_iItemDefinitionIndex = U::NetVars->GetOffset(("DT_BaseCombatWeapon"), ("m_iItemDefinitionIndex"));
  44. offsets.m_hObserverTarget = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_hObserverTarget"));
  45. offsets.m_bIsDefusing = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_bIsDefusing"));
  46. offsets.m_bSpotted = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_bSpotted"));
  47. offsets.m_flFlashMaxAlpha = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_flFlashMaxAlpha"));
  48. offsets.m_flLowerBodyYawTarget = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_flLowerBodyYawTarget"));
  49. offsets.m_angEyeAnglesX = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_angEyeAngles[0]"));
  50. offsets.m_angEyeAnglesY = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_angEyeAngles[1]"));
  51. offsets.m_vecMaxs = U::NetVars->GetOffset(("DT_BasePlayer"), ("m_vecMaxs"));
  52. offsets.m_vecMins = U::NetVars->GetOffset(("DT_BasePlayer"), ("m_vecMins"));
  53.  
  54. offsets.d3d9Device = **(DWORD**)(U::FindPattern(("shaderapidx9.dll"), ("A1 ?? ?? ?? ?? 50 8B 08 FF 51 0C")) + 1);
  55. offsets.LoadFromBufferEx = U::FindPattern(("client_panorama.dll"), ("55 8B EC 83 E4 F8 83 EC 34 53 8B 5D 0C 89 4C 24 04"));
  56. offsets.InitKeyValuesEx = U::FindPattern(("client_panorama.dll"), ("55 8B EC 51 33 C0 C7 45"));
  57. offsets.ServerRankRevealAllEx = U::FindPattern(("client_panorama.dll"), ("55 8B EC 8B 0D ? ? ? ? 85 C9 75 ? A1 ? ? ? ? 68 ? ? ? ? 8B 08 8B 01 FF 50 ? 85 C0 74 ? 8B C8 E8 ? ? ? ? 8B C8 EB ? 33 C9 89 0D ? ? ? ? 8B 45 ? FF 70 ? E8 ? ? ? ? B0 ? 5D"));
  58. offsets.IsReadyEx = U::FindPattern(("client_panorama.dll"), ("55 8B EC 83 E4 F8 83 EC 08 56 8B 35 ? ? ? ? 57 83 BE"));
  59. offsets.GoesThroughSmoke = U::FindPattern(("client_panorama.dll"), ("55 8B EC 83 EC 08 8B 15 ? ? ? ? 0F 57 C0"));
  60. offsets.FullUpdate = U::FindPattern(("engine.dll"), ("A1 ? ? ? ? B9 ? ? ? ? 56 FF 50 14 8B 34 85"));
  61. }

 

offsets.h
Spoiler

#pragma once

#include "Common.h"

struct COffsets
{
    DWORD m_iHealth;
    DWORD m_iTeamNum;
    DWORD m_bDormant;
    DWORD m_bGunGameImmunity;
    DWORD m_lifeState;
    DWORD m_fFlags;
    DWORD m_nTickBase;
    DWORD m_viewPunchAngle;
    DWORD m_aimPunchAngle;
    DWORD m_vecOrigin;
    DWORD m_vecViewOffset;
    DWORD m_vecVelocity;
    DWORD m_flNextPrimaryAttack;
    DWORD m_hActiveWeapon;
    DWORD m_Collision;
    DWORD m_iShotsFired;
    DWORD m_nMoveType;
    DWORD m_nHitboxSet;
    DWORD m_bHasHelmet;
    DWORD m_ArmorValue;
    DWORD m_angEyeAngles;
    DWORD m_flC4Blow;
    DWORD m_hMyWearables;
    DWORD m_flFlashDuration;
    DWORD m_nFallbackPaintKit;
    DWORD m_nFallbackSeed;
    DWORD m_flFallbackWear;
    DWORD m_nFallbackStatTrak;
    DWORD m_iItemIDHigh;
    DWORD m_iItemIDLow;
    DWORD m_iAccountID;
    DWORD m_iEntityQuality;
    DWORD m_OriginalOwnerXuidLow;
    DWORD m_OriginalOwnerXuidHigh;
    DWORD m_iItemDefinitionIndex;
    DWORD m_iClip1;
    DWORD m_hObserverTarget;
    DWORD m_bIsDefusing;
    DWORD m_bSpotted;
    DWORD m_vecMins;
    DWORD m_vecMaxs;

    DWORD m_bBombTicking;
    DWORD m_flTimerLength;
    DWORD m_flDefuseLength;
    DWORD m_flDefuseCountDown;

    DWORD m_flFlashMaxAlpha;

    DWORD m_flLowerBodyYawTarget;
    DWORD m_angEyeAnglesX;
    DWORD m_angEyeAnglesY;

    DWORD m_iAccount;

    DWORD d3d9Device;
    DWORD LoadFromBufferEx;
    DWORD InitKeyValuesEx;
    DWORD ServerRankRevealAllEx;
    DWORD IsReadyEx;
    DWORD GoesThroughSmoke;
    DWORD FullUpdate;
};

extern COffsets offsets;

namespace Offsets
{
    extern void GrabOffsets();
}

 

 
Tutaj debugger wykrył mi błąd podczas strzelania do modeli z użyciem legitbot-a.
 
ze7ZbV1.jpg
 
Ma ktoś jakieś pomysły jak to naprawić ? 😛
Odnośnik do komentarza
2 minuty temu, Andczej napisał:

jak masz auto offesty to zmien jeszcze input w interfaces.cpp (jezeli to ayy) 

i zmien indexy ma w dziale gotowe kody zrodłowe

To jest chlenix source 

interfaces.cpp

Spoiler

#include "SDK.h"

IBaseClientDll* I::Client;
IClientModeShared* I::ClientMode;
IClientEntityList* I::ClientEntList;
ICVar* I::Cvar;
IInputSystem* I::InputSystem;
IEngineClient* I::Engine;
IEngineTrace* I::EngineTrace;
IEngineSound* I::EngineSound;
IGlobalVarsBase* I::Globals;
ISurface* I::Surface;
IVPanel* I::VPanel;
IVModelRender* I::ModelRender;
IVModelInfo* I::ModelInfo;
IMaterialSystem* I::MaterialSystem;
IMaterial* I::Material;
IVRenderView* I::RenderView;
IPrediction* I::Prediction;
IPhysicsSurfaceProps* I::Physprops;
IVDebugOverlay* I::DebugOverlay;
IStudioRender* I::StudioRender;
IGameMovement* I::GameMovement;
IGameEventManager2* I::GameEventManager;
ISteamClient* I::SteamClient;
ISteamHTTP* I::SteamHTTP;
ISteamUser* I::SteamUser;
ISteamFriends* I::SteamFriends;
ISteamInventory*  I::SteamInventory;
ISteamGameCoordinator* I::SteamGameCoordinator;

 

Odnośnik do komentarza
1 minutę temu, Esley napisał:

To jest chlenix source 

interfaces.cpp

  Ukryj zawartość

#include "SDK.h"

IBaseClientDll* I::Client;
IClientModeShared* I::ClientMode;
IClientEntityList* I::ClientEntList;
ICVar* I::Cvar;
IInputSystem* I::InputSystem;
IEngineClient* I::Engine;
IEngineTrace* I::EngineTrace;
IEngineSound* I::EngineSound;
IGlobalVarsBase* I::Globals;
ISurface* I::Surface;
IVPanel* I::VPanel;
IVModelRender* I::ModelRender;
IVModelInfo* I::ModelInfo;
IMaterialSystem* I::MaterialSystem;
IMaterial* I::Material;
IVRenderView* I::RenderView;
IPrediction* I::Prediction;
IPhysicsSurfaceProps* I::Physprops;
IVDebugOverlay* I::DebugOverlay;
IStudioRender* I::StudioRender;
IGameMovement* I::GameMovement;
IGameEventManager2* I::GameEventManager;
ISteamClient* I::SteamClient;
ISteamHTTP* I::SteamHTTP;
ISteamUser* I::SteamUser;
ISteamFriends* I::SteamFriends;
ISteamInventory*  I::SteamInventory;
ISteamGameCoordinator* I::SteamGameCoordinator;

 

a no sorrka ale mysle że chociaż troszke pomogłem

pozdrawiam

Odnośnik do komentarza
23 minuty temu, wiotq napisał:

wszystko powinno być w tym temacie

 

uzyj debuggera sprawdź co crashuje

No to przecież napisałem w temacie co crashuje 😄
bool CBaseEntity::GetAlive()
{
    return (((bool)(*(int*)((DWORD)this + offsets.m_lifeState) == 0)) && GetHealth() > 0);
}


Edytowane przez Esley
Odnośnik do komentarza
1 godzinę temu, Esley napisał:

No to przecież napisałem w temacie co crashuje 😄
bool CBaseEntity::GetAlive()
{
    return (((bool)(*(int*)((DWORD)this + offsets.m_lifeState) == 0)) && GetHealth() > 0);
}

usun tą funkcje i tam gdzie ona była to wstaw

 

pEntity->GetHealth>0

 

czy jakos tak

Odnośnik do komentarza
2 godziny temu, Esley napisał:

No to przecież napisałem w temacie co crashuje 😄
bool CBaseEntity::GetAlive()
{
    return (((bool)(*(int*)((DWORD)this + offsets.m_lifeState) == 0)) && GetHealth() > 0);
}

Sorry, na telefonie patrzę i mi umknęło.

 

 

Pokaż loopa z aimbota

Odnośnik do komentarza

Co to za metody xD

Godzinę temu, Andczej napisał:

usun tą funkcje i tam gdzie ona była to wstaw

 

pEntity->GetHealth>0

 

czy jakos tak

 

1 minutę temu, wiotq napisał:

Sorry, na telefonie patrzę i mi umknęło.

 

 

Pokaż loopa z aimbota

Aimbot wgl nie działa, tak jakby wszystkie funkcje wgl zostały wyłączone. Nie wiem czego to może być wina. Nic po prostu nie działa, jedynie co działa to menu gdy wciskam Insert.

Odnośnik do komentarza
1 minutę temu, Esley napisał:

Co to za metody xD

 

Aimbot wgl nie działa, tak jakby wszystkie funkcje wgl zostały wyłączone. Nie wiem czego to może być wina. Nic po prostu nie działa, jedynie co działa to menu gdy wciskam Insert.

Pętle z aimbota pokaż, bo nulla ci wywala

Odnośnik do komentarza
Godzinę temu, Andczej napisał:

usun tą funkcje i tam gdzie ona była to wstaw

 

pEntity->GetHealth>0

 

czy jakos tak

To nie ma prawa zadzialac.

3 godziny temu, Esley napisał:

No to przecież napisałem w temacie co crashuje 😄

Pokaz, gdzie ta funkcja jest callowana.

Odnośnik do komentarza
4 minuty temu, wiotq napisał:

Pętle z aimbota pokaż, bo nulla ci wywala

To jest cały Aimbot.cpp

Spoiler

#include "Cheat.h"

static int Legit::AimBot::PlayerID = -1;
static float Legit::AimBot::BestFOV = 10.f;
static float Legit::AimBot::Timer = 0.f;
float Legit::AimBot::KillTimer = 0.f;
bool Legit::AimBot::StopShot = false;

bool Legit::RCS::AimAiming = false;
bool Legit::RCS::WasAiming = false;
bool Legit::RCS::IsWorking = false;

QAngle Legit::RCS::OldPunch = QAngle(0, 0, 0);

float Random_Number_Range(float min, float max)
{
    std::random_device device;
    std::mt19937 engine(device());
    std::uniform_real_distribution<> distribution(min, max);

    return static_cast< float >(distribution(engine));
}

bool InSmoke(Vector Point)
{
    typedef bool(__cdecl* GoesThroughSmoke)(Vector, Vector);

    static uint32_t GoesThroughSmokeOffset = (uint32_t)(offsets.GoesThroughSmoke);
    static GoesThroughSmoke GoesThroughSmokeFunction = (GoesThroughSmoke)GoesThroughSmokeOffset;

    if (GoesThroughSmokeFunction(G::LocalPlayer->GetEyePosition(), Point))
        return true;

    return false;
}

void Legit::Trigger::Start()
{
    if (!Cvar.TriggerEnabled)
        return;

    auto Key = Cvar.TriggerKey;
    bool KeyPressed = false;

    if (Key < 1)
    {
        KeyPressed = true;
    }
    else if (Key > 0 && GetAsyncKeyState(Key))
    {
        KeyPressed = true;
    }
    else if (Key > 0 && !GetAsyncKeyState(Key))
    {
        KeyPressed = false;
    }

    if (!KeyPressed)
        return;

    CBaseEntity* localplayer = (CBaseEntity*)I::ClientEntList->GetClientEntity(I::Engine->GetLocalPlayer());
    if (!localplayer || !localplayer->GetAlive())
        return;

    if (Cvar.TriggerFlash && localplayer->IsFlashed())
        return;

    if ((Cvar.TriggerJump && !(G::LocalPlayer->GetFlags() & FL_ONGROUND)))
        return;

    long currentTime_ms = U::GetEpochTime();
    static long timeStamp = currentTime_ms;
    long oldTimeStamp;

    Vector traceStart, traceEnd;
    trace_t tr;

    QAngle viewAngles;
    I::Engine->GetViewAngles(viewAngles);
    QAngle viewAngles_rcs = viewAngles + localplayer->GetPunch() * 2.0f;

    M::AngleVectors(viewAngles_rcs, &traceEnd);

    traceStart = localplayer->GetEyePosition();
    traceEnd = traceStart + (traceEnd * 8192.0f);

    Ray_t ray;
    ray.Init(traceStart, traceEnd);
    CTraceFilter traceFilter;
    traceFilter.pSkip = localplayer;
    I::EngineTrace->TraceRay(ray, 0x46004003, &traceFilter, &tr);

    oldTimeStamp = timeStamp;
    timeStamp = currentTime_ms;

    CBaseEntity* Player = (CBaseEntity*)tr.m_pEnt;
    if (!Player)
        return;

    if (Player->GetClientClass()->m_ClassID != 35)
        return;

    if (Player == localplayer || Player->GetDormant() || !Player->GetAlive() || Player->GetImmune())
        return;

    if (Player->GetTeam() == localplayer->GetTeam() && !Cvar.TriggerFriendly)
        return;

    if (!((pLegit.Trigger.Head && tr.hitgroup == HITGROUP_HEAD) || (pLegit.Trigger.Body && (tr.hitgroup == HITGROUP_CHEST || tr.hitgroup == HITGROUP_STOMACH)) || (pLegit.Trigger.Misc && (tr.hitgroup >= HITGROUP_LEFTARM && tr.hitgroup <= HITGROUP_RIGHTLEG))))
        return;

    if (Cvar.TriggerSmoke && InSmoke(tr.endpos))
        return;

    CBaseCombatWeapon* activeWeapon = localplayer->GetWeapon();
    if (!activeWeapon || activeWeapon->IsEmpty())
        return;

    int itemDefinitionIndex = *activeWeapon->GetItemDefinitionIndex();
    if (itemDefinitionIndex == ItemDefinitionIndex::WEAPON_KNIFE || itemDefinitionIndex >= ItemDefinitionIndex::WEAPON_KNIFE_BAYONET)
        return;

    int weaponType = activeWeapon->GetCSWpnData()->WeaponType;
    if (weaponType == WEAPONTYPE_C4 || weaponType == WEAPONTYPE_GRENADE)
        return;

    if (activeWeapon->GetNextPrimaryAttack() > I::Globals->curtime)
    {
        if (*activeWeapon->GetItemDefinitionIndex() == ItemDefinitionIndex::WEAPON_REVOLVER)
        {
            G::UserCmd->buttons &= ~IN_ATTACK2;
        }
        else
        {
            G::UserCmd->buttons &= ~IN_ATTACK;
        }
    }
    else
    {
        if ((pLegit.Trigger.Delay > 0) && currentTime_ms - oldTimeStamp < (pLegit.Trigger.Delay * 100))
        {
            timeStamp = oldTimeStamp;
            return;
        }

        if (*activeWeapon->GetItemDefinitionIndex() == ItemDefinitionIndex::WEAPON_REVOLVER)
        {
            G::UserCmd->buttons |= IN_ATTACK2;
        }
        else
        {
            G::UserCmd->buttons |= IN_ATTACK;
        }
    }

    timeStamp = currentTime_ms;
}

QAngle Legit::RCS::GetRandomizedRecoil(CBaseEntity *local, QAngle Punch)
{
    int Type = G::LocalPlayer->GetWeapon()->GetType();

    if (local->GetShotsFired() < 2 || Type == WT_Pistol || Type == WT_Shotgun || Type == WT_Sniper)
        return QAngle(0, 0, 0);

    if (!(G::LocalPlayer->GetPunch().Length() > 0 && G::LocalPlayer->GetPunch().Length() < 150))
        return QAngle(0, 0, 0);

    float flRCSX = pLegit.RCS.X;
    float flRCSY = pLegit.RCS.Y;

    QAngle compensatedAngles = (Punch * 2.0f) * (Random_Number_Range(flRCSX, flRCSY) / 100.0f);
    sanitize_angles(compensatedAngles);

    return (compensatedAngles);
}

void Legit::RCS::Start()
{
    IsWorking = (OldPunch != QAngle(0, 0, 0) && !AimAiming);

    if (pLegit.RCS.X <= 0.f && pLegit.RCS.Y <= 0.f)
    {
        OldPunch = QAngle(0, 0, 0);
        return;
    }

    if (!(G::UserCmd->buttons & IN_ATTACK))
    {
        OldPunch = QAngle(0, 0, 0);
        return;
    }

    if (pLegit.RCS.Type == 2)
    {
        OldPunch = QAngle(0, 0, 0);
        return;
    }

    auto Punch = G::LocalPlayer->GetPunch();

    if (Punch.IsZero() || !(G::LocalPlayer->GetPunch().Length() > 0 && G::LocalPlayer->GetPunch().Length() < 150))
    {
        OldPunch = QAngle(0, 0, 0);
        return;
    }

    G::UserCmd->viewangles -= GetRandomizedRecoil(G::LocalPlayer, (Punch - OldPunch));

    OldPunch = Punch;

    if (pLegit.RCS.Type == 1 && pLegit.Aim.SilentType == 0 && (Cvar.LegitEnabled && !AimAiming || !Cvar.LegitEnabled))
    {
        I::Engine->SetViewAngles(G::UserCmd->viewangles);
    }
}

int Legit::AimBot::ClosestBone(CBaseEntity* Entity)
{
    float BestDist = 360.f;
    int aimbone;

    matrix3x4a_t matrix[MAXSTUDIOBONES];

    if (!Entity->SetupBones(matrix, 128, BONE_USED_BY_HITBOX, I::Engine->GetLastTimeStamp()))
        return -1;

    studiohdr_t* pStudioModel = I::ModelInfo->GetStudioModel(Entity->GetModel());
    if (!pStudioModel)
        return -1;

    mstudiohitboxset_t* set = pStudioModel->pHitboxSet(Entity->GetHitboxSet());
    if (!set)
        return -1;

    for (int i = 0; i < set->numhitboxes; i++)
    {
        if (i == HITBOX_RIGHT_THIGH || i == HITBOX_LEFT_THIGH || i == HITBOX_RIGHT_CALF || i == HITBOX_LEFT_CALF || i == HITBOX_RIGHT_FOOT || i == HITBOX_LEFT_FOOT || i == HITBOX_RIGHT_HAND || i == HITBOX_LEFT_HAND || i == HITBOX_RIGHT_UPPER_ARM || i == HITBOX_RIGHT_FOREARM || i == HITBOX_LEFT_UPPER_ARM || i == HITBOX_LEFT_FOREARM)
            continue;

        mstudiobbox_t* hitbox = set->pHitbox(i);

        if (!hitbox)
            continue;

        auto thisdist = M::GetFov(G::UserCmd->viewangles, M::CalcAngle(G::LocalPlayer->GetEyePosition(), Vector(matrix[hitbox->bone][0][3], matrix[hitbox->bone][1][3], matrix[hitbox->bone][2][3])));

        if (BestDist > thisdist)
        {
            BestDist = thisdist;
            aimbone = hitbox->bone;
            continue;
        }
    }

    return aimbone;
}

int Legit::AimBot::GetHitbox(int ID)
{
    switch (pLegit.Aim.Bone)
    {
    case 0: return BONE_HEAD; break;
    case 1: return BONE_NECK; break;
    case 2: return BONE_CHEST; break;
    case 3: return BONE_PELVIS; break;
    case 4: return ClosestBone(I::ClientEntList->GetClientEntity(ID)); break;
    }

    return -1;
}

bool Legit::AimBot::DropInvalidTarget()
{
    CBaseEntity* Player = I::ClientEntList->GetClientEntity(PlayerID);

    if (Player && Player != G::LocalPlayer && Player->GetAlive() && !Player->GetDormant() && (Player->GetClientClass() && Player->GetClientClass()->m_ClassID == 35) && !Player->GetImmune())
    {
        if (Player->GetTeam() == G::LocalPlayer->GetTeam() && !Cvar.LegitFriendly)
            return true;

        int Hitbox = GetHitbox(PlayerID);

        if (Hitbox == -1)
            return true;

        if (!Player->IsVisible(Hitbox) || (Cvar.LegitSmoke && InSmoke(Player->GetBonePosition(Hitbox))))
        {
            if (pLegit.Aim.Bone != 0 && pLegit.Aim.Bone != 4)
                return true;

            if (!Player->IsVisible(BONE_UPPER_HEAD) || (Cvar.LegitSmoke && InSmoke(Player->GetBonePosition(BONE_UPPER_HEAD))))
                return true;

            Hitbox = BONE_UPPER_HEAD;
        }

        auto viewangle = G::UserCmd->viewangles;
        auto Punch = G::LocalPlayer->GetPunch();
        auto Calced = M::CalcAngle(G::LocalPlayer->GetEyePosition(), Player->GetBonePosition(Hitbox));
        Calced -= Punch * 2;

        int pFOV = M::GetFov(viewangle, Calced);
        if (pFOV <= pLegit.Aim.FOV)
            return false;
    }

    return true;
}

void Legit::AimBot::GetNewTarget()
{
    float BestFOV = pLegit.Aim.FOV;

    for (int ID = 0; ID < I::ClientEntList->GetHighestEntityIndex(); ID++)
    {
        CBaseEntity* Player = I::ClientEntList->GetClientEntity(ID);

        if (!Player || Player == G::LocalPlayer || !Player->GetAlive() || Player->GetDormant() || (!Player->GetClientClass() || Player->GetClientClass()->m_ClassID != 35) || (Player->GetTeam() == G::LocalPlayer->GetTeam() && !Cvar.LegitFriendly) || Player->GetImmune())
            continue;

        int Hitbox = GetHitbox(ID);

        if (Hitbox == -1)
            continue;

        if (!Player->IsVisible(Hitbox) || (Cvar.LegitSmoke && InSmoke(Player->GetBonePosition(Hitbox))))
        {
            if (pLegit.Aim.Bone != 0 && pLegit.Aim.Bone != 4)
                continue;

            if (!Player->IsVisible(BONE_UPPER_HEAD) || (Cvar.LegitSmoke && InSmoke(Player->GetBonePosition(BONE_UPPER_HEAD))))
                continue;

            Hitbox = BONE_UPPER_HEAD;
        }

        auto viewangle = G::UserCmd->viewangles;
        auto Punch = G::LocalPlayer->GetPunch();

        auto Calced = M::CalcAngle(G::LocalPlayer->GetEyePosition(), Player->GetBonePosition(Hitbox));
        Calced -= Punch * 2.f;
        auto pFOV = M::GetFov(viewangle, Calced);

        if (pFOV <= BestFOV)
        {
            BestFOV = pFOV;
            PlayerID = ID;
        }
    }
}

void Legit::AimBot::StartAiming()
{
    if (Cvar.LegitFlash)
    {
        if (G::FlashTime != 0.f)
        {
            float pFlashTime = G::FlashTime - I::Globals->curtime;

            if (pFlashTime > 2.f)
                return;
        }
    }
    
    if (Cvar.Menu.Opened)
        return; 

    if ((Cvar.LegitJump && !(G::LocalPlayer->GetFlags() & FL_ONGROUND)) || (G::LocalPlayer->GetMoveType() == MOVETYPE_LADDER))
        return;

    if (pLegit.Aim.KillDelay > 0.f && KillTimer > I::Globals->curtime)
        return;

    if (pLegit.Aim.SilentType == 0)
    {
        if (StopShot && pLegit.Aim.DelayType == 2)
        {
            G::UserCmd->buttons &= ~IN_ATTACK;
        }
    }

    CBaseEntity* Player = I::ClientEntList->GetClientEntity(PlayerID);

    if (!Player)
        return;
    if (Player->GetHealth() < 0)
        return;
    if (Player->GetDormant())
        return;

    int iHitbox = GetHitbox(PlayerID);

    if (!Player->IsVisible(iHitbox) || (Cvar.LegitSmoke && InSmoke(Player->GetBonePosition(iHitbox))))
    {
        if (pLegit.Aim.Bone != 0 && pLegit.Aim.Bone != 4)
            return;

        if (!Player->IsVisible(BONE_UPPER_HEAD) || (Cvar.LegitSmoke && InSmoke(Player->GetBonePosition(BONE_UPPER_HEAD))))
            return;

        iHitbox = BONE_UPPER_HEAD;
    }

    auto Calced = M::CalcAngle(G::LocalPlayer->GetEyePosition(), Player->GetBonePosition(iHitbox));
    auto Punch = G::LocalPlayer->GetPunch();
    auto CompensatedCalced = Calced - RCS::GetRandomizedRecoil(G::LocalPlayer, Punch);

    auto viewangle = G::UserCmd->viewangles;

    auto delta = Calced - viewangle;
    auto compensated_delta = CompensatedCalced - viewangle;

    delta.NormalizeAngle();
    compensated_delta.NormalizeAngle();

    if (delta.IsZero() || compensated_delta.IsZero())
        return;

    if (pLegit.Aim.SilentType == 0)
    {
        G::SendPacket = true;

        delta *= (1.f - (pLegit.Aim.Smooth / 26.f));
        compensated_delta *= (1.f - (pLegit.Aim.Smooth / 26.f));
    }

    if (pLegit.Aim.SilentType > 0)
    {
        if (pLegit.Aim.SilentType == 2)
        {
            if ((G::LocalPlayer->GetWeapon()->GetNextPrimaryAttack() - (G::LocalPlayer->GetTickBase() * I::Globals->interval_per_tick)) < 0)
            {
                int tick = -1; tick++;

                if (tick < 1)
                {
                    G::SendPacket = false;
                    G::UserCmd->viewangles += delta;
                }
                else
                {
                    G::SendPacket = true;
                    tick = -1;
                }
            }
            else
            {
                G::SendPacket = true;
            }
        }
        else
        {
            G::SendPacket = true;
            G::UserCmd->viewangles += delta;
        }

        G::UserCmd->viewangles.NormalizeAngle();
    }
    else
    {
        bool UseCompensatedDelta = false;
        int  Type = G::LocalPlayer->GetWeapon()->GetType();

        if (G::LocalPlayer->GetShotsFired() < 2 || Type ==  WT_Pistol || Type == WT_Shotgun || Type == WT_Sniper)
        {
            UseCompensatedDelta = false;
        }
        else if (pLegit.RCS.Type > 0 && pLegit.RCS.X > 0.f && pLegit.RCS.Y > 0.f && G::UserCmd->buttons & IN_ATTACK && !G::LocalPlayer->GetPunch().IsZero() && G::LocalPlayer->GetPunch().Length() > 0 && G::LocalPlayer->GetPunch().Length() < 150)
        {
            UseCompensatedDelta = true;
        }

        if (!UseCompensatedDelta)
        {
            G::UserCmd->viewangles += delta;
        }
        else if (UseCompensatedDelta)
        {
            G::UserCmd->viewangles += compensated_delta;
        }

        G::UserCmd->viewangles.NormalizeAngle();
        I::Engine->SetViewAngles(G::UserCmd->viewangles);
    }
}

void Legit::AimBot::Start()
{
    auto Key = Cvar.LegitKey;
    static bool KeyPressed = false;

    if (Key < 1)
    {
        KeyPressed = true;
    }
    else if (Key > 0 && GetAsyncKeyState(Key))
    {
        KeyPressed = true;
    }
    else if (Key > 0 && !GetAsyncKeyState(Key))
    {
        KeyPressed = false;
    }

    if (DropInvalidTarget())
    {
        G::SendPacket = true;

        if (pLegit.Aim.DelayType == 2)
        {
            StopShot = false;
        }

        PlayerID = -1;
    }

    if (!(KeyPressed) || PlayerID == -1)
    {
        G::SendPacket = true;

        if (pLegit.Aim.DelayType == 2)
        {
            StopShot = false;
        }

        GetNewTarget();
    }

    if (pLegit.Aim.DelayType > 0 && pLegit.Aim.Delay > 0.f && !(G::UserCmd->buttons & IN_ATTACK))
    {
        Timer = I::Globals->curtime + (pLegit.Aim.Delay / 50.f);
    }

    if (pLegit.Aim.DelayType > 0 && pLegit.Aim.Delay > 0.f)
    {
        if (G::UserCmd->buttons & IN_ATTACK)
        {
            if (Timer > I::Globals->curtime)
            {
                StopShot = true;
            }
            else
            {
                StopShot = false;
            }
        }
        else
        {
            StopShot = false;
        }
    }
    else
    {
        StopShot = false;
    }

    if (pLegit.Aim.SilentType == 0)
    {
        if (StopShot && pLegit.Aim.DelayType == 1)
        {
            G::UserCmd->buttons &= ~IN_ATTACK;
        }
    }

    if ((KeyPressed) && PlayerID != -1 && !G::LocalPlayer->GetWeapon()->IsEmpty() && !G::LocalPlayer->GetWeapon()->IsReloading())
    {
        StartAiming();
    }

    RCS::AimAiming = (PlayerID != -1 && (KeyPressed));

    static bool staiming = false;
    if (staiming != RCS::AimAiming)
    {
        if (G::UserCmd->buttons & IN_ATTACK && RCS::AimAiming == false)
        {
            RCS::WasAiming = true;
        }
        else
        {
            RCS::WasAiming = false;
            staiming = RCS::AimAiming;
        }
    }
}

void Legit::Start()
{
    if (!G::LocalPlayer->GetWeapon() || G::LocalPlayer->GetWeapon()->GetType() == WT_Invalid || G::LocalPlayer->GetWeapon()->GetType() == WT_Knife || G::LocalPlayer->GetWeapon()->GetType() == WT_Misc || G::LocalPlayer->GetWeapon()->GetType() == WT_Grenade)
        return;

    if (Cvar.TriggerEnabled)
    {
        Trigger::Start();
    }

    if (pLegit.RCS.Type > 0)
    {
        RCS::Start();
    }

    if (Cvar.LegitEnabled)
    {
        AimBot::Start();
    }
}

 

1 minutę temu, Hacky napisał:

To nie ma prawa zadzialac.

Pokaz, gdzie ta funkcja jest callowana.

    return (((bool)(*(int*)((DWORD)this + offsets.m_lifeState) == 0)) && GetHealth() > 0);              < tu jest call

Odnośnik do komentarza
Godzinę temu, krzychu1 napisał:

int itemDefinitionIndex dalej nie czytam

ps learncpp.com

 

Ok poprawione ale still crash.

itemDefinitionIndex i getitemDefinitionIndex poszło wszystko na short
Visuale kompletnie wy... https://gyazo.com/e80ea3741993d0c7dbab96fd0d92a1ca

 

Gdy zabijam byle jaki model to w debugerze wywala cały czas ten błąd związany z tą linią 

return (((bool)(*(int*)((DWORD)this + offsets.m_lifeState) == 0)) && GetHealth() > 0);

MsJE3XV.jpg


Edytowane przez Esley
Odnośnik do komentarza
4 minuty temu, krzychu1 napisał:

https://github.com/frk1/hazedumper/blob/master/csgo.hpp#L53

 

0xc05 to null pointer

x + 25b = 25b

czy x jest prawidlowe hmm

Czyli co mam zrobić, skoro mam auto grabowanie offsetów.
 

Spoiler

void Offsets::GrabOffsets()
{
    offsets.m_iHealth = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_iHealth"));
    offsets.m_iTeamNum = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_iTeamNum"));
    offsets.m_ArmorValue = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_ArmorValue"));
    offsets.m_bHasHelmet = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_bHasHelmet"));
    offsets.m_bDormant = 0xE9;
    offsets.m_bGunGameImmunity = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_bGunGameImmunity"));
    offsets.m_lifeState = U::NetVars->GetOffset(("DT_CSPlayer"), ("m_lifeState")); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 

Odnośnik do komentarza
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności