Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Третье лицо сломалось

Пользователь
Пользователь
Статус
Оффлайн
Регистрация
14 Янв 2018
Сообщения
389
Реакции
91
кароче в третьем лице (без анимфикса) происходит это чудо
Screenshot_43.png

А с анимфиксом моделька просто тупо стоит в одном направлении с питч 0.
Уже весь софт перебрал, а причину ошибки найти не могу
 
У меня тоже самое, при чем когда я беру анимфикс из заведомо рабочей пасты, один хуй не фиксится, бтв как то раз зашел на серв, плагины накачались какие то, после этого почти все починило, если не считать поддергивания модельки на -180 + 180 иногда )
 
Локал анимфикс спасти нормально.
Хороший ответ. Только откуда?
В деф ксуо...
А чувак. Я вспомнил то что в ксуо (дефолтном полностью) такая же проблема. Спасибо, что заставил меня это вспомнить, пойду спащу локал анимфикс. Спасибо за наводку
 
в фф сурсе все норм
Ну там вроде анимфикс есть. А так, я не помню, вроде у меня в старом сурсе конфиликтовали анимфикс с чем-то, а в этом сурсе - хз, спащу по нормальному локал анимфикс
 
Ну там вроде анимфикс есть. А так, я не помню, вроде у меня в старом сурсе конфиликтовали анимфикс с чем-то, а в этом сурсе - хз, спащу по нормальному локал анимфикс
я специально сейчас взял и из сурса где все ворк спастил, но один хуй не заработало
 
Ну там вроде анимфикс есть. А так, я не помню, вроде у меня в старом сурсе конфиликтовали анимфикс с чем-то, а в этом сурсе - хз, спащу по нормальному локал анимфикс
чел у меня такой же трабл был,но мне никто гугл не отключил и я пошел сурсы локал анимфикса и пофиксил
 
чел у меня такой же трабл был,но мне никто гугл не отключил и я пошел сурсы локал анимфикса и пофиксил
так рофл в том что я беру анимфикс из сурса где все нормально воркает и пасчу себе, но нихуя не меняется от слова совсем
 
Так анимфикс и все остальное идеально идентичны, я хуй знает это мистика какая то или я на столько долбаеб
енеми анимфикс так же может ломать локал анимфикс
 
Код анимфикса мб дашь? И чекай Thirdperson_FSN в misc.h
Ну держи

Код:
Expand Collapse Copy
float LagComp::LerpTime() // GLAD https://github.com/sstokic-tgm/Gladiatorcheatz-v2.1/blob/eaa88bbb4eca71f8aebfed32a5b86300df8ce6a3/features/LagCompensation.cpp
{
    int updaterate = g_pCvar->FindVar("cl_updaterate")->GetInt();
    ConVar* minupdate = g_pCvar->FindVar("sv_minupdaterate");
    ConVar* maxupdate = g_pCvar->FindVar("sv_maxupdaterate");

    if (minupdate && maxupdate)
        updaterate = maxupdate->GetInt();

    float ratio = g_pCvar->FindVar("cl_interp_ratio")->GetFloat();

    if (ratio == 0)
        ratio = 1.0f;

    float lerp = g_pCvar->FindVar("cl_interp")->GetFloat();
    ConVar* cmin = g_pCvar->FindVar("sv_client_min_interp_ratio");
    ConVar* cmax = g_pCvar->FindVar("sv_client_max_interp_ratio");

    if (cmin && cmax && cmin->GetFloat() != 1)
        ratio = clamp(ratio, cmin->GetFloat(), cmax->GetFloat());

    return max(lerp, (ratio / updaterate));
}

bool LagComp::ValidTick(int tick) // gucci i think cant remember
{
    auto nci = g_pEngine->GetNetChannelInfo();

    if (!nci)
        return false;

    auto PredictedCmdArrivalTick = Globals::pCmd->tick_count + 1 + TIME_TO_TICKS(nci->GetAvgLatency(FLOW_INCOMING) + nci->GetAvgLatency(FLOW_OUTGOING));
    auto Correct = clamp(LerpTime() + nci->GetLatency(FLOW_OUTGOING), 0.f, 1.f) - TICKS_TO_TIME(PredictedCmdArrivalTick + TIME_TO_TICKS(LerpTime()) - (tick + TIME_TO_TICKS(LerpTime())));

    return (abs(Correct) <= 0.2f);
}

void LagComp::StoreRecord(C_BaseEntity* pEnt) // best lag comp in the world
{
    PlayerRecords Setup;

    static float ShotTime[65];
    static float OldSimtime[65];

    if (pEnt != Globals::LocalPlayer)
        pEnt->FixSetupBones(g_Aimbot.Matrix[pEnt->EntIndex()]);

    if (PlayerRecord[pEnt->EntIndex()].size() == 0)
    {
        Setup.Velocity = abs(pEnt->GetVelocity().Length2D());

        Setup.SimTime = pEnt->GetSimulationTime();

        memcpy(Setup.Matrix, g_Aimbot.Matrix[pEnt->EntIndex()], (sizeof(matrix3x4_t) * 128));

        Setup.Shot = false;

        PlayerRecord[pEnt->EntIndex()].push_back(Setup);
    }

    if (OldSimtime[pEnt->EntIndex()] != pEnt->GetSimulationTime())
    {
        Setup.Velocity = abs(pEnt->GetVelocity().Length2D());

        Setup.SimTime = pEnt->GetSimulationTime();

        Setup.m_vecAbsOrigin = pEnt->GetAbsOrigin();

        if (pEnt == Globals::LocalPlayer)
            pEnt->FixSetupBones(g_Aimbot.Matrix[pEnt->EntIndex()]);

        memcpy(Setup.Matrix, g_Aimbot.Matrix[pEnt->EntIndex()], (sizeof(matrix3x4_t) * 128));

        if (pEnt->GetActiveWeapon() && !pEnt->IsKnifeorNade())
        {
            if (ShotTime[pEnt->EntIndex()] != pEnt->GetActiveWeapon()->GetLastShotTime())
            {
                Setup.Shot = true;
                ShotTime[pEnt->EntIndex()] = pEnt->GetActiveWeapon()->GetLastShotTime();
            }
            else
                Setup.Shot = false;
        }
        else
        {
            Setup.Shot = false;
            ShotTime[pEnt->EntIndex()] = 0.f;
        }

        PlayerRecord[pEnt->EntIndex()].push_back(Setup);

        OldSimtime[pEnt->EntIndex()] = pEnt->GetSimulationTime();
    }


    ShotTick[pEnt->EntIndex()] = -1;

    if (PlayerRecord[pEnt->EntIndex()].size() > 0)
        for (int tick = 0; tick < PlayerRecord[pEnt->EntIndex()].size(); tick++)
            if (!ValidTick(TIME_TO_TICKS(PlayerRecord[pEnt->EntIndex()].at(tick).SimTime)))
                PlayerRecord[pEnt->EntIndex()].erase(PlayerRecord[pEnt->EntIndex()].begin() + tick);
            else if (PlayerRecord[pEnt->EntIndex()].at(tick).Shot)
                ShotTick[pEnt->EntIndex()] = tick; // gets the newest shot tick
}

void LagComp::ClearRecords(int i)
{
    if (PlayerRecord[i].size() > 0)
    {
        for (int tick = 0; tick < PlayerRecord[i].size(); tick++)
        {
            PlayerRecord[i].erase(PlayerRecord[i].begin() + tick);
        }
    }
}

