From 34a234f7965b79e9e974074756867fb950f72383 Mon Sep 17 00:00:00 2001 From: hydrant Date: Sun, 9 May 2021 17:24:01 +0200 Subject: [PATCH 1/4] frakcar kaufen richtigen preis speichern --- ReallifeGamemode.Server/Managers/BusinessManager.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ReallifeGamemode.Server/Managers/BusinessManager.cs b/ReallifeGamemode.Server/Managers/BusinessManager.cs index 6507ea0b..6a18d109 100644 --- a/ReallifeGamemode.Server/Managers/BusinessManager.cs +++ b/ReallifeGamemode.Server/Managers/BusinessManager.cs @@ -131,7 +131,7 @@ namespace ReallifeGamemode.Server.Managers [ServerEvent(Event.PlayerEnterVehicle)] public void CarDealerBusiness_PlayerEnterVehicle(Player player, Vehicle veh, int seat) { - if(player.IsAdminDuty()) + if (player.IsAdminDuty()) { return; } @@ -222,7 +222,7 @@ namespace ReallifeGamemode.Server.Managers PrimaryColor = 111, SecondaryColor = 111, Active = true, - BuyPrice = price + BuyPrice = (int)(price * FACTION_CAR_MULTIPLIER) }; } //else if (target == "Gruppe") From 495a31b393fbaf725eb1af83edd309c2bf96e4e5 Mon Sep 17 00:00:00 2001 From: hydrant Date: Sun, 9 May 2021 17:31:12 +0200 Subject: [PATCH 2/4] /car kaufpreis bei faction und usercar --- .../Commands/UserCommands.cs | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/ReallifeGamemode.Server/Commands/UserCommands.cs b/ReallifeGamemode.Server/Commands/UserCommands.cs index ac56c25e..2ed40def 100644 --- a/ReallifeGamemode.Server/Commands/UserCommands.cs +++ b/ReallifeGamemode.Server/Commands/UserCommands.cs @@ -19,7 +19,8 @@ namespace ReallifeGamemode.Server.Commands internal class UserCommands : Script { [Command("rent", "~m~rent stop")] - public void CmdUserStopRent(Player player, String option = "") { + public void CmdUserStopRent(Player player, String option = "") + { if (!player.IsLoggedIn()) return; if (option != "stop") @@ -112,7 +113,8 @@ namespace ReallifeGamemode.Server.Commands using (var dbContext = new DatabaseContext()) { User user = player.GetUser(dbContext); - if (user.BankAccount.Balance < 5) { + if (user.BankAccount.Balance < 5) + { ChatService.ErrorMessage(player, "Dafür hast du nicht genug Geld auf deinem Bankkonto"); return; } @@ -144,7 +146,7 @@ namespace ReallifeGamemode.Server.Commands var lastDriverDic = new Dictionary(); - if(VehicleManager.lastDriversInVehicle.ContainsKey(veh)) + if (VehicleManager.lastDriversInVehicle.ContainsKey(veh)) { lastDriverDic = VehicleManager.lastDriversInVehicle[veh]; } @@ -220,8 +222,25 @@ namespace ReallifeGamemode.Server.Commands if (pVeh.GetServerVehicle(dbContext) is ServerVehicle veh) { - string dbIdStr = player.GetUser(dbContext).IsAdmin(AdminLevel.ADMIN) ? $" | DB-ID: {veh.Id}" : ""; - ChatService.SendMessage(player, "~m~" + ((VehicleHash)pVeh.Model) + " | " + veh.ToString() + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value + dbIdStr); + User user = player.GetUser(dbContext); + string addInfoStr = ""; + if (user.IsAdmin(AdminLevel.ADMIN)) + { + addInfoStr += $" | DB-ID: {veh.Id}"; + } + + if (user.IsAdmin(AdminLevel.HEADADMIN)) + { + if (veh is FactionVehicle factionVehicle) + { + addInfoStr += " | Kaufpreis: " + factionVehicle.BuyPrice.ToMoneyString(); + } + else if (veh is UserVehicle userVehicle) + { + addInfoStr += " | Kaufpreis: " + userVehicle.Price.ToMoneyString(); + } + } + ChatService.SendMessage(player, "~m~" + ((VehicleHash)pVeh.Model) + " | " + veh.ToString() + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value + addInfoStr); } else { From 12f399dd3121fc99451db4c4a0912cfcdd1f747a Mon Sep 17 00:00:00 2001 From: hydrant Date: Sun, 9 May 2021 17:44:38 +0200 Subject: [PATCH 3/4] /setvehiclebuyprice --- .../Commands/AdminCommands.cs | 71 ++++++++++++++++++- 1 file changed, 69 insertions(+), 2 deletions(-) diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index 082faa24..c14a6983 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -5,6 +5,7 @@ using System.Net.Http; using System.Text.RegularExpressions; using GTANetworkAPI; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using Newtonsoft.Json; using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities.Logs.Chat; @@ -16,6 +17,7 @@ using ReallifeGamemode.Server.Factions.Medic; using ReallifeGamemode.Server.Finance; using ReallifeGamemode.Server.Inventory.Interfaces; using ReallifeGamemode.Server.Job; +using ReallifeGamemode.Server.Log; using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Services; using ReallifeGamemode.Server.Types; @@ -33,6 +35,8 @@ namespace ReallifeGamemode.Server.Commands { public class AdminCommands : Script { + private ILogger logger = LogManager.GetLogger(); + #region Todo [Command("syncanim", "~m~Benutzung: ~s~/syncanim [animName]")] @@ -3837,9 +3841,12 @@ namespace ReallifeGamemode.Server.Commands string playedHoursString = ""; int jailTime = targetUser.JailTime; - if (user.IsAdmin(AdminLevel.HEADADMIN)) { + if (user.IsAdmin(AdminLevel.HEADADMIN)) + { playedHoursString = playedHours.ToString(); - } else { + } + else + { int newbiePlayedHoursThreshold = GlobalHelper.newbiePlayedMinutesThreshold / 60; playedHoursString = playedHours > newbiePlayedHoursThreshold ? (newbiePlayedHoursThreshold + "+") : playedHours.ToString(); } @@ -3847,6 +3854,66 @@ namespace ReallifeGamemode.Server.Commands ChatService.SendMessage(player, $"Statistiken von {target.Name} - HandMoney: {handmoney.ToMoneyString()}, BankMoney: {bankmoney.ToMoneyString()}, DriverLicense: {driverLicense.ToString()}, BikeLicense: {bikeLicense.ToString()}, FlyingLicense: {flyingLicense.ToString()}, WeaponLicense: {weaponLicense.ToString()}, playedHours: {playedHoursString}, JailTime: {jailTime.ToString()}"); } + [Command("setvehiclebuyprice", "~m~Benutzung: ~s~/setvehiclebuyprice [Preis]", Alias = "svbp")] + public void CmdAdminSetVehicleBuyPrice(Player player, int price) + { + using var dbContext = new DatabaseContext(); + User user = player.GetUser(dbContext); + + if (!user.IsAdmin(AdminLevel.HEADADMIN)) + { + ChatService.NotAuthorized(player); + return; + } + + if (price < 0) + { + ChatService.ErrorMessage(player, "Der neue Kaufpreis muss positiv sein"); + return; + } + + if (!player.IsInVehicle) + { + ChatService.ErrorMessage(player, "Du sitzt nicht in einem Fahrzeug"); + return; + } + + Vehicle vehicle = player.Vehicle; + ServerVehicle serverVehicle = vehicle.GetServerVehicle(dbContext); + + if (serverVehicle == null) + { + ChatService.ErrorMessage(player, "Dieses Fahrzeug ist keinem System zugeordnet"); + return; + } + + int? oldPrice = null; + + if (serverVehicle is UserVehicle userVehicle) + { + oldPrice = userVehicle.Price; + userVehicle.Price = price; + } + else if (serverVehicle is FactionVehicle factionVehicle) + { + oldPrice = factionVehicle.BuyPrice; + factionVehicle.BuyPrice = price; + } + else + { + ChatService.ErrorMessage(player, "Dieses Fahrzeug ist weder ein User- noch ein Fraktionsfahrzeug"); + return; + } + + logger.LogInformation("{0} set the buyprice of vehicle {1} to {2}", user.Name, serverVehicle.Id, price); + + dbContext.SaveChanges(); + + string oldPriceStr = oldPrice == null ? "nicht gesetzt" : oldPrice.ToMoneyString(); + + ChatService.SendMessage(player, $"~b~[ADMIN]~s~ Der Kaufpreis des Fahrzeugs ~y~{serverVehicle.Id}~s~ wurde auf ~g~{price.ToMoneyString()} gesetzt. Alter Preis: {oldPriceStr}"); + } + #endregion ALevel1337 #region ALevel1338 From daa0459a8634d543de2191374cd556f39ee435fe Mon Sep 17 00:00:00 2001 From: hydrant Date: Sun, 9 May 2021 18:08:13 +0200 Subject: [PATCH 4/4] fremdes auto im t support parken --- ReallifeGamemode.Server/Events/Vehicle.cs | 4 ++-- ReallifeGamemode.Server/Managers/TuningManager.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ReallifeGamemode.Server/Events/Vehicle.cs b/ReallifeGamemode.Server/Events/Vehicle.cs index 8c9ce883..2bb8c2ae 100644 --- a/ReallifeGamemode.Server/Events/Vehicle.cs +++ b/ReallifeGamemode.Server/Events/Vehicle.cs @@ -241,7 +241,7 @@ namespace ReallifeGamemode.Server.Events if (sV is UserVehicle uV) { - if (uV.UserId != u.Id) + if (uV.UserId != u.Id && (!u.IsAdmin(AdminLevel.HEADADMIN) || !player.IsTSupport())) { player.SendNotification("~r~Du darfst dieses Fahrzeug nicht parken."); return; @@ -249,7 +249,7 @@ namespace ReallifeGamemode.Server.Events } else if (sV is FactionVehicle fV) { - if (!fV.GetOwners().Contains(u.FactionId ?? 0) || !u.FactionLeader) + if ((!fV.GetOwners().Contains(u.FactionId ?? 0) || !u.FactionLeader) && (!u.IsAdmin(AdminLevel.HEADADMIN) || !player.IsTSupport())) { player.SendNotification("~r~Du darfst dieses Fahrzeug nicht parken."); return; diff --git a/ReallifeGamemode.Server/Managers/TuningManager.cs b/ReallifeGamemode.Server/Managers/TuningManager.cs index 62c765f2..3cd7824e 100644 --- a/ReallifeGamemode.Server/Managers/TuningManager.cs +++ b/ReallifeGamemode.Server/Managers/TuningManager.cs @@ -89,7 +89,7 @@ namespace ReallifeGamemode.Server.Managers using (var dbContext = new DatabaseContext()) { - foreach (VehicleMod vMod in dbContext.VehicleMods.Where(vM => vM.ServerVehicleId == sVeh.Id).ToList()) + foreach (VehicleMod vMod in dbContext.VehicleMods.Where(vM => vM.ServerVehicleId == sVeh.Id).OrderBy(v => v.Slot).ToList()) { if (vMod.Slot == -2) {