Nightmode off[help]

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
12 Июл 2017
Сообщения
205
Реакции
25
Кароче мне нужно в инсомнии(JesusCry) сделать возвращение из найтмода. Как я понял единственный способ - это считать значения на данный момент, и создать функцию, с заменой обратно, но я не очень понимаю как. Вот код функции NightMode.

Код:
Expand Collapse Copy
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;
            }
        }
    }
 
делай
Код:
Expand Collapse Copy
pMaterial->ColorModulate(1, 1, 1);
если выключено
 
делай
Код:
Expand Collapse Copy
pMaterial->ColorModulate(1, 1, 1);
если выключено
Код:
Expand Collapse Copy
void NightModeOff(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);

                    pMaterial->ColorModulate(1, 1, 1);
                }
            }
            if (bLastSetting != bLastSetting) {
                bLastSetting = bLastSetting;
                bPerformed = false;
            }
        }
    }
Так?)
 
@Rusty_b0lt сделай еще проверку на имя текстуры (World, Model, StaticProp)
 
Назад
Сверху Снизу