Начинающий
- Статус
- Оффлайн
- Регистрация
- 2 Ноя 2024
- Сообщения
- 188
- Реакции
- 17
вызывать перед бхопом.
Код:
void c_movement::air_duck(c_user_cmd* user_cmd) {
if (!g_cfg->misc.m_air_duck)
return;
if (!g_ctx->m_local_pawn || !g_ctx->m_local_pawn->m_movement_services())
return;
bool on_ground = g_ctx->m_local_pawn->m_flags() & FL_ONGROUND;
bool space_down = user_cmd->m_button_state.m_button_state & IN_JUMP;
if (!space_down) {
m_air_duck_active = false;
m_air_duck_jumped = false;
return;
}
if (space_down && !m_air_duck_active && on_ground) {
m_air_duck_active = true;
m_air_duck_jumped = false;
}
if (m_air_duck_active && !m_air_duck_jumped) {
if (g_ctx->m_local_pawn->m_movement_services()->m_duck_amount() < 0.67f) {
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;
user_cmd->m_button_state.m_button_state |= IN_DUCK;
user_cmd->m_button_state.m_button_state2 |= IN_DUCK;
user_cmd->m_button_state.m_button_state3 |= IN_DUCK;
}
else {
user_cmd->m_button_state.m_button_state &= ~IN_DUCK;
user_cmd->m_button_state.m_button_state2 &= ~IN_DUCK;
user_cmd->m_button_state.m_button_state3 &= ~IN_DUCK;
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;
m_air_duck_jumped = true;
}
}
}
Код:
bool m_air_duck_active{};
bool m_air_duck_jumped{};
void air_duck( c_user_cmd* user_cmd );