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

Начинающий
Статус
Оффлайн
Регистрация
5 Сен 2021
Сообщения
260
Реакции[?]
14
Поинты[?]
6K
Как ограничить дистанцию работы Хитов и количество ?
Код:
                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()));
}
 
Начинающий
Статус
Оффлайн
Регистрация
19 Май 2021
Сообщения
44
Реакции[?]
2
Поинты[?]
0
дистанциия
Код:
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()));
    }
}
хиты
Код:
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()));
}
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
5 Сен 2021
Сообщения
260
Реакции[?]
14
Поинты[?]
6K
дистанциия
Код:
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()));
    }
}
хиты
Код:
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()));
}
Спасибо :)
 
Сверху Снизу