hanf vielleicht fertig
This commit is contained in:
@@ -47,7 +47,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
public int Amount;
|
||||
public int ItemId;
|
||||
public int Weight;
|
||||
public Vehicle vehicle;
|
||||
public ushort vehicle;
|
||||
}
|
||||
|
||||
public static void SetBackpackItems(Player player)
|
||||
@@ -75,9 +75,9 @@ namespace ReallifeGamemode.Server.Managers
|
||||
player.SetSharedData("backpackItems", JsonConvert.SerializeObject(backpackItems[player].ToArray()));
|
||||
}
|
||||
|
||||
internal static IItem GetItem<T>() where T : IItem
|
||||
internal static T GetItem<T>() where T : IItem
|
||||
{
|
||||
return itemList.Where(i => i.GetType() == typeof(T)).First();
|
||||
return (T)itemList.Where(i => i.GetType() == typeof(T)).First();
|
||||
}
|
||||
|
||||
[RemoteEvent("CLIENT:getVehicleInventory")]
|
||||
@@ -86,7 +86,9 @@ namespace ReallifeGamemode.Server.Managers
|
||||
if (player.IsInVehicle)
|
||||
{
|
||||
player.TriggerEvent("Error", "Du kannst deinen Kofferraum gerade nicht öffnen.");
|
||||
return;
|
||||
}
|
||||
|
||||
Vehicle veh = NAPI.Pools.GetAllVehicles()
|
||||
.ToList()
|
||||
.Where(v => v.Position.DistanceTo(player.Position) <= 4)
|
||||
@@ -131,7 +133,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
Amount = i.Amount,
|
||||
ItemId = i.ItemId,
|
||||
Weight = GetVehicleInventoryWeight(veh),
|
||||
vehicle = veh,
|
||||
vehicle = veh.Handle.Value,
|
||||
};
|
||||
vehicleItems[player].Add(newItem);
|
||||
}
|
||||
@@ -197,6 +199,10 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
public static void RemoveVehicleItem(ServerVehicle sVeh, VehicleItem item, int amount, Player player)
|
||||
{
|
||||
if (item == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
var vehicleItem = dbContext.VehicleItems.FirstOrDefault(i => i.Id == item.Id);
|
||||
@@ -327,20 +333,29 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
using (var context = new DatabaseContext())
|
||||
{
|
||||
User user = player.GetUser(context);
|
||||
if (!vehicleItems.ContainsKey(player))
|
||||
vehicleItems.Add(player, new List<InventoryItem>());
|
||||
Vehicle veh = null;
|
||||
if (vehicleItems[player].Count != 0)
|
||||
veh = vehicleItems[player].FirstOrDefault().vehicle;
|
||||
veh = new NetHandle(vehicleItems[player].FirstOrDefault().vehicle, EntityType.Vehicle).Entity<Vehicle>();
|
||||
|
||||
ServerVehicle serverVehicle = VehicleManager.GetServerVehicleFromVehicle(veh, context);
|
||||
|
||||
VehicleItem vehItem = context.VehicleItems.Where(v => v.VehicleId == serverVehicle.Id && v.ItemId == itemID).FirstOrDefault();
|
||||
if (vehItem == null)
|
||||
{
|
||||
player.TriggerEvent("Error", "Transfer nicht möglich.");
|
||||
return;
|
||||
}
|
||||
if (serverVehicle is FactionVehicle factionVehicle)
|
||||
{
|
||||
IItem item = GetItemById(itemID);
|
||||
if (factionVehicle.Model == VehicleHash.Riot && user.Faction?.StateOwned == true)
|
||||
{
|
||||
player.TriggerEvent("Error", "Transfer nicht möglich.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
RemoveVehicleItem(serverVehicle, vehItem, itemAmount, player);
|
||||
SetVehicleItems(player);
|
||||
|
||||
Reference in New Issue
Block a user