Merge branch 'develop' of https://development.life-of-german.org/log-gtav/reallife-gamemode into develop
This commit is contained in:
@@ -5,6 +5,7 @@ using System.Net.Http;
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Entities.Logs.Chat;
|
using ReallifeGamemode.Database.Entities.Logs.Chat;
|
||||||
@@ -16,6 +17,7 @@ using ReallifeGamemode.Server.Factions.Medic;
|
|||||||
using ReallifeGamemode.Server.Finance;
|
using ReallifeGamemode.Server.Finance;
|
||||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||||
using ReallifeGamemode.Server.Job;
|
using ReallifeGamemode.Server.Job;
|
||||||
|
using ReallifeGamemode.Server.Log;
|
||||||
using ReallifeGamemode.Server.Managers;
|
using ReallifeGamemode.Server.Managers;
|
||||||
using ReallifeGamemode.Server.Services;
|
using ReallifeGamemode.Server.Services;
|
||||||
using ReallifeGamemode.Server.Types;
|
using ReallifeGamemode.Server.Types;
|
||||||
@@ -33,6 +35,8 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
{
|
{
|
||||||
public class AdminCommands : Script
|
public class AdminCommands : Script
|
||||||
{
|
{
|
||||||
|
private ILogger logger = LogManager.GetLogger<AdminCommands>();
|
||||||
|
|
||||||
#region Todo
|
#region Todo
|
||||||
|
|
||||||
[Command("syncanim", "~m~Benutzung: ~s~/syncanim [animName]")]
|
[Command("syncanim", "~m~Benutzung: ~s~/syncanim [animName]")]
|
||||||
@@ -3837,9 +3841,12 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
string playedHoursString = "";
|
string playedHoursString = "";
|
||||||
int jailTime = targetUser.JailTime;
|
int jailTime = targetUser.JailTime;
|
||||||
|
|
||||||
if (user.IsAdmin(AdminLevel.HEADADMIN)) {
|
if (user.IsAdmin(AdminLevel.HEADADMIN))
|
||||||
|
{
|
||||||
playedHoursString = playedHours.ToString();
|
playedHoursString = playedHours.ToString();
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
int newbiePlayedHoursThreshold = GlobalHelper.newbiePlayedMinutesThreshold / 60;
|
int newbiePlayedHoursThreshold = GlobalHelper.newbiePlayedMinutesThreshold / 60;
|
||||||
playedHoursString = playedHours > newbiePlayedHoursThreshold ? (newbiePlayedHoursThreshold + "+") : playedHours.ToString();
|
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()}");
|
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
|
#endregion ALevel1337
|
||||||
|
|
||||||
#region ALevel1338
|
#region ALevel1338
|
||||||
|
|||||||
@@ -19,7 +19,8 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
internal class UserCommands : Script
|
internal class UserCommands : Script
|
||||||
{
|
{
|
||||||
[Command("rent", "~m~rent stop")]
|
[Command("rent", "~m~rent stop")]
|
||||||
public void CmdUserStopRent(Player player, String option = "") {
|
public void CmdUserStopRent(Player player, String option = "")
|
||||||
|
{
|
||||||
if (!player.IsLoggedIn()) return;
|
if (!player.IsLoggedIn()) return;
|
||||||
|
|
||||||
if (option != "stop")
|
if (option != "stop")
|
||||||
@@ -112,7 +113,8 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
User user = player.GetUser(dbContext);
|
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");
|
ChatService.ErrorMessage(player, "Dafür hast du nicht genug Geld auf deinem Bankkonto");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -144,7 +146,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
var lastDriverDic = new Dictionary<string, DateTime>();
|
var lastDriverDic = new Dictionary<string, DateTime>();
|
||||||
|
|
||||||
if(VehicleManager.lastDriversInVehicle.ContainsKey(veh))
|
if (VehicleManager.lastDriversInVehicle.ContainsKey(veh))
|
||||||
{
|
{
|
||||||
lastDriverDic = VehicleManager.lastDriversInVehicle[veh];
|
lastDriverDic = VehicleManager.lastDriversInVehicle[veh];
|
||||||
}
|
}
|
||||||
@@ -220,8 +222,25 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
if (pVeh.GetServerVehicle(dbContext) is ServerVehicle veh)
|
if (pVeh.GetServerVehicle(dbContext) is ServerVehicle veh)
|
||||||
{
|
{
|
||||||
string dbIdStr = player.GetUser(dbContext).IsAdmin(AdminLevel.ADMIN) ? $" | DB-ID: {veh.Id}" : "";
|
User user = player.GetUser(dbContext);
|
||||||
ChatService.SendMessage(player, "~m~" + ((VehicleHash)pVeh.Model) + " | " + veh.ToString() + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value + dbIdStr);
|
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
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
|
|
||||||
if (sV is UserVehicle uV)
|
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.");
|
player.SendNotification("~r~Du darfst dieses Fahrzeug nicht parken.");
|
||||||
return;
|
return;
|
||||||
@@ -249,7 +249,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
}
|
}
|
||||||
else if (sV is FactionVehicle fV)
|
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.");
|
player.SendNotification("~r~Du darfst dieses Fahrzeug nicht parken.");
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
[ServerEvent(Event.PlayerEnterVehicle)]
|
[ServerEvent(Event.PlayerEnterVehicle)]
|
||||||
public void CarDealerBusiness_PlayerEnterVehicle(Player player, Vehicle veh, int seat)
|
public void CarDealerBusiness_PlayerEnterVehicle(Player player, Vehicle veh, int seat)
|
||||||
{
|
{
|
||||||
if(player.IsAdminDuty())
|
if (player.IsAdminDuty())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -222,7 +222,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
PrimaryColor = 111,
|
PrimaryColor = 111,
|
||||||
SecondaryColor = 111,
|
SecondaryColor = 111,
|
||||||
Active = true,
|
Active = true,
|
||||||
BuyPrice = price
|
BuyPrice = (int)(price * FACTION_CAR_MULTIPLIER)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
//else if (target == "Gruppe")
|
//else if (target == "Gruppe")
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
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)
|
if (vMod.Slot == -2)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user