Гайд Делаем цветной скайбокс в indigo из стакхаков итд...

f3mb0y
Участник
Статус
Оффлайн
Регистрация
14 Фев 2017
Сообщения
625
Реакции[?]
291
Поинты[?]
1K
Ну ваще все очень просто, тут 2па мемы:

Идем в Misc.cpp и туда суем

Код:
void CMisc::ModulateSky()
{
    static bool sky_performed = false, sky_lastsetting;

    if (!Interfaces::Engine()->IsConnected() || !Interfaces::Engine()->IsInGame())
    {
        if (sky_performed)
            sky_performed = false;
        return;
    }

    if (sky_performed != Settings::Misc::SkyBoxColorBool)
    {
        sky_lastsetting = Settings::Misc::SkyBoxColorBool;
        sky_performed = false;
    }

    auto local_player = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetLocalPlayer());

    if (!local_player)
        return;

    if (!local_player)
    {
        if (sky_performed)
            sky_performed = false;
        return;
    }

    if (sky_lastsetting != Settings::Misc::SkyBoxColorBool)
    {
        sky_lastsetting = Settings::Misc::SkyBoxColorBool;
        sky_performed = false;
    }

    if (!sky_performed)
    {
        #define FCVAR_CHEAT    (1<<14)
        static auto r_DrawSpecificStaticProp = Interfaces::GetConVar()->FindVar("r_DrawSpecificStaticProp");
        r_DrawSpecificStaticProp->nFlags &= ~FCVAR_CHEAT;
        r_DrawSpecificStaticProp->SetValue(1);

        static auto sv_skyname = Interfaces::GetConVar()->FindVar("sv_skyname");
        sv_skyname->nFlags &= ~FCVAR_CHEAT;

        static auto mat_postprocess_enable = Interfaces::GetConVar()->FindVar("mat_postprocess_enable");
        mat_postprocess_enable->SetValue(0);

        for (MaterialHandle_t i = Interfaces::MaterialSystem()->FirstMaterial(); i != Interfaces::MaterialSystem()->InvalidMaterial(); i = Interfaces::MaterialSystem()->NextMaterial(i))
        {
            IMaterial *pMaterial = Interfaces::MaterialSystem()->GetMaterial(i);

            if (!pMaterial)
                continue;

            if (strstr(pMaterial->GetTextureGroupName(), ("SkyBox")))
            {

                if (Settings::Misc::SkyBoxColorBool)
                {
                    pMaterial->ColorModulate(int(Settings::Colors::skycolor[0] * 255.f), int(Settings::Colors::skycolor[1] * 255.f), int(Settings::Colors::skycolor[2] * 255.f));
                }
                else
                {
                    pMaterial->ColorModulate(1, 1, 1);
                }
            }

        }
        sky_performed = true;
    }
}
Далее идем в Misc.h и туда в паблик класса CMisc вставляем
Код:
void ModulateSky();
Ну шо же, мы почти топ кодеры, осталось токо пойти в фсн хук и сделать вызов там:
Идем в Hook.cpp и в FrameStageNotify хук добавить это:
Код:
Client::g_pMisc->ModulateSky();
Ну и в заключение делаем переменные
Код:
bool SkyBoxColorBool = false;
float skycolor[3] = { 0.f,0.0f,0.f };
--------------------
extern bool SkyBoxColorBool;
extern float skycolor[3];
И вывод в меню
Код:
ImGui::Checkbox("SkyBox Enable Custom Color", &Settings::Misc::SkyBoxColorBool);
ImGui::MyColorEdit3("Sky Color", Settings::Colors::skycolor);
Единственный минус, что после изменения цвета придется менятся выключать/включать, но это можно не сложно сделать.
А вот и "SS"
 
Последнее редактирование:
//comment your shit paste
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2017
Сообщения
450
Реакции[?]
119
Поинты[?]
0
Код:
 static bool sky_performed = false, sky_lastsetting;

    if (!Interfaces::Engine()->IsConnected() || !Interfaces::Engine()->IsInGame())
    {
        if (sky_performed)
            sky_performed = false;
        return;
    }

    if (sky_performed != Settings::Misc::SkyBoxColorBool)
    {
        sky_lastsetting = Settings::Misc::SkyBoxColorBool;
        sky_performed = false;
    }

    auto local_player = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetLocalPlayer());

    if (!local_player)
        return;

    if (!local_player)
    {
        if (sky_performed)
            sky_performed = false;
        return;
    }
топ код хуле
 
Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
Код:
void CMisc::ModulateSky()
{
    static float NowSkyColor[3];
    static bool OnSky = false;

    if (Settings::Misc::misc_ColoredSky && (NowSkyColor[0] != Settings::Esp::color_esp_ColoredSky[0] || NowSkyColor[1] != Settings::Esp::color_esp_ColoredSky[1] || NowSkyColor[2] != Settings::Esp::color_esp_ColoredSky[2]) ||
        Settings::Misc::misc_ColoredSky && !OnSky ||
        !Settings::Misc::misc_ColoredSky && OnSky)
    {
#define FCVAR_CHEAT    (1<<14)
        static auto r_DrawSpecificStaticProp = Interfaces::GetConVar()->FindVar("r_DrawSpecificStaticProp");
        r_DrawSpecificStaticProp->nFlags &= ~FCVAR_CHEAT;
        r_DrawSpecificStaticProp->SetValue(1);

        static auto sv_skyname = Interfaces::GetConVar()->FindVar("sv_skyname");
        sv_skyname->nFlags &= ~FCVAR_CHEAT;

        static auto mat_postprocess_enable = Interfaces::GetConVar()->FindVar("mat_postprocess_enable");
        mat_postprocess_enable->SetValue(0);

        for (MaterialHandle_t i = Interfaces::MaterialSystem()->FirstMaterial(); i != Interfaces::MaterialSystem()->InvalidMaterial(); i = Interfaces::MaterialSystem()->NextMaterial(i))
        {
            IMaterial *pMaterial = Interfaces::MaterialSystem()->GetMaterial(i);

            if (!pMaterial)
                continue;

            if (strstr(pMaterial->GetTextureGroupName(), ("SkyBox")))
            {

                if (Settings::Misc::misc_ColoredSky)
                {
                    pMaterial->ColorModulate(int(Settings::Esp::color_esp_ColoredSky[0] * 255.f), int(Settings::Esp::color_esp_ColoredSky[1] * 255.f), int(Settings::Esp::color_esp_ColoredSky[2] * 255.f));
                    OnSky = true;
                }
                else
                {
                    pMaterial->ColorModulate(1, 1, 1);
                    r_DrawSpecificStaticProp->SetValue(0);
                    mat_postprocess_enable->SetValue(1);

                    OnSky = false;
                }
            }

        }
        NowSkyColor[0] = Settings::Esp::color_esp_ColoredSky[0];
        NowSkyColor[1] = Settings::Esp::color_esp_ColoredSky[1];
        NowSkyColor[2] = Settings::Esp::color_esp_ColoredSky[2];
    }
}
+ твоего минуса не будет

P.S. Я так понял нет промежуточного цвета между 0 и 1, либо это я что-то не так сделал?
 
Сверху Снизу