Для тех кто нуждается в этом, можете забрать совершенно бесплатно, без хайда, всё для вас
Код
else if (modelName.find("arms") != std::string::npos && Vars.Visuals.Removals.Hands == 1)
{
IMaterial* Hands = I::MaterialSystem->FindMaterial(modelName.c_str(), XorStr(TEXTURE_GROUP_MODEL));
Hands->SetMaterialVarFlag(MATERIAL_VAR_WIREFRAME, true);
Hands->AlphaModulate(1.0f);
I::ModelRender->ForcedMaterialOverride(Hands);
}
else if (modelName.find("arms") != std::string::npos && Vars.Visuals.Removals.Hands == 2)
{
IMaterial* Hands = I::MaterialSystem->FindMaterial(modelName.c_str(), XorStr(TEXTURE_GROUP_MODEL));
Hands->SetMaterialVarFlag(MATERIAL_VAR_TRANSLUCENT, true);
Hands->AlphaModulate(0.5);
Hands->ColorModulate(255, 0, 0);
I::ModelRender->ForcedMaterialOverride(Hands);
}
else if (modelName.find("arms") != std::string::npos && Vars.Visuals.Removals.Hands == 3)
{
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);
}
else if (modelName.find("weapon") != std::string::npos && Vars.Visuals.Removals.Weapon == 1)
{
if (!(modelName.find("arms") != std::string::npos))
{
IMaterial* Weapon = I::MaterialSystem->FindMaterial(modelName.c_str(), XorStr(TEXTURE_GROUP_MODEL));
Weapon->SetMaterialVarFlag(MATERIAL_VAR_NO_DRAW, true);
I::ModelRender->ForcedMaterialOverride(Weapon);
}
}
else if (modelName.find("weapon") != std::string::npos && Vars.Visuals.Removals.Weapon == 2)
{
if (!(modelName.find("arms") != std::string::npos))
{
IMaterial* Weapon = I::MaterialSystem->FindMaterial(modelName.c_str(), XorStr(TEXTURE_GROUP_MODEL));
Weapon->SetMaterialVarFlag(MATERIAL_VAR_WIREFRAME, true);
I::ModelRender->ForcedMaterialOverride(Weapon);
}
}
if (modelName.find("weapon") != std::string::npos && Vars.Visuals.Removals.Weapon == 3)
{
if (!(modelName.find("arms") != std::string::npos))
{
static IMaterial* Weapon = I::MaterialSystem->CreateMaterial(false, true, false);
static int counter = 0;
static float colors[3] = { 1.f, 0.f, 0.f };
I::RenderView->SetColorModulation(colors);
I::RenderView->SetBlend(1.0f);
I::ModelRender->ForcedMaterialOverride(Weapon);
}
}
else if (modelName.find("weapon") != std::string::npos && Vars.Visuals.Removals.Weapon == 4)
{
if (!(modelName.find("arms") != std::string::npos))
{
static IMaterial* Weapon = I::MaterialSystem->CreateMaterial(false, true, false);
static int counter = 0;
static float colors[3] = { 1.f, 0.f, 0.f };
if (colors[counter] >= 1.0f)
{
colors[counter] = 1.0f;
counter += 1;
if (counter > 2)
counter = 0;
}
else
{
int prev = counter - 1;
if (prev < 0) prev = 2;
colors[prev] -= 0.004f;
colors[counter] += 0.004f;
}
I::RenderView->SetColorModulation(colors);
I::RenderView->SetBlend(0.7f);
I::ModelRender->ForcedMaterialOverride(Weapon);
}
}
}
}