add ability to buy vehicle for faction and group

This commit is contained in:
Lennart Kampshoff
2019-05-05 18:44:36 +02:00
parent a88d5256a8
commit 9c35e3773b
3 changed files with 54 additions and 17 deletions

View File

@@ -35,7 +35,7 @@ export default function carDealer() {
shopMenu.AddItem(priceItem); shopMenu.AddItem(priceItem);
var targetsCollection = new ItemsCollection(availableOptions); 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); shopMenu.AddItem(targetItem);
var saveItem = new UIMenuItem("Kaufen"); var saveItem = new UIMenuItem("Kaufen");
@@ -52,7 +52,7 @@ export default function carDealer() {
if (item === cancelItem) { if (item === cancelItem) {
shopMenu.Close(); shopMenu.Close();
} else if (item === saveItem) { } else if (item === saveItem) {
mp.events.callRemote("VehShop_BuyVehicle", targetItem.SelectedItem.Id); mp.events.callRemote("VehShop_BuyVehicle", targetItem.SelectedValue);
shopMenu.Close(); shopMenu.Close();
} }
}); });

View File

@@ -33,6 +33,7 @@ namespace ReallifeGamemode.Server.Extensions
.Users .Users
.Include(u => u.Faction) .Include(u => u.Faction)
.Include(u => u.FactionRank) .Include(u => u.FactionRank)
.Include(u => u.Group)
.Where(u => u.Name == client.Name) .Where(u => u.Name == client.Name)
.FirstOrDefault(); .FirstOrDefault();
} }

View File

@@ -121,7 +121,7 @@ namespace ReallifeGamemode.Server.Managers
List<string> availableTargets = new List<string>() List<string> availableTargets = new List<string>()
{ {
"Spieler (dich selbst)" "Spieler"
}; };
if (player.GetUser().FactionLeader && !player.GetUser().Faction.StateOwned) availableTargets.Add("Fraktion"); if (player.GetUser().FactionLeader && !player.GetUser().Faction.StateOwned) availableTargets.Add("Fraktion");
@@ -133,7 +133,6 @@ namespace ReallifeGamemode.Server.Managers
[RemoteEvent("VehShop_BuyVehicle")] [RemoteEvent("VehShop_BuyVehicle")]
public void CarDealerBusiness_BuyVehicle(Client player, string target) public void CarDealerBusiness_BuyVehicle(Client player, string target)
{ {
player.SendChatMessage(target);
ServerVehicle sVeh = player.Vehicle?.GetServerVehicle(); ServerVehicle sVeh = player.Vehicle?.GetServerVehicle();
if (sVeh == null) return; if (sVeh == null) return;
if (!(sVeh is ShopVehicle)) return; if (!(sVeh is ShopVehicle)) return;
@@ -151,7 +150,11 @@ namespace ReallifeGamemode.Server.Managers
player.TriggerEvent("SERVER:Util_setWaypoint", spawnPos.X, spawnPos.Y); player.TriggerEvent("SERVER:Util_setWaypoint", spawnPos.X, spawnPos.Y);
UserVehicle newVeh = new UserVehicle ServerVehicle newVeh = null;
if(target == "Spieler")
{
newVeh = new UserVehicle
{ {
Heading = business.CarSpawnHeading, Heading = business.CarSpawnHeading,
PositionX = spawnPos.X, PositionX = spawnPos.X,
@@ -164,10 +167,43 @@ namespace ReallifeGamemode.Server.Managers
SecondaryColor = 111, SecondaryColor = 111,
Active = true, 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()) using (var dbContext = new DatabaseContext())
{ {
dbContext.UserVehicles.Add(newVeh); dbContext.ServerVehicles.Add(newVeh);
dbContext.SaveChanges(); dbContext.SaveChanges();
} }