Вопрос АнимФикс

Пользователь
Статус
Оффлайн
Регистрация
22 Июн 2020
Сообщения
182
Реакции[?]
69
Поинты[?]
37K
мне нужно пофиксить челиков с даблтапом, их очень сильно фигачит вперед назад и в них я постоянно миссаю

пробовал так:
C++:
void misc::FixAnimations(C_BaseEntity* entity) {
    if (!I::Globals) return;
    if (!entity) return;
    if (entity->GetInt(0x100) == 0) return;

    entity->ClientSideAnimation() = true;

    auto old_curtime = I::Globals->curtime;
    auto old_frame = I::Globals->frametime;
    auto old_animlayers = *entity->GetAnimlayers();

    I::Globals->curtime = entity->GetSimulationTime();
    I::Globals->frametime = I::Globals->interval_per_tick;

    auto animstate = entity->GetAnimstate();
    if (animstate != nullptr) {
        if (animstate->iLastUpdateFrame == I::Globals->framecount)
            animstate->iLastUpdateFrame = I::Globals->framecount - 1;
    }
    
    entity->UpdateClientSideAnimation();
    *entity->GetAnimlayers() = old_animlayers;

    I::Globals->curtime = old_curtime;
    I::Globals->frametime = old_frame;

    entity->ClientSideAnimation() = false;
}
но это не работает
 
Пользователь
Статус
Оффлайн
Регистрация
22 Июн 2020
Сообщения
182
Реакции[?]
69
Поинты[?]
37K
Этим ты не как не пофиксишь, тебе нужно хукнуть хук is_paused
поподробнее, айди, вмт какой?
ну хукну я его и че дальше

да и анимфикс тоже нужен, чтоб не смотреть на дергующуюся и крутящуюся модельку локал плеера
 
Участник
Статус
Оффлайн
Регистрация
30 Дек 2020
Сообщения
400
Реакции[?]
293
Поинты[?]
1K
поподробнее, айди, вмт какой?
ну хукну я его и че дальше

да и анимфикс тоже нужен, чтоб не смотреть на дергующуюся и крутящуюся модельку локал плеера
C++:
bool engine_hook::is_paused()
{
    static DWORD* return_to_extrapolation = (DWORD*)(pattern::find(g_csgo.m_client_dll,
        XOR("FF D0 A1 ?? ?? ?? ?? B9 ?? ?? ?? ?? D9 1D ?? ?? ?? ?? FF 50 34 85 C0 74 22 8B 0D ?? ?? ?? ??")) + 0x29);

    if (_ReturnAddress() == (void*)return_to_extrapolation)
        return true;

    return g_hooks.m_engine.GetOldMethod< IsPaused_t >(IVEngineClient::ISPAUSED)(this);
}
90
 
Пользователь
Статус
Оффлайн
Регистрация
22 Июн 2020
Сообщения
182
Реакции[?]
69
Поинты[?]
37K
C++:
bool engine_hook::is_paused()
{
    static DWORD* return_to_extrapolation = (DWORD*)(pattern::find(g_csgo.m_client_dll,
        XOR("FF D0 A1 ?? ?? ?? ?? B9 ?? ?? ?? ?? D9 1D ?? ?? ?? ?? FF 50 34 85 C0 74 22 8B 0D ?? ?? ?? ??")) + 0x29);

    if (_ReturnAddress() == (void*)return_to_extrapolation)
        return true;

    return g_hooks.m_engine.GetOldMethod< IsPaused_t >(IVEngineClient::ISPAUSED)(this);
}
90
работает спасибо, а анимфикс как нормальный делать
 
Участник
Статус
Оффлайн
Регистрация
30 Дек 2020
Сообщения
400
Реакции[?]
293
Поинты[?]
1K
Забаненный
Статус
Оффлайн
Регистрация
22 Июн 2021
Сообщения
25
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
bool engine_hook::is_paused()
{
    static DWORD* return_to_extrapolation = (DWORD*)(pattern::find(g_csgo.m_client_dll,
        XOR("FF D0 A1 ?? ?? ?? ?? B9 ?? ?? ?? ?? D9 1D ?? ?? ?? ?? FF 50 34 85 C0 74 22 8B 0D ?? ?? ?? ??")) + 0x29);

    if (_ReturnAddress() == (void*)return_to_extrapolation)
        return true;

    return g_hooks.m_engine.GetOldMethod< IsPaused_t >(IVEngineClient::ISPAUSED)(this);
}
90
C++:
bool __fastcall IsPaused(void *ecx, void *edx)
{
    static auto original_func = c_hooks::get().get_old_method<is_paused_fn>(90);
    static auto is_paused_addr = c_utils::get().find_pattern(c_game->client_dll, "E8 ? ? ? ? A1 ? ? ? ? FF 05 ? ? ? ?" + 0xDF);
    
    if (_ReturnAddress() == (void*)is_paused_addr)
        return true;
        
    return original_func(ecx);
}
 
Участник
Статус
Оффлайн
Регистрация
30 Дек 2020
Сообщения
400
Реакции[?]
293
Поинты[?]
1K
C++:
bool __fastcall IsPaused(void *ecx, void *edx)
{
    static auto original_func = c_hooks::get().get_old_method<is_paused_fn>(90);
    static auto is_paused_addr = c_utils::get().find_pattern(c_game->client_dll, "E8 ? ? ? ? A1 ? ? ? ? FF 05 ? ? ? ?" + 0xDF);
   
    if (_ReturnAddress() == (void*)is_paused_addr)
        return true;
       
    return original_func(ecx);
}
Отличий 0
 
Пользователь
Статус
Оффлайн
Регистрация
22 Июн 2020
Сообщения
182
Реакции[?]
69
Поинты[?]
37K
C++:
bool __fastcall IsPaused(void *ecx, void *edx)
{
    static auto original_func = c_hooks::get().get_old_method<is_paused_fn>(90);
    static auto is_paused_addr = c_utils::get().find_pattern(c_game->client_dll, "E8 ? ? ? ? A1 ? ? ? ? FF 05 ? ? ? ?" + 0xDF);
   
    if (_ReturnAddress() == (void*)is_paused_addr)
        return true;
       
    return original_func(ecx);
}
этот не рабочий, тоже попробовал, тот что он скинул работает
 
Забаненный
Статус
Оффлайн
Регистрация
22 Июн 2021
Сообщения
25
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
22 Июн 2021
Сообщения
25
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
этот не рабочий, тоже попробовал, тот что он скинул работает
а ты в курсе что ты должен еще в мейне или где у тя там использовать эту хуйню о_О
этот не рабочий, тоже попробовал, тот что он скинул работает
ot v4
 
Участник
Статус
Оффлайн
Регистрация
30 Дек 2020
Сообщения
400
Реакции[?]
293
Поинты[?]
1K
а ты в курсе что ты должен еще в мейне или где у тя там использовать эту хуйню о_О
чувак, ты мне кинул код похожий на мой и еще говоришь что-то про main ???
И иди подучи основы, умник, не использовать, а вызывать.

Если человек умный, он сам сможет вызвать хук. Этот парень смог сам, если у него все получилось. Не пиши мне.
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,116
Реакции[?]
390
Поинты[?]
45K
Про анимфикс давным давно всё уже написано и разобрано в паблике, не уже трудно погуглить буквально пару предложений...
Логику построения обновления анимаций можешь чекнуть в гладиаторе....
Желаю удачи..
Посмотри разные сурсы, к примеру enrage. Или можешь сделать сам (
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
)
Чем тебе это поможет сделать нормальный анимфикс? Здесь можно посмотреть и разобрать только пару партов, да и то вряд ли как-то поможет.

А вот SetupVelocity уже более правильное направление.
 
main public enemy
Эксперт
Статус
Оффлайн
Регистрация
30 Ноя 2019
Сообщения
1,531
Реакции[?]
647
Поинты[?]
0
Чел, где ты тут анимфикс увидел? Это простой апдейт анимаций игрока...
Про анимфикс давным давно всё уже написано и разобрано в паблике, не уже трудно погуглить буквально пару предложений...
Логику построения обновления анимаций можешь чекнуть в гладиаторе....
Желаю удачи..

Чем тебе это поможет сделать нормальный анимфикс? Здесь можно посмотреть и разобрать только пару партов, да и то вряд ли как-то поможет.

А вот SetupVelocity уже более правильное направление.
В гладиаторзе конечно рич код, но очень устаревший.
Этим ты не как не пофиксишь, тебе нужно хукнуть хук is_paused
Это тоже, но желательно нужен еще кое какой хук.
Вообще один из самых основных фиксов это рекалькулейт велосити, ну а еще люди выше в том числе и PasterAlmir не упомянули одну важную вещь в апдейте анимаций а именно нужно так-же обновлять анимки для всех тиков которые "чокались" у энеми
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,116
Реакции[?]
390
Поинты[?]
45K
Чел, где ты тут анимфикс увидел? Это простой апдейт анимаций игрока...

В гладиаторзе конечно рич код, но очень устаревший.

Это тоже, но желательно нужен еще кое какой хук.
Вообще один из самых основных фиксов это рекалькулейт велосити, ну а еще люди выше в том числе и PasterAlmir не упомянули одну важную вещь в апдейте анимаций а именно нужно так-же обновлять анимки для всех тиков которые "чокались" у энеми
В гладиаторзе конечно рич код, но очень устаревший.
Логику построения обновления анимаций
не упомянули одну важную вещь в апдейте анимаций а именно нужно так-же обновлять анимки для всех тиков которые "чокались" у энеми
Про анимфикс давным давно всё уже написано и разобрано в паблике, не уже трудно погуглить буквально пару предложений
Если бы ты ещё умел читать, помимо несения хуйни в виде критики, было бы вообще прекрасно...
 
main public enemy
Эксперт
Статус
Оффлайн
Регистрация
30 Ноя 2019
Сообщения
1,531
Реакции[?]
647
Поинты[?]
0
Если бы ты ещё умел читать, помимо несения хуйни в виде критики, было бы вообще прекрасно...
Блять чел, мог бы ты еще свои глаза открыть....
Ответил я типу который писал выше, тебе я лишь сказал что в гладиаторзе на данный момент нихуя не правильно и правильным быть не может........
 
Забаненный
Статус
Оффлайн
Регистрация
17 Июн 2021
Сообщения
7
Реакции[?]
4
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Блять чел, мог бы ты еще свои глаза открыть....
Ответил я типу который писал выше, тебе я лишь сказал что в гладиаторзе на данный момент нихуя не правильно и правильным быть не может........
ты о чём, мэн, он же про анимфикс и про апдейт анимаций игрока отдельно сказал, либо же я тупой:astonished:
 
Сверху Снизу