Advertisement
Guest User

rifk7

a guest
Jan 27th, 2020
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1.  
  2.  
  3. void c_legitbot::aim(c_user_cmd* cmd)
  4. {
  5. if (!config.legit.assist || config.rage.enabled)
  6. return;
  7.  
  8. auto local = c_cs_player::get_local_player();
  9.  
  10. if (!local)
  11. return;
  12.  
  13. const auto weapon = client_entity_list()->get_client_entity_from_handle(local->get_current_weapon_handle());
  14.  
  15. if (!weapon)
  16. return;
  17.  
  18. static std::optional<std::tuple<c_vector3d, float, c_animation_system::animation*>> target = std::nullopt;
  19. static auto time = .0f;
  20.  
  21. if (!target.has_value() || time > .15f)
  22. {
  23. const auto hitbox = weapon->get_class_id() == cweaponawp ? c_cs_player::hitbox::pelvis : c_cs_player::hitbox::head;
  24. target = c_aimhelper::get_legit_target(config.legit.fov, config.legit.backtrack / 100.f, hitbox, true);
  25. time = 0.f;
  26. }
  27.  
  28. if (!target.has_value())
  29. return;
  30.  
  31. time += global_vars_base->frametime;
  32.  
  33. c_qangle delta;
  34. const auto view_angle = engine_client()->get_view_angles();
  35.  
  36. const auto shoot_position = local->get_shoot_position();
  37.  
  38. const auto recoil_scale = cvar()->find_var(_("weapon_recoil_scale"))->get_float();
  39. auto aim_angle = math::calc_angle(shoot_position, std::get<0>(target.value()));
  40. aim_angle -= local->get_punch_angle() * recoil_scale;
  41.  
  42. smooth(aim_angle, view_angle);
  43. //const auto move_angle = pixels_to_angle({ *x, *y });
  44. auto view_delta = aim_angle - view_angle;
  45. math::normalize(view_delta);
  46.  
  47. math::normalize(aim_angle);
  48. cmd->viewangles = aim_angle;
  49. engine_client()->set_view_angles(aim_angle);
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement