Merge dev to surgery
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
@@ -479,21 +479,39 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
}
|
||||
|
||||
public static void SellPlayerVehicle(Player player, int id)
|
||||
public static void SellServerVehicle(Player player, int id)
|
||||
{
|
||||
using var dbContext = new DatabaseContext();
|
||||
var user = player.GetUser(dbContext);
|
||||
var userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
|
||||
var vehPrice = userVehicle.Price;
|
||||
var backPrice = (int)(vehPrice * 0.4);
|
||||
GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(userVehicle);
|
||||
user.BankAccount.Balance += backPrice;
|
||||
ServerVehicle serverVehicle = dbContext.ServerVehicles.FirstOrDefault(v => v.Id == id);
|
||||
|
||||
if(serverVehicle is UserVehicle)
|
||||
{
|
||||
UserVehicle userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
|
||||
var vehPrice = userVehicle.Price;
|
||||
var backPrice = (int)(vehPrice * 0.4);
|
||||
GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(userVehicle);
|
||||
user.BankAccount.Balance += backPrice;
|
||||
|
||||
ChatService.SendMessage(player, $"~b~[INFO]~s~ Du hast durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
||||
ChatService.SendMessage(player, $"~b~[INFO]~s~ Du hast durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
||||
|
||||
VehicleManager.DeleteVehicle(veh);
|
||||
VehicleManager.DeleteVehicle(veh);
|
||||
dbContext.UserVehicles.Remove(userVehicle);
|
||||
player.SendNotification("~g~Du hast dein Fahrzeug verkauft");
|
||||
}
|
||||
else if(serverVehicle is FactionVehicle)
|
||||
{
|
||||
FactionVehicle factionVehicle = dbContext.FactionVehicles.FirstOrDefault(v => v.Id == id);
|
||||
var backPrice = (int)(factionVehicle.BuyPrice * 1.5 * 0.4);
|
||||
user.Faction.BankAccount.Balance += backPrice;
|
||||
|
||||
dbContext.UserVehicles.Remove(userVehicle);
|
||||
ChatService.SendMessage(player, $"~b~[INFO]~s~ Die Fraktionskasse hat ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
||||
|
||||
VehicleManager.DeleteVehicle(VehicleManager.GetVehicleFromServerVehicle(factionVehicle));
|
||||
|
||||
dbContext.FactionVehicles.Remove(factionVehicle);
|
||||
player.SendNotification("~g~Du hast dein Fraktionsfahrzeug verkauft");
|
||||
}
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
|
||||
@@ -533,10 +551,10 @@ namespace ReallifeGamemode.Server.Managers
|
||||
return;
|
||||
}
|
||||
|
||||
var factionVehicleCount = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).Count();
|
||||
var factionVehicleCount = dbContext.FactionVehicles.ToList().Where(v => v.GetOwners().Contains(user.FactionId.Value)).Count();
|
||||
if (factionVehicleCount <= 6)
|
||||
{
|
||||
ChatService.ErrorMessage(player, "Die Fraktion braucht mindestens 6 Fahrzeuge");
|
||||
ChatService.ErrorMessage(player, "Die Fraktion braucht mindestens sechs Fahrzeuge");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -546,16 +564,13 @@ namespace ReallifeGamemode.Server.Managers
|
||||
ChatService.ErrorMessage(player, "Das Fahrzeug konnte nicht verkauft werden. Bitte melde dich bei der Leaderverwaltung");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
var backPrice = (int)(price.Price * 1.5 * 0.4);
|
||||
|
||||
user.Faction.BankAccount.Balance += backPrice;
|
||||
|
||||
ChatService.SendMessage(player, $"~b~[INFO]~s~ Die Fraktionskasse ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
|
||||
|
||||
VehicleManager.DeleteVehicle(veh);
|
||||
|
||||
dbContext.FactionVehicles.Remove(factionVehicle);
|
||||
dbContext.SaveChanges();
|
||||
player.SetData<bool>("SellVehicleDecision", true);
|
||||
player.SetData<int>("VehicleToSell", id);
|
||||
ChatService.SendMessage(player, "~s~Möchtes du das Fahrzeug ~y~" + veh.DisplayName + " ~s~wirklich für ~g~$" + backPrice + " ~s~verkaufen? Drücke ~g~J~s~ zum Bestätigen oder ~r~N ~s~zum Abbrechen");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
public static Dictionary<Player, List<InventoryItem>> backpackItems { get; set; } = new Dictionary<Player, List<InventoryItem>>();
|
||||
public static Dictionary<Player, List<InventoryItem>> vehicleItems { get; set; } = new Dictionary<Player, List<InventoryItem>>();
|
||||
|
||||
public static Dictionary<User, DateTime> itemCooldown = new Dictionary<User, DateTime>();
|
||||
public static Dictionary<int, DateTime> itemCooldown = new Dictionary<int, DateTime>();
|
||||
|
||||
public class InventoryItem
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
@@ -66,7 +66,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
if (u.JobId == null)
|
||||
{
|
||||
ChatService.ErrorMessage(player, "Du hast momentan keinen Job, den du kündigen könntest.");
|
||||
ChatService.ErrorMessage(player, "Du bist bereits arbeitslos");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -89,20 +89,20 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
if (u.JobId != null)
|
||||
{
|
||||
ChatService.ErrorMessage(player, "Du musst deinen alten Job kündigen, bevor du einen neuen ausüben kannst.");
|
||||
ChatService.ErrorMessage(player, "Du musst deinen alten Job kündigen, bevor du einen Neuen ausüben kannst");
|
||||
return;
|
||||
}
|
||||
|
||||
//Pilotjob
|
||||
if (jobId == 3 && u.FlyingLicensePlane == false)
|
||||
{
|
||||
ChatService.ErrorMessage(player, "Um diesen Job annehmen zu können, musst du einen Flugschein besitzen.");
|
||||
ChatService.ErrorMessage(player, "Um diesen Job annehmen zu können, musst du einen Flugschein besitzen");
|
||||
return;
|
||||
}
|
||||
|
||||
if (u.DriverLicenseVehicle == false)
|
||||
{
|
||||
ChatService.ErrorMessage(player, "Um diesen Job annehmen zu können, musst du einen Führerschein besitzen.");
|
||||
ChatService.ErrorMessage(player, "Um diesen Job annehmen zu können, musst du einen Führerschein besitzen");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -202,9 +202,9 @@ namespace ReallifeGamemode.Server.Managers
|
||||
{
|
||||
JobBase job = GetJob(player.GetUser().JobId ?? -1);
|
||||
|
||||
if (job != null && job.GetUsersInJob().Contains(player) && seat == 0)
|
||||
if (job != null && job.GetUsersInJob().Contains(player))
|
||||
{
|
||||
if(job.CheckVehicle(player, veh))
|
||||
if(job.CheckVehicle(player, veh) && seat == 0)
|
||||
{
|
||||
if (!playerTimersJobVehicleRespawn.ContainsKey(player))
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user