Исходник LSD source

Олдфаг
Статус
Оффлайн
Регистрация
6 Мар 2019
Сообщения
2,936
Реакции[?]
1,002
Поинты[?]
0
Короче что-то типа такого по фиксу нужно, как щяс в гемини начал хуярить. И здесь не надо чекать модели

C++:
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;
    }

    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.2 0.1]"
            "$envmapfresnel" "1"
            "$envmapfresnelminmaxexp" "[0 1 2]"
            "$alpha" "0.8"
        })#";

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

    //Модель игрока
    if (EntityClass->ClassID == (int)EClassIds::CCSPlayer)
    {
        //Враги
        if (Globals::LocalPlayer->GetTeam() != pPlayerEntity->GetTeam())
        {
            g_pModelRender->ForcedMaterialOverride(mat_overlay);
            oDrawModelExecute(ecx, context, state, info, matrix);
        }
    }


    oDrawModelExecute(ecx, context, state, info, matrix);
    g_pModelRender->ForcedMaterialOverride(NULL);
}
 
Модератор раздела "Создание скриптов для читов"
Модератор
Статус
Оффлайн
Регистрация
1 Фев 2020
Сообщения
1,196
Реакции[?]
390
Поинты[?]
45K
Короче что-то типа такого по фиксу нужно, как щяс в гемини начал хуярить. И здесь не надо чекать модели

C++:
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;
    }

    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.2 0.1]"
            "$envmapfresnel" "1"
            "$envmapfresnelminmaxexp" "[0 1 2]"
            "$alpha" "0.8"
        })#";

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

    //Модель игрока
    if (EntityClass->ClassID == (int)EClassIds::CCSPlayer)
    {
        //Враги
        if (Globals::LocalPlayer->GetTeam() != pPlayerEntity->GetTeam())
        {
            g_pModelRender->ForcedMaterialOverride(mat_overlay);
            oDrawModelExecute(ecx, context, state, info, matrix);
        }
    }


    oDrawModelExecute(ecx, context, state, info, matrix);
    g_pModelRender->ForcedMaterialOverride(NULL);
}
А, можешь сделать тему, с fixed source ?
 
Геюга нахуй
Начинающий
Статус
Оффлайн
Регистрация
24 Ноя 2019
Сообщения
314
Реакции[?]
23
Поинты[?]
1K
спасити, что я делаю не так ?
Не удается открыть файл включение: hitsound.h: No such file or directory, (компилируется исходный файл lsd\Hooks.cpp) c:\users\ооо\desktop\lsd-master\lsd\hooks.cpp LSD 18
 
Модератор раздела "Создание скриптов для читов"
Модератор
Статус
Оффлайн
Регистрация
1 Фев 2020
Сообщения
1,196
Реакции[?]
390
Поинты[?]
45K
спасити, что я делаю не так ?
Не удается открыть файл включение: hitsound.h: No such file or directory, (компилируется исходный файл lsd\Hooks.cpp) c:\users\ооо\desktop\lsd-master\lsd\hooks.cpp LSD 18
нужно закоментить hitsound
 
Забаненный
Статус
Оффлайн
Регистрация
21 Авг 2019
Сообщения
1,461
Реакции[?]
502
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Короче че скажу. В resolver.cpp дохуя ненужного. Если все допилить и пофиксить половину кода которая просто в кашу,то можно убивать
 
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Участник
Статус
Оффлайн
Регистрация
20 Апр 2017
Сообщения
1,298
Реакции[?]
377
Поинты[?]
2K
Забаненный
Статус
Оффлайн
Регистрация
21 Авг 2019
Сообщения
1,461
Реакции[?]
502
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
С таким подходом проще с нуля написать самому)
да бля тут единственное что могут взять пастеры так это десинк чамсы. Там вроде все правильно собирается. И визуалы мб еще
 
Нефор
Забаненный
Статус
Оффлайн
Регистрация
9 Ноя 2018
Сообщения
1,042
Реакции[?]
663
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Участник
Статус
Оффлайн
Регистрация
20 Апр 2017
Сообщения
1,298
Реакции[?]
377
Поинты[?]
2K
Олдфаг
Статус
Оффлайн
Регистрация
6 Мар 2019
Сообщения
2,936
Реакции[?]
1,002
Поинты[?]
0
Дебагнул
Крашит в DME
if (strstr(ModelName, "models/player") != nullptr)
Не очень понял почему модель не может иметь индекс 0

Крашит ещё тут :warpath:

int GetHealth()
{
static int m_iHealth = g_pNetvars->GetOffset("DT_BasePlayer", "m_iHealth");
return GetValue<int>(m_iHealth);
}

Этот оффсет return GetValue<int>(m_iHealth);
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
21 Авг 2019
Сообщения
1,461
Реакции[?]
502
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Олдфаг
Статус
Оффлайн
Регистрация
6 Мар 2019
Сообщения
2,936
Реакции[?]
1,002
Поинты[?]
0
Модератор раздела "Создание скриптов для читов"
Модератор
Статус
Оффлайн
Регистрация
1 Фев 2020
Сообщения
1,196
Реакции[?]
390
Поинты[?]
45K
Олдфаг
Статус
Оффлайн
Регистрация
6 Мар 2019
Сообщения
2,936
Реакции[?]
1,002
Поинты[?]
0
Уже пофиксил, только на сервере репача игра дм падает при выборе команды без указателя на ошибку - просто закрывается, а на других мм хвх норм.
 
Сверху Снизу