Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "resolver.h"
- bool Settings::Resolver::resolveAll = false;
- bool bLowerBodyUpdated = false;
- bool IsUsingFakeAngles = false;
- float oldlowerbodyyaw;
- int GetEstimatedServerTickCount(float latency)
- {
- return (int)floorf((float)((float)(latency) / (float)((uintptr_t)&globalVars->interval_per_tick)) + 0.5) + 1 + (int)((uintptr_t)&globalVars->tickcount);
- }
- std::vector<int64_t> Resolver::Players = { };
- std::vector<std::pair<C_BasePlayer*, QAngle>> player_data;
- void Resolver::FrameStageNotify(ClientFrameStage_t stage)
- {
- if (!engine->IsInGame())
- return;
- C_BasePlayer* localplayer = (C_BasePlayer*)entityList->GetClientEntity(engine->GetLocalPlayer());
- if (!localplayer)
- return;
- if (stage == ClientFrameStage_t::FRAME_NET_UPDATE_POSTDATAUPDATE_START)
- {
- for (int i = 1; i < engine->GetMaxClients(); ++i)
- {
- C_BasePlayer* player = (C_BasePlayer*)entityList->GetClientEntity(i);
- if (!player
- || player == localplayer
- || player->GetDormant()
- || !player->GetAlive()
- || player->GetImmune()
- || player->GetTeam() == localplayer->GetTeam())
- continue;
- IEngineClient::player_info_t entityInformation;
- engine->GetPlayerInfo(i, &entityInformation);
- if (!Settings::Resolver::resolveAll && std::find(Resolver::Players.begin(), Resolver::Players.end(), entityInformation.xuid) == Resolver::Players.end())
- continue;
- player_data.push_back(std::pair<C_BasePlayer*, QAngle>(player, *player->GetEyeAngles()));
- // auto *FYaw = Offsets::m_flLowerBodyYawTarget);
- // auto *Yaw = m_angEyeAnglesY);
- player->GetEyeAngles()->y = *player->GetLowerBodyYawTarget();
- float PlayerIsMoving = abs(player->GetVelocity().Length());
- if (oldlowerbodyyaw != *player->GetLowerBodyYawTarget())
- {
- bLowerBodyUpdated = true;
- }
- float bodyeyedelta = player->GetEyeAngles()->y - player->GetLowerBodyYawTarget();
- if (PlayerIsMoving || bLowerBodyUpdated)
- {
- if (bLowerBodyUpdated || (PlayerIsMoving && bodyeyedelta >= 35.0f))
- {
- player->GetEyeAngles()->y = *player->GetLowerBodyYawTarget();
- oldlowerbodyyaw = player->GetEyeAngles()->y;
- }
- IsUsingFakeAngles = false;
- }
- else
- {
- if (bodyeyedelta > 35.0f)
- {
- player->GetEyeAngles()->y = oldlowerbodyyaw;
- IsUsingFakeAngles = true;
- }
- else
- {
- IsUsingFakeAngles = false;
- }
- }
- if (IsUsingFakeAngles)
- {
- int com = GetEstimatedServerTickCount(90);
- if (com % 2)
- {
- player->GetEyeAngles()->y += 90;
- }
- else if (com % 3)
- player->GetEyeAngles()->y -= 90;
- else
- player->GetEyeAngles()->y -= 0;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement