From 14151d7b2cb4daf2cf4834e0f3292ca515dbd97a Mon Sep 17 00:00:00 2001 From: oldnapalm <38410858+oldnapalm@users.noreply.github.com> Date: Mon, 14 Aug 2023 14:08:30 -0300 Subject: [PATCH] Add option to disable blip and nametag display --- RageCoop.Client/Menus/Sub/SettingsMenu.cs | 14 ++++++++++++++ RageCoop.Client/Networking/Receive.cs | 2 +- RageCoop.Client/Settings.cs | 10 ++++++++++ RageCoop.Client/Sync/Entities/Ped/SyncedPed.cs | 11 +++++++---- RageCoop.Client/Sync/EntityPool.cs | 2 +- 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/RageCoop.Client/Menus/Sub/SettingsMenu.cs b/RageCoop.Client/Menus/Sub/SettingsMenu.cs index 8f6e7d2..f62810e 100644 --- a/RageCoop.Client/Menus/Sub/SettingsMenu.cs +++ b/RageCoop.Client/Menus/Sub/SettingsMenu.cs @@ -17,6 +17,8 @@ namespace RageCoop.Client.Menus private static readonly NativeCheckboxItem _disableTrafficItem = new NativeCheckboxItem("Disable Traffic (NPCs/Vehicles)", "Local traffic only", Main.Settings.DisableTraffic); private static readonly NativeCheckboxItem _flipMenuItem = new NativeCheckboxItem("Flip menu", Main.Settings.FlipMenu); private static readonly NativeCheckboxItem _disablePauseAlt = new NativeCheckboxItem("Disable Alternate Pause", "Don't freeze game time when Esc pressed", Main.Settings.DisableAlternatePause); + private static readonly NativeCheckboxItem _showBlip = new NativeCheckboxItem("Show player blip", "Show other player's blip on map", Main.Settings.ShowPlayerBlip); + private static readonly NativeCheckboxItem _showNametag = new NativeCheckboxItem("Show player nametag", "Show other player's nametag on your screen", Main.Settings.ShowPlayerNameTag); private static readonly NativeCheckboxItem _disableVoice = new NativeCheckboxItem("Enable voice", "Check your GTA:V settings to find the right key on your keyboard for PushToTalk and talk to your friends", Main.Settings.Voice); private static readonly NativeItem _menuKey = new NativeItem("Menu Key", "The key to open menu", Main.Settings.MenuKey.ToString()); @@ -35,6 +37,16 @@ namespace RageCoop.Client.Menus _menuKey.Activated += ChaneMenuKey; _passengerKey.Activated += ChangePassengerKey; _vehicleSoftLimit.Activated += VehicleSoftLimitActivated; + _showBlip.Activated += (s, e) => + { + Main.Settings.ShowPlayerBlip = _showBlip.Checked; + Util.SaveSettings(); + }; + _showNametag.Activated += (s, e) => + { + Main.Settings.ShowPlayerNameTag = _showNametag.Checked; + Util.SaveSettings(); + }; Menu.Add(_disableTrafficItem); Menu.Add(_disablePauseAlt); @@ -43,6 +55,8 @@ namespace RageCoop.Client.Menus Menu.Add(_menuKey); Menu.Add(_passengerKey); Menu.Add(_vehicleSoftLimit); + Menu.Add(_showBlip); + Menu.Add(_showNametag); } private static void DisableVoiceCheckboxChanged(object sender, EventArgs e) diff --git a/RageCoop.Client/Networking/Receive.cs b/RageCoop.Client/Networking/Receive.cs index da05784..e1c2321 100644 --- a/RageCoop.Client/Networking/Receive.cs +++ b/RageCoop.Client/Networking/Receive.cs @@ -293,7 +293,7 @@ namespace RageCoop.Client { recycle = false; // Dispatch to script thread - Main.QueueAction(() => { SyncEvents.HandleEvent(packetType, msg); Peer.Recycle(msg); return true; }); + Main.QueueAction(() => { SyncEvents.HandleEvent(packetType, msg); return true; }); } break; } diff --git a/RageCoop.Client/Settings.cs b/RageCoop.Client/Settings.cs index 654c49e..6da3868 100644 --- a/RageCoop.Client/Settings.cs +++ b/RageCoop.Client/Settings.cs @@ -76,5 +76,15 @@ namespace RageCoop.Client /// Show the owner name of the entity you're aiming at /// public bool ShowEntityOwnerName { get; set; } = false; + + /// + /// Show other player's nametag on your screen + /// + public bool ShowPlayerNameTag { get; set; } = true; + + /// + /// Show other player's blip on map + /// + public bool ShowPlayerBlip { get; set; } = true; } } diff --git a/RageCoop.Client/Sync/Entities/Ped/SyncedPed.cs b/RageCoop.Client/Sync/Entities/Ped/SyncedPed.cs index 0a5d75e..0452cf3 100644 --- a/RageCoop.Client/Sync/Entities/Ped/SyncedPed.cs +++ b/RageCoop.Client/Sync/Entities/Ped/SyncedPed.cs @@ -28,7 +28,7 @@ namespace RageCoop.Client MainPed = p; OwnerID = Main.LocalPlayerID; - Function.Call(Hash.SET_PED_IS_IGNORED_BY_AUTO_OPEN_DOORS, false); + //Function.Call(Hash.SET_PED_IS_IGNORED_BY_AUTO_OPEN_DOORS, false); MainPed.SetConfigFlag((int)PedConfigFlags.CPED_CONFIG_FLAG_DisableHurt, true); // MainPed.SetConfigFlag((int)PedConfigFlags.CPED_CONFIG_FLAG_DisableMelee, true); @@ -76,12 +76,13 @@ namespace RageCoop.Client } } - if (((byte)BlipColor == 255) && (PedBlip != null)) + if (!Main.Settings.ShowPlayerBlip && (byte)BlipColor != 255) BlipColor = (BlipColor)255; + if ((byte)BlipColor == 255 && PedBlip != null) { PedBlip.Delete(); PedBlip = null; } - else if (((byte)BlipColor != 255) && PedBlip == null) + else if ((byte)BlipColor != 255 && PedBlip == null) { PedBlip = MainPed.AddBlip(); @@ -170,7 +171,7 @@ namespace RageCoop.Client private void RenderNameTag() { - if (!Owner.DisplayNameTag || (MainPed == null) || !MainPed.IsVisible || !MainPed.IsInRange(Main.PlayerPosition, 40f)) + if (!Owner.DisplayNameTag || !Main.Settings.ShowPlayerNameTag || MainPed == null || !MainPed.IsVisible || !MainPed.IsInRange(Main.PlayerPosition, 40f)) { return; } @@ -597,6 +598,8 @@ namespace RageCoop.Client MainPed.Task.StandStill(2000); LastMoving = false; } + + if (MainPed.IsTaskActive(TaskType.CTaskDiveToGround)) MainPed.Task.ClearAll(); break; } SmoothTransition(); diff --git a/RageCoop.Client/Sync/EntityPool.cs b/RageCoop.Client/Sync/EntityPool.cs index f75d1a0..b79922e 100644 --- a/RageCoop.Client/Sync/EntityPool.cs +++ b/RageCoop.Client/Sync/EntityPool.cs @@ -277,7 +277,7 @@ namespace RageCoop.Client { ProjectilesByHandle.Remove(p.Handle); } - Main.Logger.Debug($"Removing projectile {sp.ID}. Reason:{reason}"); + //Main.Logger.Debug($"Removing projectile {sp.ID}. Reason:{reason}"); if (sp.Exploded) p.Explode(); } ProjectilesByID.Remove(id);