GELD LOGS

This commit is contained in:
hydrant
2021-05-15 03:14:37 +02:00
parent 3c2d56f2ad
commit a2db770316
22 changed files with 448 additions and 306 deletions

View File

@@ -10,6 +10,7 @@ using ReallifeGamemode.Server.Core.Extensions;
using System.Linq;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Common;
using Microsoft.Extensions.Logging;
namespace ReallifeGamemode.Server.Core.Managers
{
@@ -451,6 +452,8 @@ namespace ReallifeGamemode.Server.Core.Managers
return;
}
Log.LogInformation("Player {0} did a withdraw of {1} dollars from house {2}", player.Name, amount, house.Id);
user.BankAccount.Balance += amount;
house.BankAccount.Balance -= amount;

View File

@@ -6,12 +6,13 @@ using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using System.Linq;
using Microsoft.Extensions.Logging;
namespace ReallifeGamemode.Server.Core.Menus
{
internal class PoliceDepartment : Script
{
private const int WEAPONLICENSE_PRICE = 5000;
public PoliceDepartment()
{
@@ -40,13 +41,15 @@ namespace ReallifeGamemode.Server.Core.Menus
var account = user.BankAccount;
if (account.Balance < 5000)
if (account.Balance < WEAPONLICENSE_PRICE)
{
player.SendMessage("Du hast nicht genug Geld auf der Bank (5.000$)!", ChatPrefix.Error);
return;
}
account.Balance -= 5000;
Log.LogInformation("Player {0} bought a weapon license for {1} dollars", player.Name);
account.Balance -= WEAPONLICENSE_PRICE;
player.SendMessage("Du hast den Waffenschein erfolgreich erworben.", ChatPrefix.Info);

View File

@@ -4,18 +4,20 @@
* @copyright (c) 2008 - 2021 Life of German
*/
using GTANetworkAPI;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Finance;
using ReallifeGamemode.Server.Log;
using ReallifeGamemode.Services;
using System;
namespace ReallifeGamemode.Server.Bank
{
class bank : Script
class Bank : Script
{
private static TextLabel informationLabel;
private static TextLabel factionInformationLabel;
@@ -25,6 +27,7 @@ namespace ReallifeGamemode.Server.Bank
private static ColShape _factioncolShape;
public static Vector3 Position { get; }
private static readonly ILogger logger = LogManager.GetLogger<Bank>();
public static void Setup()
{
@@ -92,6 +95,7 @@ namespace ReallifeGamemode.Server.Bank
}
else
{
logger.LogInformation("Player {0} did a deposit of {1} dollars at the bank", player.Name, amount);
player.SendNotification($"~w~Du hast $~g~{amount} ~w~eingezahlt.");
player.GetUser(dbContext).Handmoney -= amount;
player.GetUser(dbContext).BankAccount.Balance += amount;
@@ -115,6 +119,7 @@ namespace ReallifeGamemode.Server.Bank
}
else
{
logger.LogInformation("Player {0} did a withdraw of {1} dollars at the bank", player.Name, amount);
player.SendNotification($"~w~Du hast $~g~{amount} ~w~abgehoben.");
player.GetUser(dbContext).Handmoney += amount;
player.GetUser(dbContext).BankAccount.Balance -= amount;
@@ -130,34 +135,40 @@ namespace ReallifeGamemode.Server.Bank
int amount = Int32.Parse(stringAmount);
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
if (!target.IsLoggedIn())
{
player.SendNotification($"~r~Dieser Spieler ist nicht Online.");
return;
}
using (var dbContext = new DatabaseContext())
{
if (player.GetUser().PlayedMinutes < 180)
User user = player.GetUser(dbContext);
if (user.PlayedMinutes < 180)
{
player.SendNotification("~r~Du kannst Geld erst ab 3 Spielstunden vergeben");
return;
}
if (player.GetUser(dbContext) == target.GetUser(dbContext))
User targetUser = target.GetUser(dbContext);
if (user == targetUser)
{
player.SendNotification($"~r~Du kannst dir selber kein Geld überweisen.");
return;
}
else if (!target.IsLoggedIn())
{
player.SendNotification($"~r~Dieser Spieler ist nicht Online.");
}
else if (amount <= 0 || (int)(amount * 1.05) > player.GetUser(dbContext).BankAccount.Balance)
else if (amount <= 0 || (int)(amount * 1.05) > user.BankAccount.Balance)
{
player.SendNotification($"~r~Dieser Betrag kann nicht überwiesen werden.");
return;
}
else
{
logger.LogInformation("Player {0} did a transfer of {1} dollars to {2}", user.Name, amount, targetUser.Name);
player.SendNotification($"~w~Du hast {target.Name} $~g~{amount} ~w~Überwiesen.");
target.SendNotification($"~w~{player.Name} hat dir $~g~{amount} ~w~Überwiesen.");
player.GetUser(dbContext).BankAccount.Balance -= (int)(amount * 1.05);
target.GetUser(dbContext).otheramount += amount;
user.BankAccount.Balance -= (int)(amount * 1.05);
targetUser.otheramount += amount;
dbContext.SaveChanges();
}
}
@@ -170,17 +181,23 @@ namespace ReallifeGamemode.Server.Bank
using (var dbContext = new DatabaseContext())
{
User user = player.GetUser(dbContext);
if (user.FactionId == null)
{
return;
}
if (amount <= 0 || amount > player.GetUser(dbContext).BankAccount.Balance)
if (amount <= 0 || amount > user.BankAccount.Balance)
{
player.SendNotification($"~r~Dieser Betrag ist ungültig.");
return;
}
else
{
logger.LogInformation("Player {0} did a faction payin of {1} dollars to faction {2}", user.Name, amount, user.Faction.Id);
player.SendNotification($"~w~Du hast $~g~{amount}~w~ in die Fraktionskasse eingezahlt.");
player.GetUser(dbContext).BankAccount.Balance -= amount;
player.GetUser(dbContext).Faction.BankAccount.Balance += amount;
user.BankAccount.Balance -= amount;
user.Faction.BankAccount.Balance += amount;
dbContext.SaveChanges();
}
}
@@ -193,23 +210,28 @@ namespace ReallifeGamemode.Server.Bank
int amount = Int32.Parse(stringAmount);
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
using (var dbContext = new DatabaseContext())
{
if (!target.IsLoggedIn())
{
player.SendNotification($"~r~Dieser Spieler ist nicht Online.");
return;
}
else if (amount <= 0 || (int)(amount * 1.05) > player.GetUser(dbContext).Faction.BankAccount.Balance)
using (var dbContext = new DatabaseContext())
{
User user = player.GetUser(dbContext);
User targetUser = target.GetUser(dbContext);
if (amount <= 0 || (int)(amount * 1.05) > user.Faction.BankAccount.Balance)
{
player.SendNotification($"~r~Dieser Betrag kann nicht überwiesen werden.");
return;
}
else
{
player.SendNotification($"~w~Du hast {target.Name} $~g~{amount} ~w~Überwiesen.");
player.GetUser(dbContext).Faction.BankAccount.Balance -= (int)(amount * 1.05);
target.GetUser(dbContext).otheramount += amount;
logger.LogInformation("Player {0} did a faction transfer of {1} dollars from faction {2} to {3}", user.Name, amount, user.Faction.Id, target);
player.SendNotification($"Du hast ~g~{amount.ToMoneyString()}~s~ an ~y~{targetUser.Name}~s~ überwiesen");
target.SendNotification($"Dir wurden ~g~{amount.ToMoneyString()}~s~ von ~y~{user.Name}~s~ überwiesen");
user.Faction.BankAccount.Balance -= (int)(amount * 1.05);
targetUser.otheramount += amount;
dbContext.SaveChanges();
}
}

View File

@@ -2287,6 +2287,7 @@ namespace ReallifeGamemode.Server.Commands
{
var user = target.GetUser(context);
user.Handmoney = amount;
logger.LogInformation("Admin {0} set the handmoney of player {1} to {2} dollars", admin.Name, target.Name, amount);
context.SaveChanges();
//target.TriggerEvent("SERVER:SET_HANDMONEY", amount);
}
@@ -2313,6 +2314,7 @@ namespace ReallifeGamemode.Server.Commands
{
var user = target.GetUser(context);
user.Handmoney += amount;
logger.LogInformation("Admin {0} added {2} dollarsto the handmoney of player {1}", admin.Name, target.Name, amount);
context.SaveChanges();
//target.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
}
@@ -3356,6 +3358,7 @@ namespace ReallifeGamemode.Server.Commands
using (var dbContext = new DatabaseContext())
{
logger.LogInformation("Admin {0} set the bank account of {1} to {2} dollars", player.Name, target.Name, amount);
target.GetUser(dbContext).BankAccount.Balance = amount;
dbContext.SaveChanges();
}
@@ -3381,6 +3384,7 @@ namespace ReallifeGamemode.Server.Commands
using (var dbContext = new DatabaseContext())
{
logger.LogInformation("Admin {0} added {2} dollars to the bank account of {1}", player.Name, target.Name, amount);
target.GetUser(dbContext).BankAccount.Balance += amount;
dbContext.SaveChanges();
}

View File

@@ -1,9 +1,10 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using GTANetworkAPI;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Entities.Logs.Chat;
using ReallifeGamemode.Database.Models;
@@ -15,6 +16,7 @@ using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Services;
using ReallifeGamemode.Server.Log;
/**
* @overview Life of German Reallife - Faction Commands (Faction.cs)
@@ -26,6 +28,8 @@ namespace ReallifeGamemode.Server.Commands
{
internal class FactionCommands : Script
{
private static readonly ILogger logger = LogManager.GetLogger<FactionCommands>();
#region Chat Commands
[Command("f", "~m~Benutzung: ~s~/f [Nachricht]", GreedyArg = true)]
@@ -413,17 +417,19 @@ namespace ReallifeGamemode.Server.Commands
return;
}
if (deadPlayerUser.Handmoney >= 100)
if (deadPlayerUser.Handmoney >= Medic.ReviveIncome)
{
deadPlayerUser.Handmoney -= 100;
deadPlayerUser.Handmoney -= Medic.ReviveIncome;
}
else
{
int bankMoney = 100 - deadPlayerUser.Handmoney;
int bankMoney = Medic.ReviveIncome - deadPlayerUser.Handmoney;
deadPlayerUser.Handmoney = 0;
deadPlayerUser.BankAccount.Balance -= bankMoney;
}
logger.LogInformation("Player {0} has been revived by {1} for {2} dollars", deadPlayer.Name, player.Name, Medic.ReviveIncome);
player.PlayAnimation("amb@medic@standing@kneel@enter", "enter", 0);
deadPlayer.TriggerEvent("onPlayerRevived");

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using GTANetworkAPI;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
@@ -13,11 +14,16 @@ using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Services;
using ReallifeGamemode.Server.Log;
namespace ReallifeGamemode.Server.Commands
{
internal class UserCommands : Script
{
private static readonly ILogger logger = LogManager.GetLogger<UserCommands>();
private const int SMS_PRICE = 5;
[Command("rent", "~m~rent stop")]
public void CmdUserStopRent(Player player, String option = "")
{
@@ -113,13 +119,15 @@ namespace ReallifeGamemode.Server.Commands
using (var dbContext = new DatabaseContext())
{
User user = player.GetUser(dbContext);
if (user.BankAccount.Balance < 5)
if (user.BankAccount.Balance < SMS_PRICE)
{
ChatService.ErrorMessage(player, "Dafür hast du nicht genug Geld auf deinem Bankkonto");
return;
}
user.BankAccount.Balance -= 5;
logger.LogInformation("Player {0} sent a sms to {1} for {2} dollars", player.Name, target.Name, SMS_PRICE);
user.BankAccount.Balance -= SMS_PRICE;
dbContext.SaveChanges();
}

View File

@@ -6,17 +6,24 @@ using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Util;
using System;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Server.Log;
namespace ReallifeGamemode.Server.DrivingSchool
{
internal class DrivingSchool : Script
{
private static readonly ILogger logger = LogManager.GetLogger<DrivingSchool>();
private static TextLabel informationLabel;
private static Marker marker;
private static ColShape _colShape;
public static Vector3 Position { get; }
private const int FAILPOINTS = 2;
private const int CAR_LICENSE_PRICE = 2500;
private const int BIKE_LICENSE_PRICE = 3500;
private readonly IReadOnlyCollection<Vector3> BikeRoute = new List<Vector3>
{
new Vector3(-741.98, -1283.46, 6.17),
@@ -129,7 +136,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
return;
}
if (user.Handmoney < 2500)
if (user.Handmoney < CAR_LICENSE_PRICE)
{
client.SendNotification("~r~[FEHLER]~s~ Du hast nicht genug Geld auf der Hand($2.500)!", true);
return;
@@ -138,7 +145,8 @@ namespace ReallifeGamemode.Server.DrivingSchool
using (var dbContext = new DatabaseContext())
{
User payer = client.GetUser(dbContext);
payer.Handmoney -= 2500;
payer.Handmoney -= CAR_LICENSE_PRICE;
logger.LogInformation("Player {0} bought the driving school (car) for {1} dollars", client.Name, CAR_LICENSE_PRICE);
// client.TriggerEvent("SERVER:SET_HANDMONEY", payer.Handmoney);
dbContext.SaveChanges();
}
@@ -275,7 +283,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
client.SendChatMessage("~b~[INFO]~s~ Du besitzt schon einen Motorradschein.");
return;
}
if (user.Handmoney < 3500)
if (user.Handmoney < BIKE_LICENSE_PRICE)
{
client.SendNotification("~r~[FEHLER]~s~Du hast nicht genug Geld auf der Hand($3.500)!", true);
return;
@@ -284,7 +292,8 @@ namespace ReallifeGamemode.Server.DrivingSchool
using (var dbContext = new DatabaseContext())
{
User payer = client.GetUser(dbContext);
payer.Handmoney -= 3500;
payer.Handmoney -= BIKE_LICENSE_PRICE;
logger.LogInformation("Player {0} bought the driving school (bike) for {1} dollars", client.Name, BIKE_LICENSE_PRICE);
// client.TriggerEvent("SERVER:SET_HANDMONEY", payer.Handmoney);
dbContext.SaveChanges();
}

View File

@@ -1,8 +1,10 @@
using System.Collections.Generic;
using GTANetworkAPI;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Log;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Util;
@@ -15,8 +17,12 @@ namespace ReallifeGamemode.Server.DrivingSchool
private static ColShape _colShape1;
public static Vector3 Position { get; }
private static readonly ILogger logger = LogManager.GetLogger<PlaneSchool>();
private const int CHECKPOINT_MARKER_ID = 6;
private const int PLANE_LICENSE_PRICE = 5000;
private readonly IReadOnlyCollection<Vector3> planeRoute = new List<Vector3>
{
new Vector3(-1114.39, -2333.09, 14.87),
@@ -74,7 +80,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
client.SendChatMessage("~b~[INFO]~s~ Du besitzt schon einen Flugschein.");
return;
}
if (user.Handmoney < 5000)
if (user.Handmoney < PLANE_LICENSE_PRICE)
{
client.SendNotification("~r~Du brauchst ~g~$5.000~r~ auf der Hand, um die Prüfung starten zu können.", true);
return;
@@ -82,7 +88,8 @@ namespace ReallifeGamemode.Server.DrivingSchool
using (var dbContext = new DatabaseContext())
{
User payer = client.GetUser(dbContext);
payer.Handmoney -= 5000;
payer.Handmoney -= PLANE_LICENSE_PRICE;
logger.LogInformation("Player {0} bought the plane school for {1} dollars", client.Name, PLANE_LICENSE_PRICE);
//client.TriggerEvent("SERVER:SET_HANDMONEY", payer.Handmoney);
dbContext.SaveChanges();
}
@@ -171,7 +178,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
case 14:
user.TriggerEvent("renderTextOnScreen", "Setzen Sie zum Landeanflug an. Drücken Sie 'G', um das Fahrwerk auszufahren.");
CheckPointHandle.StartCheckPointRoute(user, planeRouteEnd, 5000, CHECKPOINT_MARKER_ID, 12, 5, true, "planeSchoolEventEnd");
CheckPointHandle.StartCheckPointRoute(user, planeRouteEnd, PLANE_LICENSE_PRICE, CHECKPOINT_MARKER_ID, 12, 5, true, "planeSchoolEventEnd");
break;
}
}

View File

@@ -6,11 +6,15 @@ using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using System;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Server.Log;
namespace ReallifeGamemode.Server.Events
{
public class UpdateCharacterCloth : Script
{
private static readonly ILogger logger = LogManager.GetLogger<UpdateCharacterCloth>();
[RemoteEvent("updateDutyProp")]
public void UpdateDutyProp(Player player, int componentId, int componentVariation)
{
@@ -280,7 +284,8 @@ namespace ReallifeGamemode.Server.Events
}
}
if(data[0] == 2){
if (data[0] == 2)
{
User payer = client.GetUser(dbContext);
payer.GetCharacter(dbContext);
payer.Character.Hair = Convert.ToByte(data[2]);
@@ -288,6 +293,7 @@ namespace ReallifeGamemode.Server.Events
}
client.GetUser(dbContext).Handmoney -= data[6];
logger.LogInformation("Player {0} bought clothing for {1} dollars: slot = {2}, cloth = {3}, texture = {4}", client.Name, data[6], data[0], data[2], data[1]);
dbContext.SaveChanges();
//client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
}

View File

@@ -130,7 +130,7 @@ namespace ReallifeGamemode.Server.Events
player.SendNotification("Du hast nicht genügend Geld bei dir");
return;
}
logger.LogInformation("Player {0} bought a {1} in ammunation", user.Name, weaponmodel);
logger.LogInformation("Player {0} bought a weapon {1} in ammunation for {2} dollars", user.Name, weaponmodel, price);
user.Handmoney -= price;
dbContext.SaveChanges();
player.GiveWeapon(NAPI.Util.WeaponNameToModel(weaponmodel), ammo);

View File

@@ -3,10 +3,12 @@ using System.Collections.Generic;
using System.Linq;
using GTANetworkAPI;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Admin;
using ReallifeGamemode.Server.Log;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types;
@@ -22,6 +24,8 @@ namespace ReallifeGamemode.Server.Extensions
{
public static class PlayerExtension
{
private static ILogger Logger => LogManager.GetLogger(typeof(PlayerExtension));
/// <summary>
/// Gibt das User-Objekt eines Player's zurück.
/// Gibt nichts zurück, wenn der Player nicht eingeloggt ist
@@ -108,6 +112,8 @@ namespace ReallifeGamemode.Server.Extensions
faction.BankAccount.Balance += factionMoney;
}
Logger.LogInformation("Player {0} was sent to jail for {1} seconds, executive factions got {2} dollars each", user.Name, time, factionMoney);
user.Wanteds = 0;
user.JailTime = time;
}

View File

@@ -9,6 +9,8 @@ using ReallifeGamemode.Database.Models;
using Microsoft.EntityFrameworkCore;
using System;
using ReallifeGamemode.Server.Extensions;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Server.Log;
/**
* @overview Life of German Reallife - Server Factions Medic Medic.cs
@@ -20,6 +22,8 @@ namespace ReallifeGamemode.Server.Factions.Medic
{
public class Medic : Script
{
private static readonly ILogger logger = LogManager.GetLogger<Medic>();
public static List<MedicTask> ReviveTasks = new List<MedicTask>();
public static List<MedicTask> HealTasks = new List<MedicTask>();
public static List<MedicTask> FireTasks = new List<MedicTask>();
@@ -141,6 +145,8 @@ namespace ReallifeGamemode.Server.Factions.Medic
targetUser.BankAccount.Balance -= bankMoney;
}
logger.LogInformation("Player {0} accepted a heal for {1} dollars from medic {2}", target.Name, activeDecision.dPrice, activeDecision.dMedic.Name);
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += activeDecision.dPrice / 2;
activeDecision.dMedic.GetUser(dbContext).Wage += activeDecision.dPrice / 2;

View File

@@ -9,9 +9,11 @@ using System.Collections.Generic;
using System.Linq;
using GTANetworkAPI;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Log;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Wanted;
@@ -19,6 +21,8 @@ namespace ReallifeGamemode.Server.Finance
{
public class Economy
{
private static readonly ILogger logger = LogManager.GetLogger<Economy>();
public static Dictionary<int, Paycheck> Paychecks { get; set; } = new Dictionary<int, Paycheck>();
public static (int, float, float) GetEconomyClass(Player client, int wage)
@@ -162,6 +166,8 @@ namespace ReallifeGamemode.Server.Finance
}
}
logger.LogInformation("Player {0} has a payday of {1} dollars. old balance: {2}, new balance: {3}", client.Name, paycheck.Amount, u.BankAccount.Balance, u.BankAccount.Balance + paycheck.Amount);
u.BankAccount.Balance += paycheck.Amount;
u.Wage = 0;
u.otheramount = 0;
@@ -173,7 +179,7 @@ namespace ReallifeGamemode.Server.Finance
.Where(hR => hR.UserId == u.Id);
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += (int)(paycheck.HealthInsurance * 0.1);
logger.LogInformation("Medic faction got a health insurance payment of {0} dollars from player {1}", paycheck.HealthInsurance * 0.1, client.Name);
if (rentals.Any())
{
foreach (var rental in rentals)
@@ -181,6 +187,7 @@ namespace ReallifeGamemode.Server.Finance
if (rental?.House?.BankAccount != null)
{
rental.House.BankAccount.Balance += (int)(rental.House.RentalFee * 0.7);
logger.LogInformation("House {0} got a rentalfee of {1} from paycheck from user {2}", rental.House.Id, rental.House.RentalFee * 0.7, u.Name);
}
}
}

View File

@@ -5,16 +5,20 @@ using System.Threading.Tasks;
using System.Timers;
using GTANetworkAPI;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Log;
using ReallifeGamemode.Server.Services;
namespace ReallifeGamemode.Server.Gangwar
{
public class Turf
{
private static readonly ILogger logger = LogManager.GetLogger<Turf>();
public int TurfID { get; set; }
public string TurfName { get; set; }
public int Color { get; set; }
@@ -276,6 +280,7 @@ namespace ReallifeGamemode.Server.Gangwar
a.TriggerEvent("CLIENT:loose");
}
ownerFaction.BankAccount.Balance += 15000;
logger.LogInformation("Gang {0} successfully defended the turf {1} against gang {2} and gained {3} dollars", getOwner(), getAttacker(), 15000);
}
else if (getOwner() != FactionName)
{
@@ -292,6 +297,7 @@ namespace ReallifeGamemode.Server.Gangwar
if (a != null)
a.TriggerEvent("CLIENT:win");
}
logger.LogInformation("Gang {0} successfully took over the turf {1} from gang {2} and gained {3} dollars", getAttacker(), getOwner(), 10000);
this.Owner = FactionName;
attackerFaction.BankAccount.Balance += 10000;
Turfs turf = dbContext.Turfs.Where(t => t.Id == getId()).FirstOrDefault();

View File

@@ -142,7 +142,7 @@ namespace ReallifeGamemode.Server
DrivingSchool.DrivingSchool.Setup();
PlaneSchool.Setup();
Gangwar.Gangwar.loadTurfs();
Bank.bank.Setup();
Bank.Bank.Setup();
Introduction.Setup();
PositionManager.LoadPositionManager();
LoadManager.LoadLoadManager();

View File

@@ -2,9 +2,11 @@
using System.Linq;
using System.Numerics;
using GTANetworkAPI;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Log;
/**
* @overview Life of German Reallife - Managers ATMManager (ATMManager.cs)
@@ -18,6 +20,8 @@ namespace ReallifeGamemode.Server.Managers
{
public static List<ColShape> ATMColShapes = new List<ColShape>();
private static readonly ILogger logger = LogManager.GetLogger<ATMManager>();
public static void InitATMs()
{
var addedATMs = 0;
@@ -121,6 +125,7 @@ namespace ReallifeGamemode.Server.Managers
var updateBankMoneyIn = user.BankAccount;
var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
user.Handmoney -= inputField1;
logger.LogInformation("Player {0} did a deposit of {1} dollars at atm {2}", client.Name, inputField1, nearATM);
updateBankMoneyIn.Balance += inputField1;
updateATMBalanceIn.Balance += inputField1;
//client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
@@ -149,6 +154,7 @@ namespace ReallifeGamemode.Server.Managers
var updateATMBalanceOut = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
updateHandMoneyOut.Handmoney += inputField1;
user.BankAccount.Balance -= inputField1;
logger.LogInformation("Player {0} did a withdraw of {1} dollars at atm {2}", client.Name, inputField1, nearATM);
updateATMBalanceOut.Balance -= inputField1;
//client.TriggerEvent("SERVER:SET_HANDMONEY", updateHandMoneyOut.Handmoney);
}

View File

@@ -1,11 +1,13 @@
using System.Linq;
using GTANetworkAPI;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Events;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Log;
namespace ReallifeGamemode.Server.Managers
{
@@ -14,6 +16,8 @@ namespace ReallifeGamemode.Server.Managers
public static Vector3 surgeryPoint = new Vector3(342.30032, -1397.7542, 32.50923);
public const int SURGERY_PRICE = 15000;
private static readonly ILogger logger = LogManager.GetLogger<CharacterCreator>();
public CharacterCreator()
{
//LoadSurgery();
@@ -273,6 +277,7 @@ namespace ReallifeGamemode.Server.Managers
}
else
{
logger.LogInformation("Player {0} bought a surgery for {1} dollars", player.Name, SURGERY_PRICE);
user.BankAccount.Balance -= SURGERY_PRICE;
}
saveCharacter.Remove(oldChar);

View File

@@ -1,9 +1,11 @@
using System.Linq;
using GTANetworkAPI;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Log;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types;
@@ -11,8 +13,11 @@ namespace ReallifeGamemode.Server.Managers
{
internal class CityHallManager : Script
{
private const int GROUP_PRICE = 50000;
private static readonly Vector3 _cityHallPosition = new Vector3(273.22, -278.14, 53.9);
private static readonly ILogger logger = LogManager.GetLogger<CityHallManager>();
public static void LoadCityHall()
{
NAPI.Marker.CreateMarker(GTANetworkAPI.MarkerType.VerticalCylinder, _cityHallPosition.Subtract(new Vector3(0, 0, 1.7)), new Vector3(), new Vector3(), 1.0f, new Color(255, 255, 255));
@@ -57,13 +62,14 @@ namespace ReallifeGamemode.Server.Managers
u.Group = group;
u.GroupRank = GroupRank.OWNER;
if (player.GetUser(dbContext).BankAccount.Balance < 50000)
if (u.BankAccount.Balance < GROUP_PRICE)
{
ChatService.ErrorMessage(player, "Du hast nicht genug Geld");
return;
}
player.GetUser(dbContext).BankAccount.Balance -= 50000;
logger.LogInformation("Player {0} created a group for {1} dollars", player.Name, GROUP_PRICE);
u.BankAccount.Balance -= GROUP_PRICE;
dbContext.SaveChanges();
ChatService.BroadcastGroup($"Die Gruppe \"{name}\" wurde erfolgreich erstellt.", group);

View File

@@ -16,6 +16,8 @@ using ReallifeGamemode.Server.Events;
using System;
using ReallifeGamemode.Server.Core.API;
using ReallifeGamemode.Server.Factions.Medic;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Server.Log;
/**
* @overview Life of German Reallife - Managers Interaction (InteractionManager.cs)
@@ -27,6 +29,8 @@ namespace ReallifeGamemode.Server.Managers
{
public class InteractionManager : Script
{
private static readonly ILogger logger = LogManager.GetLogger<InteractionManager>();
#region Eigeninteraktionen Taste-M
[RemoteEvent("CLIENT:InteractionMenu_AcceptInvite")]
@@ -493,6 +497,8 @@ namespace ReallifeGamemode.Server.Managers
GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(userVehicle);
user.BankAccount.Balance += backPrice;
logger.LogInformation("Player {0} sold his uservehicle {1} for {2} dollars", player.Name, userVehicle.Model.ToString(), backPrice);
ChatService.SendMessage(player, $"~b~[INFO]~s~ Du hast durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
VehicleManager.DeleteVehicle(veh);
@@ -505,6 +511,8 @@ namespace ReallifeGamemode.Server.Managers
var backPrice = (int)(factionVehicle.BuyPrice * 1.5 * 0.4);
user.Faction.BankAccount.Balance += backPrice;
logger.LogInformation("Player {0} sold thr factionvehicle {1} of faction {2} for {3} dollars", player.Name, factionVehicle.Model.ToString(), user.Faction.Id, backPrice);
ChatService.SendMessage(player, $"~b~[INFO]~s~ Die Fraktionskasse hat ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
VehicleManager.DeleteVehicle(VehicleManager.GetVehicleFromServerVehicle(factionVehicle));
@@ -733,6 +741,7 @@ namespace ReallifeGamemode.Server.Managers
fibBankAccount.Balance += (int)(ticket_amount / 100 * 60);
lspdBankAccount.Balance += (int)(ticket_amount / 100 * 40);
}
logger.LogInformation("Player {0} accepted a ticket of {1} dollars", player.Name, ticket_amount);
dbContext.SaveChanges();
}
target.ResetData("ticket_boolean");
@@ -798,6 +807,7 @@ namespace ReallifeGamemode.Server.Managers
if (amount > 0 && amount <= 5000)
{
logger.LogInformation("Player {0} did a local payment of {1} dollars to player {2}", player.Name, amount, target.Name);
player.SendNotification($"~w~Du hast ~y~{targetname} ~w~{amount.ToMoneyString()} gegeben.");
target.SendNotification($"~w~ Du hast von ~y~{playername} ~w~{amount.ToMoneyString()} erhalten.", true);

View File

@@ -14,6 +14,8 @@ using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Services;
using ReallifeGamemode.Server.Types;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Server.Log;
/**
* @overview Life of German Reallife - Managers InventoryManager (InventoryManager.cs)
@@ -25,6 +27,9 @@ namespace ReallifeGamemode.Server.Managers
{
public class InventoryManager : Script
{
private const int MAX_USER_INVENTORY = 40000;
private static readonly ILogger logger = LogManager.GetLogger<InventoryManager>();
public static List<IItem> itemList;
private static Dictionary<int, (int[], int[])> TradeItems { get; set; } = new Dictionary<int, (int[], int[])>();
@@ -224,7 +229,7 @@ namespace ReallifeGamemode.Server.Managers
using (var context = new DatabaseContext())
{
List<UserItem> userItems = context.UserItems.ToList().FindAll(i => i.UserId == user.Id);
List<UserItem> userItems = context.UserItems.Where(i => i.UserId == user.Id).ToList();
foreach (var item in userItems)
{
IItem iItem = GetItemById(item.ItemId);
@@ -381,7 +386,7 @@ namespace ReallifeGamemode.Server.Managers
int setAmount = 0;
for (int i = 1; i <= amount; i++)
{
if (GetUserInventoryWeight(player) + (i * GetItemById(itemId).Gewicht) > 40000)
if (GetUserInventoryWeight(player) + (i * GetItemById(itemId).Gewicht) > MAX_USER_INVENTORY)
{
break;
}
@@ -608,6 +613,14 @@ namespace ReallifeGamemode.Server.Managers
return;
}
logger.LogInformation("Player {0} bought the item {1} for {2} dollars", client.Name, shopItem.Name, shopItem.Price);
if (GetUserInventoryWeight(client) + shopItem.Gewicht > MAX_USER_INVENTORY)
{
return;
}
UserItem item = dbContext.UserItems.Where(i => i.ItemId == shopItem.Id && i.UserId == user.Id).FirstOrDefault();
if (item == null)
{

View File

@@ -2,14 +2,17 @@
using System.Collections.Generic;
using System.Linq;
using GTANetworkAPI;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Log;
namespace ReallifeGamemode.Server.Managers
{
internal class TuningManager : Script
{
private static readonly ILogger logger = LogManager.GetLogger<TuningManager>();
private static List<ColShape> tuningGarages = new List<ColShape>();
public static void LoadTuningGarages()
@@ -220,6 +223,7 @@ namespace ReallifeGamemode.Server.Managers
ServerVehicle sV = player.Vehicle.GetServerVehicle(dbContext);
if (sV == null) return;
logger.LogInformation("Player {0} bought a tuning part for server vehicle {1}, slot: {2}, mod: {3} for {4} dollars", player.Name, sV.Id, slot, index, price);
VehicleMod vMod = dbContext.VehicleMods.FirstOrDefault(m => m.ServerVehicleId == sV.Id && m.Slot == slot);
if (vMod == null && index != -1)
@@ -265,7 +269,7 @@ namespace ReallifeGamemode.Server.Managers
veh.SecondaryColor = color;
}
using var dbContext = new DatabaseContext(true);
using var dbContext = new DatabaseContext();
ServerVehicle serverVeh = VehicleManager.GetServerVehicleFromVehicle(veh, dbContext);
if (serverVeh == null)
@@ -311,6 +315,7 @@ namespace ReallifeGamemode.Server.Managers
if (serverVehicle != null)
{
logger.LogInformation("Player {0} bought wheels for server vehicle {1}, type: {2}, wheels: {3} for {4} dollars", player.Name, serverVehicle.Id, wheelType, wheelIndex, price);
VehicleMod typeMod = dbContext.VehicleMods.Where(m => m.ServerVehicleId == serverVehicle.Id && m.Slot == -2).FirstOrDefault();
if (typeMod == null)
{

View File

@@ -2,9 +2,11 @@
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
using Microsoft.Extensions.Logging;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Log;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Services;
@@ -12,6 +14,7 @@ namespace ReallifeGamemode.Server.Util
{
class Rentcar : Script
{
private static readonly ILogger logger = LogManager.GetLogger<Rentcar>();
//In Sekunden
public static int PAY_TIMER = 180;
@@ -69,6 +72,7 @@ namespace ReallifeGamemode.Server.Util
{
User user = player.GetUser(dbContext);
user.BankAccount.Balance -= mapPlayerRentcarBill[player.Name].Item2;
logger.LogInformation("Player {0} cancelled a rent and payed {1} dollars", player.Name, mapPlayerRentcarBill[player.Name].Item2);
dbContext.SaveChanges();
}