add ability to buy vehicle for faction and group
This commit is contained in:
@@ -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();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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,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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user