REIFEN TUNING
This commit is contained in:
@@ -44,7 +44,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
colShape.OnEntityExitColShape += (cs, c) =>
|
||||
{
|
||||
if(c.IsInVehicle)
|
||||
if (c.IsInVehicle)
|
||||
{
|
||||
c.TriggerEvent("hideTuningInfo", true);
|
||||
}
|
||||
@@ -56,23 +56,23 @@ namespace ReallifeGamemode.Server.Managers
|
||||
private static bool IsPlayerAllowedToTuneVehicle(Player c, Vehicle vehicle, DatabaseContext dbContext)
|
||||
{
|
||||
User user = c.GetUser();
|
||||
if(user == null)
|
||||
if (user == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ServerVehicle serverVehicle = vehicle.GetServerVehicle(dbContext);
|
||||
if(serverVehicle == null)
|
||||
if (serverVehicle == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(serverVehicle is UserVehicle userVehicle && userVehicle.UserId == user.Id)
|
||||
if (serverVehicle is UserVehicle userVehicle && userVehicle.UserId == user.Id)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if(serverVehicle is FactionVehicle factionVehicle && factionVehicle.GetOwners().Contains(user.FactionId ?? 0))
|
||||
if (serverVehicle is FactionVehicle factionVehicle && factionVehicle.GetOwners().Contains(user.FactionId ?? 0))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -117,23 +117,23 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
private int GetVehicleBasePrice(Vehicle vehicle)
|
||||
{
|
||||
if(vehicle == null)
|
||||
if (vehicle == null)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
ServerVehicle serverVehicle = vehicle.GetServerVehicle();
|
||||
if(serverVehicle == null)
|
||||
if (serverVehicle == null)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(serverVehicle is UserVehicle userVehicle)
|
||||
if (serverVehicle is UserVehicle userVehicle)
|
||||
{
|
||||
return userVehicle.Price ?? 0;
|
||||
}
|
||||
|
||||
if(serverVehicle is FactionVehicle factionVehicle)
|
||||
if (serverVehicle is FactionVehicle factionVehicle)
|
||||
{
|
||||
return factionVehicle.BuyPrice;
|
||||
}
|
||||
@@ -257,5 +257,69 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
|
||||
[RemoteEvent("CLIENT:Tuning_SetVehicleWheels")]
|
||||
public void TuningManagerSetVehicleWheels(Player player, int wheelType, int wheelIndex, int price)
|
||||
{
|
||||
if (!player.IsInVehicle)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Vehicle vehicle = player.Vehicle;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
user.BankAccount.Balance -= price;
|
||||
player.TriggerEvent("SERVER:Tuning_SetWheelsSuccessfull", wheelType, wheelIndex);
|
||||
|
||||
ServerVehicle serverVehicle = vehicle.GetServerVehicle(dbContext);
|
||||
|
||||
VehicleMod typeMod = dbContext.VehicleMods.Where(m => m.ServerVehicleId == serverVehicle.Id && m.Slot == -2).FirstOrDefault();
|
||||
if (typeMod == null)
|
||||
{
|
||||
typeMod = new VehicleMod()
|
||||
{
|
||||
ServerVehicleId = serverVehicle.Id,
|
||||
Slot = -2,
|
||||
ModId = wheelType
|
||||
};
|
||||
|
||||
dbContext.VehicleMods.Add(typeMod);
|
||||
}
|
||||
else
|
||||
{
|
||||
typeMod.ModId = wheelType;
|
||||
}
|
||||
|
||||
VehicleMod wheelMod = dbContext.VehicleMods.Where(m => m.ServerVehicleId == serverVehicle.Id && m.Slot == 23).FirstOrDefault();
|
||||
if (wheelMod == null)
|
||||
{
|
||||
wheelMod = new VehicleMod()
|
||||
{
|
||||
ServerVehicleId = serverVehicle.Id,
|
||||
Slot = 23,
|
||||
ModId = wheelIndex
|
||||
};
|
||||
|
||||
dbContext.VehicleMods.Add(wheelMod);
|
||||
}
|
||||
else
|
||||
{
|
||||
wheelMod.ModId = wheelIndex;
|
||||
}
|
||||
|
||||
vehicle.SetSharedData("wheelType", wheelType);
|
||||
NAPI.ClientEvent.TriggerClientEventForAll("vehicleToggleMod", vehicle, -2, wheelType);
|
||||
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user