-
Автор темы
- #21
тебе не раз написали в чем твоя проблема, дали тебе готовый код чтобы ты увидел как оно должно быть, и понял где твои ошибкиПосмотреть вложение 257703
я спросил в чем проблема и что бы мне помогли
В ТОМ ЧТО Я БЛЯТЬ АНИМЛЕЕРЫ ПОСЛЕ АПДЕЙТА БЕКАПЛЮ? блять чел, я даже сделал до апдейта, увы не помоглотебе не раз написали в чем твоя проблема
ну так нахуя самостоятельно анмстейт обновлять, шизик ебанный, ещё раз блятьВ ТОМ ЧТО Я БЛЯТЬ АНИМЛЕЕРЫ ПОСЛЕ АПДЕЙТА БЕКАПЛЮ? блять чел, я даже сделал до апдейта, увы не помогло
можна и без матрицы обойтисьсобираешь матрицу
понял, теперь понятно почему у тебя нихуя не работает, ты даже банальный смысл анимфикса не понимаешьможна и без матрицы обойтись
у меня без сетап бонс локал анимации работалипонял, теперь понятно почему у тебя нихуя не работает, ты даже банальный смысл анимфикса не понимаешь
в таком случае ждём пока проснётся дед-дима и пояснит молодому за афикс
я сейчас нихуя не понял, судя по видео, кроме рассинхрона на паблик серваках, я нихуя больше не вижу
Посмотреть вложение 257701Код:#include "LocalAnimationSystem.h" #include "../AntiAim/AntiAim.h" #include "Interpolate.h" #include "AnimationSystem.h" void CLocalAnimations::StoreLocalAnims() { auto animstate = Cheat.LocalPlayer->GetAnimstate(); stored_local_anims.bOnGround = animstate->bOnGround; stored_local_anims.flAffectedFraction = animstate->flAffectedFraction; stored_local_anims.flDurationInAir = animstate->flDurationInAir; stored_local_anims.flEyePitch = animstate->flEyePitch; stored_local_anims.flEyeYaw = animstate->flEyeYaw; stored_local_anims.flGoalFeetYaw = animstate->flGoalFeetYaw; stored_local_anims.flJumpFallVelocity = animstate->flJumpFallVelocity; stored_local_anims.flLeanAmount = animstate->flLeanAmount; stored_local_anims.flMoveYaw = animstate->flMoveYaw; stored_local_anims.poseparams = Cheat.LocalPlayer->m_flPoseParameter(); local_abs_angles = QAngle(0, animstate->flGoalFeetYaw, 0); stored_local_anims.filled = true; } void CLocalAnimations::RestoreLocalAnims() { if (!stored_local_anims.filled) return; auto animstate = Cheat.LocalPlayer->GetAnimstate(); animstate->bOnGround = stored_local_anims.bOnGround; animstate->flAffectedFraction = stored_local_anims.flAffectedFraction; animstate->flDurationInAir = stored_local_anims.flDurationInAir; animstate->flEyePitch = stored_local_anims.flEyePitch; animstate->flEyeYaw = stored_local_anims.flEyeYaw; animstate->flGoalFeetYaw = stored_local_anims.flGoalFeetYaw; animstate->flJumpFallVelocity = stored_local_anims.flJumpFallVelocity; animstate->flLeanAmount = stored_local_anims.flLeanAmount; animstate->flMoveYaw = stored_local_anims.flMoveYaw; Cheat.LocalPlayer->m_flPoseParameter() = stored_local_anims.poseparams; Cheat.LocalPlayer->SetAbsAngles(local_abs_angles); } void CLocalAnimations::OnCreateMove() { CCSGOPlayerAnimationState* animstate = Cheat.LocalPlayer->GetAnimstate(); if (AntiAim->desyncing) animstate->flGoalFeetYaw = AntiAim->realAngle; memcpy(local_animlayers, Cheat.LocalPlayer->GetAnimlayers(), sizeof(AnimationLayer) * 13); Cheat.LocalPlayer->UpdateAnimationState(animstate, Cheat.thirdpersonAngles, true); Cheat.LocalPlayer->UpdateClientSideAnimation(); if (ctx.send_packet) { StoreLocalAnims(); } memcpy(Cheat.LocalPlayer->GetAnimlayers(), local_animlayers, sizeof(AnimationLayer) * 13); } void CLocalAnimations::UpdateLocalAnimations() { CCSGOPlayerAnimationState* animstate = Cheat.LocalPlayer->GetAnimstate(); animstate->iLastUpdateFrame = GlobalVars->framecount; RestoreLocalAnims(); } void CLocalAnimations::FrameStageNotify(EClientFrameStage stage) { switch (stage) { case FRAME_NET_UPDATE_POSTDATAUPDATE_END: for (int i = 0; i < ClientState->m_nMaxClients; ++i) { CBasePlayer* player = reinterpret_cast<CBasePlayer*>(EntityList->GetClientEntity(i)); if (player && player != Cheat.LocalPlayer) Interpolate->DisableInterpolationFlags(player); } break; case FRAME_NET_UPDATE_END: break; case FRAME_RENDER_START: if (Cheat.LocalPlayer && Cheat.LocalPlayer->IsAlive()) { UpdateLocalAnimations(); } break; default: break; } } CLocalAnimations* LocalAnimations = new CLocalAnimations;
даже если я все сделаю как говоришь ты все ровнопроблема не пропадает
Код:#include "LocalAnimationSystem.h" #include "../AntiAim/AntiAim.h" #include "Interpolate.h" #include "AnimationSystem.h" void CLocalAnimations::StoreLocalAnims() { auto animstate = Cheat.LocalPlayer->GetAnimstate(); //stored_local_anims.bOnGround = animstate->bOnGround; //stored_local_anims.flAffectedFraction = animstate->flAffectedFraction; //stored_local_anims.flDurationInAir = animstate->flDurationInAir; //stored_local_anims.flEyePitch = animstate->flEyePitch; //stored_local_anims.flEyeYaw = animstate->flEyeYaw; //stored_local_anims.flGoalFeetYaw = animstate->flGoalFeetYaw; //stored_local_anims.flJumpFallVelocity = animstate->flJumpFallVelocity; //stored_local_anims.flLeanAmount = animstate->flLeanAmount; //stored_local_anims.flMoveYaw = animstate->flMoveYaw; memcpy(pose_parameter, &Cheat.LocalPlayer->m_flPoseParameter(), 24 * sizeof(float)); local_abs_angles = QAngle(0, animstate->flGoalFeetYaw, 0); stored_local_anims.filled = true; } void CLocalAnimations::RestoreLocalAnims() { if (!stored_local_anims.filled) return; auto animstate = Cheat.LocalPlayer->GetAnimstate(); //animstate->bOnGround = stored_local_anims.bOnGround; //animstate->flAffectedFraction = stored_local_anims.flAffectedFraction; //animstate->flDurationInAir = stored_local_anims.flDurationInAir; //animstate->flEyePitch = stored_local_anims.flEyePitch; //animstate->flEyeYaw = stored_local_anims.flEyeYaw; //animstate->flGoalFeetYaw = stored_local_anims.flGoalFeetYaw; //animstate->flJumpFallVelocity = stored_local_anims.flJumpFallVelocity; //animstate->flLeanAmount = stored_local_anims.flLeanAmount; //animstate->flMoveYaw = stored_local_anims.flMoveYaw; Cheat.LocalPlayer->SetAbsAngles(local_abs_angles); memcpy(Cheat.LocalPlayer->GetAnimlayers(), local_animlayers, sizeof(AnimationLayer) * 13); memcpy(&Cheat.LocalPlayer->m_flPoseParameter(), pose_parameter, 24 * sizeof(float)); } void CLocalAnimations::OnCreateMove() { CCSGOPlayerAnimationState* animstate = Cheat.LocalPlayer->GetAnimstate(); if (AntiAim->desyncing) animstate->flGoalFeetYaw = AntiAim->realAngle; memcpy(local_animlayers, Cheat.LocalPlayer->GetAnimlayers(), sizeof(AnimationLayer) * 13); Cheat.LocalPlayer->UpdateAnimationState(animstate, Cheat.thirdpersonAngles, true); Cheat.LocalPlayer->UpdateClientSideAnimation(); if (ctx.send_packet) { StoreLocalAnims(); } } void CLocalAnimations::UpdateLocalAnimations() { CCSGOPlayerAnimationState* animstate = Cheat.LocalPlayer->GetAnimstate(); animstate->iLastUpdateFrame = GlobalVars->framecount; RestoreLocalAnims(); } void CLocalAnimations::FrameStageNotify(EClientFrameStage stage) { switch (stage) { case FRAME_NET_UPDATE_POSTDATAUPDATE_END: for (int i = 0; i < ClientState->m_nMaxClients; ++i) { CBasePlayer* player = reinterpret_cast<CBasePlayer*>(EntityList->GetClientEntity(i)); if (player && player != Cheat.LocalPlayer) Interpolate->DisableInterpolationFlags(player); } break; case FRAME_NET_UPDATE_END: break; case FRAME_RENDER_START: if (Cheat.LocalPlayer && Cheat.LocalPlayer->IsAlive()) { UpdateLocalAnimations(); } break; default: break; } } CLocalAnimations* LocalAnimations = new CLocalAnimations;
ну так если ты сделашь анимки по человечески, то он тебе понадобится, как минимум для сетапа кешед костей когда игра сама пытается обновлять анимки или устанавливать костиу меня без сетап бонс локал анимации работали
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz