From 0c0c3db98d59387a642c12227702e80bc6b39641 Mon Sep 17 00:00:00 2001 From: balbo Date: Tue, 4 Aug 2020 17:55:29 +0200 Subject: [PATCH] slash car vorschlag umgesetzt --- .../Commands/UserCommands.cs | 17 +++++++++++++++-- .../Managers/VehicleManager.cs | 5 +++++ .../WeaponDeal/WeaponDealManager.cs | 4 ++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/ReallifeGamemode.Server/Commands/UserCommands.cs b/ReallifeGamemode.Server/Commands/UserCommands.cs index 3fcb687c..43671881 100644 --- a/ReallifeGamemode.Server/Commands/UserCommands.cs +++ b/ReallifeGamemode.Server/Commands/UserCommands.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using GTANetworkAPI; using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Server.Extensions; @@ -34,9 +35,21 @@ namespace ReallifeGamemode.Server.Commands public void CmdUserCar(Player player) { if (!player.IsLoggedIn()) return; - if (!player.IsInVehicle) return; - Vehicle pVeh = player.Vehicle; + Vehicle pVeh = null; + + if (player.IsInVehicle) + { + pVeh = player.Vehicle; + } else + { + pVeh = NAPI.Pools.GetAllVehicles().Where(v => v.Position.DistanceTo(player.Position) <= 5).FirstOrDefault(); + } + + if (pVeh == null) + { + return; + } if (pVeh.GetServerVehicle() is ServerVehicle veh) { diff --git a/ReallifeGamemode.Server/Managers/VehicleManager.cs b/ReallifeGamemode.Server/Managers/VehicleManager.cs index f8339d24..1d47906a 100644 --- a/ReallifeGamemode.Server/Managers/VehicleManager.cs +++ b/ReallifeGamemode.Server/Managers/VehicleManager.cs @@ -851,6 +851,11 @@ namespace ReallifeGamemode.Server.Managers foreach (KeyValuePair pair in _serverVehicles) { + if (veh == null) + { + continue; + } + if (pair.Value == veh.Handle) { return dbContext.ServerVehicles.Find(pair.Key); diff --git a/ReallifeGamemode.Server/WeaponDeal/WeaponDealManager.cs b/ReallifeGamemode.Server/WeaponDeal/WeaponDealManager.cs index bb80d4d9..5886a4b0 100644 --- a/ReallifeGamemode.Server/WeaponDeal/WeaponDealManager.cs +++ b/ReallifeGamemode.Server/WeaponDeal/WeaponDealManager.cs @@ -55,7 +55,7 @@ namespace ReallifeGamemode.Server.WeaponDeal vector = WeaponDealPoints.getRndWD_Route(client.GetUser().FactionId.Value); if (vector == new Vector3()) return; - fVeh.SetData("weaponDealPoint", vector); + fVeh.SetData("weaponDealPoint", vector); if (user.Faction.WeaponDealTime <= 0) { @@ -218,7 +218,7 @@ namespace ReallifeGamemode.Server.WeaponDeal InventoryManager.AddItemToVehicleInventory(fVeh, item6.ItemId, item6.Amount); } - ChatService.BroadcastFaction("~y~[WAFFENDEAL] ~w~Transporter erfolgreich beladen", new List() { client.GetUser().Faction.Id }); + ChatService.BroadcastFaction("~y~[WAFFENDEAL] ~w~Transporter erfolgreich beladen.", new List() { client.GetUser().Faction.Id }); client.SendChatMessage("~y~[WAFFENDEAL] ~w~Fahre nun zu deiner Base zurück"); } }