Помогите с desync chams

В поиске смысла жизни
Начинающий
Статус
Оффлайн
Регистрация
14 Фев 2019
Сообщения
90
Реакции[?]
13
Поинты[?]
0
У меня прописан данный код:
Код:
if (Shonax.Visuals.LocalChams && g::pLocalEntity->IsAlive() && g_Misc.in_tp)
{
        LocalChams[Shonax.Visuals.LocalChamsType]->IncrementReferenceCount();
    g_pRenderView->SetColorModulation(Shonax.Visuals.LocalChamsColor);
    g_pRenderView->SetBlend(Shonax.Visuals.LocalChamsColor[3]);
    g_pModelRender->ForcedMaterialOverride(LocalChams[Shonax.Visuals.LocalChamsType]);
    oDrawModelExecute_t->GetTrampoline()(ecx, context, state, info, matrix);
}
Но он совсем не правильно отрисовывает desync chams.
Как я только изменяю код выше на этот:
Код:
if (Shonax.Visuals.LocalChams && g::pLocalEntity->IsAlive() && g_Misc.in_tp)
{
    LocalChams[Shonax.Visuals.LocalChamsType]->IncrementReferenceCount();
            Vector(0, g::RealAngle.y, 0));
    g_pRenderView->SetColorModulation(Shonax.Visuals.LocalChamsColor);
    g_pRenderView->SetBlend(Shonax.Visuals.LocalChamsColor[3]);
    g_pModelRender->ForcedMaterialOverride(LocalChams[Shonax.Visuals.LocalChamsType]);
    oDrawModelExecute_t->GetTrampoline()(ecx, context, state, info, matrix);
    Vector(0, g::pLocalEntity->m_angEyeAngles().x, 0));
}
То сразу начинают происходить краши и я не знаю, как их исправить. Краши происходят при включении LocalChams и перехода на 3 лицо. Прошу вас, помогите мне сделать работающие desync chams, а то странно видеть, что по тебе миссают в никуда и убивают также.
 
if (!send_packet) animstate->m_flGoalFeetYaw += 58
Участник
Статус
Оффлайн
Регистрация
10 Мар 2019
Сообщения
653
Реакции[?]
186
Поинты[?]
0
это неправильные десинк чамсы, они реализуются по другому
 
Забаненный
Статус
Оффлайн
Регистрация
21 Авг 2019
Сообщения
1,461
Реакции[?]
502
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я это понимаю, вот и прошу помощи
они полностью неправильные
Держи как пример
C++:
void animation_system::manage_local_fake_animstate()
{
    if (!game::local || !game::local->is_alive())
        return;
 
    static auto handle = game::local->get_ref_ehandle();
    static auto spawn_time = game::local->get_spawn_time();
 
    bool allocate = (!fake_anim_state),
        change = (!allocate) && (game::local->get_ref_ehandle() != handle),
        reset = (!allocate && !change) && (game::local->get_spawn_time() != spawn_time);
 
    if (change)
        free(fake_anim_state);
 
    if (reset)
    {
        sdk::cs_player::reset_anim_state(fake_anim_state);
 
        spawn_time = game::local->get_spawn_time();
    }
 
    if (allocate || change)
    {
        auto* state = reinterpret_cast<sdk::cs_player_anim_state*>(malloc(sizeof(sdk::cs_player_anim_state)));
 
        if (state != nullptr)
            game::local->create_anim_state(state);
 
        handle = game::local->get_ref_ehandle();
        spawn_time = game::local->get_spawn_time();
 
        fake_anim_state = state;
    }
    else if (game::local->get_sim_time() != game::local->get_old_sim_time())
    {
        std::array<sdk::animation_layer, 13> networked_layers;
        std::copy(game::local->get_anim_layers(), game::local->get_anim_layers() + networked_layers.size(), networked_layers);
 
        auto backup_abs_angles = game::local->get_abs_angles();
        auto backup_poses = game::local->get_pose_parameters();
 
        game::local->update_anim_state(fake_anim_state, anti_aim::sent_angles);
        game::local->setup_bones(game::fake_matrix, 128, 0x7FF00, global_vars_base->cur_time);
 
        std::copy(networked_layers.begin(), networked_layers.end(), game::local->get_anim_layers());
 
        game::local->get_pose_parameters() = backup_poses;
        game::local->get_abs_angles() = backup_abs_angles;
    }
}
само рисование которое ты и сделал
C++:
if (info.entity_index == game::local->index())
{
    // set your materials, etc
 
    original(ecx, edx, context, state, info, game::fake_matrix);
    model_render->forced_material_override(nullptr);
}
 
В поиске смысла жизни
Начинающий
Статус
Оффлайн
Регистрация
14 Фев 2019
Сообщения
90
Реакции[?]
13
Поинты[?]
0
Забаненный
Статус
Оффлайн
Регистрация
21 Авг 2019
Сообщения
1,461
Реакции[?]
502
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В поиске смысла жизни
Начинающий
Статус
Оффлайн
Регистрация
14 Фев 2019
Сообщения
90
Реакции[?]
13
Поинты[?]
0
не проверял на хуо. Но по 1 сообщению твоему ты максимум узнаешь в какой стороне десинк и то не всегда.
Я пытаюсь написать чамсы не на xyo. Вот код, который у меня получился:
Код:
void Hooks::manage_local_fake_animstate()
{
    if (!g::pLocalEntity || !g::pLocalEntity->IsAlive())
        return;

    auto AnimState = g::pLocalEntity->GetAnimOverlays();
    static auto handle = g::pLocalEntity->GetRefEHandle();
    static auto spawn_time = g::pLocalEntity->m_flSpawnTime();

    bool allocate = (!AnimState),
        change = (!allocate) && (g::pLocalEntity->GetRefEHandle() != handle),
        reset = (!allocate && !change) && (g::pLocalEntity->m_flSpawnTime() != spawn_time);

    if (change)
        free(AnimState);

    if (reset)
    {
        g::pLocalEntity->ResetAnimState(AnimState);

        spawn_time = g::pLocalEntity->m_flSpawnTime();
    }

    if (allocate || change)
    {
        auto* state = reinterpret_cast<AnimationLayer*>(malloc(sizeof(g::pLocalEntity->GetBasePlayerAnimState())));

        if (state != nullptr)
            g::pLocalEntity->ClientAnimations(state);

        handle = g::pLocalEntity->GetRefEHandle();
        spawn_time = g::pLocalEntity->m_flSpawnTime();

        AnimState = state;
    }
    else if (g::pLocalEntity->GetSimulationTime() != g::pLocalEntity->GetOldSimulationTime())
    {
        std::array<AnimationLayer, 13> networked_layers;
        std::copy(g::pLocalEntity->GetAnimOverlays(), g::pLocalEntity->GetAnimOverlays() + networked_layers.size(), networked_layers);

        auto backup_abs_angles = g::pLocalEntity->GetAbsAngles();
        auto backup_poses = g::pLocalEntity->GetPoseParamaters();

        g::pLocalEntity->UpdateClientAnimation();
        g::pLocalEntity->SetupBones(g::fake_matrix, 128, 0x7FF00, g_pGlobalVars->curtime);

        std::copy(networked_layers.begin(), networked_layers.end(), networked_layers);

        backup_poses = g::pLocalEntity->GetPoseParamaters();
        g::pLocalEntity->GetAbsAngles() = backup_abs_angles;
    }
}
Ошибки появляются из-за этих строк:

Код:
std::copy(g::pLocalEntity->GetAnimOverlays(), g::pLocalEntity->GetAnimOverlays() + networked_layers.size(), networked_layers);

std::copy(networked_layers.begin(), networked_layers.end(), networked_layers);
 
Забаненный
Статус
Оффлайн
Регистрация
21 Авг 2019
Сообщения
1,461
Реакции[?]
502
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я пытаюсь написать чамсы не на xyo. Вот код, который у меня получился:
Код:
void Hooks::manage_local_fake_animstate()
{
    if (!g::pLocalEntity || !g::pLocalEntity->IsAlive())
        return;

    auto AnimState = g::pLocalEntity->GetAnimOverlays();
    static auto handle = g::pLocalEntity->GetRefEHandle();
    static auto spawn_time = g::pLocalEntity->m_flSpawnTime();

    bool allocate = (!AnimState),
        change = (!allocate) && (g::pLocalEntity->GetRefEHandle() != handle),
        reset = (!allocate && !change) && (g::pLocalEntity->m_flSpawnTime() != spawn_time);

    if (change)
        free(AnimState);

    if (reset)
    {
        g::pLocalEntity->ResetAnimState(AnimState);

        spawn_time = g::pLocalEntity->m_flSpawnTime();
    }

    if (allocate || change)
    {
        auto* state = reinterpret_cast<AnimationLayer*>(malloc(sizeof(g::pLocalEntity->GetBasePlayerAnimState())));

        if (state != nullptr)
            g::pLocalEntity->ClientAnimations(state);

        handle = g::pLocalEntity->GetRefEHandle();
        spawn_time = g::pLocalEntity->m_flSpawnTime();

        AnimState = state;
    }
    else if (g::pLocalEntity->GetSimulationTime() != g::pLocalEntity->GetOldSimulationTime())
    {
        std::array<AnimationLayer, 13> networked_layers;
        std::copy(g::pLocalEntity->GetAnimOverlays(), g::pLocalEntity->GetAnimOverlays() + networked_layers.size(), networked_layers);

        auto backup_abs_angles = g::pLocalEntity->GetAbsAngles();
        auto backup_poses = g::pLocalEntity->GetPoseParamaters();

        g::pLocalEntity->UpdateClientAnimation();
        g::pLocalEntity->SetupBones(g::fake_matrix, 128, 0x7FF00, g_pGlobalVars->curtime);

        std::copy(networked_layers.begin(), networked_layers.end(), networked_layers);

        backup_poses = g::pLocalEntity->GetPoseParamaters();
        g::pLocalEntity->GetAbsAngles() = backup_abs_angles;
    }
}
шонакс же юзает антарио,не?
 
В поиске смысла жизни
Начинающий
Статус
Оффлайн
Регистрация
14 Фев 2019
Сообщения
90
Реакции[?]
13
Поинты[?]
0
Пользователь
Статус
Оффлайн
Регистрация
3 Июл 2019
Сообщения
137
Реакции[?]
77
Поинты[?]
2K
Add .end in the last
It would be look like this

std :: copy (g :: pLocalEntity-> GetAnimOverlays (), g :: pLocalEntity-> GetAnimOverlays () + networked_layers.size (), networked_layers.end());


std :: copy (networked_layers.begin (), networked_layers.end (), networked_layers.end());
 
Сверху Снизу