Вопрос Thirdperson cs2

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Окт 2022
Сообщения
30
Реакции
0
Я не так давно начал писать internal чит и столкнулся с проблемой:

C++:
Expand Collapse Copy
int m_iObserverMode = 0x40;
const uintptr_t localPlayer = VARS::memRead<uintptr_t>(VARS::baseAddress + dwLocalPlayer);
if (thirdperson) {
     (int)(localPlayer + m_iObserverMode) = 1;
}
else {
     (int)(localPlayer + m_iObserverMode) = 0;
}


Третье лицо не работает, может с момента кс го поменялся способ смены лица, типо уже localPlayer + m_iObserverMode не работает и нужен другой способ?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я не так давно начал писать internal чит и столкнулся с проблемой:

C++:
Expand Collapse Copy
int m_iObserverMode = 0x40;
const uintptr_t localPlayer = VARS::memRead<uintptr_t>(VARS::baseAddress + dwLocalPlayer);
if (thirdperson) {
     (int)(localPlayer + m_iObserverMode) = 1;
}
else {
     (int)(localPlayer + m_iObserverMode) = 0;
}


Третье лицо не работает, может с момента кс го поменялся способ смены лица, типо уже localPlayer + m_iObserverMode не работает и нужен другой способ?
learncpp.com
on topic:
just get CCSGOInput interface and set bInThirdPerson to true
 
Если ты делаешь интернал хак, то почему бы тебе не использовать интерфейсы из игры для твоих целей?
Зачем ты получаешь локалплеера по захардкоженным оффсетам, если это можно сделать обратившись к виртуальной функции из интерфейса Source2EngineToClient
Эти оффсеты ещё и поменяются после обновления игры. Твой "интернал" подход полная хуйня, так читы не делаются. Это больше похоже на экстернал.
Получай интерфейсы, используй виртуальные функции, не занимайся хуйнёй
 
Последнее редактирование:
Если ты делаешь интернал хак, то почему бы тебе не использовать интерфейсы из игры для твоих целей?
Зачем ты получаешь локалплеера по захардкоженным оффсетам, если это можно сделать обратившись к виртуальной функции из интерфейса Source2EngineToClient
Эти оффсеты ещё и поменяются после обновления игры. Твой "интернал" подход полная хуйня, так читы не делаются. Это больше похоже на экстернал.
Получай интерфейсы, используй виртуальные функции, не занимайся хуйнёй
а павн и контроллер можно получить ещё проще) прям как игра это делает(сплит скрин ноль у локала)
 
а павн и контроллер можно получить ещё проще) прям как игра это делает(сплит скрин ноль у локала)

у меня так, да и так легче как то ) впадлу через сплит скрин

1730912850458.png
 
  • Мне нравится
Реакции: mj12
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Hook OverrideView:
"48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 41 56 41 57 48 83 EC ? 48 8B FA E8" @client.dll
Thirdperson(no sv_cheat):
Expand Collapse Copy
void CS_FASTCALL H::OverrideView(void* pClientModeCSNormal, CViewSetup* pSetup)
{
    const auto oOverrideView = hkOverrideView.GetOriginal();

    if (!I::Engine->IsConnected() || !I::Engine->IsInGame())
        return oOverrideView(pClientModeCSNormal, pSetup);

    if (!SDK::LocalController || !SDK::LocalController->IsPawnAlive())
        return oOverrideView(pClientModeCSNormal, pSetup);

    if (IPT::GetBindState(C_GET(KeyBind_t, Vars.nThirdpersonActivationKey)))
        enableThirdPerson = true;
    else
        enableThirdPerson = false;

    if (enableThirdPerson && C_GET(bool, Vars.bThirdperson))
    {
        cheat->InThirdperson = true;

        QAngle_t adjusted_cam_view_angle = cheat->StoreAngle;
        adjusted_cam_view_angle.x *= -1;

        pSetup->vecOrigin = CalculateCameraPosition(SDK::LocalPawn->GetEyePosition(), -C_GET(int, Vars.flThirdperson), adjusted_cam_view_angle);

        Ray_t ray{};
        GameTrace_t trace{};
        TraceFilter_t filter{ 0x1C3003, SDK::LocalPawn, nullptr, 4 };

        if (I::GameTraceManager->TraceShape(&ray, SDK::LocalPawn->GetEyePosition(), pSetup->vecOrigin, &filter, &trace))
        {
            if (trace.m_pHitEntity != nullptr)
            {
                pSetup->vecOrigin = trace.m_vecPosition;
            }
        }

        pSetup->angView = NormalizeAngles(CalcAngle(pSetup->vecOrigin, SDK::LocalPawn->GetEyePosition()));

    }

    oOverrideView(pClientModeCSNormal, pSetup);
}
 
Последнее редактирование:
  • Мне нравится
Реакции: mj12
Назад
Сверху Снизу