-
Автор темы
- #1
source : csgosimple
issue ; shaking hands ,its alrd 6. day that im working on that still cant find how to fix it
dme hook mb
source : csgosimple
issue ; shaking hands ,its alrd 6. day that im working on that still cant find how to fix it
dme is hookeddme hook mb
draw_model_execute::set = reinterpret_cast<void*>(GetVirtual(MdlRender, 21));
for (int i = 1; i < EngineClient->GetMaxClients(); i++)
{
auto entity = static_cast<C_BasePlayer*> (EntityList->GetClientEntity(i));
if (!entity || !entity->IsPlayer() || entity->IsDormant() || !entity->IsAlive() || entity == pLocal)
continue;
if (entity->GetPlayerAnimState()){
entity->GetPlayerAnimState()->m_iLastClientSideAnimationUpdateFramecount = g_GlobalVars->framecount;
entity->GetPlayerAnimState()->m_flLastClientSideAnimationUpdateTime = g_GlobalVars->curtime;
}
}
setup bones issue i think
entity->SetupBones(nullptr, -1, BONE_USED_BY_ANYTHING, g_GlobalVars->curtime);
try to set 256 bones count instead -1i'm calling the setup bones between the stop interpolation and start interpolation againC++:entity->SetupBones(nullptr, -1, BONE_USED_BY_ANYTHING, g_GlobalVars->curtime);
сделай через критмув локал анимфикс, так проще, плюс ты наверное в хуках с матрицей установленной ничего не делаешь, вот пример простой как можно сделать анимфикс - https://yougame.biz/threads/286638/так же у меня animfix в framestage notify stage FRAME_NET_UPDATE_POSTDATAUPDATE_START
вот пример
C++:for (int i = 1; i < EngineClient->GetMaxClients(); i++) { auto entity = static_cast<C_BasePlayer*> (EntityList->GetClientEntity(i)); if (!entity || !entity->IsPlayer() || entity->IsDormant() || !entity->IsAlive() || entity == pLocal) continue; if (entity->GetPlayerAnimState()){ entity->GetPlayerAnimState()->m_iLastClientSideAnimationUpdateFramecount = g_GlobalVars->framecount; entity->GetPlayerAnimState()->m_flLastClientSideAnimationUpdateTime = g_GlobalVars->curtime; } }
Твой анимфикс неправильныйсделай через критмув локал анимфикс, так проще, плюс ты наверное в хуках с матрицей установленной ничего не делаешь, вот пример простой как можно сделать анимфикс - https://yougame.biz/threads/286638/
Хукнут ли у тебя SetupBones ? Если да - скинь кодом. Всякие баги и прочая дичь бывает из-за неправильной реализации хука SetupBones. Всё что нужно сделать - просто напросто не вызывать / убрать юзлесс клиенткод. Пореверсить серверный сетап бонес - можете сами , а глянуть клиентский - не составит проблем.
source : csgosimple
issue ; shaking hands ,its alrd 6. day that im working on that still cant find how to fix it
Да, и еще удали этот кусок кода.так же у меня animfix в framestage notify stage FRAME_NET_UPDATE_POSTDATAUPDATE_START
вот пример
C++:for (int i = 1; i < EngineClient->GetMaxClients(); i++) { auto entity = static_cast<C_BasePlayer*> (EntityList->GetClientEntity(i)); if (!entity || !entity->IsPlayer() || entity->IsDormant() || !entity->IsAlive() || entity == pLocal) continue; if (entity->GetPlayerAnimState()){ entity->GetPlayerAnimState()->m_iLastClientSideAnimationUpdateFramecount = g_GlobalVars->framecount; entity->GetPlayerAnimState()->m_flLastClientSideAnimationUpdateTime = g_GlobalVars->curtime; } }
Этот код должен использоваться в локал анимфиксе, CCSGOPlayerAnimState::Update (ref)так же у меня animfix в framestage notify stage FRAME_NET_UPDATE_POSTDATAUPDATE_START
вот пример
C++:for (int i = 1; i < EngineClient->GetMaxClients(); i++) { auto entity = static_cast<C_BasePlayer*> (EntityList->GetClientEntity(i)); if (!entity || !entity->IsPlayer() || entity->IsDormant() || !entity->IsAlive() || entity == pLocal) continue; if (entity->GetPlayerAnimState()){ entity->GetPlayerAnimState()->m_iLastClientSideAnimationUpdateFramecount = g_GlobalVars->framecount; entity->GetPlayerAnimState()->m_flLastClientSideAnimationUpdateTime = g_GlobalVars->curtime; } }
ну же, и почему ? да там фейк не учитывается, но там это написано и так, и то что активити событий еще нету, остально все верно при учете что кости правильно устанавливаютсяТвой анимфикс неправильный
Hidden content
Hidden content
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz