- Статус
- Оффлайн
- Регистрация
- 22 Авг 2018
- Сообщения
- 174
- Реакции
- 24
Код:
void CAimbot::autozeus(SDK::CUserCmd * cmd)
{
for (int i = 1; i < 65; i++)
{
auto entity = INTERFACES::ClientEntityList->GetClientEntity(i);
if (!entity)
continue;
auto local_player = INTERFACES::ClientEntityList->GetClientEntity(INTERFACES::Engine->GetLocalPlayer());
Vector vector_best_point = Vector(0, 0, 0);
VMatrix matrix[128];
if (!entity->SetupBones(matrix, 128, 256, 0));
if (!local_player)
continue;
// проверка на союзников (чтобы авто зевс не стрелял по союзникам)
if (local_player->GetTeam() == entity->GetTeam())
continue;
// если противник не жив, то прекращаем работу авто зевса
if (!entity->IsAlive())
continue;
// если локальный игрок не жив, то прекращаем работу авто зевса
if (!local_player->IsAlive())
continue;
if (entity->GetImmunity())
continue;
// вычисление оружия у локального игрока (то есть у вас в руках)
auto weapon = reinterpret_cast<SDK::CBaseWeapon*>(INTERFACES::ClientEntityList->GetClientEntity(local_player->GetActiveWeaponIndex()));
// если это не оружие, то прекращаем работу авто зевса
if (!weapon)
continue;
// эту проверку даже можно убрать т.к в зевсботе только один заряд и в любом случае если вы его потратите зевс выкинется, а если подберёте то он уже заряжен будет. А вообще эта проверка проверяет количество патрон.
if (weapon->GetLoadedAmmo() == 0)
continue;
int maxDamage = SETTINGS::settings.damage_val;
if (weapon->GetItemDefenitionIndex() == SDK::WEAPON_TASER)
{
// вычисление дистанции
GLOBAL::zeus_radius = local_player->GetAbsOrigin().DistTo(entity->GetAbsOrigin());
if (can_shoot(cmd))
{
// проверка на дистанцию
if (GLOBAL::zeus_radius <= 189.5)
{
int hitboxes[] = { SDK::HitboxList::HITBOX_BODY, SDK::HitboxList::HITBOX_PELVIS, SDK::HitboxList::HITBOX_UPPER_CHEST, SDK::HitboxList::HITBOX_CHEST };
for (int i = 0; i < ARRAYSIZE(hitboxes); i++)
{
for (auto point : GetMultiplePointsForHitbox(local_player, entity, hitboxes[i], matrix))
{
int damage = autowall->CalculateDamage(local_player->GetEyePosition(), point, local_player, entity).damage;
if (damage > maxDamage)
{
bestHitbox = hitboxes[i];
maxDamage = damage;
vector_best_point = point;
}
}
}
}
}
}
}
}
