Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

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

Пользователь
Пользователь
Статус
Оффлайн
Регистрация
22 Июн 2020
Сообщения
200
Реакции
78
мне нужно пофиксить челиков с даблтапом, их очень сильно фигачит вперед назад и в них я постоянно миссаю

пробовал так:
C++:
Expand Collapse Copy
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;
}

но это не работает
 
Этим ты не как не пофиксишь, тебе нужно хукнуть хук is_paused
поподробнее, айди, вмт какой?
ну хукну я его и че дальше

да и анимфикс тоже нужен, чтоб не смотреть на дергующуюся и крутящуюся модельку локал плеера
 
поподробнее, айди, вмт какой?
ну хукну я его и че дальше

да и анимфикс тоже нужен, чтоб не смотреть на дергующуюся и крутящуюся модельку локал плеера
C++:
Expand Collapse Copy
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++:
Expand Collapse Copy
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++:
Expand Collapse Copy
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++:
Expand Collapse Copy
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);
}
 
C++:
Expand Collapse Copy
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
 
C++:
Expand Collapse Copy
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);
}
этот не рабочий, тоже попробовал, тот что он скинул работает
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
этот не рабочий, тоже попробовал, тот что он скинул работает
а ты в курсе что ты должен еще в мейне или где у тя там использовать эту хуйню о_О
этот не рабочий, тоже попробовал, тот что он скинул работает
ot v4
 
а ты в курсе что ты должен еще в мейне или где у тя там использовать эту хуйню о_О
чувак, ты мне кинул код похожий на мой и еще говоришь что-то про main ???
И иди подучи основы, умник, не использовать, а вызывать.

Если человек умный, он сам сможет вызвать хук. Этот парень смог сам, если у него все получилось. Не пиши мне.
 
Про анимфикс давным давно всё уже написано и разобрано в паблике, не уже трудно погуглить буквально пару предложений...
Логику построения обновления анимаций можешь чекнуть в гладиаторе....
Желаю удачи..
Посмотри разные сурсы, к примеру enrage. Или можешь сделать сам (
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
)
Чем тебе это поможет сделать нормальный анимфикс? Здесь можно посмотреть и разобрать только пару партов, да и то вряд ли как-то поможет.

А вот SetupVelocity уже более правильное направление.
 
Чел, где ты тут анимфикс увидел? Это простой апдейт анимаций игрока...
Про анимфикс давным давно всё уже написано и разобрано в паблике, не уже трудно погуглить буквально пару предложений...
Логику построения обновления анимаций можешь чекнуть в гладиаторе....
Желаю удачи..

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

А вот SetupVelocity уже более правильное направление.
В гладиаторзе конечно рич код, но очень устаревший.
Этим ты не как не пофиксишь, тебе нужно хукнуть хук is_paused
Это тоже, но желательно нужен еще кое какой хук.
Вообще один из самых основных фиксов это рекалькулейт велосити, ну а еще люди выше в том числе и @PasterAlmir не упомянули одну важную вещь в апдейте анимаций а именно нужно так-же обновлять анимки для всех тиков которые "чокались" у энеми
 
Чел, где ты тут анимфикс увидел? Это простой апдейт анимаций игрока...

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

Это тоже, но желательно нужен еще кое какой хук.
Вообще один из самых основных фиксов это рекалькулейт велосити, ну а еще люди выше в том числе и @PasterAlmir не упомянули одну важную вещь в апдейте анимаций а именно нужно так-же обновлять анимки для всех тиков которые "чокались" у энеми

В гладиаторзе конечно рич код, но очень устаревший.
Логику построения обновления анимаций
не упомянули одну важную вещь в апдейте анимаций а именно нужно так-же обновлять анимки для всех тиков которые "чокались" у энеми
Про анимфикс давным давно всё уже написано и разобрано в паблике, не уже трудно погуглить буквально пару предложений
Если бы ты ещё умел читать, помимо несения хуйни в виде критики, было бы вообще прекрасно...
 
Если бы ты ещё умел читать, помимо несения хуйни в виде критики, было бы вообще прекрасно...
Блять чел, мог бы ты еще свои глаза открыть....
Ответил я типу который писал выше, тебе я лишь сказал что в гладиаторзе на данный момент нихуя не правильно и правильным быть не может........
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Блять чел, мог бы ты еще свои глаза открыть....
Ответил я типу который писал выше, тебе я лишь сказал что в гладиаторзе на данный момент нихуя не правильно и правильным быть не может........
ты о чём, мэн, он же про анимфикс и про апдейт анимаций игрока отдельно сказал, либо же я тупой:astonished:
 
Назад
Сверху Снизу