-
Автор темы
- #1
Код:
bone and Type aim
std::vector<const char*> jointType = { "Head", "Neck", "Body" };
std::vector<const char*> aimtype = { "Vector", "Silent" };
Код:
Vector & Silent aim & AutoShot and shot delay
CGameFramework* pFramework = this->pGame->m_pFramework;
if (!pFramework) return;
CPlayerStatus* pPlayerStatus = this->pGame->m_pPlayerStatus;
if (!pPlayerStatus) return;
if (g_helper->m_pBuffVB.b_afkTime)
pPlayerStatus->SetAfkTime(g_helper->m_pBuffVB.f_afkTime);
CActor* pShooter = pFramework->GetClientActor();
if (!pShooter) return;
CFPPlayer* pFPPlayer = pShooter->GetFPPlayer();
if (!pFPPlayer) return;
Vec3 v_weaponPos = pFPPlayer->GetFPWeaponPos();
Vec3 v_cameraPos = this->pRenderer->m_pViewCamera;
CItemProxy* pItemProxy = pShooter->GetCurrentItem();
if (!pItemProxy) return;
IWeapon* pWeapon = pItemProxy->GetWeapon();
if (!pWeapon) return;
CWeaponGeneral* pGeneral = pItemProxy->m_pGeneral;
if (!pGeneral) return;
static float fNextShoot = 0.f;
float maxDist = 9999.f;
int partId = 0;
Vec3 v_targetPos = ZERO;
if (g_helper->m_pBuffVB.aimType == 1) pWeapon->SetTargetLocation(v_targetPos);
CActorSystem* pActorSystem = pFramework->GetActorSystem();
for (auto it = pActorSystem->m_actors.begin(); it != pActorSystem->m_actors.end(); it++) {
if (it->second == pShooter) continue;
if (!g_helper->IsSameTeam(pShooter, it->second)) continue;
if (it->second->IsDead()) continue;
if (g_helper->IsTarget(it->second, partId, v_targetPos)) {
float centerDist = pRenderer->GetHypotenuse(v_targetPos);
if (!this->pPhysicalWorld->GetCountObject(this->pEntitySystem, it->second->m_pEntity, v_weaponPos, v_targetPos)) {
if (g_helper->m_pBuffVB.aimAssist) {
if (!g_helper->m_pBuffVB.b_checkZoom || pGeneral->IsZoom()) {
if (!g_helper->m_pBuffVB.b_fovAim || pRenderer->GetViewingRadius(v_targetPos, g_helper->m_pBuffVB.f_fovAim)) {
if (centerDist < maxDist) {
switch (g_helper->m_pBuffVB.aimType) {
case 0:
g_helper->GetTargetAssist(pFPPlayer, v_targetPos);
break;
case 1:
pWeapon->SetTargetLocation(v_targetPos);
break;
}
if (g_helper->m_pBuffVB.b_autoFire) {
if (this->pTimer->GetCurrTime() >= fNextShoot) {
pWeapon->StartFire();
pWeapon->StopFire();
fNextShoot = this->pTimer->GetCurrTime() + g_helper->m_pBuffVB.f_autoFire;
}
}
maxDist = centerDist;
}
}
}
}
}
}
}
Код:
while (IEntity* pEntity = pEntityIt->Next()) {
if (!pEntity) continue;
if (CActor* pActor = pActorSystem->GetActor(pEntity->GetEntityId())) {
if (pActor == pShooter) continue;
if (!g_helper->IsSameTeam(pShooter, pActor)) continue;
if (pActor->IsDead()) continue;
if (g_helper->m_pBuffVB.sceleton)
g_helper->HudDrawEntitySkeleton(this->pRenderer, pEntity, iColor);
}
}
Последнее редактирование: