Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Jumpbug

  • Автор темы Автор темы cs2_sdk
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Онлайн
Регистрация
8 Ноя 2025
Сообщения
22
Реакции
1
всем привет югейм, я кароче сделал джампбаг для апории и он часто миссает а на хвх серверах вообще будто через кнопки обычные, а не через сабтики, помогите хотя бы чтобы он не миссал, вот сам джампбаг

void CMovement::JumpBug(CUserCmd* pCmd)
{
CONVAR(sv_autobunnyhopping);

if (!Config::b(g_Variables.m_Movement.m_bEnableJumpBug))
return;

if (!(pCmd->m_nButtons.m_nValue & IN_JUMP))
return;

static int iNextJump = 0;

CBaseUserCmdPB* pBaseCmd = pCmd->m_csgoUserCmd.mutable_base();

const int iTicks = std::clamp(12 - pBaseCmd->subtick_moves_size(), 0, 12);

const auto nClientTick = Interfaces::m_pGlobalVariables->m_nTickCount;

if (iNextJump - nClientTick == 0) {
pCmd->m_nButtons.SetButtonState(IN_JUMP, CInButtonState::EButtonState::IN_BUTTON_UP_DOWN);

CSubtickMoveStep* pJumpSubtick = Interfaces::m_pInput->CreateNewSubTickMoveStep(pBaseCmd->mutable_subtick_moves());
if (pJumpSubtick)
{
pJumpSubtick->set_when(0.f);
pJumpSubtick->set_button(IN_JUMP);
pJumpSubtick->set_pressed(true);
pBaseCmd->mutable_subtick_moves()->AddAllocated(pJumpSubtick);
}

CSubtickMoveStep* pUnJumpSubtick = Interfaces::m_pInput->CreateNewSubTickMoveStep(pBaseCmd->mutable_subtick_moves());
if (pUnJumpSubtick)
{
pUnJumpSubtick->set_when(0.5f);
pUnJumpSubtick->set_button(IN_JUMP);
pUnJumpSubtick->set_pressed(false);
pBaseCmd->mutable_subtick_moves()->AddAllocated(pUnJumpSubtick);
}


return;
}

if (!(g_Prediction->GetPreFlags() & FL_ONGROUND) && (Globals::m_pLocalPlayerPawn->m_fFlags() & FL_ONGROUND)) {
pCmd->m_nButtons.SetButtonState(IN_DUCK, CInButtonState::EButtonState::IN_BUTTON_UP_DOWN);
pCmd->m_nButtons.SetButtonState(IN_JUMP, CInButtonState::EButtonState::IN_BUTTON_UP);

CSubtickMoveStep* pDuckSubtick = Interfaces::m_pInput->CreateNewSubTickMoveStep(pBaseCmd->mutable_subtick_moves());
if (pDuckSubtick)
{
pDuckSubtick->set_when(0.f);
pDuckSubtick->set_button(IN_DUCK);
pDuckSubtick->set_pressed(true);
pBaseCmd->mutable_subtick_moves()->AddAllocated(pDuckSubtick);
}

CSubtickMoveStep* pUnDuckSubtick = Interfaces::m_pInput->CreateNewSubTickMoveStep(pBaseCmd->mutable_subtick_moves());
if (pUnDuckSubtick)
{
pUnDuckSubtick->set_when(0.5f);
pUnDuckSubtick->set_button(IN_DUCK);
pUnDuckSubtick->set_pressed(false);
pBaseCmd->mutable_subtick_moves()->AddAllocated(pUnDuckSubtick);
}

iNextJump = nClientTick + 1;
}
}
 
а если 32 поставлю то что будет?
конкретно в джампбаге скорее всего ничего, но сейчас 32 сабтика вместо 12 в игре
всем привет югейм, я кароче сделал джампбаг для апории и он часто миссает а на хвх серверах вообще будто через кнопки обычные, а не через сабтики, помогите хотя бы чтобы он не миссал, вот сам джампбаг
может быть нужно делать по стамине, что бы не миссал. Еще вот че if (!(g_Prediction->GetPreFlags() & FL_ONGROUND) && (Globals::m_pLocalPlayerPawn->m_fFlags() & FL_ONGROUND)) {

эта проверка, ты проверяешь от павна, нужно с предикта постфлаг брать, но дай угадаю, у тебя часто не срабатывает?) Нужен проперный предикт, из за этого у тебя как раз и может миссать. На сколько мне известно, помимо этого, нужно еще ребилдить весь мувмент, что бы совпадал с сервером.
 
нужно еще ребилдить весь мувмент, что бы совпадал с сервером.
Не весь, но многие части. В основном это из-за интерполяции или слоупов. Большая часть кода совпадает с сервером.
 
Назад
Сверху Снизу