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);
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();
}
});

View File

@@ -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();
}

View File

@@ -121,7 +121,7 @@ namespace ReallifeGamemode.Server.Managers
List<string> availableTargets = new List<string>()
{
"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,7 +150,11 @@ namespace ReallifeGamemode.Server.Managers
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,
PositionX = spawnPos.X,
@@ -164,10 +167,43 @@ namespace ReallifeGamemode.Server.Managers
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();
}