private bool RPC_OnProjectileAttack(ERPCNetworkType type, Message message) { using (PlayerProjectileAttack attack = PlayerProjectileAttack.Deserialize(message.read)) { UInt32 hitId = attack.playerAttack.attack.hitID; UInt32 hitBone = attack.playerAttack.attack.hitBone; var hitPlayer = Get <BasePlayer>(hitId); if (Settings.Aimbot_Range_Silent) { if (hitId == 0) { return(RangeAim.Silent(attack)); } if (hitPlayer == null && hitId != 0 && RangeAim.Instance.TargetPlayer != null) { var hitPost = attack.playerAttack.attack.hitPositionWorld; if (Vector3.Distance(Position, RangeAim.Instance.TargetPlayer.Position) < 2.5f || Vector3.Distance(Position, hitPost) > 2.5f) { ConsoleSystem.Log("near wall not found"); return(RangeAim.Silent(attack)); } ConsoleSystem.Log("Ignore because near wall"); return(false); } } if (hitPlayer && hitPlayer.IsAlive) { RangeAim.Instance.TargetPlayer = Get <BasePlayer>(hitId); return(RangeAim.Manual(attack)); } } return(false); }
private bool RPC_OnCLProject(ERPCNetworkType type, Message message) { using (ProjectileShoot projectileShoot = ProjectileShoot.Deserialize(message.read)) { foreach (ProjectileShoot.Projectile projectile in projectileShoot.projectiles) { RangeAim.NoteFiredProjectile(projectile.projectileID, PrefabID, AmmoType); } } return(false); }