diff --git a/src/config.rs b/src/config.rs index b38bf2e7..7a5caf90 100644 --- a/src/config.rs +++ b/src/config.rs @@ -216,6 +216,7 @@ pub enum BoxMode { #[serde(default)] pub struct PlayerConfig { pub enabled: bool, + pub visiblity_check: bool, pub esp_hotkey: KeyCode, pub show_friendlies: bool, pub draw_box: DrawMode, @@ -237,6 +238,7 @@ impl Default for PlayerConfig { fn default() -> Self { Self { enabled: true, + visiblity_check: false, esp_hotkey: KeyCode::X, show_friendlies: false, draw_box: DrawMode::Color, diff --git a/src/ui/gui/player.rs b/src/ui/gui/player.rs index 4b334c5d..4d8b0d7a 100644 --- a/src/ui/gui/player.rs +++ b/src/ui/gui/player.rs @@ -51,6 +51,13 @@ impl App { self.send_config(); } + if ui + .checkbox(&mut self.config.player.visiblity_check, "Visibility Check") + .changed() + { + self.send_config(); + } + if keybind( ui, "esp_hotkey", diff --git a/src/ui/overlay/player.rs b/src/ui/overlay/player.rs index dbcaa743..e69a6898 100644 --- a/src/ui/overlay/player.rs +++ b/src/ui/overlay/player.rs @@ -13,6 +13,10 @@ use crate::{ impl App { pub fn draw_player(&self, painter: &Painter, player: &PlayerData, data: &Data) { + if self.config.player.visiblity_check && !player.visible { + return; + } + self.player_box(painter, player, data); self.skeleton(painter, player, data); }