Гайд Делаем крутой ресольвер для weave.su

Забаненный
Статус
Оффлайн
Регистрация
30 Май 2020
Сообщения
42
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Итак, сегодня мы сделаем топовый ресольвер для нашего топового чита!

Для этого нам понадобится:
1. Иметь визуалку.
2. Иметь больше 10iq

Вставляем в Resolver.cpp этот код:
C++:
#include "Hooks.h"
#include "Resolver.h"
#include "RageBacktracking.h"
#include "Ragebot.h"
#include "AnimationFix.h"


std::string ResolverMode[65];
int last_ticks[64];
int IBasePlayer::GetChokedPackets()
{
    auto ticks = TIME_TO_TICKS(GetSimulationTime() - GetOldSimulationTime());
    if (ticks == 0 && last_ticks[GetIndex()] > 0)
    {
        return last_ticks[GetIndex()] - 1;
    }
    else {
        last_ticks[GetIndex()] = ticks;
        return ticks;
    }
}

float CResolver::GetAngle(IBasePlayer* player)
{
    return Math::NormalizeYaw(player->GetEyeAngles().y);
}

float CResolver::GetForwardYaw(IBasePlayer* player)
{
    return Math::NormalizeYaw(GetBackwardYaw(player) - 180.f);
}

float CResolver::GetBackwardYaw(IBasePlayer* player) {
    return Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y;
}

float CResolver::GetLeftYaw(IBasePlayer* player) {
    return Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y - 70.f);
}

float CResolver::GetRightYaw(IBasePlayer* player) {
    return Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y + 70.f);
}
bool CResolver::TargetJitter(IBasePlayer* player, bool v2)
{
    float yaw = v2 ? GetRightYaw(player) : GetLeftYaw(player);
    return fabsf(GetAngle(player) - Math::NormalizeYaw(yaw + 70.f))
        >= fabsf(GetAngle(player) - Math::NormalizeYaw(yaw - 70.f));
}
bool CResolver::TargetSide(IBasePlayer* player) {
    float yaw = Math::NormalizeYaw(GetBackwardYaw(player));
    float angle = GetAngle(player);
    return fabsf(angle - Math::NormalizeYaw(yaw + 70.f))
        >= fabsf(angle - Math::NormalizeYaw(yaw - 70.f));
}

void CResolver::DetectSide(IBasePlayer* player, int* side)
{
    Vector src3D, dst3D, forward, right, up, src, dst;
    float back_two, right_two, left_two;
    trace_t tr;
    Ray_t ray, ray2, ray3, ray4, ray5, ray6, ray7;
    CTraceFilter filter;

    Math::AngleVectors(Vector(0, GetBackwardYaw(player), 0), &forward, &right, &up);

    filter.pSkip = player;
    src3D = player->GetEyePosition();
    dst3D = src3D + (forward * 381); //Might want to experiment with other numbers, incase you don't know what the number does, its how far the trace will go. Lower = shorter.

    ray.Init(src3D, dst3D);
    interfaces.trace->TraceRay(ray, MASK_SHOT, &filter, &tr);
    back_two = (tr.endpos - tr.startpos).Length();

    ray2.Init(src3D + right * 30, dst3D + right * 30);
    interfaces.trace->TraceRay(ray2, MASK_SHOT, &filter, &tr);
    right_two = (tr.endpos - tr.startpos).Length();

    ray3.Init(src3D - right * 70, dst3D - right * 70);
    interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
    left_two = (tr.endpos - tr.startpos).Length();

    ray4.Init(src3D - right * 90, dst3D - right * 90);
    interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
    right_two = (tr.endpos - tr.startpos).Length();

    ray5.Init(src3D - right * 30, dst3D - right * 30);
    interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
    right_two = (tr.endpos - tr.startpos).Length();

    ray6.Init(src3D - right * 30, dst3D - right * 30);
    interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
    left_two = (tr.endpos - tr.startpos).Length();

    ray7.Init(src3D + right * 90, dst3D + right * 90);
    interfaces.trace->TraceRay(ray, MASK_SHOT, &filter, &tr);
    back_two = (tr.endpos - tr.startpos).Length();

    if (left_two > right_two) {
        *side = 1;
        //Body should be right
    }
    else if (right_two > left_two) {
        *side = -1;
    }
    else
        *side = 0;
}

bool CResolver::DoesHaveJitter(IBasePlayer* player, int* new_side) {
    static float LastAngle[64];
    static int LastBrute[64];
    static bool Switch[64];
    static float LastUpdateTime[64];
   
    int i = player->GetIndex();

    float CurrentAngle = player->GetEyeAngles().y;
    if (!Math::IsNearEqual(CurrentAngle, LastAngle[i], 70.f)) {
        Switch[i] = !Switch[i];
        LastAngle[i] = CurrentAngle;
        *new_side = Switch[i] ? -1 : 1;
        LastBrute[i] = *new_side;
        LastUpdateTime[i] = interfaces.global_vars->curtime;
        return true;
    }
    else {
        if (fabsf(LastUpdateTime[i] - interfaces.global_vars->curtime >= TICKS_TO_TIME(17))
            || player->GetSimulationTime() != player->GetOldSimulationTime()) {
            LastAngle[i] = CurrentAngle;
        }
        *new_side = LastBrute[i];
    }
    return false;
}

void CResolver::Do(IBasePlayer* player)
{
    auto animstate = player->GetPlayerAnimState();
    if (!animstate)
        return;

    animstate->m_flGoalFeetYaw = GetAngle(player);

    if (!vars.ragebot.resolver)
        return;
    if (!csgo->local->isAlive())
        return;
    if (player->GetChokedPackets() <= 1)
        return;

    int idx = player->GetIndex();

    if (player->GetPlayerInfo().fakeplayer)
        return;

    if (!(player->GetFlags() & FL_ONGROUND))
        return;
    float angle = GetAngle(player);
    {
        DetectSide(player, &FreestandSide[idx]);

        bool forward = fabsf(Math::NormalizeYaw(GetAngle(player) - GetForwardYaw(player))) < 70.f;
        if (csgo->missedshots[idx] == 0) {
            ResolverMode[idx] = hs::C.s();

            if (forward) {
                FreestandSide[idx] *= -1;
                ResolverMode[idx] += hs::B.s();
            }
            else
                ResolverMode[idx] += hs::A.s();
            animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f * FreestandSide[idx]);
        }
        else
        {
            if (forward)
            {
                switch (csgo->missedshots[idx] % 2) {
                case 1:
                    ResolverMode[idx] = hs::DA.s();
                    if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
                case 0:
                    ResolverMode[idx] = hs::DB.s();
                    if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
                }
            }
            else {
                switch (csgo->missedshots[idx] % 2)
                {
                case 1:
                    ResolverMode[idx] = hs::DA.s();
                    if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
                case 0:
                    ResolverMode[idx] = hs::DB.s();
                    if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
                }
            }
        }
    }

    animstate->m_flGoalFeetYaw = Math::NormalizeYaw(animstate->m_flGoalFeetYaw);
}
Переходим в Resolver.h и вставляем этот код:
C++:
#pragma once
struct animation;
class CResolver
{
private:
    float GetLeftYaw(IBasePlayer*);
    float GetRightYaw(IBasePlayer*);
    bool TargetSide(IBasePlayer*);
    void DetectSide(IBasePlayer*, int*);
    bool TargetJitter(IBasePlayer*, bool);
    bool DoesHaveJitter(IBasePlayer*, int*);
    int FreestandSide[64];
public:
    float GetAngle(IBasePlayer*);
    float GetForwardYaw(IBasePlayer*);
    float GetBackwardYaw(IBasePlayer*);
    void Do(IBasePlayer*);
    void StoreAntifreestand();
};
extern CResolver* resolver;
extern std::string ResolverMode[65];
В следующем гайде: делаем Статик, Джиттер, боди лин, опозиты для веаве су))
Удачи в пастинге :roflanBuldiga:
 
ставь чайник, зажигай плиту
Эксперт
Статус
Оффлайн
Регистрация
22 Май 2020
Сообщения
1,442
Реакции[?]
1,092
Поинты[?]
10K
Код:
 if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
даже больше писать ничего не надо
 
Забаненный
Статус
Оффлайн
Регистрация
30 Май 2020
Сообщения
42
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
 if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
даже больше писать ничего не надо
честно эт получше чем твой веаве импрувед будет
 
Забаненный
Статус
Оффлайн
Регистрация
30 Май 2020
Сообщения
42
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
 if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
даже больше писать ничего не надо
подредачить авол аим предикт и хак станет пушкой))
 
ставь чайник, зажигай плиту
Эксперт
Статус
Оффлайн
Регистрация
22 Май 2020
Сообщения
1,442
Реакции[?]
1,092
Поинты[?]
10K
честно эт получше чем твой веаве импрувед будет
подредачить авол аим предикт и хак станет пушкой))
пофикси хотя бы мемори лик, а потом уже говори о том что лучше или хуже
ты даже не знаешь что вообще такое десинк :LUL:
 
фа-фа-фаина, фаина
Забаненный
Статус
Оффлайн
Регистрация
19 Апр 2020
Сообщения
327
Реакции[?]
138
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Хз, мой рес получше будет, ну лан, для новичков заебись будет.
 
фа-фа-фаина, фаина
Забаненный
Статус
Оффлайн
Регистрация
19 Апр 2020
Сообщения
327
Реакции[?]
138
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
30 Май 2020
Сообщения
42
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
get good, get zeus, for ever
Пользователь
Статус
Оффлайн
Регистрация
1 Июн 2018
Сообщения
548
Реакции[?]
88
Поинты[?]
35K
Итак, сегодня мы сделаем топовый ресольвер для нашего топового чита!

Для этого нам понадобится:
1. Иметь визуалку.
2. Иметь больше 10iq

Вставляем в Resolver.cpp этот код:
C++:
#include "Hooks.h"
#include "Resolver.h"
#include "RageBacktracking.h"
#include "Ragebot.h"
#include "AnimationFix.h"


std::string ResolverMode[65];
int last_ticks[64];
int IBasePlayer::GetChokedPackets()
{
    auto ticks = TIME_TO_TICKS(GetSimulationTime() - GetOldSimulationTime());
    if (ticks == 0 && last_ticks[GetIndex()] > 0)
    {
        return last_ticks[GetIndex()] - 1;
    }
    else {
        last_ticks[GetIndex()] = ticks;
        return ticks;
    }
}

float CResolver::GetAngle(IBasePlayer* player)
{
    return Math::NormalizeYaw(player->GetEyeAngles().y);
}

float CResolver::GetForwardYaw(IBasePlayer* player)
{
    return Math::NormalizeYaw(GetBackwardYaw(player) - 180.f);
}

float CResolver::GetBackwardYaw(IBasePlayer* player) {
    return Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y;
}

float CResolver::GetLeftYaw(IBasePlayer* player) {
    return Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y - 70.f);
}

float CResolver::GetRightYaw(IBasePlayer* player) {
    return Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y + 70.f);
}
bool CResolver::TargetJitter(IBasePlayer* player, bool v2)
{
    float yaw = v2 ? GetRightYaw(player) : GetLeftYaw(player);
    return fabsf(GetAngle(player) - Math::NormalizeYaw(yaw + 70.f))
        >= fabsf(GetAngle(player) - Math::NormalizeYaw(yaw - 70.f));
}
bool CResolver::TargetSide(IBasePlayer* player) {
    float yaw = Math::NormalizeYaw(GetBackwardYaw(player));
    float angle = GetAngle(player);
    return fabsf(angle - Math::NormalizeYaw(yaw + 70.f))
        >= fabsf(angle - Math::NormalizeYaw(yaw - 70.f));
}

void CResolver::DetectSide(IBasePlayer* player, int* side)
{
    Vector src3D, dst3D, forward, right, up, src, dst;
    float back_two, right_two, left_two;
    trace_t tr;
    Ray_t ray, ray2, ray3, ray4, ray5, ray6, ray7;
    CTraceFilter filter;

    Math::AngleVectors(Vector(0, GetBackwardYaw(player), 0), &forward, &right, &up);

    filter.pSkip = player;
    src3D = player->GetEyePosition();
    dst3D = src3D + (forward * 381); //Might want to experiment with other numbers, incase you don't know what the number does, its how far the trace will go. Lower = shorter.

    ray.Init(src3D, dst3D);
    interfaces.trace->TraceRay(ray, MASK_SHOT, &filter, &tr);
    back_two = (tr.endpos - tr.startpos).Length();

    ray2.Init(src3D + right * 30, dst3D + right * 30);
    interfaces.trace->TraceRay(ray2, MASK_SHOT, &filter, &tr);
    right_two = (tr.endpos - tr.startpos).Length();

    ray3.Init(src3D - right * 70, dst3D - right * 70);
    interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
    left_two = (tr.endpos - tr.startpos).Length();

    ray4.Init(src3D - right * 90, dst3D - right * 90);
    interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
    right_two = (tr.endpos - tr.startpos).Length();

    ray5.Init(src3D - right * 30, dst3D - right * 30);
    interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
    right_two = (tr.endpos - tr.startpos).Length();

    ray6.Init(src3D - right * 30, dst3D - right * 30);
    interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
    left_two = (tr.endpos - tr.startpos).Length();

    ray7.Init(src3D + right * 90, dst3D + right * 90);
    interfaces.trace->TraceRay(ray, MASK_SHOT, &filter, &tr);
    back_two = (tr.endpos - tr.startpos).Length();

    if (left_two > right_two) {
        *side = 1;
        //Body should be right
    }
    else if (right_two > left_two) {
        *side = -1;
    }
    else
        *side = 0;
}

bool CResolver::DoesHaveJitter(IBasePlayer* player, int* new_side) {
    static float LastAngle[64];
    static int LastBrute[64];
    static bool Switch[64];
    static float LastUpdateTime[64];
  
    int i = player->GetIndex();

    float CurrentAngle = player->GetEyeAngles().y;
    if (!Math::IsNearEqual(CurrentAngle, LastAngle[i], 70.f)) {
        Switch[i] = !Switch[i];
        LastAngle[i] = CurrentAngle;
        *new_side = Switch[i] ? -1 : 1;
        LastBrute[i] = *new_side;
        LastUpdateTime[i] = interfaces.global_vars->curtime;
        return true;
    }
    else {
        if (fabsf(LastUpdateTime[i] - interfaces.global_vars->curtime >= TICKS_TO_TIME(17))
            || player->GetSimulationTime() != player->GetOldSimulationTime()) {
            LastAngle[i] = CurrentAngle;
        }
        *new_side = LastBrute[i];
    }
    return false;
}

void CResolver::Do(IBasePlayer* player)
{
    auto animstate = player->GetPlayerAnimState();
    if (!animstate)
        return;

    animstate->m_flGoalFeetYaw = GetAngle(player);

    if (!vars.ragebot.resolver)
        return;
    if (!csgo->local->isAlive())
        return;
    if (player->GetChokedPackets() <= 1)
        return;

    int idx = player->GetIndex();

    if (player->GetPlayerInfo().fakeplayer)
        return;

    if (!(player->GetFlags() & FL_ONGROUND))
        return;
    float angle = GetAngle(player);
    {
        DetectSide(player, &FreestandSide[idx]);

        bool forward = fabsf(Math::NormalizeYaw(GetAngle(player) - GetForwardYaw(player))) < 70.f;
        if (csgo->missedshots[idx] == 0) {
            ResolverMode[idx] = hs::C.s();

            if (forward) {
                FreestandSide[idx] *= -1;
                ResolverMode[idx] += hs::B.s();
            }
            else
                ResolverMode[idx] += hs::A.s();
            animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f * FreestandSide[idx]);
        }
        else
        {
            if (forward)
            {
                switch (csgo->missedshots[idx] % 2) {
                case 1:
                    ResolverMode[idx] = hs::DA.s();
                    if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
                case 0:
                    ResolverMode[idx] = hs::DB.s();
                    if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
                }
            }
            else {
                switch (csgo->missedshots[idx] % 2)
                {
                case 1:
                    ResolverMode[idx] = hs::DA.s();
                    if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
                case 0:
                    ResolverMode[idx] = hs::DB.s();
                    if (FreestandSide[idx] == 1)
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f));
                    else if
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle));
                    else
                        (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f));
                    break;
                }
            }
        }
    }

    animstate->m_flGoalFeetYaw = Math::NormalizeYaw(animstate->m_flGoalFeetYaw);
}
Переходим в Resolver.h и вставляем этот код:
C++:
#pragma once
struct animation;
class CResolver
{
private:
    float GetLeftYaw(IBasePlayer*);
    float GetRightYaw(IBasePlayer*);
    bool TargetSide(IBasePlayer*);
    void DetectSide(IBasePlayer*, int*);
    bool TargetJitter(IBasePlayer*, bool);
    bool DoesHaveJitter(IBasePlayer*, int*);
    int FreestandSide[64];
public:
    float GetAngle(IBasePlayer*);
    float GetForwardYaw(IBasePlayer*);
    float GetBackwardYaw(IBasePlayer*);
    void Do(IBasePlayer*);
    void StoreAntifreestand();
};
extern CResolver* resolver;
extern std::string ResolverMode[65];
В следующем гайде: делаем Статик, Джиттер, боди лин, опозиты для веаве су))
Удачи в пастинге :roflanBuldiga:
я не смог добавить что это значит ?
 
Забаненный
Статус
Оффлайн
Регистрация
2 Июл 2020
Сообщения
43
Реакции[?]
10
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
пофикси хотя бы мемори лик, а потом уже говори о том что лучше или хуже
ты даже не знаешь что вообще такое десинк :LUL:
так называемая рассинхронизация модели клиента с сервером 0_o
 
Забаненный
Статус
Оффлайн
Регистрация
26 Июл 2019
Сообщения
412
Реакции[?]
136
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу