всем привет югейм, я кароче сделал джампбаг для апории и он часто миссает а на хвх серверах вообще будто через кнопки обычные, а не через сабтики, помогите хотя бы чтобы он не миссал, вот сам джампбаг
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;
}
}