SpreadCrosshair (indigo)

nixware.cc
Эксперт
Статус
Оффлайн
Регистрация
1 Июл 2017
Сообщения
1,631
Реакции[?]
1,534
Поинты[?]
31K
Спастил я значит SpreadCrosshair в индиго.
Но при включении происходит краш.
Так как дебажить мне лень, сливаю это сюда.
Если хотите, можете фиксануть и помочь мне в фиксе
Код:
    if (Settings::Misc::lol)
    {
        CBaseEntity* plocal = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetLocalPlayer());
 
        int width, height;
        Interfaces::Engine()->GetScreenSize(width, height);
        if (plocal && !plocal->IsDead())
        {
            static Vector ViewAngles;
            Interfaces::Engine()->GetViewAngles(ViewAngles);
            ViewAngles += plocal->GetAimPunchAngle() * 2.f;
 
            static Vector fowardVec;
            AngleVectors(ViewAngles, fowardVec);
            fowardVec *= 10000;
 
            // Get ray start / end
            Vector start = plocal->GetOrigin() + plocal->GetViewOffset();
            Vector end = start + fowardVec, endScreen;
 
            CBaseWeapon* pWeapon = (CBaseWeapon*)Interfaces::EntityList()->GetClientEntityFromHandle(plocal->GetActiveWeapon());
            float cone = pWeapon->GetSpread() + pWeapon->GetInaccuracy();
            if (cone > 0.0f)
            {
                if (cone < 0.01f) cone = 0.01f;
                float size = (cone * height) * 0.7f;
                Color color(255, 255, 255, 100);
 
                if (WorldToScreen(end, endScreen))
                {
                    g_pRender->DrawFillBox(endScreen.x, endScreen.y, (int)size, 100, color);
                }
            }
        }
    }
Код:
    float CBaseWeapon::GetInaccuracy()
    {
        typedef float(__thiscall* oInaccuracy)(PVOID);
        return GetMethod< oInaccuracy >(this, 469)(this);
    }
 
    float CBaseWeapon::GetSpread()
    {
        return GetMethod<float(__thiscall*)(void*)>(this, 439)(this);
    }
 
Я не Хлебушкин
Забаненный
Статус
Оффлайн
Регистрация
23 Июн 2017
Сообщения
571
Реакции[?]
213
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
if (Settings::Misc::Other_Punch)
    {
        CBaseEntity* localplayer = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetLocalPlayer());
        if (Interfaces::Engine()->IsInGame() && localplayer)
        {
            Vector ViewAngles;
            Interfaces::Engine()->GetViewAngles(ViewAngles);
            ViewAngles += (localplayer->GetAimPunchAngle()) * 2.f;

            Vector fowardVec;
            AngleVectors(ViewAngles, fowardVec);
            fowardVec *= 10000;

            Vector start = localplayer->GetEyePosition();
            Vector end = start + fowardVec, endScreen;

            if (WorldToScreen(end, endScreen) && IsLocalAlive())
            {
                static float rainbow;
                rainbow += 0.0035f;
                if (rainbow > 1.f) rainbow = 0.f;
                g_pRender->DrawFillBox(endScreen.x - 1, endScreen.y - 1, 3, 3, Color::FromHSB(rainbow, 1.f, 1.f));
            }

        }
    }
Вот попробуй,я как спастил с того раза,дак вроде и не крашит,тестани
 
nixware.cc
Эксперт
Статус
Оффлайн
Регистрация
1 Июл 2017
Сообщения
1,631
Реакции[?]
1,534
Поинты[?]
31K
Код:
if (Settings::Misc::Other_Punch)
    {
        CBaseEntity* localplayer = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetLocalPlayer());
        if (Interfaces::Engine()->IsInGame() && localplayer)
        {
            Vector ViewAngles;
            Interfaces::Engine()->GetViewAngles(ViewAngles);
            ViewAngles += (localplayer->GetAimPunchAngle()) * 2.f;

            Vector fowardVec;
            AngleVectors(ViewAngles, fowardVec);
            fowardVec *= 10000;

            Vector start = localplayer->GetEyePosition();
            Vector end = start + fowardVec, endScreen;

            if (WorldToScreen(end, endScreen) && IsLocalAlive())
            {
                static float rainbow;
                rainbow += 0.0035f;
                if (rainbow > 1.f) rainbow = 0.f;
                g_pRender->DrawFillBox(endScreen.x - 1, endScreen.y - 1, 3, 3, Color::FromHSB(rainbow, 1.f, 1.f));
            }

        }
    }
Вот попробуй,я как спастил с того раза,дак вроде и не крашит,тестани
Не, мне нужен типа такого:
 
Начинающий
Статус
Оффлайн
Регистрация
24 Авг 2016
Сообщения
41
Реакции[?]
82
Поинты[?]
0
Пастируй на здоровье, только в есп, а не в миск
Код:
void InaccuracyCrosshair()
    {

        int W, H, cW, cH;
        Interfaces.pEngine->GetScreenSize(W, H);

        cW = W / 2;
        cH = H / 2;

        int dX = W / Hacks.FOV; //9 ne ebu kak v indigo fov polu4at
        int dY = H / Hacks.FOV;
        int drX, drY;
 
        drX = cW - (int)(dX * (LocalPlayer->GetPunchAngle().y));
        drY = cH + (int)(dY * (LocalPlayer->GetPunchAngle().x));
       
        CBaseCombatWeapon* pWeapon = LocalPlayer->GetActiveWeapon();

        auto accuracy = (pWeapon->GetInaccuracy() + pWeapon->GetSpread()) * 500.f;

        if (Options.Visual.InaccuracyCrosshair)
        {
            if (pWeapon->IsGun())
                DrawCircle(drX, drY, accuracy+3,30, Color(255,0,0,255));
        }
    }
EDIT:
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
Сверху Снизу