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);