Гайд Valve player leaning fix

Начинающий
Статус
Оффлайн
Регистрация
22 Июн 2021
Сообщения
9
Реакции[?]
14
Поинты[?]
9K
вальво накумарили гавна, и нужно это исправлять, для самых маленьких я создал эту тему.
первым делом хукаем get eye angles:

C++:
q_angle* __fastcall c_hooks::hk_get_eye_angles::fn(void* ecx, void* edx) {
    static int* first_return_addr = (int*)utils::sig_scan(e_dll::client, "8B CE F3 0F 10 00 8B 06 F3 0F 11 45 ? FF 90 ? ? ? ? F3 0F 10 55 ?");
    static int* second_return_addr = (int*)utils::sig_scan(e_dll::client, "F3 0F 10 55 ? 51 8B 8E ? ? ? ?");                                
    static int* third_return_addr = (int*)utils::sig_scan(e_dll::client, "8B 55 0C 8B C8 E8 ? ? ? ? 83 C4 08 5E 8B E5");                    

    if (_ReturnAddress() != first_return_addr && _ReturnAddress() != second_return_addr && _ReturnAddress() != third_return_addr)
        return original(ecx);

    if (!ecx || ((c_base_player*)ecx)->get_index() != g_interfaces::engine->get_local_player())
        return original(ecx);

    return &g_ctx->last_sent_eye_angles;
}
надеюсь самые маленькие додумаются, что такое "g_ctx->last_sent_eye_angles" и что с этим делать.
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,967
Реакции[?]
958
Поинты[?]
19K
вальво накумарили гавна, и нужно это исправлять, для самых маленьких я создал эту тему.
первым делом хукаем get eye angles:

C++:
q_angle* __fastcall c_hooks::hk_get_eye_angles::fn(void* ecx, void* edx) {
    static int* first_return_addr = (int*)utils::sig_scan(e_dll::client, "8B CE F3 0F 10 00 8B 06 F3 0F 11 45 ? FF 90 ? ? ? ? F3 0F 10 55 ?");
    static int* second_return_addr = (int*)utils::sig_scan(e_dll::client, "F3 0F 10 55 ? 51 8B 8E ? ? ? ?");                               
    static int* third_return_addr = (int*)utils::sig_scan(e_dll::client, "8B 55 0C 8B C8 E8 ? ? ? ? 83 C4 08 5E 8B E5");                   

    if (_ReturnAddress() != first_return_addr && _ReturnAddress() != second_return_addr && _ReturnAddress() != third_return_addr)
        return original(ecx);

    if (!ecx || ((c_base_player*)ecx)->get_index() != g_interfaces::engine->get_local_player())
        return original(ecx);

    return &g_ctx->last_sent_eye_angles;
}
надеюсь самые маленькие додумаются, что такое "g_ctx->last_sent_eye_angles" и что с этим делать.
давай промолчим о том, что пофиксить так называемый "leaning" можно хукнув calc_roll
 
Забаненный
Статус
Оффлайн
Регистрация
17 Сен 2023
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Cool, I've been looking for this one for a long time
 
Сверху Снизу