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

Вопрос Новые индексы для StoreHitboxes?

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
12 Июн 2025
Сообщения
99
Реакции
3
Код:
Expand Collapse Copy
bool CLagRecord::StoreHitboxes() {
    if (!g_ctx->m_pLocalPawn || !g_ctx->m_pLocalPawn->IsAlive())
        return false;

    if (!g_ctx->m_pLocalController || !g_ctx->m_pLocalController->m_bPawnIsAlive())
        return false;

    if (!g_ctx->m_pLocalData->m_pWeaponBaseVData)
    {
        return false;
    }

    m_arrTargetHitboxes.clear();

    if (g_Variables.m_Ragebot.m_ActiveConfig.m_Hitboxes.empty())
    {
        return false;
    }

    if (m_pModel->m_nRendermeshCount <= 0 || !m_pModel->m_pRenderMeshes)
    {
        return false;
    }

    CRenderMesh* pMeshes = m_pModel->m_pRenderMeshes->m_pMeshes;
    if (!pMeshes)
    {
        return false;
    }


    CHitBoxSets* pHitBoxSets = pMeshes[0].m_pHitboxSets;

    if (!pHitBoxSets || pHitBoxSets[0].m_nHitboxCount <= 0)
    {
        return false;
    }

    CHitBox* pHitBoxArr = pHitBoxSets[0].m_pHitBox;
    if (!pHitBoxArr)
    {
        return false;
    }

    int nDamageThreshold = g_ragebot->holdingMinOverride
        ? g_Variables.m_Ragebot.m_ActiveConfig.m_iMinDamageOverride
        : ((g_Variables.m_Ragebot.m_ActiveConfig.m_iMinDamage > 100)
            ? (g_Variables.m_Ragebot.m_ActiveConfig.m_iMinDamage - 100 + m_pPawn->m_iHealth())
            : g_Variables.m_Ragebot.m_ActiveConfig.m_iMinDamage);

    bool bStoredHitbox = false;

    for (const auto& hitbox : g_Variables.m_Ragebot.m_ActiveConfig.m_Hitboxes) {
        int damage = g_ctx->m_pLocalData->m_pWeaponBaseVData->m_nDamage();

        switch (hitbox.m_eDefinition) {
        case HB_HEAD:
            if (nDamageThreshold <= g_Autowall->MaxPossibleDamageToHitbox(m_pPawn, 1, damage)) {
                m_arrTargetHitboxes.emplace_back(
                    pHitBoxArr[HITBOX_HEAD].ConstructHitboxData(m_Bones[6], hitbox.m_bMultipoint));
                bStoredHitbox = true;
            }
            break;

        case HB_CHEST:
            if (nDamageThreshold <= g_Autowall->MaxPossibleDamageToHitbox(m_pPawn, 2, damage)) {
                m_arrTargetHitboxes.emplace_back(
                    pHitBoxArr[HITBOX_UPPER_CHEST].ConstructHitboxData(
                        m_Bones[HitboxToBoneIndex(HITBOX_UPPER_CHEST)], hitbox.m_bMultipoint));
                bStoredHitbox = true;
            }
            break;

        case HB_STOMACH:
            if (nDamageThreshold <= g_Autowall->MaxPossibleDamageToHitbox(m_pPawn, 3, damage)) {
                m_arrTargetHitboxes.emplace_back(
                    pHitBoxArr[HITBOX_STOMACH].ConstructHitboxData(m_Bones[1], hitbox.m_bMultipoint));
                bStoredHitbox = true;
            }
            break;

        case HB_PELVIS:
            if (nDamageThreshold <= g_Autowall->MaxPossibleDamageToHitbox(m_pPawn, 3, damage)) {
                m_arrTargetHitboxes.emplace_back(
                    pHitBoxArr[HITBOX_PELVIS].ConstructHitboxData(m_Bones[0], hitbox.m_bMultipoint));
                bStoredHitbox = true;
            }
            break;

        case HB_LEGS:
            if (nDamageThreshold <= g_Autowall->MaxPossibleDamageToHitbox(m_pPawn, 6, damage)) {
                m_arrTargetHitboxes.emplace_back(
                    pHitBoxArr[HITBOX_LEFT_CALF].ConstructHitboxData(m_Bones[23], hitbox.m_bMultipoint));
                m_arrTargetHitboxes.emplace_back(
                    pHitBoxArr[HITBOX_RIGHT_CALF].ConstructHitboxData(m_Bones[26], hitbox.m_bMultipoint));
                bStoredHitbox = true;
            }
            break;

        case HB_FEET:
            if (nDamageThreshold <= g_Autowall->MaxPossibleDamageToHitbox(m_pPawn, 6, damage)) {
                m_arrTargetHitboxes.emplace_back(
                    pHitBoxArr[HITBOX_LEFT_FOOT].ConstructHitboxData(m_Bones[24], hitbox.m_bMultipoint));
                m_arrTargetHitboxes.emplace_back(
                    pHitBoxArr[HITBOX_RIGHT_FOOT].ConstructHitboxData(m_Bones[27], hitbox.m_bMultipoint));
                bStoredHitbox = true;
            }
            break;
        }
    }

    return bStoredHitbox;
}
какие новые индексы костей?
 
Последнее редактирование:
Назад
Сверху Снизу