auto verkaufen

This commit is contained in:
hydrant
2020-04-02 22:29:27 +02:00
parent 85cd638a4c
commit a8994d9e4a
4 changed files with 92 additions and 10 deletions

View File

@@ -16,6 +16,7 @@ using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.DrivingSchool;
using ReallifeGamemode.Server.Types;
using Microsoft.EntityFrameworkCore;
/**
* @overview Life of German Reallife - Event Key (Key.cs)
* @author VegaZ
@@ -107,9 +108,16 @@ namespace ReallifeGamemode.Server.Events
[RemoteEvent("keyPress:DOWN_ARROW")]
public void KeyPressDownArrow(Player player)
{
User u = player.GetUser();
using var dbContext = new DatabaseContext();
User u = player.GetUser(dbContext);
if (u == null) return;
var vehicles = dbContext.UserVehicles.Where(veh => veh.UserId == u.Id).OrderBy(veh => veh.Id).Select(v => new
{
v.Id,
v.Model
});
Paycheck paycheck = null;
if (Economy.Paychecks.ContainsKey(u.Id)) paycheck = Economy.Paychecks[u.Id];
@@ -125,7 +133,8 @@ namespace ReallifeGamemode.Server.Events
groupRank = u.GroupRank.GetName(),
job = JobManager.GetJob(u.JobId ?? 0)?.Name ?? "Keiner",
paycheck,
licenses
licenses,
vehicles
};
string faction = u.FactionLeader ? u.Faction.Name : null;

View File

@@ -335,6 +335,40 @@ namespace ReallifeGamemode.Server.Managers
ChatService.BroadcastJob(msg, taxiJob);
ChatService.SendMessage(player, "!{02FCFF}Du hast erfolgreich ein Taxi zu deiner aktuellen Position gerufen.");
}
[RemoteEvent("CLIENT:InteractionMenu_VehicleInteraction")]
public void VehicleInteraction(Player player, int id, string selection)
{
using var dbContext = new DatabaseContext(true);
var user = player.GetUser(dbContext);
var userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
if (userVehicle == null)
{
ChatService.ErrorMessage(player, "Das Fahrzeug wurde nicht gefunden");
}
Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(userVehicle);
if (selection == "Finden")
{
player.TriggerEvent("SERVER:Util_setWaypoint", veh.Position.X, veh.Position.Y);
}
else if (selection == "Verkaufen")
{
var vehPrice = dbContext.ShopVehicles.Where(v => v.Model == userVehicle.Model).Select(v => v.Price).FirstOrDefault();
var backPrice = (int)(vehPrice * 0.6);
user.BankAccount.Balance += backPrice;
ChatService.SendMessage(player, $"~b~[INFO]~s~ Du hast durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
dbContext.UserVehicles.Remove(userVehicle);
dbContext.SaveChanges();
veh.Delete();
}
}
#endregion
#region Spielerinteraktionen PFEILTASTE-LINKS
[RemoteEvent("openTradeInventory")]