template<class T, class U>
T LagComp::clamp(T in, U low, U high)
{
    if (in <= low)
        return low;

    if (in >= high)
        return high;

    return in;



Код:
Expand Collapse Copy
 void Thirdperson_FSN(ClientFrameStage_t curStage) {
        if (curStage == FRAME_RENDER_START && g_GameInput->m_fCameraInThirdPerson && Globals::LocalPlayer && Globals::LocalPlayer->IsAlive())
        {
            g_pPrediction->SetLocalViewAngles(Vector(Globals::RealAngle.x, Globals::RealAngle.y, 0));
        }
    }

Только смысл если это деф хуо, только в одном сурсе оно работает исправно, а в моем нет
 
Ну держи

Код:
Expand Collapse Copy
float LagComp::LerpTime() // GLAD https://github.com/sstokic-tgm/Gladiatorcheatz-v2.1/blob/eaa88bbb4eca71f8aebfed32a5b86300df8ce6a3/features/LagCompensation.cpp
{
    int updaterate = g_pCvar->FindVar("cl_updaterate")->GetInt();
    ConVar* minupdate = g_pCvar->FindVar("sv_minupdaterate");
    ConVar* maxupdate = g_pCvar->FindVar("sv_maxupdaterate");

    if (minupdate && maxupdate)
        updaterate = maxupdate->GetInt();

    float ratio = g_pCvar->FindVar("cl_interp_ratio")->GetFloat();

    if (ratio == 0)
        ratio = 1.0f;

    float lerp = g_pCvar->FindVar("cl_interp")->GetFloat();
    ConVar* cmin = g_pCvar->FindVar("sv_client_min_interp_ratio");
    ConVar* cmax = g_pCvar->FindVar("sv_client_max_interp_ratio");

    if (cmin && cmax && cmin->GetFloat() != 1)
        ratio = clamp(ratio, cmin->GetFloat(), cmax->GetFloat());

    return max(lerp, (ratio / updaterate));
}

bool LagComp::ValidTick(int tick) // gucci i think cant remember
{
    auto nci = g_pEngine->GetNetChannelInfo();

    if (!nci)
        return false;

    auto PredictedCmdArrivalTick = Globals::pCmd->tick_count + 1 + TIME_TO_TICKS(nci->GetAvgLatency(FLOW_INCOMING) + nci->GetAvgLatency(FLOW_OUTGOING));
    auto Correct = clamp(LerpTime() + nci->GetLatency(FLOW_OUTGOING), 0.f, 1.f) - TICKS_TO_TIME(PredictedCmdArrivalTick + TIME_TO_TICKS(LerpTime()) - (tick + TIME_TO_TICKS(LerpTime())));

    return (abs(Correct) <= 0.2f);
}

void LagComp::StoreRecord(C_BaseEntity* pEnt) // best lag comp in the world
{
    PlayerRecords Setup;

    static float ShotTime[65];
    static float OldSimtime[65];

    if (pEnt != Globals::LocalPlayer)
        pEnt->FixSetupBones(g_Aimbot.Matrix[pEnt->EntIndex()]);

    if (PlayerRecord[pEnt->EntIndex()].size() == 0)
    {
        Setup.Velocity = abs(pEnt->GetVelocity().Length2D());

        Setup.SimTime = pEnt->GetSimulationTime();

        memcpy(Setup.Matrix, g_Aimbot.Matrix[pEnt->EntIndex()], (sizeof(matrix3x4_t) * 128));

        Setup.Shot = false;

        PlayerRecord[pEnt->EntIndex()].push_back(Setup);
    }

    if (OldSimtime[pEnt->EntIndex()] != pEnt->GetSimulationTime())
    {
        Setup.Velocity = abs(pEnt->GetVelocity().Length2D());

        Setup.SimTime = pEnt->GetSimulationTime();

        Setup.m_vecAbsOrigin = pEnt->GetAbsOrigin();

        if (pEnt == Globals::LocalPlayer)
            pEnt->FixSetupBones(g_Aimbot.Matrix[pEnt->EntIndex()]);

        memcpy(Setup.Matrix, g_Aimbot.Matrix[pEnt->EntIndex()], (sizeof(matrix3x4_t) * 128));

        if (pEnt->GetActiveWeapon() && !pEnt->IsKnifeorNade())
        {
            if (ShotTime[pEnt->EntIndex()] != pEnt->GetActiveWeapon()->GetLastShotTime())
            {
                Setup.Shot = true;
                ShotTime[pEnt->EntIndex()] = pEnt->GetActiveWeapon()->GetLastShotTime();
            }
            else
                Setup.Shot = false;
        }
        else
        {
            Setup.Shot = false;
            ShotTime[pEnt->EntIndex()] = 0.f;
        }

        PlayerRecord[pEnt->EntIndex()].push_back(Setup);

        OldSimtime[pEnt->EntIndex()] = pEnt->GetSimulationTime();
    }


    ShotTick[pEnt->EntIndex()] = -1;

    if (PlayerRecord[pEnt->EntIndex()].size() > 0)
        for (int tick = 0; tick < PlayerRecord[pEnt->EntIndex()].size(); tick++)
            if (!ValidTick(TIME_TO_TICKS(PlayerRecord[pEnt->EntIndex()].at(tick).SimTime)))
                PlayerRecord[pEnt->EntIndex()].erase(PlayerRecord[pEnt->EntIndex()].begin() + tick);
            else if (PlayerRecord[pEnt->EntIndex()].at(tick).Shot)
                ShotTick[pEnt->EntIndex()] = tick; // gets the newest shot tick
}

void LagComp::ClearRecords(int i)
{
    if (PlayerRecord[i].size() > 0)
    {
        for (int tick = 0; tick < PlayerRecord[i].size(); tick++)
        {
            PlayerRecord[i].erase(PlayerRecord[i].begin() + tick);
        }
    }
}

template<class T, class U>
T LagComp::clamp(T in, U low, U high)
{
    if (in <= low)
        return low;

    if (in >= high)
        return high;

    return in;



Код:
Expand Collapse Copy
 void Thirdperson_FSN(ClientFrameStage_t curStage) {
        if (curStage == FRAME_RENDER_START && g_GameInput->m_fCameraInThirdPerson && Globals::LocalPlayer && Globals::LocalPlayer->IsAlive())
        {
            g_pPrediction->SetLocalViewAngles(Vector(Globals::RealAngle.x, Globals::RealAngle.y, 0));
        }
    }

Только смысл если это деф хуо, только в одном сурсе оно работает исправно, а в моем нет
Кстати проблема в моём случае в lagcomp. Там есть две строчки которые ломают анимацию локала, но если их убрать, то софт перестаёт стрелять по противникам, а анимации начинают работать. Думаю сегодня с камазом пофикшу эту штуку
 
Назад
Сверху Снизу