Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.23 KB | None | 0 0
  1. void __stdcall hooks::draw_model_execute::hook(i_mat_render_context* ctx, const draw_model_state_t& state, const model_render_info_t& info, matrix_t* bone_to_world)
  2. {
  3. const char* model_name = interfaces::model_info->get_model_name((model_t*)info.model);
  4.  
  5. if (strstr(model_name, "models/player/")) {
  6. auto entity = reinterpret_cast<player_t*>(interfaces::entity_list->get_client_entity(info.entity_index));
  7.  
  8. if (csgo::local_player && entity && vars::checkbox["#chams_enable"]->get_bool() == true) {
  9. // Enemy Chams
  10. if (csgo::local_player != entity && entity->is_alive() == true && entity->team() != csgo::local_player->team())
  11. {
  12. if (vars::checkbox["#chams_xqz_enable"]->get_bool() == true) {
  13. // Invisible Chams
  14. float inVisColor[3] = { vars::colorpicker["#chams_color_invis"]->get_color().m_red, vars::colorpicker["#chams_color_invis"]->get_color().m_green, vars::colorpicker["#chams_color_invis"]->get_color().m_blue };
  15. i_material* ChamsinVisMat;
  16. ChamsinVisMat = interfaces::material_system->find_material("models/player/ct_fbi/ct_fbi_glass", "Model textures");
  17. ChamsinVisMat->set_material_var_flag(material_var_ignorez, true);
  18. ChamsinVisMat->set_material_var_flag(material_var_wireframe, false);
  19. ChamsinVisMat->alpha_modulate(255.f);
  20. // Override Mat
  21. interfaces::model_render->override_material(ChamsinVisMat);
  22. interfaces::render_view->modulate_color(inVisColor);
  23. draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
  24. interfaces::model_render->override_material(nullptr);
  25. }
  26.  
  27. // Visible Chams
  28. float VisColor[3] = { vars::colorpicker["#chams_color_vis"]->get_color().m_red, vars::colorpicker["#chams_color_vis"]->get_color().m_green, vars::colorpicker["#chams_color_vis"]->get_color().m_blue };
  29. i_material* ChamsVisMat;
  30. ChamsVisMat = interfaces::material_system->find_material("models/player/ct_fbi/ct_fbi_glass", "Model textures");
  31. ChamsVisMat->set_material_var_flag(material_var_ignorez, false);
  32. ChamsVisMat->set_material_var_flag(material_var_wireframe, false);
  33. ChamsVisMat->alpha_modulate(255.f);
  34. // Override Mat
  35. interfaces::model_render->override_material(ChamsVisMat);
  36. interfaces::render_view->modulate_color(VisColor);
  37. draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
  38. interfaces::model_render->override_material(nullptr);
  39. return;
  40. }
  41.  
  42. // Team Chams
  43. if (entity->team() == csgo::local_player->team() && vars::checkbox["#chams_team_enable"]->get_bool() == true) {
  44. if (vars::checkbox["#chams_xqz_enable"]->get_bool() == true) {
  45. // Invisible Chams
  46. float inVisColor[3] = { vars::colorpicker["#chams_color_invis"]->get_color().m_red, vars::colorpicker["#chams_color_invis"]->get_color().m_green, vars::colorpicker["#chams_color_invis"]->get_color().m_blue };
  47. i_material* ChamsinVisMat;
  48. ChamsinVisMat = interfaces::material_system->find_material("models/player/ct_fbi/ct_fbi_glass", "Model textures");
  49. ChamsinVisMat->set_material_var_flag(material_var_ignorez, true);
  50. ChamsinVisMat->set_material_var_flag(material_var_wireframe, false);
  51. ChamsinVisMat->alpha_modulate(255.f);
  52. // Override Mat
  53. interfaces::model_render->override_material(ChamsinVisMat);
  54. interfaces::render_view->modulate_color(inVisColor);
  55. draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
  56. interfaces::model_render->override_material(nullptr);
  57. }
  58.  
  59. // Visible Chams
  60. float VisColor[3] = { vars::colorpicker["#chams_color_vis"]->get_color().m_red, vars::colorpicker["#chams_color_vis"]->get_color().m_green, vars::colorpicker["#chams_color_vis"]->get_color().m_blue };
  61. i_material* ChamsVisMat;
  62. ChamsVisMat = interfaces::material_system->find_material("models/player/ct_fbi/ct_fbi_glass", "Model textures");
  63. ChamsVisMat->set_material_var_flag(material_var_ignorez, false);
  64. ChamsVisMat->set_material_var_flag(material_var_wireframe, false);
  65. ChamsVisMat->alpha_modulate(255.f);
  66. // Override Mat
  67. interfaces::model_render->override_material(ChamsVisMat);
  68. interfaces::render_view->modulate_color(VisColor);
  69. draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
  70. interfaces::model_render->override_material(nullptr);
  71. return;
  72. }
  73.  
  74. // Local Player Chams
  75. if (csgo::local_player == entity && csgo::local_player->is_alive() == true && vars::checkbox["#chams_local_enable"]->get_bool() == true)
  76. {
  77. // Visible Chams
  78. float VisColor[3] = { vars::colorpicker["#chams_color_local"]->get_color().m_red, vars::colorpicker["#chams_color_local"]->get_color().m_green, vars::colorpicker["#chams_color_local"]->get_color().m_blue };
  79. i_material* ChamsVisMat;
  80. ChamsVisMat = interfaces::material_system->find_material("models/player/ct_fbi/ct_fbi_glass", "Model textures");
  81. ChamsVisMat->set_material_var_flag(material_var_ignorez, false);
  82. ChamsVisMat->set_material_var_flag(material_var_wireframe, false);
  83. ChamsVisMat->alpha_modulate(255.f);
  84. // Override Mat
  85. interfaces::model_render->override_material(ChamsVisMat);
  86. interfaces::render_view->modulate_color(VisColor);
  87. draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
  88. interfaces::model_render->override_material(nullptr);
  89. return;
  90. }
  91. }
  92.  
  93. // Arms Fix
  94. if (strstr(model_name, "arms"))
  95. {
  96. // Visible Chams
  97. float VisColor[3] = { vars::colorpicker["#chams_color_local"]->get_color().m_red, vars::colorpicker["#chams_color_local"]->get_color().m_green, vars::colorpicker["#chams_color_local"]->get_color().m_blue };
  98. i_material* ChamsVisMat;
  99. ChamsVisMat = interfaces::material_system->find_material("models/gibs/glass/glass", "Model textures");
  100. ChamsVisMat->set_material_var_flag(material_var_ignorez, false);
  101. ChamsVisMat->set_material_var_flag(material_var_wireframe, false);
  102. ChamsVisMat->alpha_modulate(255.f);
  103. // Override Mat
  104. interfaces::model_render->override_material(ChamsVisMat);
  105. interfaces::render_view->modulate_color(VisColor);
  106. draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
  107. interfaces::model_render->override_material(nullptr);
  108. return;
  109. }
  110. }
  111.  
  112. // Arms Fix
  113. if (strstr(model_name, "arms"))
  114. {
  115. // Visible Chams
  116. float VisColor[3] = { vars::colorpicker["#chams_color_local"]->get_color().m_red, vars::colorpicker["#chams_color_local"]->get_color().m_green, vars::colorpicker["#chams_color_local"]->get_color().m_blue };
  117. i_material* ChamsVisMat;
  118. ChamsVisMat = interfaces::material_system->find_material("models/gibs/glass/glass", "Model textures");
  119. ChamsVisMat->set_material_var_flag(material_var_ignorez, false);
  120. ChamsVisMat->set_material_var_flag(material_var_wireframe, false);
  121. ChamsVisMat->alpha_modulate(255.f);
  122. // Override Mat
  123. interfaces::model_render->override_material(ChamsVisMat);
  124. interfaces::render_view->modulate_color(VisColor);
  125. draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
  126. interfaces::model_render->override_material(nullptr);
  127. return;
  128. }
  129.  
  130. draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement