Исходник Glow chams color selector

Бульдозер
Эксперт
Статус
Оффлайн
Регистрация
18 Июл 2019
Сообщения
1,231
Реакции[?]
508
Поинты[?]
2K

C++:
                        Color col = Color(c_config::get().chams_esp_color_r, c_config::get().chams_esp_color_g, c_config::get().chams_esp_color_b, c_config::get().chams_esp_color_a);

                        bool bFound = false;
                        auto pVar = materials.at(номер вашего глоу чамс материала)->FindVar("$envmaptint", &bFound);
                        if (bFound)
                            (*(void(__thiscall**)(int, float, float, float))(*(DWORD*)pVar + 44))((uintptr_t)pVar, col.red / 255.f, col.green / 255.f, col.blue / 255.f);
Вставляете этот код после вашего материала.
Что бы всё работало - убераете шейдер $envmaptint, который вставляли при создании материала

Что бы работало на руки - делаете тоже самое

chams_esp_color_r/chams_esp_color_g/chams_esp_color_b/chams_esp_color_a - цвета которые выбираются в колор селекторе перед вашим чекбоксом
 
sex
Забаненный
Статус
Оффлайн
Регистрация
4 Окт 2017
Сообщения
1,071
Реакции[?]
160
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
спасибо за код,который уже миллион раз продублировали на форуме.
 
quality solution
Участник
Статус
Оффлайн
Регистрация
30 Май 2019
Сообщения
579
Реакции[?]
193
Поинты[?]
0

C++:
                        Color col = Color(c_config::get().chams_esp_color_r, c_config::get().chams_esp_color_g, c_config::get().chams_esp_color_b, c_config::get().chams_esp_color_a);

                        bool bFound = false;
                        auto pVar = materials.at(номер вашего глоу чамс материала)->FindVar("$envmaptint", &bFound);
                        if (bFound)
                            (*(void(__thiscall**)(int, float, float, float))(*(DWORD*)pVar + 44))((uintptr_t)pVar, col.red / 255.f, col.green / 255.f, col.blue / 255.f);
Вставляете этот код после вашего материала.
Что бы всё работало - убераете шейдер $envmaptint, который вставляли при создании материала

Что бы работало на руки - делаете тоже самое

chams_esp_color_r/chams_esp_color_g/chams_esp_color_b/chams_esp_color_a - цвета которые выбираются в колор селекторе перед вашим чекбоксом
ты бы хоть обьяснил как это работает,кинул чисто исход,люди хуй поймут че
 
quality solution
Участник
Статус
Оффлайн
Регистрация
30 Май 2019
Сообщения
579
Реакции[?]
193
Поинты[?]
0

C++:
                        Color col = Color(c_config::get().chams_esp_color_r, c_config::get().chams_esp_color_g, c_config::get().chams_esp_color_b, c_config::get().chams_esp_color_a);

                        bool bFound = false;
                        auto pVar = materials.at(номер вашего глоу чамс материала)->FindVar("$envmaptint", &bFound);
                        if (bFound)
                            (*(void(__thiscall**)(int, float, float, float))(*(DWORD*)pVar + 44))((uintptr_t)pVar, col.red / 255.f, col.green / 255.f, col.blue / 255.f);
Вставляете этот код после вашего материала.
Что бы всё работало - убераете шейдер $envmaptint, который вставляли при создании материала

Что бы работало на руки - делаете тоже самое

chams_esp_color_r/chams_esp_color_g/chams_esp_color_b/chams_esp_color_a - цвета которые выбираются в колор селекторе перед вашим чекбоксом
нету также материала тут,не вижу вообще смысла от темы
 
Бульдозер
Эксперт
Статус
Оффлайн
Регистрация
18 Июл 2019
Сообщения
1,231
Реакции[?]
508
Поинты[?]
2K
нету также материала тут,не вижу вообще смысла от темы
тема не глоу чамсы а колор селектор для глоу чамсов


Специально для тебя


C++:
IMaterial* create_material1(bool shade, bool wireframe, bool ignorez, int rimlight_boost = 0) {
    static const std::string material_name = "glowOverlay.vmt";
    const std::string material_type = shade ? "VertexLitGeneric" : "UnlitGeneric";

    std::string material_data;

    material_data += "\"" + material_type + "\"\n{\n";
    material_data += "\t\"$additive\" \"1\"\n";
    material_data += "\t\"$envmap\" \"models/effects/cube_white\"\n";
    material_data += "\t\"$envmapfresnelminmaxexp\" \"[0 1 2]\"\n";
    //material_data += "\t\"$envmaptint\" \"[0 0.1 0.3]\"\n";
    material_data += "\t\"$envmapfresnel\" \"1\"\n";
    material_data += "\t\"$alpha\" \"0.8\"\n";
    material_data += "\t\"$ignorez\" \"" + std::to_string(ignorez) + "\"\n";
    material_data += "}\n";

    auto init_key_values = [](KeyValuesv2* keyvalues, const char* key_name) -> void {
        using InitKeyValues_t = void(__thiscall*)(void*, const char*);
        static InitKeyValues_t InitKeyValuesEx = nullptr;
        static auto pThis = *reinterpret_cast<DWORD**>(Utils::FindSignature("client_panorama.dll", "B9 ? ? ? ? E8 ? ? ? ? 8B 5D 08") + 1);
        if (!InitKeyValuesEx)
            InitKeyValuesEx = *reinterpret_cast<InitKeyValues_t>(Utils::FindSignature("client_panorama.dll", "55 8B EC 51 33 C0 C7 45"));

        InitKeyValuesEx(keyvalues, key_name);
    };
    auto load_from_buffer = [](KeyValuesv2* key_values, const char* resource_name, const char* buf, void* file_sys = nullptr, const char* path_id = nullptr, void* eval_sym_proc = nullptr, void* unk = nullptr) -> void {
        using LoadFromBuffer_t = void(__thiscall*)(void*, const char*, const char*, void*, const char*, void*, void*);
        static LoadFromBuffer_t LoadFromBufferEx = nullptr;

        if (!LoadFromBufferEx)
            LoadFromBufferEx = *reinterpret_cast<LoadFromBuffer_t>(Utils::FindSignature("client_panorama.dll", "55 8B EC 83 E4 F8 83 EC 34 53 8B 5D 0C 89"));

        LoadFromBufferEx(key_values, resource_name, buf, file_sys, path_id, eval_sym_proc, unk);
    };

    auto* key_values = new KeyValuesv2();
    init_key_values(key_values, material_type.c_str());
    load_from_buffer(key_values, material_name.c_str(), material_data.c_str());

    return g_pMaterialSys->CreateMaterial(material_name.c_str(), key_values);
}
 
quality solution
Участник
Статус
Оффлайн
Регистрация
30 Май 2019
Сообщения
579
Реакции[?]
193
Поинты[?]
0
тема не глоу чамсы а колор селектор для глоу чамсов


Специально для тебя


C++:
IMaterial* create_material1(bool shade, bool wireframe, bool ignorez, int rimlight_boost = 0) {
    static const std::string material_name = "glowOverlay.vmt";
    const std::string material_type = shade ? "VertexLitGeneric" : "UnlitGeneric";

    std::string material_data;

    material_data += "\"" + material_type + "\"\n{\n";
    material_data += "\t\"$additive\" \"1\"\n";
    material_data += "\t\"$envmap\" \"models/effects/cube_white\"\n";
    material_data += "\t\"$envmapfresnelminmaxexp\" \"[0 1 2]\"\n";
    //material_data += "\t\"$envmaptint\" \"[0 0.1 0.3]\"\n";
    material_data += "\t\"$envmapfresnel\" \"1\"\n";
    material_data += "\t\"$alpha\" \"0.8\"\n";
    material_data += "\t\"$ignorez\" \"" + std::to_string(ignorez) + "\"\n";
    material_data += "}\n";

    auto init_key_values = [](KeyValuesv2* keyvalues, const char* key_name) -> void {
        using InitKeyValues_t = void(__thiscall*)(void*, const char*);
        static InitKeyValues_t InitKeyValuesEx = nullptr;
        static auto pThis = *reinterpret_cast<DWORD**>(Utils::FindSignature("client_panorama.dll", "B9 ? ? ? ? E8 ? ? ? ? 8B 5D 08") + 1);
        if (!InitKeyValuesEx)
            InitKeyValuesEx = *reinterpret_cast<InitKeyValues_t>(Utils::FindSignature("client_panorama.dll", "55 8B EC 51 33 C0 C7 45"));

        InitKeyValuesEx(keyvalues, key_name);
    };
    auto load_from_buffer = [](KeyValuesv2* key_values, const char* resource_name, const char* buf, void* file_sys = nullptr, const char* path_id = nullptr, void* eval_sym_proc = nullptr, void* unk = nullptr) -> void {
        using LoadFromBuffer_t = void(__thiscall*)(void*, const char*, const char*, void*, const char*, void*, void*);
        static LoadFromBuffer_t LoadFromBufferEx = nullptr;

        if (!LoadFromBufferEx)
            LoadFromBufferEx = *reinterpret_cast<LoadFromBuffer_t>(Utils::FindSignature("client_panorama.dll", "55 8B EC 83 E4 F8 83 EC 34 53 8B 5D 0C 89"));

        LoadFromBufferEx(key_values, resource_name, buf, file_sys, path_id, eval_sym_proc, unk);
    };

    auto* key_values = new KeyValuesv2();
    init_key_values(key_values, material_type.c_str());
    load_from_buffer(key_values, material_name.c_str(), material_data.c_str());

    return g_pMaterialSys->CreateMaterial(material_name.c_str(), key_values);
}
У меня они уже как 2 месяца есть,ты это людям лучше скинь и обьясни
 
Бульдозер
Эксперт
Статус
Оффлайн
Регистрация
18 Июл 2019
Сообщения
1,231
Реакции[?]
508
Поинты[?]
2K
ты бы хоть обьяснил как это работает,кинул чисто исход,люди хуй поймут че
$envmaptint - конст при прописке материала, и отвечает за цвет
Мы его регулируем когда отрисовываем материал чамсов
 
Участник
Статус
Оффлайн
Регистрация
16 Дек 2018
Сообщения
991
Реакции[?]
177
Поинты[?]
17K
Забаненный
Статус
Оффлайн
Регистрация
17 Дек 2018
Сообщения
39
Реакции[?]
24
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Found this like half a year ago
 
Бульдозер
Эксперт
Статус
Оффлайн
Регистрация
18 Июл 2019
Сообщения
1,231
Реакции[?]
508
Поинты[?]
2K
Участник
Статус
Оффлайн
Регистрация
26 Апр 2018
Сообщения
851
Реакции[?]
181
Поинты[?]
0
мне тебя жалко просто ждалко ты свомими глазами не видешь то что делаешь
Код:
else if (IsLocal && !Globals::LocalPlayer->IsScoped())
        {
            if (c_config::get().local_chams)
            {
                g_pModelRender->ForcedMaterialOverride(mat_model);
                mat_model->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
                pPlayerEntity->DrawModel(0x00000001, 255);

                g_pModelRender->ForcedMaterialOverride(materials.at(0));
                materials.at(0)->SetMaterialVarFlag(MATERIAL_VAR_IGNOREZ, false);
                Color col = Color(c_config::get().local_chams_color[0] * 255, c_config::get().local_chams_color[1] * 255, c_config::get().local_chams_color[2] * 255, c_config::get().local_chams_color[3] * 255);

                bool bFound = false;
                auto pVar = materials.at(0)->FindVar("$envmaptint", &bFound);
                if (bFound)
                    (*(void(__thiscall**)(int, float, float, float))(*(DWORD*)pVar + 44))((uintptr_t)pVar, col.red / 255.f, col.green / 255.f, col.blue / 255.f);
                pPlayerEntity->DrawModel(0x00000001, 255);
            }
 
alive forever
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2017
Сообщения
663
Реакции[?]
400
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
$envmaptint - конст при прописке материала, и отвечает за цвет
Мы его регулируем когда отрисовываем материал чамсов
мозга спастить хватило,а дать класс с вирт функцией не хватило,жаль,жаль.
Ну да,хуле нам,пастерам
 
Бульдозер
Эксперт
Статус
Оффлайн
Регистрация
18 Июл 2019
Сообщения
1,231
Реакции[?]
508
Поинты[?]
2K
Сверху Снизу