-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Может кто хотел сделать glass chams как на фоточке
Итак начнем делать будем на сурсах Team Gamer Food к примеру возьму исходники YANDEREHOOK
Итак код самого материала :

Итак начнем делать будем на сурсах Team Gamer Food к примеру возьму исходники YANDEREHOOK
Код:
IMaterial *GlassChams = I::MaterialSystem->FindMaterial(charenc("models/inventory_items/cologne_prediction/cologne_prediction_glass"), charenc(TEXTURE_GROUP_OTHER));
Нам нужен файл DrawModelExecute.cpp именно там находятся наши чамсики
Код:
#include "Cheat.h"
DrawModelExecuteFn oDrawModelExecute;
void ForceMaterial(IMaterial* material, Color color)
{
if (material != NULL)
{
I::RenderView->SetColorModulation(color.Base());
I::ModelRender->ForcedMaterialOverride(material);
}
}
void __stdcall Hooks::DrawModelExecute(void* context, void* state, const ModelRenderInfo_t& info, matrix3x4_t* pCustomBoneToWorld)
{
IMaterial *GlassChams = I::MaterialSystem->FindMaterial(charenc("models/inventory_items/cologne_prediction/cologne_prediction_glass"), charenc(TEXTURE_GROUP_OTHER));
Color color;
H::ModelRender->UnHook();
if (I::Engine->IsInGame() && G::LocalPlayer)
{
if (info.pModel)
{
std::string modelName = I::ModelInfo->GetModelName(info.pModel);
if (modelName.find(strenc("models/player")) != std::string::npos && Vars.Visuals.Chams.Enabled)
{
CBaseEntity* pModelEntity = (CBaseEntity*)I::ClientEntList->GetClientEntity(info.entity_index);
if (pModelEntity && pModelEntity->GetAlive() && !pModelEntity->GetDormant())
{
if (Vars.Visuals.Filter.Enemies && !Vars.Visuals.Filter.Friendlies && pModelEntity->GetTeam() != G::LocalPlayer->GetTeam())
{
Color render_color_hidden = pModelEntity->GetTeam() == G::LocalPlayer->GetTeam() ? Color(72, 219, 75) : Color(232, 209, 32);
Color render_color_visible = pModelEntity->GetTeam() == G::LocalPlayer->GetTeam() ? Color(84, 167, 255) : Color(200, 60, 60);
if (Vars.Visuals.Chams.XQZ)
{
if (Vars.Visuals.Chams.Mode == 0)
ForceMaterial(hidden_flat, render_color_hidden);
else if (Vars.Visuals.Chams.Mode == 1)
ForceMaterial(hidden_tex, render_color_hidden);
else if (Vars.Visuals.Chams.Mode == 2)
ForceMaterial(hidden_wire, render_color_hidden);
else if (Vars.Visuals.Chams.Mode == 2)
ForceMaterial(GlassChams, render_color_hidden);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
if (Vars.Visuals.Chams.Mode == 0)
{
hidden_flat->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
else if (Vars.Visuals.Chams.Mode == 1)
{
hidden_tex->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
else if (Vars.Visuals.Chams.Mode == 2)
{
hidden_wire->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
else if (Vars.Visuals.Chams.Mode == 3)
{
GlassChams->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
}
if (Vars.Visuals.Chams.Mode == 0)
{
visible_flat->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
else if (Vars.Visuals.Chams.Mode == 1)
{
visible_tex->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
else if (Vars.Visuals.Chams.Mode == 2)
{
visible_wire->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
else if (Vars.Visuals.Chams.Mode == 3)
{
GlassChams->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
if (Vars.Visuals.Chams.Mode == 0)
ForceMaterial(visible_flat, render_color_visible);
else if (Vars.Visuals.Chams.Mode == 1)
ForceMaterial(visible_tex, render_color_visible);
else if (Vars.Visuals.Chams.Mode == 2)
ForceMaterial(visible_wire, render_color_visible);
else if (Vars.Visuals.Chams.Mode == 3)
ForceMaterial(GlassChams, render_color_visible);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
}
else if (!Vars.Visuals.Filter.Enemies && Vars.Visuals.Filter.Friendlies && pModelEntity->GetTeam() == G::LocalPlayer->GetTeam())
{
Color render_color_hidden = pModelEntity->GetTeam() == G::LocalPlayer->GetTeam() ? Color(72, 219, 75) : Color(232, 209, 32);
Color render_color_visible = pModelEntity->GetTeam() == G::LocalPlayer->GetTeam() ? Color(84, 167, 255) : Color(200, 60, 60);
if (Vars.Visuals.Chams.XQZ)
{
if (Vars.Visuals.Chams.Mode == 0)
ForceMaterial(hidden_flat, render_color_hidden);
else if (Vars.Visuals.Chams.Mode == 1)
ForceMaterial(hidden_tex, render_color_hidden);
else if (Vars.Visuals.Chams.Mode == 2)
ForceMaterial(hidden_wire, render_color_hidden);
else if (Vars.Visuals.Chams.Mode == 3)
ForceMaterial(GlassChams, render_color_hidden);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
if (Vars.Visuals.Chams.Mode == 0)
{
hidden_flat->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
else if (Vars.Visuals.Chams.Mode == 1)
{
hidden_tex->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
else if (Vars.Visuals.Chams.Mode == 2)
{
hidden_wire->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
else if (Vars.Visuals.Chams.Mode == 3)
{
GlassChams->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
}
if (Vars.Visuals.Chams.Mode == 0)
{
visible_flat->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
else if (Vars.Visuals.Chams.Mode == 1)
{
visible_tex->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
else if (Vars.Visuals.Chams.Mode == 2)
{
visible_wire->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
else if (Vars.Visuals.Chams.Mode == 3)
{
GlassChams->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
if (Vars.Visuals.Chams.Mode == 0)
ForceMaterial(visible_flat, render_color_visible);
else if (Vars.Visuals.Chams.Mode == 1)
ForceMaterial(visible_tex, render_color_visible);
else if (Vars.Visuals.Chams.Mode == 2)
ForceMaterial(visible_wire, render_color_visible);
else if (Vars.Visuals.Chams.Mode == 2)
ForceMaterial(GlassChams, render_color_visible);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
}
else if (Vars.Visuals.Filter.Enemies && Vars.Visuals.Filter.Friendlies)
{
Color render_color_hidden = pModelEntity->GetTeam() == G::LocalPlayer->GetTeam() ? Color(72, 219, 75) : Color(232, 209, 32);
Color render_color_visible = pModelEntity->GetTeam() == G::LocalPlayer->GetTeam() ? Color(84, 167, 255) : Color(200, 60, 60);
if (Vars.Visuals.Chams.XQZ)
{
if (Vars.Visuals.Chams.Mode == 0)
ForceMaterial(hidden_flat, render_color_hidden);
else if (Vars.Visuals.Chams.Mode == 1)
ForceMaterial(hidden_tex, render_color_hidden);
else if (Vars.Visuals.Chams.Mode == 2)
ForceMaterial(hidden_wire, render_color_hidden);
else if (Vars.Visuals.Chams.Mode == 2)
ForceMaterial(GlassChams, render_color_hidden);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
if (Vars.Visuals.Chams.Mode == 0)
{
hidden_flat->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
else if (Vars.Visuals.Chams.Mode == 1)
{
hidden_tex->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
else if (Vars.Visuals.Chams.Mode == 2)
{
hidden_wire->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
else if (Vars.Visuals.Chams.Mode == 3)
{
GlassChams->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, true);
}
}
if (Vars.Visuals.Chams.Mode == 0)
{
visible_flat->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
else if (Vars.Visuals.Chams.Mode == 1)
{
visible_tex->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
else if (Vars.Visuals.Chams.Mode == 2)
{
visible_wire->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
else if (Vars.Visuals.Chams.Mode == 3)
{
GlassChams->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
}
if (Vars.Visuals.Chams.Mode == 0)
ForceMaterial(visible_flat, render_color_visible);
else if (Vars.Visuals.Chams.Mode == 1)
ForceMaterial(visible_tex, render_color_visible);
else if (Vars.Visuals.Chams.Mode == 2)
ForceMaterial(visible_wire, render_color_visible);
else if (Vars.Visuals.Chams.Mode == 3)
ForceMaterial(GlassChams, render_color_visible);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
}
}
}
else if (modelName.find(strenc("flash")) != std::string::npos && Vars.Changer.NoFlash)
{
IMaterial* flash = I::MaterialSystem->FindMaterial(charenc("effects\\flashbang"), charenc(TEXTURE_GROUP_CLIENT_EFFECTS));
IMaterial* flashWhite = I::MaterialSystem->FindMaterial(charenc("effects\\flashbang_white"), charenc(TEXTURE_GROUP_CLIENT_EFFECTS));
flash->SetMaterialVarFlag(MATERIAL_VAR_NO_DRAW, true);
flashWhite->SetMaterialVarFlag(MATERIAL_VAR_NO_DRAW, true);
I::ModelRender->ForcedMaterialOverride(flash);
I::ModelRender->ForcedMaterialOverride(flashWhite);
}
float r = Vars.Colors.HandR / 255.f;
float g = Vars.Colors.HandG / 255.f;
float b = Vars.Colors.HandB / 255.f;
if (Vars.Changer.HandChams == 1 && modelName.find(charenc("arms")) != std::string::npos)
{
//CBaseEntity* pLocal = (CBaseEntity*)I::ClientEntList->GetClientEntity(I::Engine->GetLocalPlayer());
static IMaterial* Wireframe = I::MaterialSystem->CreateMaterial(false, true, true);
Wireframe->ColorModulate(r, g, b);
I::ModelRender->ForcedMaterialOverride(Wireframe);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
}
else if (Vars.Changer.HandChams == 2 && modelName.find(charenc("arms")) != std::string::npos)
{
//CBaseEntity* pLocal = (CBaseEntity*)I::ClientEntList->GetClientEntity(I::Engine->GetLocalPlayer());
static IMaterial* Chams = I::MaterialSystem->CreateMaterial(false, true, false);
Chams->ColorModulate(r, g, b);
I::ModelRender->ForcedMaterialOverride(Chams);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
}
else if (Vars.Changer.HandChams == 3 && modelName.find(charenc("arms")) != std::string::npos)
{
//CBaseEntity* pLocal = (CBaseEntity*)I::ClientEntList->GetClientEntity(I::Engine->GetLocalPlayer());
static IMaterial* Asus = I::MaterialSystem->CreateMaterial(false, true, false);
Asus->AlphaModulate(0.4f);
I::ModelRender->ForcedMaterialOverride(Asus);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
}
else if (Vars.Changer.HandChams == 4 && modelName.find(charenc("arms")) != std::string::npos)
{
IMaterial* arms = I::MaterialSystem->FindMaterial(charenc("arms"), charenc(TEXTURE_GROUP_MODEL));
arms->SetMaterialVarFlag(MATERIAL_VAR_NO_DRAW, true);
I::ModelRender->ForcedMaterialOverride(arms);
}
else if (Vars.Changer.HandChams == 5 && modelName.find(charenc("arms")) != std::string::npos)
{
//CBaseEntity* pLocal = (CBaseEntity*)I::ClientEntList->GetClientEntity(I::Engine->GetLocalPlayer());
static IMaterial* Chams = I::MaterialSystem->CreateMaterial(false, true, false);
static IMaterial* Wireframe = I::MaterialSystem->CreateMaterial(false, true, true);
Chams->ColorModulate(0.f, 0.f, 0.f);
Wireframe->ColorModulate(1.f, 1.f, 1.f);
I::ModelRender->ForcedMaterialOverride(Chams);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
I::ModelRender->ForcedMaterialOverride(Wireframe);
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
}
}
//IMaterial *GlassChams = material->FindMaterial(charenc("models/inventory_items/cologne_prediction/cologne_prediction_glass"), charenc(TEXTURE_GROUP_OTHER));
I::ModelRender->DrawModelExecute(context, state, info, pCustomBoneToWorld);
I::ModelRender->ForcedMaterialOverride(NULL);
H::ModelRender->ReHook();
}
}
Последнее редактирование: