Вопрос Как ограничить дистанцию работы Хитов и количество ?

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
5 Сен 2021
Сообщения
311
Реакции
14
Как ограничить дистанцию работы Хитов и количество ?
Код:
Expand Collapse Copy
                hit.push_back(SvRequestShootHit::RequestHit(nActor->GetEntityId(), 12, 6, 12, ShootPos, 0.0f, nActor->HitGett()));
                for (int i = 0; i < 1; ++i) hit.push_back(SvRequestShootHit::RequestHit(pEntityActor->GetEntityId(), MaterialId, 1, idbone, BonePos, 0.0f, pActor->HitGett()));
}
 
дистанциия
Код:
Expand Collapse Copy
float maxDistance = 100.0f; // максимальная дистанция до хита

hit.push_back(SvRequestShootHit::RequestHit(nActor->GetEntityId(), 12, 6, 12, ShootPos, 0.0f, nActor->HitGett()));

for (int i = 0; i < 1; ++i) {
    float distance = CalculateDistance(pEntityActor->GetPosition(), ShootPos); //  функция CalculateDistance
    if (distance <= maxDistance) {
        hit.push_back(SvRequestShootHit::RequestHit(pEntityActor->GetEntityId(), MaterialId, 1, idbone, BonePos, 0.0f, pActor->HitGett()));
    }
}

хиты
Код:
Expand Collapse Copy
int maxHits = 5; // кол-во хитов

for (int i = 0; i < maxHits; ++i) {
    hit.push_back(SvRequestShootHit::RequestHit(nActor->GetEntityId(), 12, 6, 12, ShootPos, 0.0f, nActor->HitGett()));
}


for (int i = 0; i < 1 && hit.size() < maxHits; ++i) {
    hit.push_back(SvRequestShootHit::RequestHit(pEntityActor->GetEntityId(), MaterialId, 1, idbone, BonePos, 0.0f, pActor->HitGett()));
}
 
Последнее редактирование:
дистанциия
Код:
Expand Collapse Copy
float maxDistance = 100.0f; // максимальная дистанция до хита

hit.push_back(SvRequestShootHit::RequestHit(nActor->GetEntityId(), 12, 6, 12, ShootPos, 0.0f, nActor->HitGett()));

for (int i = 0; i < 1; ++i) {
    float distance = CalculateDistance(pEntityActor->GetPosition(), ShootPos); //  функция CalculateDistance
    if (distance <= maxDistance) {
        hit.push_back(SvRequestShootHit::RequestHit(pEntityActor->GetEntityId(), MaterialId, 1, idbone, BonePos, 0.0f, pActor->HitGett()));
    }
}

хиты
Код:
Expand Collapse Copy
int maxHits = 5; // кол-во хитов

for (int i = 0; i < maxHits; ++i) {
    hit.push_back(SvRequestShootHit::RequestHit(nActor->GetEntityId(), 12, 6, 12, ShootPos, 0.0f, nActor->HitGett()));
}


for (int i = 0; i < 1 && hit.size() < maxHits; ++i) {
    hit.push_back(SvRequestShootHit::RequestHit(pEntityActor->GetEntityId(), MaterialId, 1, idbone, BonePos, 0.0f, pActor->HitGett()));
}
Спасибо :)
 
Назад
Сверху Снизу