Вопрос Хит чамсы

Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2021
Сообщения
103
Реакции[?]
44
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Luminate v2
 
Забаненный
Статус
Оффлайн
Регистрация
28 Янв 2021
Сообщения
137
Реакции[?]
17
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Участник
Статус
Онлайн
Регистрация
26 Мар 2019
Сообщения
707
Реакции[?]
167
Поинты[?]
1K
C++:
void add_matrix(Player* player, matrix3x4_t* bones)
{
    auto& hit = g_cl.m_Hitmatrix.emplace_back();

    std::memcpy(hit.pBoneToWorld, bones, 128 * sizeof(matrix3x4_t));
    hit.time = g_csgo.m_globals->m_realtime + 2.5f;

    static int m_nSkin = 0x00000A1C;
    static int m_nBody = 0x00000A20;

    hit.info.m_origin = player->GetAbsOrigin();
    hit.info.m_angles = player->GetAbsAngles();

    auto renderable = player->GetClientRenderable2();

    if (!renderable)
        return;

    auto model = player->GetModel();

    if (!model)
        return;

    auto hdr = *(studiohdr_t**)(player->m_studioHdr());

    if (!hdr)
        return;

    hit.state.m_pStudioHdr = hdr;
    hit.state.m_pStudioHWData = m_model_cache->GetHardwareData(model->studio);
    hit.state.m_pRenderable = renderable;
    hit.state.m_drawFlags = 0;

    hit.info.m_renderable = renderable;
    hit.info.m_model = model;
    hit.info.m_lighting_offset = nullptr;
    hit.info.m_lighting_origin = nullptr;
    hit.info.m_hitboxset = player->m_nHitboxSet();
    hit.info.m_skin = (int)(uintptr_t(player) + m_nSkin);
    hit.info.m_body = (int)(uintptr_t(player) + m_nBody);
    hit.info.m_index = player->index();
    hit.info.m_instance = call_virtual<unsigned short(__thiscall*)(void*) >(renderable, 30u)(renderable);
    hit.info.m_flags = 0x1;

    hit.info.m_model_to_world = &hit.model_to_world;
    hit.state.m_pModelToWorld = &hit.model_to_world;


    vec3_t fix = vec3_t(hit.info.m_angles.x, hit.info.m_angles.y, hit.info.m_angles.z);

    hit.model_to_world.AngleMatrix(fix, hit.info.m_origin);
}

C++:
void draw_hit_matrix()
{
    if (!g_cl.m_local)
        g_cl.m_Hitmatrix.clear();

    if (g_cl.m_Hitmatrix.empty())
        return;

    if (!g_csgo.m_model_render)
        return;

    auto ctx = g_csgo.m_material_system->GetRenderContext();

    if (!ctx)
        return;

    auto it = g_cl.m_Hitmatrix.begin();
    while (it != g_cl.m_Hitmatrix.end()) {
        if (!it->state.m_pModelToWorld || !it->state.m_pRenderable || !it->state.m_pStudioHdr || !it->state.m_pStudioHWData ||
            !it->info.m_renderable || !it->info.m_model_to_world || !it->info.m_model) {
            ++it;
            continue;
        }

        auto alpha = 1.0f;
        auto delta = g_csgo.m_globals->m_realtime - it->time;
        if (delta > 0.0f) {
            alpha -= delta;
            if (delta > 1.0f) {
                it = g_cl.m_Hitmatrix.erase(it);
                continue;
            }
        }

        Color color = g_loser.player_esp.hitmatrix_color;

        static IMaterial* material = g_csgo.m_material_system->FindMaterial(XOR("dev/glow_armsrace.vmt"), nullptr);
        auto alpha_c = 1.0f;
        g_csgo.m_render_view->SetBlend(alpha_c * alpha);
        g_chams.SetColor(color, material);

        c_material_var* tint = material->find_var(XOR("$envmaptint"));
        if (tint)
            tint->set_vector(vec3_t(color.r() / 255.f, color.g() / 255.f, color.b() / 255.f));

        material->IncrementReferenceCount();
        material->SetFlag(MATERIAL_VAR_IGNOREZ, false);

        g_csgo.m_model_render->ForcedMaterialOverride(material);
        g_csgo.m_model_render->DrawModelExecute(ctx, it->state, it->info, it->pBoneToWorld);
        g_csgo.m_model_render->ForcedMaterialOverride(nullptr);

        ++it;
    }
}
 
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2021
Сообщения
103
Реакции[?]
44
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу