Announcement
Collapse
No announcement yet.
little autowall
Collapse
X
-
Bullet
little autowall
did anyone got a autowall material which aims thru if i press mouse 1^^ but only thru materials?Tags: None
-
kkkkkkk
Code:void cLocalPlayer::GetBulletTypeParameters( int iBulletType, int &iPenetrationPower, float &flPenetrationDistance, int &iCurrentDamage ) { //MIKETODO: make ammo types come from a script file. if ( IsAmmoType( iBulletType, BULLET_PLAYER_50AE ) ) { iPenetrationPower = 30; flPenetrationDistance = 1000.0; iCurrentDamage += (-4 + SHARED_RANDOMINT(0,10)); } else if ( IsAmmoType( iBulletType, BULLET_PLAYER_762MM ) ) { iPenetrationPower = 39; flPenetrationDistance = 5000.0; iCurrentDamage += (-2 + SHARED_RANDOMINT(0,4)); } else if ( IsAmmoType( iBulletType, BULLET_PLAYER_556MM ) ) { iPenetrationPower = 35; flPenetrationDistance = 4000.0; iCurrentDamage += (-3 + random->RandomInt(0,6)); } else if ( IsAmmoType( iBulletType, BULLET_PLAYER_338MAG ) ) { iPenetrationPower = 45; flPenetrationDistance = 8000.0; iCurrentDamage += (-4 + random->RandomInt(0,8)); } else if ( IsAmmoType( iBulletType, BULLET_PLAYER_9MM ) ) { iPenetrationPower = 21; flPenetrationDistance = 800.0; iCurrentDamage += (-4 + random->RandomInt(0,10)); } else if ( IsAmmoType( iBulletType, BULLET_PLAYER_BUCKSHOT ) ) { iPenetrationPower = 0; flPenetrationDistance = 0.0; } else if ( IsAmmoType( iBulletType, BULLET_PLAYER_45ACP ) ) { iPenetrationPower = 15; flPenetrationDistance = 500.0; iCurrentDamage += (-2 + random->RandomInt(0,4)); } else if ( IsAmmoType( iBulletType, BULLET_PLAYER_357SIG ) ) { iPenetrationPower = 25; flPenetrationDistance = 800.0; iCurrentDamage += (-4 + random->RandomInt(0,10)); } else if ( IsAmmoType( iBulletType, BULLET_PLAYER_57MM ) ) { iPenetrationPower = 30; flPenetrationDistance = 2000.0; iCurrentDamage += (-4 + random->RandomInt(0,10)); } else { Assert( false ); iPenetrationPower = 0; flPenetrationDistance = 0.0; } // in case you want to use it for 1.5 :o // switch ( iBulletType ) // { // case BULLET_PLAYER_9MM : iPenetrationPower = 21; flPenetrationDistance = 800.0; iSparksAmount = 15; iCurrentDamage += (-4 + random->RandomInt(0,10)); break; // case BULLET_PLAYER_45ACP : iPenetrationPower = 15; flPenetrationDistance = 500.0; iSparksAmount = 20; iCurrentDamage += (-2 + random->RandomInt(0,4)); break; // case BULLET_PLAYER_50AE : iPenetrationPower = 30; flPenetrationDistance = 1000.0; iSparksAmount = 20; iCurrentDamage += (-4 + random->RandomInt(0,10)); break; // case BULLET_PLAYER_762MM : iPenetrationPower = 39; flPenetrationDistance = 5000.0; iSparksAmount = 30; iCurrentDamage += (-2 + random->RandomInt(0,4)); break; // case BULLET_PLAYER_556MM : iPenetrationPower = 35; flPenetrationDistance = 4000.0; iSparksAmount = 30; iCurrentDamage += (-3 + random->RandomInt(0,6));break; // case BULLET_PLAYER_338MAG : iPenetrationPower = 45; flPenetrationDistance = 8000.0; iSparksAmount = 30; iCurrentDamage += (-4 + random->RandomInt(0,8));break; // case BULLET_PLAYER_57MM : iPenetrationPower = 30; flPenetrationDistance = 2000.0; iSparksAmount = 20; iCurrentDamage += (-4 + random->RandomInt(0,10));break; // case BULLET_PLAYER_357SIG : iPenetrationPower = 25; flPenetrationDistance = 800.0; iSparksAmount = 20; iCurrentDamage += (-4 + random->RandomInt(0,10));break; // default : iPenetrationPower = 0; flPenetrationDistance = 0.0; break; // } } bool cLocalPlayer::bCanCauseDamage( Vector EnemyPos, float flDistance ) { trace_t tr; float flDamageModifier = 0.5,flRangeModifier,flPenetrationDistance,flCurrentDistance = 0.0f; int iPenetration,iCurrentDamage; this->GetBulletTypeParameters( iGetBulletType(), iPenetrationPower, flPenetrationDistance, iCurrentDamage , flRangeModifier ); while (iPenetration != 0) { //UTIL_TraceLine SHARED_TraceLine( m_LocalOrigin, EnemyPos, MASK_SOLID|CONTENTS_HITBOX, this, COLLISION_GROUP_NONE, &tr ); surfacedata_t *pSurfaceData = g_pPhysicApi->GetSurfaceData( tr.surface.surfaceProps ); int iMaterial = g_pSurfaceData->gameMaterial; switch ( iMaterial ) { case CHAR_TEX_METAL : // iPenetrationPower = (int) (iPenetrationPower * 0.15); // flDamageModifier = 0.2; return false; // even an awm can't do much now... break; case CHAR_TEX_CONCRETE : iPenetrationPower = (int) (iPenetrationPower * 0.25);break; flDamageModifier = 0.25; case CHAR_TEX_GRATE : iPenetrationPower = (int) (iPenetrationPower * 0.5); flDamageModifier = 0.4; break; case CHAR_TEX_VENT : iPenetrationPower = (int) (iPenetrationPower * 0.5); flDamageModifier = 0.45; break; case CHAR_TEX_TILE : iPenetrationPower = (int) (iPenetrationPower * 0.65); flDamageModifier = 0.3; break; case CHAR_TEX_COMPUTER : iPenetrationPower = (int) (iPenetrationPower * 0.4); flDamageModifier = 0.45; break; case CHAR_TEX_WOOD : iPenetrationPower = (int) (iPenetrationPower * 1); flDamageModifier = 0.6; break; default : iPenetrationPower = (int) (iPenetrationPower * 1); flDamageModifier = 0.6; break; } if ( tr.fraction != 1.0 ) { if ( tr.iHitgroup == HITGROUP_SHIELD ) return false; iPenetration--; flCurrentDistance = tr.fraction * flDistance; iCurrentDamage = iCurrentDamage * (pow (flRangeModifier, (flCurrentDistance / 500))); if (flCurrentDistance > flPenetrationDistance) iPenetration = 0; } else { return true; } } return false; }
Code:if (GetCvarValue("autowall")) { surfacedata_t *pSurfaceData = cHook.m_pPhysicAPI->GetSurfaceData( tr.surface.surfaceProps ); int iMaterial = pSurfaceData->game.material; switch ( iMaterial ) { case CHAR_TEX_METAL: return false; // even an awm can't do much now... case CHAR_TEX_CONCRETE: return false; // even an awm can't do much now... case CHAR_TEX_DIRT: return false; // even an awm can't do much now... case CHAR_TEX_SLOSH: return false; // even an awm can't do much now... case CHAR_TEX_SAND: return false; // even an awm can't do much now... case CHAR_TEX_GRATE: return true; case CHAR_TEX_VENT: return true; case CHAR_TEX_TILE: return true; case CHAR_TEX_COMPUTER: return true; case CHAR_TEX_WOOD: return true; case CHAR_TEX_ANTLION: return true; case CHAR_TEX_CLIP: return true; case CHAR_TEX_ALIENFLESH: return true; case CHAR_TEX_FOLIAGE: return true; case CHAR_TEX_GLASS: return true; case CHAR_TEX_PLASTIC: return true; case CHAR_TEX_BLOODYFLESH: return true; case CHAR_TEX_FLESH: return true; default : return false; }
Comment
-
yay more simple ghetto way just with tracing
instead of tracing from you to the guy
also trace from the guy to you,
if the fraction is ok on one of them bam " but its not a real auto wall but a nice trick"
Code:bool aimbot::is_this_visible(phoenix_entity_info* target) { if ( m_pCvars->aim_thru->GetBool() ) return true; if ( target->is_visible() ) return true; if ( m_pCvars->aim_autowall->GetBool() ) { Vector origin = target->GetEyesPos(); phoenix_entity_info* me = hack_func->new_entity_manager->get_local_player(); Ray_t ray1; Ray_t ray2; trace_t tr1; trace_t tr2; ray1.Init(origin,me->GetEyesPos()); ray2.Init(me->GetEyesPos(),origin); plugin_game_interface::m_pEnginetrace->TraceRay(ray1,MASK_SHOT,0,&tr1); plugin_game_interface::m_pEnginetrace->TraceRay(ray2,MASK_SHOT,0,&tr2); if(//yeah why trying in that case tr1.startsolid||tr1.allsolid|| tr2.startsolid||tr2.allsolid) return false; //If the plane has a zero z component in the normal, then it's a step or a wall if(tr1.plane.normal[2] > 0||tr2.plane.normal[2] > 0) { //ok its not a step or a wall return ( tr1.fraction >= 0.715 || tr2.fraction >= 0.715) ? true : false; } } return false; }
Comment
-
kkkkkkk
Originally posted by 4m0n3v View Postyay more simple ghetto way just with tracing
instead of tracing from you to the guy
also trace from the guy to you,
if the fraction is ok on one of them bam " but its not a real auto wall but a nice trick"
Code:bool aimbot::is_this_visible(phoenix_entity_info* target) { if ( m_pCvars->aim_thru->GetBool() ) return true; if ( target->is_visible() ) return true; if ( m_pCvars->aim_autowall->GetBool() ) { Vector origin = target->GetEyesPos(); phoenix_entity_info* me = hack_func->new_entity_manager->get_local_player(); Ray_t ray1; Ray_t ray2; trace_t tr1; trace_t tr2; ray1.Init(origin,me->GetEyesPos()); ray2.Init(me->GetEyesPos(),origin); plugin_game_interface::m_pEnginetrace->TraceRay(ray1,MASK_SHOT,0,&tr1); plugin_game_interface::m_pEnginetrace->TraceRay(ray2,MASK_SHOT,0,&tr2); if(//yeah why trying in that case tr1.startsolid||tr1.allsolid|| tr2.startsolid||tr2.allsolid) return false; //If the plane has a zero z component in the normal, then it's a step or a wall if(tr1.plane.normal[2] > 0||tr2.plane.normal[2] > 0) { //ok its not a step or a wall return ( tr1.fraction >= 0.715 || tr2.fraction >= 0.715) ? true : false; } } return false; }
Comment
Comment