From 1871a97122319c869992f9baaaf3e7292550fdab Mon Sep 17 00:00:00 2001 From: hydrant Date: Sun, 29 Mar 2020 17:36:58 +0200 Subject: [PATCH] fix --- ReallifeGamemode.Database/Entities/User.cs | 9 +++++- ReallifeGamemode.Server.Core.API/IPlayer.cs | 2 +- .../RageAPI.cs | 2 +- .../RagePlayer.cs | 32 +++++++++++-------- ReallifeGamemode.Server/Main.cs | 2 +- 5 files changed, 30 insertions(+), 17 deletions(-) diff --git a/ReallifeGamemode.Database/Entities/User.cs b/ReallifeGamemode.Database/Entities/User.cs index 3c10c896..269c12ed 100644 --- a/ReallifeGamemode.Database/Entities/User.cs +++ b/ReallifeGamemode.Database/Entities/User.cs @@ -107,7 +107,14 @@ namespace ReallifeGamemode.Database.Entities } [NotMapped] - public IPlayer NewPlayer => new RagePlayer(Player); + public IPlayer NewPlayer + { + get + { + if (Player != null) return new RagePlayer(Player); + return null; + } + } public override string BankAccountName => Name; } diff --git a/ReallifeGamemode.Server.Core.API/IPlayer.cs b/ReallifeGamemode.Server.Core.API/IPlayer.cs index b6029184..68bb2d87 100644 --- a/ReallifeGamemode.Server.Core.API/IPlayer.cs +++ b/ReallifeGamemode.Server.Core.API/IPlayer.cs @@ -24,7 +24,7 @@ namespace ReallifeGamemode.Server.Core.API void SendMessage(string message, ChatPrefix prefix = ChatPrefix.None) { - if (!message.EndsWith("!") || !message.EndsWith(".") || !message.EndsWith("?")) + if (!message.EndsWith("!") && !message.EndsWith(".") && !message.EndsWith("?")) { message += prefix switch { diff --git a/ReallifeGamemode.Server.Core.RageMP/RageAPI.cs b/ReallifeGamemode.Server.Core.RageMP/RageAPI.cs index 1b804bff..8a77ecb3 100644 --- a/ReallifeGamemode.Server.Core.RageMP/RageAPI.cs +++ b/ReallifeGamemode.Server.Core.RageMP/RageAPI.cs @@ -20,7 +20,7 @@ namespace ReallifeGamemode.Server.Core.RageMP public void DisableDefaultCommandErrorMessages() { - NAPI.Server.SetCommandErrorMessage(null); + NAPI.Server.SetCommandErrorMessage(string.Empty); //NAPI.Server.SetGlobalDefaultCommandMessages(false); } diff --git a/ReallifeGamemode.Server.Core.RageMP/RagePlayer.cs b/ReallifeGamemode.Server.Core.RageMP/RagePlayer.cs index 09565dce..1a57cb97 100644 --- a/ReallifeGamemode.Server.Core.RageMP/RagePlayer.cs +++ b/ReallifeGamemode.Server.Core.RageMP/RagePlayer.cs @@ -13,22 +13,28 @@ namespace ReallifeGamemode.Server.Core.RageMP public string Name { - get => client.Name; - set => client.Name = value; + get => client?.Name; + set + { + if (client != null) + { + client.Name = value; + } + } } - public string SocialClubName => client.SocialClubName; + public string SocialClubName => client?.SocialClubName; - public IPAddress RemoteAddress => IPAddress.Parse(client.Address); + public IPAddress RemoteAddress => IPAddress.Parse(client?.Address); - public IVehicle Vehicle => client.IsInVehicle ? new RageVehicle(client.Vehicle) : null; + public IVehicle Vehicle => client != null ? (client.IsInVehicle ? new RageVehicle(client?.Vehicle) : null) : null; - public VehicleSeat VehicleSeat => (VehicleSeat)client.VehicleSeat; + public VehicleSeat VehicleSeat => (VehicleSeat)client?.VehicleSeat; public bool IsInVehicle => Vehicle != null; - public int Health { get => client.Health; set => client.Health = value; } - public int Armor { get => client.Armor; set => client.Armor = value; } + public int Health { get => client?.Health ?? 0; set { if (client != null) client.Health = value; } } + public int Armor { get => client?.Armor ?? 0; set { if (client != null) client.Armor = value; } } public RagePlayer(GTANetworkAPI.Player client) : base(client) { @@ -37,20 +43,20 @@ namespace ReallifeGamemode.Server.Core.RageMP public void SendRawMessage(string message) { - client.SendChatMessage(message); + client?.SendChatMessage(message); } public void TriggerEventRaw(string eventName, params object[] args) { - client.TriggerEvent(eventName, args); + client?.TriggerEvent(eventName, args); } public void SetIntoVehicle(IVehicle vehicle, VehicleSeat seat) { - client.SetIntoVehicle(new GTANetworkAPI.NetHandle((ushort)vehicle.Handle, GTANetworkAPI.EntityType.Vehicle), (int)seat - 1); + client?.SetIntoVehicle(new GTANetworkAPI.NetHandle((ushort)vehicle.Handle, GTANetworkAPI.EntityType.Vehicle), (int)seat - 1); } - public void Kick() => client.Kick(); + public void Kick() => client?.Kick(); public void SendNotification(string message, bool flashing = true) { @@ -73,7 +79,7 @@ namespace ReallifeGamemode.Server.Core.RageMP public void CancelAnimation() { - client.StopAnimation(); + client?.StopAnimation(); } } } diff --git a/ReallifeGamemode.Server/Main.cs b/ReallifeGamemode.Server/Main.cs index c9cfd7bc..b24272b3 100644 --- a/ReallifeGamemode.Server/Main.cs +++ b/ReallifeGamemode.Server/Main.cs @@ -64,7 +64,7 @@ namespace ReallifeGamemode.Server NAPI.Server.SetGlobalServerChat(false); - NAPI.Server.SetCommandErrorMessage("~r~[FEHLER]~s~ Dieser Command existiert nicht."); + //NAPI.Server.SetCommandErrorMessage("~r~[FEHLER]~s~ Dieser Command existiert nicht."); NAPI.Server.SetDefaultSpawnLocation(DEFAULT_SPAWN_POSITION, DEFAULT_SPAWN_HEADING); NAPI.Server.SetAutoSpawnOnConnect(false); NAPI.Server.SetAutoRespawnAfterDeath(false);