Вопрос Помощь с бхопом

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
29 Июл 2022
Сообщения
3
Реакции
1
крч на локалке он идеальный, но в катке это какая то хуйня помогите плиз
вот код:
bhop:
Expand Collapse Copy
void c_movement::bunnyhop( c_user_cmd* user_cmd )
{
    if (!g_configs->misc.m_bunny_hop || g_interfaces->m_var->get_by_name(xorstr_( "sv_autobunnyhopping" ))->get_int())
        return;

    if (!g_ctx->m_local_pawn || !g_ctx->m_local_pawn->is_alive() || g_ctx->m_local_pawn->m_move_type() == movetype_noclip || g_ctx->m_local_pawn->m_move_type() == movetype_ladder)
        return;

    if (g_ctx->m_local_pawn->m_flags() & FL_ONGROUND)
        user_cmd->m_button_state.m_button_state &= ~IN_JUMP;
}
 
крч на локалке он идеальный, но в катке это какая то хуйня помогите плиз
вот код:
bhop:
Expand Collapse Copy
void c_movement::bunnyhop( c_user_cmd* user_cmd )
{
    if (!g_configs->misc.m_bunny_hop || g_interfaces->m_var->get_by_name(xorstr_( "sv_autobunnyhopping" ))->get_int())
        return;

    if (!g_ctx->m_local_pawn || !g_ctx->m_local_pawn->is_alive() || g_ctx->m_local_pawn->m_move_type() == movetype_noclip || g_ctx->m_local_pawn->m_move_type() == movetype_ladder)
        return;

    if (g_ctx->m_local_pawn->m_flags() & FL_ONGROUND)
        user_cmd->m_button_state.m_button_state &= ~IN_JUMP;
}
в каком смысле в катке пиздец.
 
ну он просто калловый становиться не регает прыжки
 
Вообще есть сложный путь.
Сделай +- нормальный предикт.
Сторь флаги проперно и у тебя даже такой бхоп будет работать хорошо.
А так можешь глянуть мою реализацию в Nonagon v1
 
Вообще есть сложный путь.
Сделай +- нормальный предикт.
Сторь флаги проперно и у тебя даже такой бхоп будет работать хорошо.
А так можешь глянуть мою реализацию в Nonagon v1
круто вам мувмент стафф вызываеть в предикшене тем более всякие бхопчики, стрейферы
 
круто вам мувмент стафф вызываеть в предикшене тем более всякие бхопчики, стрейферы
это действительно так работает?
потому что в ксго это звучит как бред...
тут явно дело что оно без сабтика работает .
если я правильно понимаю то в данном случае из-за сабтик системы оно просто вызывается несколько раз из-за чего работает как дерьмо
 
это действительно так работает?
потому что в ксго это звучит как бред...
тут явно дело что оно без сабтика работает .
если я правильно понимаю то в данном случае из-за сабтик системы оно просто вызывается несколько раз из-за чего работает как дерьмо
в кс2 это тоже звучит как бред и не имеет никакого смысла
вся суть в том что как раз таки из-за сабтика все идет по пизде(бтв по крайне мере у меня бхоп реализован также как и у тса и ничего не стопит но не суть)
самый правильный вариант реализации банни хопа в этой игре это итерайтнуть два тика для него и установить весь нужный стафф(when, press, button)
 
в кс2 это тоже звучит как бред и не имеет никакого смысла
вся суть в том что как раз таки из-за сабтика все идет по пизде(бтв по крайне мере у меня бхоп реализован также как и у тса и ничего не стопит но не суть)
самый правильный вариант реализации банни хопа в этой игре это итерайтнуть два тика для него и установить весь нужный стафф(when, press, button)
чет сложно звучит, а ты еще и говорил что кс2 легче чем ксго
 
круто вам мувмент стафф вызываеть в предикшене тем более всякие бхопчики, стрейферы
bruh, я где то сказал что мувмент нужно вызывать во время предишена ?
Я предлагаю сторить флаги в begin и end и далее их вместо
g_ctx->m_local_pawn->m_flags() & FL_ONGROUND проверять
 
bruh, я где то сказал что мувмент нужно вызывать во время предишена ?
Я предлагаю сторить флаги в begin и end и далее их вместо
g_ctx->m_local_pawn->m_flags() & FL_ONGROUND проверять
твой метод хуйня и ничего не фиксит/не улучшает
 
Код:
Expand Collapse Copy
void c_movement::bunnyhop(c_user_cmd* user_cmd)
{
    if (!g_configs->misc.m_bunny_hop || g_interfaces->m_var->get_by_name(xorstr_("sv_autobunnyhopping"))->get_int())
        return;

    if (!(user_cmd->m_button_state.m_button_state & IN_JUMP))
        return;

    if (!(g_ctx->m_local_pawn->m_flags() & FL_ONGROUND))
    {
        user_cmd->m_button_state.m_button_state &= ~IN_JUMP;
        user_cmd->m_button_state.m_button_state2 &= ~IN_JUMP;
        user_cmd->m_button_state.m_button_state3 &= ~IN_JUMP;
    }
    else
    {
        auto cmd_push = g_protobuf->add_subtick_move_step(user_cmd);
        cmd_push->set_button(IN_JUMP);
        cmd_push->set_pressed(true);
        cmd_push->set_when(0.999f);

        auto cmd_release = g_protobuf->add_subtick_move_step(user_cmd);
        cmd_release->set_button(IN_JUMP);
        cmd_release->set_pressed(false);
        cmd_release->set_when(0.999f);
    }
}
 
Назад
Сверху Снизу