Advertisement
Guest User

Untitled

a guest
Oct 20th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.03 KB | None | 0 0
  1. auto local_player = static_cast<player_t *>(g_csgo.m_entitylist()->GetClientEntity(g_csgo.m_engine()->GetLocalPlayer()));
  2. float tick_interval = 1.f / g_csgo.m_globals()->m_interval_per_tick;
  3. auto update = false;
  4. auto average_unresolved_yaw = 0;
  5. auto average_lby_delta = 0;
  6. bool last_stored_tick = { false };
  7. float last_moving_lowerbody[64];
  8. float velocity_check = 0.0f;
  9. float last_lowerbody = { 0.f };
  10. float last_lowerbody_delta = { 0.f };
  11. float large_lowerbody_delta = { 0.f };
  12. float entity_moving_lowerbody = { 0.f };
  13. static int choked_moving_ticks = { 0 };
  14. static bool lowerbody_last_update = false;
  15. static int choked_standing_ticks = { 0 };
  16. static float last_lowerbody_update[55];
  17. static float stored_tick_delta = { 0.f };
  18. static float previous_lowerbody = { 0.f };
  19. static float simulation_delta = { -1.f };
  20. resolver_info_t current = m_current, previous = m_previous;
  21. player_t * e = m_e;
  22. AnimationLayer curBalanceLayer, prevBalanceLayer;
  23. AnimationLayer layer = e->get_animlayer(0);
  24. AnimationLayer prev = prev_layer;
  25. AnimationLayer dummy;
  26. int deltaxd = average_unresolved_yaw - e->m_flLowerBodyYawTarget();
  27. auto current_lby_delta = abs((((deltaxd + 120) % 360 + 360) % 360 - 125));
  28. int update_delta = pre_anim_lby - e->m_flLowerBodyYawTarget();
  29. auto lby_update_delta = abs((((update_delta + 125) % 360 + 360) % 360 - 130));
  30. auto server_time = g_ctx.m_local->m_nTickBase() *g_csgo.m_globals()->m_interval_per_tick;
  31. current.m_at_target = math::calculate_angle(g_ctx.m_local->m_vecOrigin(), current.m_origin).y;
  32. int simulated_ticks = simulation_clamp(floorf((simulation_delta * tick_interval) + 0.5), 1, 15);
  33. is_moving = e->m_vecVelocity().Length2D() > 0.1 && e->m_fFlags() & FL_ONGROUND && !could_be_slowmo;
  34. is_jumping = !e->m_fFlags() & FL_ONGROUND;
  35. could_be_slowmo = e->m_vecVelocity().Length2D() > 6 && e->m_vecVelocity().Length2D() < 36 && !is_crouching;
  36. is_crouching = e->m_fFlags() & FL_DUCKING;
  37. const bool moving_on_ground = current.m_velocity.Length2D() > .034f && current.m_flags & FL_ONGROUND;
  38. for (int i = 0; i < 65; ++i)
  39. {
  40. current.m_anim_layers[i] = e->get_animlayer(i);
  41. AnimationLayer currentLayer = e->get_animlayers()[1];
  42. const int activity = e->sequence_activity(currentLayer.m_nSequence);
  43. float flcycle = currentLayer.m_flCycle, flprevcycle = currentLayer.m_flPrevCycle, flweight = currentLayer.m_flWeight, flweightdatarate = currentLayer.m_flWeightDeltaRate;
  44. uint32_t norder = currentLayer.m_nOrder;
  45.  
  46. current.m_at_target = math::calculate_angle(g_ctx.m_local->m_vecOrigin(), current.m_origin).y;
  47. static float next_lby_update[65];
  48.  
  49. if (m_mode == resolver_modes::lby_update)
  50. {
  51. current.did_predicted_lby_flick = current.m_did_lby_flick;
  52. previous.m_last_move_lby = previous.m_last_move_lby_valid;
  53. current.m_next_predicted_lby_update;
  54. }
  55. if (m_mode == resolver_modes::brute)
  56. {
  57. current.m_balance_adjust_playing;
  58. current.m_balance_adjust_triggered;
  59. previous.m_last_balance_adjust_time;
  60. previous.m_last_balance_adjust_trigger_time;
  61. previous.m_predicted_yaw_brute;
  62. }
  63. if (e->IsDormant()) {
  64. current.m_predicted_flick = false;
  65. current.m_flick = false;
  66. g_ctx.m_globals.add_time[e->EntIndex()] = 0.f;
  67. g_ctx.m_globals.next_update[e->EntIndex()] = 0.f;
  68. next_lby_update[e->EntIndex()] = 0.f;
  69. }
  70.  
  71. if (e->get_animtime() >= next_lby_update[e->EntIndex()] && !e->IsDormant())
  72. {
  73. current.m_predicted_flick = true;
  74. g_ctx.m_globals.add_time[e->EntIndex()] = 1.1f;
  75. next_lby_update[e->EntIndex()] = e->get_animtime() + g_ctx.m_globals.add_time[e->EntIndex()];
  76. g_ctx.m_globals.next_update[e->EntIndex()] = next_lby_update[e->EntIndex()];
  77. }
  78. else
  79. current.m_predicted_flick = false;
  80.  
  81. if (current.m_lowerbody != e->m_flLowerBodyYawTarget() && !e->IsDormant())
  82. {
  83. current.m_flick = true;
  84. g_ctx.m_globals.add_time[e->EntIndex()] = g_csgo.m_globals()->m_interval_per_tick + 1.1f;
  85. next_lby_update[e->EntIndex()] = e->get_animtime() + g_ctx.m_globals.add_time[e->EntIndex()];
  86. g_ctx.m_globals.next_update[e->EntIndex()] = next_lby_update[e->EntIndex()];
  87. }
  88. else
  89. current.m_flick = false;
  90.  
  91. if (current.m_velocity.Length2D() > 0.1f && !current.m_fakewalking && !e->IsDormant()) {
  92. g_ctx.m_globals.add_time[e->EntIndex()] = 0.22f;
  93. next_lby_update[e->EntIndex()] = e->get_animtime() + g_ctx.m_globals.add_time[e->EntIndex()];
  94. g_ctx.m_globals.next_update[e->EntIndex()] = next_lby_update[e->EntIndex()];
  95. }
  96. else if (moving_on_ground && !current.m_fakewalking) {
  97. e->m_angEyeAngles().y = current.m_lowerbody;
  98. }
  99. else if (!current.m_fakewalking) {
  100. if (e->get_animlayer(6).m_flWeight > 0 && currentLayer.m_flWeight < 0.000001 && currentLayer.m_flPlaybackRate < 1)
  101. e->m_angEyeAngles().y = current.m_at_target + 90;
  102. }
  103. else if (e->get_animlayer(6).m_flWeight > 0 && currentLayer.m_flWeight < 0.00001 && currentLayer.m_flPlaybackRate > 1 && currentLayer.m_flPlaybackRate < 2)
  104. {
  105. e->m_angEyeAngles().y = current.m_at_target - 90;
  106. }
  107. else if (e->get_animlayer(17).m_flWeight > 0 && currentLayer.m_flWeightDeltaRate < 3 && currentLayer.m_flPrevCycle != currentLayer.m_flCycle)
  108. {
  109. e->m_angEyeAngles().y = current.m_at_target - 180;
  110. }
  111. else {
  112. if (!local_player)
  113. return;
  114.  
  115. m_mode == resolver_modes::brute;
  116.  
  117. if (is_last_moving_lby_delta_valid && is_last_moving_lby_valid && current.m_velocity.Length2D() < 25 && fabs(g_csgo.m_globals()->m_curtime - last_time_moving) < 1.0)
  118. {
  119. // if lby updated
  120. if (current.m_lowerbody != previous.m_lowerbody)
  121. {
  122. current.m_last_moving_lby_delta = math::normalize_yaw(last_moving_lby - lower_body_yaw);
  123. is_last_moving_lby_delta_valid = true;
  124. }
  125. }
  126. else if (e->get_animlayer(17).m_flWeight > 0 && currentLayer.m_flPlaybackRate <= 1 && currentLayer.m_flWeight <= 0.55) {
  127. e->m_angEyeAngles().y = current.m_at_target - 180;
  128. }
  129. else if (e->get_animlayer(17).m_flWeight > 0 && currentLayer.m_flPlaybackRate > 1 && currentLayer.m_flPlaybackRate <= 1.55 && currentLayer.m_flWeight > 0.55 && currentLayer.m_flWeight <= 1)
  130. {
  131. e->m_angEyeAngles().y = current.m_at_target - 90;
  132. }
  133. else if (e->get_animlayer(17).m_flWeight > 0 && currentLayer.m_flPlaybackRate > 1.55 && currentLayer.m_flPlaybackRate <= 2 && currentLayer.m_flWeight > 1 && currentLayer.m_flWeight <= 2.35 && currentLayer.m_flWeightDeltaRate >= 0.05) {
  134. e->m_angEyeAngles().y = current.m_at_target + 180;
  135. }
  136. else if (e->get_animlayer(93).m_flWeight > 0 && currentLayer.m_flWeightDeltaRate >= 0.55) {
  137. current.m_lowerbody + e->m_angEyeAngles().x;
  138. }
  139. else if (e->get_animlayer(13).m_flWeight > 0 && currentLayer.m_flWeightDeltaRate >= 0.55) {
  140. if (missed_shots[i] > 3) {
  141. e->m_angEyeAngles().x + current.m_lowerbody;
  142. }
  143. else {
  144. e->m_angEyeAngles().y = ((current.m_at_target + 180) - e->m_angEyeAngles().x);
  145. }
  146. }
  147. else {
  148. if (m_antifreestand.left_damage <= 0 && m_antifreestand.right_damage <= 0) {
  149. if (m_antifreestand.right_fraction < m_antifreestand.left_fraction)
  150. e->m_angEyeAngles().y = current.m_at_target + 180;
  151. else
  152. e->m_angEyeAngles().y = current.m_at_target - 90;
  153. }
  154. else {
  155. if (m_antifreestand.left_damage > m_antifreestand.right_damage)
  156. e->m_angEyeAngles().y = current.m_at_target + 180;
  157. else
  158. e->m_angEyeAngles().y = current.m_at_target - 90;
  159. }
  160. }
  161. }
  162. if (e->get_animlayer(6).m_flWeight > 0 && currentLayer.m_flPlaybackRate <= 1 && currentLayer.m_flWeight <= 0.55)
  163. {
  164. e->m_angEyeAngles().x = 89.f;
  165. }
  166. else if (e->get_animlayer(6).m_flWeight > 0 && currentLayer.m_flPlaybackRate > 1 && currentLayer.m_flPlaybackRate <= 2 && currentLayer.m_flWeight > 0.55 && currentLayer.m_flWeight <= 1)
  167. {
  168. e->m_angEyeAngles().x = 89.f;
  169. }
  170. else if (e->get_animlayer(6).m_flWeight > 0 && currentLayer.m_flPlaybackRate > 2 && currentLayer.m_flPlaybackRate <= 3 && currentLayer.m_flWeight > 1 && currentLayer.m_flWeight <= 1.55) {
  171. e->m_angEyeAngles().x = 0;
  172. }
  173. else
  174. {
  175. e->m_angEyeAngles().x = e->m_angEyeAngles().x;
  176. }
  177. }
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement