Advertisement
Guest User

Untitled

a guest
Apr 28th, 2017
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. #include "resolver.h"
  2.  
  3. bool Settings::Resolver::resolveAll = false;
  4. bool bLowerBodyUpdated = false;
  5. bool IsUsingFakeAngles = false;
  6. float oldlowerbodyyaw;
  7. int GetEstimatedServerTickCount(float latency)
  8. {
  9. return (int)floorf((float)((float)(latency) / (float)((uintptr_t)&globalVars->interval_per_tick)) + 0.5) + 1 + (int)((uintptr_t)&globalVars->tickcount);
  10. }
  11.  
  12. std::vector<int64_t> Resolver::Players = { };
  13.  
  14. std::vector<std::pair<C_BasePlayer*, QAngle>> player_data;
  15.  
  16. void Resolver::FrameStageNotify(ClientFrameStage_t stage)
  17. {
  18. if (!engine->IsInGame())
  19. return;
  20.  
  21. C_BasePlayer* localplayer = (C_BasePlayer*)entityList->GetClientEntity(engine->GetLocalPlayer());
  22. if (!localplayer)
  23. return;
  24.  
  25. if (stage == ClientFrameStage_t::FRAME_NET_UPDATE_POSTDATAUPDATE_START)
  26. {
  27. for (int i = 1; i < engine->GetMaxClients(); ++i)
  28. {
  29. C_BasePlayer* player = (C_BasePlayer*)entityList->GetClientEntity(i);
  30.  
  31. if (!player
  32. || player == localplayer
  33. || player->GetDormant()
  34. || !player->GetAlive()
  35. || player->GetImmune()
  36. || player->GetTeam() == localplayer->GetTeam())
  37. continue;
  38.  
  39. IEngineClient::player_info_t entityInformation;
  40. engine->GetPlayerInfo(i, &entityInformation);
  41.  
  42. if (!Settings::Resolver::resolveAll && std::find(Resolver::Players.begin(), Resolver::Players.end(), entityInformation.xuid) == Resolver::Players.end())
  43. continue;
  44.  
  45. player_data.push_back(std::pair<C_BasePlayer*, QAngle>(player, *player->GetEyeAngles()));
  46. // auto *FYaw = Offsets::m_flLowerBodyYawTarget);
  47. // auto *Yaw = m_angEyeAnglesY);
  48. player->GetEyeAngles()->y = *player->GetLowerBodyYawTarget();
  49. float PlayerIsMoving = abs(player->GetVelocity().Length());
  50. if (oldlowerbodyyaw != *player->GetLowerBodyYawTarget())
  51. {
  52. bLowerBodyUpdated = true;
  53. }
  54. float bodyeyedelta = player->GetEyeAngles()->y - player->GetLowerBodyYawTarget();
  55. if (PlayerIsMoving || bLowerBodyUpdated)
  56. {
  57. if (bLowerBodyUpdated || (PlayerIsMoving && bodyeyedelta >= 35.0f))
  58. {
  59. player->GetEyeAngles()->y = *player->GetLowerBodyYawTarget();
  60. oldlowerbodyyaw = player->GetEyeAngles()->y;
  61. }
  62.  
  63. IsUsingFakeAngles = false;
  64. }
  65. else
  66. {
  67. if (bodyeyedelta > 35.0f)
  68. {
  69. player->GetEyeAngles()->y = oldlowerbodyyaw;
  70. IsUsingFakeAngles = true;
  71. }
  72. else
  73. {
  74. IsUsingFakeAngles = false;
  75. }
  76. }
  77.  
  78. if (IsUsingFakeAngles)
  79. {
  80. int com = GetEstimatedServerTickCount(90);
  81.  
  82. if (com % 2)
  83. {
  84. player->GetEyeAngles()->y += 90;
  85. }
  86. else if (com % 3)
  87. player->GetEyeAngles()->y -= 90;
  88. else
  89. player->GetEyeAngles()->y -= 0;
  90. }
  91. }
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement