[HOTFIX] frakcar verkaufen
This commit is contained in:
@@ -449,7 +449,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
[RemoteEvent("CLIENT:InteractionMenu_PlayerVehicleInteraction")]
|
[RemoteEvent("CLIENT:InteractionMenu_PlayerVehicleInteraction")]
|
||||||
public void PlayerVehicleInteraction(Player player, int id, string selection)
|
public void PlayerVehicleInteraction(Player player, int id, string selection)
|
||||||
{
|
{
|
||||||
using var dbContext = new DatabaseContext(true);
|
using var dbContext = new DatabaseContext();
|
||||||
var user = player.GetUser(dbContext);
|
var user = player.GetUser(dbContext);
|
||||||
|
|
||||||
var userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
|
var userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
|
||||||
@@ -467,7 +467,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
else if (selection == "Verkaufen")
|
else if (selection == "Verkaufen")
|
||||||
{
|
{
|
||||||
var vehPrice = userVehicle.Price;
|
var vehPrice = userVehicle.Price;
|
||||||
var backPrice = (int)(vehPrice * 0.6);
|
var backPrice = (int)(vehPrice * 0.4);
|
||||||
|
|
||||||
user.BankAccount.Balance += backPrice;
|
user.BankAccount.Balance += backPrice;
|
||||||
|
|
||||||
@@ -483,9 +483,25 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
[RemoteEvent("CLIENT:InteractionMenu_FactionVehicleInteraction")]
|
[RemoteEvent("CLIENT:InteractionMenu_FactionVehicleInteraction")]
|
||||||
public void FactionVehicleInteraction(Player player, int id, string selection)
|
public void FactionVehicleInteraction(Player player, int id, string selection)
|
||||||
{
|
{
|
||||||
using var dbContext = new DatabaseContext(true);
|
using var dbContext = new DatabaseContext();
|
||||||
var user = player.GetUser(dbContext);
|
var user = player.GetUser(dbContext);
|
||||||
|
|
||||||
|
if(user.FactionId == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!user.FactionLeader)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(user.Faction.StateOwned)
|
||||||
|
{
|
||||||
|
ChatService.ErrorMessage(player, "Der Fuhrpark der Staatsfraktionen kann über die Leaderverwaltung geändert werden");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var factionVehicle = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).FirstOrDefault();
|
var factionVehicle = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).FirstOrDefault();
|
||||||
if (factionVehicle == null)
|
if (factionVehicle == null)
|
||||||
{
|
{
|
||||||
@@ -498,46 +514,24 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
player.TriggerEvent("SERVER:Util_setWaypoint", veh.Position.X, veh.Position.Y);
|
player.TriggerEvent("SERVER:Util_setWaypoint", veh.Position.X, veh.Position.Y);
|
||||||
}
|
}
|
||||||
}
|
else if (selection == "Verkaufen")
|
||||||
|
|
||||||
[RemoteEvent("CLIENT:InteractionMenu_FactionVehicleInteractionSell")]
|
|
||||||
public void FactionVehicleInteractionSell(Player player, int id, string selection)
|
|
||||||
{
|
|
||||||
using var dbContext = new DatabaseContext(true);
|
|
||||||
var user = player.GetUser(dbContext);
|
|
||||||
|
|
||||||
var factionVehicle = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).FirstOrDefault();
|
|
||||||
if (factionVehicle == null)
|
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Das Fahrzeug wurde nicht gefunden");
|
var price = dbContext.ShopVehicles.Where(v => v.Model == factionVehicle.Model && v.Active).Select(s => new { s.Price }).FirstOrDefault();
|
||||||
}
|
if (price == null)
|
||||||
|
|
||||||
GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(factionVehicle);
|
|
||||||
|
|
||||||
if (selection == "Verkaufen")
|
|
||||||
{
|
|
||||||
if (dbContext.FactionVehicles.ToList().Where(f => f.GetOwners().Contains(user.FactionId.Value)).Count() <= 6)
|
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Die Fraktion muss mindestens 6 Fahrzeuge besitzen");
|
ChatService.ErrorMessage(player, "Das Fahrzeug konnte nicht verkauft werden. Bitte melde dich bei der Leaderverwaltung");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
var backPrice = (int)(price.Price * 1.5 * 0.4);
|
||||||
if (factionVehicle.Model == VehicleHash.Policet || factionVehicle.Model == VehicleHash.Burrito3)
|
|
||||||
{
|
|
||||||
ChatService.ErrorMessage(player, "Der WT kann nicht verkauft werden");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var backPrice = factionVehicle.BuyPrice;
|
|
||||||
|
|
||||||
user.Faction.BankAccount.Balance += backPrice;
|
user.Faction.BankAccount.Balance += backPrice;
|
||||||
|
|
||||||
ChatService.SendMessage(player, $"~b~[INFO]~s~ Deine Fraktion hat durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
ChatService.SendMessage(player, $"~b~[INFO]~s~ Die Fraktionskasse ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
||||||
|
|
||||||
dbContext.FactionVehicles.Remove(factionVehicle);
|
dbContext.FactionVehicles.Remove(factionVehicle);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
|
|
||||||
veh.Delete();
|
veh?.Delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user