diff --git a/ReallifeGamemode.Server/Factions/BasePoints.cs b/ReallifeGamemode.Server/Factions/BasePoints.cs index 238d7a36..1c698039 100644 --- a/ReallifeGamemode.Server/Factions/BasePoints.cs +++ b/ReallifeGamemode.Server/Factions/BasePoints.cs @@ -4,6 +4,7 @@ using System.Linq; using GTANetworkAPI; using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Server.Extensions; +using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Util; @@ -14,44 +15,15 @@ namespace ReallifeGamemode.Server.WeaponDeal public void getbase(int? factionID, Player client) { + var positions = PositionManager.WeaponPoints.Select(w => new { w.Position, w.FactionId }).ToList(); + positions.AddRange(PositionManager.DutyPoints.Where(f => !positions.Any(x => x.FactionId == f.FactionId)).Select(d => new { d.Position, d.FactionId })); - if (factionID == 1) - { - client.TriggerEvent("SERVER:Util_setWaypoint", 428.07, -977.88); // LSPD - } - else if (factionID == 2) - { - client.TriggerEvent("SERVER:Util_setWaypoint", 1157.56, -1518.56); // Sanitäter - } - else if (factionID == 3) - { - client.TriggerEvent("SERVER:Util_setWaypoint", 88.10, -741.76); // FIB - } - else if (factionID == 4) - { - client.TriggerEvent("SERVER:Util_setWaypoint", -394.30, -2785.44); // Trucker - } - else if (factionID == 5) - { - client.TriggerEvent("SERVER:Util_setWaypoint", -1082.29, -1655.07); // Terror - } - else if (factionID == 6) - { - client.TriggerEvent("SERVER:Util_setWaypoint", 1157.56, -1518.56); // Hitmen - } - else if (factionID == 7) - { - client.TriggerEvent("SERVER:Util_setWaypoint", 103.72, -1939.43); // Grove - } - else if (factionID == 8) - { - client.TriggerEvent("SERVER:Util_setWaypoint", 1381.08, -1505.67); // Ballas - } - else if (factionID == 9) - { - client.TriggerEvent("SERVER:Util_setWaypoint", -604.04, -930.92); // News Reporter - } + var playerFacPos = positions.Where(p => p.FactionId == factionID).FirstOrDefault(); + if (playerFacPos != null) + { + client.TriggerEvent("SERVER:Util_setWaypoint", playerFacPos.Position.X, playerFacPos.Position.Y); + } } } }