diff --git a/ReallifeGamemode.Client/Business/cardealer.ts b/ReallifeGamemode.Client/Business/cardealer.ts index 835a4aaa..fa08456c 100644 --- a/ReallifeGamemode.Client/Business/cardealer.ts +++ b/ReallifeGamemode.Client/Business/cardealer.ts @@ -35,7 +35,7 @@ export default function carDealer() { shopMenu.AddItem(priceItem); var targetsCollection = new ItemsCollection(availableOptions); - var targetItem = new UIMenuListItem("Besitzer", "Wähle den Besitzer aus", targetsCollection); + var targetItem = new UIMenuListItem("Kaufen für", "Wähle den Besitzer aus", targetsCollection); shopMenu.AddItem(targetItem); var saveItem = new UIMenuItem("Kaufen"); @@ -52,7 +52,7 @@ export default function carDealer() { if (item === cancelItem) { shopMenu.Close(); } else if (item === saveItem) { - mp.events.callRemote("VehShop_BuyVehicle", targetItem.SelectedItem.Id); + mp.events.callRemote("VehShop_BuyVehicle", targetItem.SelectedValue); shopMenu.Close(); } }); diff --git a/ReallifeGamemode.Server/Extensions/ClientExtension.cs b/ReallifeGamemode.Server/Extensions/ClientExtension.cs index c9f248cc..b6ee4455 100644 --- a/ReallifeGamemode.Server/Extensions/ClientExtension.cs +++ b/ReallifeGamemode.Server/Extensions/ClientExtension.cs @@ -33,6 +33,7 @@ namespace ReallifeGamemode.Server.Extensions .Users .Include(u => u.Faction) .Include(u => u.FactionRank) + .Include(u => u.Group) .Where(u => u.Name == client.Name) .FirstOrDefault(); } diff --git a/ReallifeGamemode.Server/Managers/BusinessManager.cs b/ReallifeGamemode.Server/Managers/BusinessManager.cs index 6e86212d..d0b2051d 100644 --- a/ReallifeGamemode.Server/Managers/BusinessManager.cs +++ b/ReallifeGamemode.Server/Managers/BusinessManager.cs @@ -121,7 +121,7 @@ namespace ReallifeGamemode.Server.Managers List availableTargets = new List() { - "Spieler (dich selbst)" + "Spieler" }; if (player.GetUser().FactionLeader && !player.GetUser().Faction.StateOwned) availableTargets.Add("Fraktion"); @@ -133,7 +133,6 @@ namespace ReallifeGamemode.Server.Managers [RemoteEvent("VehShop_BuyVehicle")] public void CarDealerBusiness_BuyVehicle(Client player, string target) { - player.SendChatMessage(target); ServerVehicle sVeh = player.Vehicle?.GetServerVehicle(); if (sVeh == null) return; if (!(sVeh is ShopVehicle)) return; @@ -151,23 +150,60 @@ namespace ReallifeGamemode.Server.Managers player.TriggerEvent("SERVER:Util_setWaypoint", spawnPos.X, spawnPos.Y); - UserVehicle newVeh = new UserVehicle + ServerVehicle newVeh = null; + + if(target == "Spieler") { - Heading = business.CarSpawnHeading, - PositionX = spawnPos.X, - PositionY = spawnPos.Y, - PositionZ = spawnPos.Z, - Locked = false, - UserId = player.GetUser().Id, - Model = shopVehicle.Model, - PrimaryColor = 111, - SecondaryColor = 111, - Active = true, - }; + newVeh = new UserVehicle + { + Heading = business.CarSpawnHeading, + PositionX = spawnPos.X, + PositionY = spawnPos.Y, + PositionZ = spawnPos.Z, + Locked = false, + UserId = player.GetUser().Id, + Model = shopVehicle.Model, + PrimaryColor = 111, + SecondaryColor = 111, + Active = true, + }; + } + else if(target == "Fraktion") + { + newVeh = new FactionVehicle + { + Heading = business.CarSpawnHeading, + PositionX = spawnPos.X, + PositionY = spawnPos.Y, + PositionZ = spawnPos.Z, + Locked = false, + FactionId = player.GetUser().FactionId, + Model = shopVehicle.Model, + PrimaryColor = 111, + SecondaryColor = 111, + Active = true, + }; + } + else if(target == "Gruppe") + { + newVeh = new GroupVehicle + { + Heading = business.CarSpawnHeading, + PositionX = spawnPos.X, + PositionY = spawnPos.Y, + PositionZ = spawnPos.Z, + Locked = false, + GroupId = player.GetUser().Group.Id, + Model = shopVehicle.Model, + PrimaryColor = 111, + SecondaryColor = 111, + Active = true, + }; + } using (var dbContext = new DatabaseContext()) { - dbContext.UserVehicles.Add(newVeh); + dbContext.ServerVehicles.Add(newVeh); dbContext.SaveChanges(); }