• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Вопрос Проблема с JumpBug

  • Автор темы Автор темы ayi
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
5 Мар 2022
Сообщения
109
Реакции
8
я сделал джампбаг для читухи, но проблема в том что у меня 60% прыжков это непопадания в тайминги, т.е. джампбаг не получается, а получается он только максимум на 2-3 раза нормально. пастеры пастите, те кто могут помочь помогите


C++:
Expand Collapse Copy
void F::MISC::MOVEMENT::JumpBug(CUserCmd* pCmd, CBaseUserCmdPB* pUserCmd, C_CSPlayerPawn* pLocalPawn)
{
    if (!C_GET(bool, Vars.bJumpBug) || !pLocalPawn || !pLocalPawn->IsAlive())
        return;

    if (!(pLocalPawn->GetFlags() & FL_ONGROUND) && pLocalPawn->GetMoveType() != MOVETYPE_LADDER)
    {
        float flVelocityZ = pLocalPawn->GetAbsVelocity().z;

        if (flVelocityZ < 0.0f && std::abs(flVelocityZ) > 200.0f)
        {
            pCmd->nButtons.nValue |= IN_DUCK;

            if (std::abs(flVelocityZ) < 300.0f)
            {
                pCmd->nButtons.nValue &= ~IN_DUCK;
            }
        }
    }
}
 
Последнее редактирование:
я сделал джампбаг для читухи, но проблема в том что у меня 60% прыжков это непопадания в тайминги, т.е. джампбаг не получается, а получается он только максимум на 2-3 раза нормально. пастеры пастите, те кто могут помочь помогите


C++:
Expand Collapse Copy
void F::MISC::MOVEMENT::JumpBug(CUserCmd* pCmd, CBaseUserCmdPB* pUserCmd, C_CSPlayerPawn* pLocalPawn)
{
    if (!C_GET(bool, Vars.bJumpBug) || !pLocalPawn || !pLocalPawn->IsAlive())
        return;

    if (!(pLocalPawn->GetFlags() & FL_ONGROUND) && pLocalPawn->GetMoveType() != MOVETYPE_LADDER)
    {
        float flVelocityZ = pLocalPawn->GetAbsVelocity().z;

        if (flVelocityZ < 0.0f && std::abs(flVelocityZ) > 200.0f)
        {
            pCmd->nButtons.nValue |= IN_DUCK;

            if (std::abs(flVelocityZ) < 300.0f)
            {
                pCmd->nButtons.nValue &= ~IN_DUCK;
            }
        }
    }
}
использовать предикт

C++:
Expand Collapse Copy
if (!(before_predict_flags & fl_onground) && m_local->m_fFlags() & fl_onground) {
        cmd->buttons &= ~in_jump;
        cmd->buttons |= in_duck;
        on_ground = true;
    }
ну или же с помощью трейсерея
 
использовать предикт

C++:
Expand Collapse Copy
if (!(before_predict_flags & fl_onground) && m_local->m_fFlags() & fl_onground) {
        cmd->buttons &= ~in_jump;
        cmd->buttons |= in_duck;
        on_ground = true;
    }
ну или же с помощью трейсерея

у мя не получается ни через трейсеры ни через предикт
 
Нужно ребилднуть мувменты и просимулировать. Правда нужно сделать это правильно и исправить некоторые приколы с точностью таймингов и прочих факторов влияющих на точность симуляции. Использовать тупо клиентсайдапдейт вместо этого или просто вызвать мувмент функи не получится. Получишь плохую точность и быстрее сломаешь клиент. Еще есть прикол с текстурами типа пола на мираже(не ровные поверхности и их нормали). Нужно правильно настроить трейс.
1743063384699.png
 
Последнее редактирование:
ну используй предикт
 
Последнее редактирование:
Назад
Сверху Снизу