• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Исходник DME xy0

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
лох получ, визуалку настрой у меня все ок было
так это не в коде хука, это уже за ним.
if (strstr(ModelName, "arms") && !g_GameInput->m_fCameraInThirdPerson && HandChams > 0) {
эта строчка выдает ошибку, if
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
визуалку настрой
всмысле настроить.
1582437186451.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я тут все менял, что только можно было поменять
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так как эту жуйню пофиксить
хачю визуалы скета
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ДА ПОМОГИТЕ СУКА КТО НИБУДЬ
 
0_0
Хватит такими исходниками форум нагружать
 
Чамсы DME которые не будут крашить при смене карты, дебажил, кодил и что-то да вышло.
Здесь я добавил только чамсы врагов, локала, оружия и трупаки челиков (хуй знает что не так, работает через раз)
Нихуя делать не надо просто копипаст отсюда в ваш сорс.

Посмотреть вложение 60352

C++:
Expand Collapse Copy
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);

    if (!Globals::LocalPlayer)
    {
        oDrawModelExecute(ecx, context, state, info, matrix);
        g_pModelRender->ForcedMaterialOverride(NULL);
        return;
    }

    C_BaseEntity* pPlayerEntity = g_pEntityList->GetClientEntity(info.index);
    if (!pPlayerEntity)
    {
        oDrawModelExecute(ecx, context, state, info, matrix);
        g_pModelRender->ForcedMaterialOverride(NULL);
        return;
    }

    //ебучий ноль
    if (pPlayerEntity != nullptr)
    {
        ClientClass* EntityClass = pPlayerEntity->GetClientClass();
        if (!pPlayerEntity || !EntityClass)
        {
            oDrawModelExecute(ecx, context, state, info, matrix);
            g_pModelRender->ForcedMaterialOverride(NULL);
            return;
        }

        //Ебашим здесь, потому что все проверки выше прошли
        static IMaterial* mat_overlay;
        static bool once{ false };
        if (!once)
        {
            std::ofstream("csgo/materials/glowOverlay.vmt") << R"#("VertexLitGeneric" {
            "$additive" "1"
            "$envmap" "models/effects/cube_white"
            "$envmaptint" "[0 0.1 0.2]"
            "$envmapfresnel" "1"
            "$envmapfresnelminmaxexp" "[0 1 2]"
            "$alpha" "0.8"
            "$ignorez" "1"
        })#";

            mat_overlay = g_pMaterialSys->FindMaterial("glowOverlay", nullptr);
            once = true;
        }

        //не юзать флаг IGNOREZ иначе пизда - будет крашить (поэтому заюзал его в создании материала)
        if (mat_overlay != nullptr)
        {
            //Модель игрока
            if (EntityClass->ClassID == (int)EClassIds::CCSPlayer)
            {

                //Враги
                if (Globals::LocalPlayer->GetTeam() != pPlayerEntity->GetTeam())
                {
                    g_pModelRender->ForcedMaterialOverride(mat_overlay);
                    oDrawModelExecute(ecx, context, state, info, matrix);
                }

                //Игрок
                if (pPlayerEntity == Globals::LocalPlayer)
                {
                    g_pModelRender->ForcedMaterialOverride(mat_overlay);
                    oDrawModelExecute(ecx, context, state, info, matrix);
                }

            }
            //оружие в руках
            if (EntityClass->ClassID == (int)EClassIds::CPredictedViewModel)
            {
                g_pModelRender->ForcedMaterialOverride(mat_overlay);
                oDrawModelExecute(ecx, context, state, info, matrix);
            }

            //трупы игроков, хуй знает почему не всегда работает
            if (pPlayerEntity && EntityClass->ClassID == (int)EClassIds::CCSRagdoll)
            {
                g_pModelRender->ForcedMaterialOverride(mat_overlay);
            }
        }
    }

    oDrawModelExecute(ecx, context, state, info, matrix);
    g_pModelRender->ForcedMaterialOverride(NULL);
}
нужна твоя помощь
 
Назад
Сверху Снизу