C++ Xy0 rainbow chams

Escalation Project
Забаненный
Статус
Оффлайн
Регистрация
9 Май 2019
Сообщения
275
Реакции[?]
74
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
hooks.cpp


void __fastcall Hooks::DrawModelExecute(void* ecx, void* edx, IMatRenderContext* context, const DrawModelState_t& state, const ModelRenderInfo_t& info, matrix3x4_t* matrix)
{
    static auto oDrawModelExecute = g_Hooks.pModelHook->GetOriginal<DrawModelExecute_t>(vtable_indexes::dme);

    const char* ModelName = g_pModelInfo->GetModelName((model_t*)info.pModel);

    C_BaseEntity* pPlayerEntity = g_pEntityList->GetClientEntity(info.index);


    if (pPlayerEntity && pPlayerEntity->IsAlive() && !pPlayerEntity->IsDormant() && strstr(ModelName, "models/player") && Globals::LocalPlayer && pPlayerEntity == Globals::LocalPlayer) {
        if (Globals::LocalPlayer->IsScoped())
        {
            g_pRenderView->SetBlend(0.4f);
        }
    }

    static std::vector< IMaterial* > materials;
    static unsigned int s, v, i;
    static float h, r, g, b, f, p, q, t;

    h = g_pGlobalVars->realtime * 0.5f;
    s = 1;
    v = 1;

    i = floor(h * 6);
    f = h * 6 - i;
    p = v * (1 - s);
    q = v * (1 - f * s);
    t = v * (1 - (1 - f) * s);

    switch (i % 6)
    {
    case 0: r = v, g = t, b = p; break;
    case 1: r = q, g = v, b = p; break;
    case 2: r = p, g = v, b = t; break;
    case 3: r = p, g = q, b = v; break;
    case 4: r = t, g = p, b = v; break;
    case 5: r = v, g = p, b = q; break;
    }

    r = round(r * 255), g = round(g * 255), b = round(b * 255);
    static bool once{ false };
    if (!once) {
        materials.push_back(create_material(true, false, false)); // material.
        //materials.push_back(create_material(false, false, false, 0)); // flat.
        //materials.push_back(create_material(true, false, true)); // material zignore.
        //materials.push_back(create_material(false, false, true)); // flat zignore.
        once = true;
    }


    //float hand_chams[3] = { c_config::get().hand_chams_color_r / 255.f, c_config::get().hand_chams_color_g / 255.f, c_config::get().hand_chams_color_b / 255.f };
    //float weapon_chams[3] = { c_config::get().weapon_chams_color_r / 255.f, c_config::get().weapon_chams_color_g / 255.f, c_config::get().weapon_chams_color_b / 255.f };
    auto HandChams = c_config::get().hand_chams;
    auto WeaponChams = c_config::get().weapon_chams;
    auto WeaponrgbChams = c_config::get().weaponrgb_chams;
    auto HandrgbChams = c_config::get().handrgb_chams;
    if (strstr(ModelName, "arms") && HandChams)
    {
        //g_pRenderView->SetBlend(c_config::get().hand_chams_color_a / 100.f);
        //g_pRenderView->SetColorModulation(hand_chams);
        g_pModelRender->ForcedMaterialOverride(materials.at(0));
        Color col = Color(c_config::get().hand_chams_color[0] * 255, c_config::get().hand_chams_color[1] * 255, c_config::get().hand_chams_color[2] * 255, c_config::get().hand_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);

    }
    if (strstr(ModelName, "arms") && HandrgbChams)
    {
        //g_pRenderView->SetBlend(c_config::get().hand_chams_color_a / 100.f);
        //g_pRenderView->SetColorModulation(hand_chams);
        g_pModelRender->ForcedMaterialOverride(materials.at(0));
        Color col = Color(r, g, b, 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);

    }
    Color col = Color(r, g, b, 255);
    if (strstr(ModelName, "v_") && !strstr(ModelName, "arms") && WeaponChams > 0)
    {
        g_pModelRender->ForcedMaterialOverride(materials.at(0));
        Color col = Color(c_config::get().weapon_chams_color[0] * 255, c_config::get().weapon_chams_color[1] * 255, c_config::get().weapon_chams_color[2] * 255, c_config::get().weapon_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);


    }
    if (strstr(ModelName, "v_") && !strstr(ModelName, "arms") && WeaponrgbChams > 0)
    {
        g_pModelRender->ForcedMaterialOverride(materials.at(0));
        Color col = Color(r, g, b, 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);


    }
    oDrawModelExecute(ecx, context, state, info, matrix);
}






C++:
config.h
bool wireframe_arms = false;
    bool hand_chams = false;
    bool weapon_chams = false;
    bool localrgb_chams = false;
    bool desyncrgb_chams = false;
    bool chamsrgb_enemies = false;
    bool handrgb_chams = false;
    bool weaponrgb_chams = false;



C++:
ImGui::Checkbox("Chams Weapon", &c_config::get().weapon_chams);
        ImGui::ColorEdit3("Weapon color", c_config::get().weapon_chams_color, ImGuiColorEditFlags_NoInputs);
        ImGui::Checkbox("Hand Rainbow", &c_config::get().handrgb_chams);
        ImGui::Checkbox("Weapon Rainbow", &c_config::get().weaponrgb_chams);
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
2 Дек 2016
Сообщения
2,390
Реакции[?]
1,881
Поинты[?]
36K
(*(void(__thiscall**)(int, float, float, float))(*(DWORD*)pVar + 44))((uintptr_t)pVar, col.red / 255.f, col.green / 255.f, col.blue / 255.f);
Блять, что это за паста......
Без антипасты и пКода:

Код:
class IMaterialVar
{
public:
    void set_vec_value(float r, float g, float b) {
        using original_fn = void(__thiscall*)(IMaterialVar*, float, float, float);
        return (*(original_fn**)this)[11](this, r, g, b);
    }
};
Как юзать:
Код:
auto color = glow->FindVar("$envmaptint", &found);
color->set_vec_value(g_Options.color_glow_noobz[0], g_Options.color_glow_noobz[1], g_Options.color_glow_noobz[2]);
 
Забаненный
Статус
Оффлайн
Регистрация
23 Июн 2020
Сообщения
26
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
did someone still pasting shit xy0?
 
Пользователь
Статус
Оффлайн
Регистрация
21 Мар 2020
Сообщения
110
Реакции[?]
49
Поинты[?]
1K
нахуя когда можно сделать так?

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.05f;
colors[counter] += 0.05f;
}

if (c_config::get().rainbow_chams)
{
c_config::get().chams_esp_color_r = colors[0] * 255;
c_config::get().chams_esp_color_g = colors[1] * 255;
c_config::get().chams_esp_color_b = colors[2] * 255;
}
 
Последнее редактирование:
Вы нарушили правила Игрового форума YouGame.Biz
Забаненный
Статус
Оффлайн
Регистрация
6 Июл 2020
Сообщения
25
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
старый добрый хуо, нахуй оно кому то надо
 
Похожие темы
Сверху Снизу