This commit is contained in:
hydrant
2021-04-02 21:48:59 +02:00
parent b032934f0e
commit 8cbab7ef15
3 changed files with 84 additions and 45 deletions

View File

@@ -92,8 +92,22 @@ namespace ReallifeGamemode.Server.Managers
}
[RemoteEvent("setVehicleMod")]
public void SetVehicleMod(Player player, int slot, int index)
public void SetVehicleMod(Player player, int slot, int index, int price)
{
using var dbContext = new DatabaseContext();
User user = player.GetUser(dbContext);
if (user.BankAccount.Balance < price)
{
player.SendNotification("Du hast nicht genug Geld für dieses Tuningteil!");
return;
}
else
{
user.BankAccount.Balance -= price;
}
player.TriggerEvent("SERVER:Tuning_ModSucessfull", slot, index);
Vehicle pV = player.Vehicle;
if (index == 0) index--;
@@ -118,41 +132,40 @@ namespace ReallifeGamemode.Server.Managers
NAPI.ClientEvent.TriggerClientEventForAll("vehicleToggleMod", pV, slot, newVal);
}
ServerVehicle sV = player.Vehicle.GetServerVehicle();
dbContext.SaveChanges();
ServerVehicle sV = player.Vehicle.GetServerVehicle(dbContext);
if (sV == null) return;
using (var dbContext = new DatabaseContext())
VehicleMod vMod = dbContext.VehicleMods.FirstOrDefault(m => m.ServerVehicleId == sV.Id && m.Slot == slot);
if (vMod == null && index != -1)
{
VehicleMod vMod = dbContext.VehicleMods.FirstOrDefault(m => m.ServerVehicleId == sV.Id && m.Slot == slot);
if (vMod == null && index != -1)
vMod = new VehicleMod
{
ServerVehicleId = sV.Id,
Slot = slot,
ModId = index
};
dbContext.VehicleMods.Add(vMod);
}
else if (vMod != null && index == -1)
{
dbContext.VehicleMods.Remove(vMod);
}
else
{
if (vMod == null)
{
vMod = new VehicleMod
{
ServerVehicleId = sV.Id,
Slot = slot,
ModId = index
Slot = slot
};
dbContext.VehicleMods.Add(vMod);
}
else if (vMod != null && index == -1)
{
dbContext.VehicleMods.Remove(vMod);
}
else
{
if (vMod == null)
{
vMod = new VehicleMod
{
ServerVehicleId = sV.Id,
Slot = slot
};
dbContext.VehicleMods.Add(vMod);
}
vMod.ModId = index;
}
dbContext.SaveChanges();
vMod.ModId = index;
}
dbContext.SaveChanges();
}
[RemoteEvent("CLIENT:TuningManager_SetVehicleColor")]