Вопрос Local animations

Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
Посмотреть вложение 257703
я спросил в чем проблема и что бы мне помогли
тебе не раз написали в чем твоя проблема, дали тебе готовый код чтобы ты увидел как оно должно быть, и понял где твои ошибки
есил ты нихуя не понимаешь - выйди в окошко
 
Участник
Статус
Оффлайн
Регистрация
19 Апр 2020
Сообщения
1,169
Реакции[?]
313
Поинты[?]
151K
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
В ТОМ ЧТО Я БЛЯТЬ АНИМЛЕЕРЫ ПОСЛЕ АПДЕЙТА БЕКАПЛЮ? блять чел, я даже сделал до апдейта, увы не помогло
ну так нахуя самостоятельно анмстейт обновлять, шизик ебанный, ещё раз блять
бекапишь лееры
обновляешь клиент анимации
бекапишь на сендпакете позпараметры
ресторишь лееры и позпараметры
собираешь матрицу
устанавливаешь render_angles и gfy
сетаешь abs_angles

готово
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
можна и без матрицы обойтись
понял, теперь понятно почему у тебя нихуя не работает, ты даже банальный смысл анимфикса не понимаешь
в таком случае ждём пока проснётся дед-дима и пояснит молодому за афикс
 
Участник
Статус
Оффлайн
Регистрация
19 Апр 2020
Сообщения
1,169
Реакции[?]
313
Поинты[?]
151K
понял, теперь понятно почему у тебя нихуя не работает, ты даже банальный смысл анимфикса не понимаешь
в таком случае ждём пока проснётся дед-дима и пояснит молодому за афикс
у меня без сетап бонс локал анимации работали
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K

Код:
#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;
Посмотреть вложение 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;
    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;
я сейчас нихуя не понял, судя по видео, кроме рассинхрона на паблик серваках, я нихуя больше не вижу
у меня без сетап бонс локал анимации работали
ну так если ты сделашь анимки по человечески, то он тебе понадобится, как минимум для сетапа кешед костей когда игра сама пытается обновлять анимки или устанавливать кости
 
Сверху Снизу