-
Автор темы
- #1
Кароче мне нужно в инсомнии(JesusCry) сделать возвращение из найтмода. Как я понял единственный способ - это считать значения на данный момент, и создать функцию, с заменой обратно, но я не очень понимаю как. Вот код функции NightMode.
Код:
void NightMode(CPlayer* me, CUserCmd* cmd)
{
{
static bool bPerformed = false, bLastSetting;
ConVar* r_drawspecificstaticprop = Interface.CVar->FindVar("r_drawspecificstaticprop");
SpoofedConvar* r_drawspecificstaticprop_s = new SpoofedConvar(r_drawspecificstaticprop);
r_drawspecificstaticprop_s->SetInt(0);
if (!bPerformed)
{
for (MaterialHandle_t i = Interface.MatSystem->FirstMaterial(); i != Interface.MatSystem->InvalidMaterial(); i = Interface.MatSystem->NextMaterial(i))
{
IMaterial *pMaterial = Interface.MatSystem->GetMaterial(i);
if (!pMaterial)
continue;
if (strstr(pMaterial->GetTextureGroupName(), "World")) {
pMaterial->ColorModulate(0.035, 0.035, 0.035);
}
if (strstr(pMaterial->GetTextureGroupName(), "StaticProp")) {
pMaterial->ColorModulate(0.12, 0.12, 0.12);
}
if (strstr(pMaterial->GetTextureGroupName(), "Model")) {
pMaterial->ColorModulate(0.40, 0.40, 0.40);
}
bPerformed = true;
}
}
if (bLastSetting != bLastSetting) {
bLastSetting = bLastSetting;
bPerformed = false;
}
}
}