Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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)
- {
- const char* model_name = interfaces::model_info->get_model_name((model_t*)info.model);
- if (strstr(model_name, "models/player/")) {
- auto entity = reinterpret_cast<player_t*>(interfaces::entity_list->get_client_entity(info.entity_index));
- if (csgo::local_player && entity && vars::checkbox["#chams_enable"]->get_bool() == true) {
- // Enemy Chams
- if (csgo::local_player != entity && entity->is_alive() == true && entity->team() != csgo::local_player->team())
- {
- if (vars::checkbox["#chams_xqz_enable"]->get_bool() == true) {
- // Invisible Chams
- 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 };
- i_material* ChamsinVisMat;
- ChamsinVisMat = interfaces::material_system->find_material("models/player/ct_fbi/ct_fbi_glass", "Model textures");
- ChamsinVisMat->set_material_var_flag(material_var_ignorez, true);
- ChamsinVisMat->set_material_var_flag(material_var_wireframe, false);
- ChamsinVisMat->alpha_modulate(255.f);
- // Override Mat
- interfaces::model_render->override_material(ChamsinVisMat);
- interfaces::render_view->modulate_color(inVisColor);
- draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
- interfaces::model_render->override_material(nullptr);
- }
- // Visible Chams
- 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 };
- i_material* ChamsVisMat;
- ChamsVisMat = interfaces::material_system->find_material("models/player/ct_fbi/ct_fbi_glass", "Model textures");
- ChamsVisMat->set_material_var_flag(material_var_ignorez, false);
- ChamsVisMat->set_material_var_flag(material_var_wireframe, false);
- ChamsVisMat->alpha_modulate(255.f);
- // Override Mat
- interfaces::model_render->override_material(ChamsVisMat);
- interfaces::render_view->modulate_color(VisColor);
- draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
- interfaces::model_render->override_material(nullptr);
- return;
- }
- // Team Chams
- if (entity->team() == csgo::local_player->team() && vars::checkbox["#chams_team_enable"]->get_bool() == true) {
- if (vars::checkbox["#chams_xqz_enable"]->get_bool() == true) {
- // Invisible Chams
- 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 };
- i_material* ChamsinVisMat;
- ChamsinVisMat = interfaces::material_system->find_material("models/player/ct_fbi/ct_fbi_glass", "Model textures");
- ChamsinVisMat->set_material_var_flag(material_var_ignorez, true);
- ChamsinVisMat->set_material_var_flag(material_var_wireframe, false);
- ChamsinVisMat->alpha_modulate(255.f);
- // Override Mat
- interfaces::model_render->override_material(ChamsinVisMat);
- interfaces::render_view->modulate_color(inVisColor);
- draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
- interfaces::model_render->override_material(nullptr);
- }
- // Visible Chams
- 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 };
- i_material* ChamsVisMat;
- ChamsVisMat = interfaces::material_system->find_material("models/player/ct_fbi/ct_fbi_glass", "Model textures");
- ChamsVisMat->set_material_var_flag(material_var_ignorez, false);
- ChamsVisMat->set_material_var_flag(material_var_wireframe, false);
- ChamsVisMat->alpha_modulate(255.f);
- // Override Mat
- interfaces::model_render->override_material(ChamsVisMat);
- interfaces::render_view->modulate_color(VisColor);
- draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
- interfaces::model_render->override_material(nullptr);
- return;
- }
- // Local Player Chams
- if (csgo::local_player == entity && csgo::local_player->is_alive() == true && vars::checkbox["#chams_local_enable"]->get_bool() == true)
- {
- // Visible Chams
- 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 };
- i_material* ChamsVisMat;
- ChamsVisMat = interfaces::material_system->find_material("models/player/ct_fbi/ct_fbi_glass", "Model textures");
- ChamsVisMat->set_material_var_flag(material_var_ignorez, false);
- ChamsVisMat->set_material_var_flag(material_var_wireframe, false);
- ChamsVisMat->alpha_modulate(255.f);
- // Override Mat
- interfaces::model_render->override_material(ChamsVisMat);
- interfaces::render_view->modulate_color(VisColor);
- draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
- interfaces::model_render->override_material(nullptr);
- return;
- }
- }
- // Arms Fix
- if (strstr(model_name, "arms"))
- {
- // Visible Chams
- 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 };
- i_material* ChamsVisMat;
- ChamsVisMat = interfaces::material_system->find_material("models/gibs/glass/glass", "Model textures");
- ChamsVisMat->set_material_var_flag(material_var_ignorez, false);
- ChamsVisMat->set_material_var_flag(material_var_wireframe, false);
- ChamsVisMat->alpha_modulate(255.f);
- // Override Mat
- interfaces::model_render->override_material(ChamsVisMat);
- interfaces::render_view->modulate_color(VisColor);
- draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
- interfaces::model_render->override_material(nullptr);
- return;
- }
- }
- // Arms Fix
- if (strstr(model_name, "arms"))
- {
- // Visible Chams
- 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 };
- i_material* ChamsVisMat;
- ChamsVisMat = interfaces::material_system->find_material("models/gibs/glass/glass", "Model textures");
- ChamsVisMat->set_material_var_flag(material_var_ignorez, false);
- ChamsVisMat->set_material_var_flag(material_var_wireframe, false);
- ChamsVisMat->alpha_modulate(255.f);
- // Override Mat
- interfaces::model_render->override_material(ChamsVisMat);
- interfaces::render_view->modulate_color(VisColor);
- draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
- interfaces::model_render->override_material(nullptr);
- return;
- }
- draw_model_execute_original(interfaces::model_render, ctx, state, info, bone_to_world);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement