diff --git a/ReallifeGamemode.Database/Models/DatabaseContext.cs b/ReallifeGamemode.Database/Models/DatabaseContext.cs index 6c4133f8..0acb0bd3 100644 --- a/ReallifeGamemode.Database/Models/DatabaseContext.cs +++ b/ReallifeGamemode.Database/Models/DatabaseContext.cs @@ -29,7 +29,7 @@ namespace ReallifeGamemode.Database.Models { optionsBuilder.UseLoggerFactory(LoggerFactory); } - + optionsBuilder.EnableSensitiveDataLogging(); optionsBuilder.UseMySql("Host=localhost;Port=3306;Database=gtav-devdb;Username=gtav-dev;Password=Test123"); } diff --git a/ReallifeGamemode.Server/Gangwar/Gangwar.cs b/ReallifeGamemode.Server/Gangwar/Gangwar.cs index 08115ea8..0e0e798c 100644 --- a/ReallifeGamemode.Server/Gangwar/Gangwar.cs +++ b/ReallifeGamemode.Server/Gangwar/Gangwar.cs @@ -220,7 +220,10 @@ namespace ReallifeGamemode.Server.Gangwar } dbContext.SaveChanges(); } - NAPI.ClientEvent.TriggerClientEventForAll("CLIENT:UpdateTurfValue", JsonConvert.SerializeObject(values.ToArray())); + NAPI.Task.Run(() => + { + NAPI.ClientEvent.TriggerClientEventForAll("CLIENT:UpdateTurfValue", JsonConvert.SerializeObject(values.ToArray())); + }); } } } diff --git a/ReallifeGamemode.Server/Managers/TimeManager.cs b/ReallifeGamemode.Server/Managers/TimeManager.cs index 66141180..eaa45f84 100644 --- a/ReallifeGamemode.Server/Managers/TimeManager.cs +++ b/ReallifeGamemode.Server/Managers/TimeManager.cs @@ -31,7 +31,9 @@ namespace ReallifeGamemode.Server.Managers { DateTime now = DateTime.Now; CurrentTime = now.TimeOfDay; + NAPI.Task.Run(() => { NAPI.World.SetTime(now.Hour, now.Minute, now.Second); - } + }); + } } } diff --git a/ReallifeGamemode.Server/Managers/VehicleManager.cs b/ReallifeGamemode.Server/Managers/VehicleManager.cs index e2f20e67..b74cbaf4 100644 --- a/ReallifeGamemode.Server/Managers/VehicleManager.cs +++ b/ReallifeGamemode.Server/Managers/VehicleManager.cs @@ -9,6 +9,10 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Timers; +using System.Threading.Tasks; + + + namespace ReallifeGamemode.Server.Managers { @@ -751,7 +755,9 @@ namespace ReallifeGamemode.Server.Managers public static void VehicleTimerTick() { - NAPI.Pools.GetAllVehicles().ForEach(v => + NAPI.Task.Run(() => + { + NAPI.Pools.GetAllVehicles().ForEach(v => { if (v.Handle.Value == 0 || v.Handle == default) { @@ -782,29 +788,31 @@ namespace ReallifeGamemode.Server.Managers v.SetSharedData("drivenDistance", (float)distanceDriven); }); - if (DateTime.UtcNow.Subtract(lastSave).Seconds >= 30) - { - lastSave = DateTime.UtcNow; - // save to db - using (var dbContext = new DatabaseContext()) + + if (DateTime.UtcNow.Subtract(lastSave).Seconds >= 30) { - foreach (var key in lastPositions.Keys.ToList()) + lastSave = DateTime.UtcNow; + // save to db + using (var dbContext = new DatabaseContext()) { - Vehicle v = key.Entity(); - if (v == null) continue; - if (!v.HasSharedData("drivenDistance")) continue; + foreach (var key in lastPositions.Keys.ToList()) + { + Vehicle v = key.Entity(); + if (v == null) continue; + if (!v.HasSharedData("drivenDistance")) continue; - ServerVehicle sVeh = VehicleManager.GetServerVehicleFromVehicle(v, dbContext); + ServerVehicle sVeh = VehicleManager.GetServerVehicleFromVehicle(v, dbContext); - if (sVeh == null) continue; + if (sVeh == null) continue; - sVeh.DistanceDriven = (float)v.GetSharedData("drivenDistance"); + sVeh.DistanceDriven = (float)v.GetSharedData("drivenDistance"); + } + dbContext.SaveChanges(); } - dbContext.SaveChanges(); } - } + }); } - + public static void AddVehicle(ServerVehicle serverVehicle, Vehicle vehicle) { if (_serverVehicles.ContainsKey(serverVehicle.Id)) diff --git a/ReallifeGamemode.Server/Util/ThreadTimers.cs b/ReallifeGamemode.Server/Util/ThreadTimers.cs index 608fca2d..f5dd07ec 100644 --- a/ReallifeGamemode.Server/Util/ThreadTimers.cs +++ b/ReallifeGamemode.Server/Util/ThreadTimers.cs @@ -1,4 +1,5 @@ using System.Timers; +using GTANetworkAPI; using ReallifeGamemode.Server.Finance; using ReallifeGamemode.Server.Job; using ReallifeGamemode.Server.Managers; @@ -31,27 +32,39 @@ namespace ReallifeGamemode.Server.Util private static void Timer500_Elapsed(object sender, ElapsedEventArgs e) { - TaxiDriverJob.UpdateFare(); - VehicleManager.VehicleTimerTick(); + NAPI.Task.Run(() => + { + TaxiDriverJob.UpdateFare(); + VehicleManager.VehicleTimerTick(); + }); } private static void Timer60000_Elapsed(object sender, ElapsedEventArgs e) { - Jail.JailOut_Elapsed(); - Economy.Timer_Elapsed(); - WeaponDealManager.Timer_Elapsed(); + NAPI.Task.Run(() => + { + Jail.JailOut_Elapsed(); + Economy.Timer_Elapsed(); + WeaponDealManager.Timer_Elapsed(); + }); } private static void Timer10000_Elapsed(object sender, ElapsedEventArgs e) { - Jail.BrakeOut_Elapsed(); + NAPI.Task.Run(() => + { + Jail.BrakeOut_Elapsed(); + }); } private static void Timer2500_Elapsed(object sender, ElapsedEventArgs e) { - WantedEscapeTimer.Timer_Elapsed(); - Jail.JailIn_Elapsed(); - Gangwar.Gangwar.Value_TimerElapsed(); + NAPI.Task.Run(() => + { + WantedEscapeTimer.Timer_Elapsed(); + Jail.JailIn_Elapsed(); + Gangwar.Gangwar.Value_TimerElapsed(); + }); } } }