add selbsteinknasten

This commit is contained in:
michael.reiswich
2021-05-25 15:28:41 +02:00
parent 9fe9cb1466
commit d58a19033d
3 changed files with 58 additions and 2 deletions

View File

@@ -21,6 +21,7 @@ using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.WeaponDeal; using ReallifeGamemode.Server.WeaponDeal;
using ReallifeGamemode.Server.Log; using ReallifeGamemode.Server.Log;
using ReallifeGamemode.Server.Wanted;
/** /**
* @overview Life of German Reallife - Event Key (Key.cs) * @overview Life of German Reallife - Event Key (Key.cs)
@@ -241,6 +242,7 @@ namespace ReallifeGamemode.Server.Events
Player nearestCuffPlayer = PositionManager.cuffPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.6 && user.GetData<bool>("duty")); Player nearestCuffPlayer = PositionManager.cuffPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.6 && user.GetData<bool>("duty"));
AmmunationPoint nearestAmmunationPoint = PositionManager.AmmunationPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5); AmmunationPoint nearestAmmunationPoint = PositionManager.AmmunationPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5);
RentcarPoint nearestRentcarPoint = PositionManager.rentcarPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5); RentcarPoint nearestRentcarPoint = PositionManager.rentcarPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5);
JailPoint nearestjailPoint = PositionManager.jailPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5);
if (user?.FactionId != null) if (user?.FactionId != null)
{ {
@@ -502,6 +504,31 @@ namespace ReallifeGamemode.Server.Events
} }
} }
using var dbcontext = new DatabaseContext();
User client = player.GetUser(dbcontext);
if (nearestjailPoint != null)
{
int oStaatsfrak = NAPI.Pools.GetAllPlayers().Where(p => !p.IsAfk() && p.IsLoggedIn() && p.GetUser(dbcontext).FactionId == 1).Count() +
NAPI.Pools.GetAllPlayers().Where(p => !p.IsAfk() && p.IsLoggedIn() && p.GetUser(dbcontext).FactionId == 3).Count();
if(oStaatsfrak > 0)
{
player.SendNotification("~y~[Info]~w~ Es sind genügend Beamte online!");
return;
}
if (client.Wanteds <= 0)
{
player.SendNotification("~y~[Info]~w~ Du wirst nicht gesucht!");
return;
}
client.SetJailTime(true, dbcontext);
Jail.Check_PutBehindBars(client, JailInLocations.Outside);
player.SendNotification("Du hast dich selbst eingeknastet");
ChatService.HQMessage(player.Name + " wurde ins Gefängnis eingeliefert.");
}
//Rentcar Points //Rentcar Points
if (nearestRentcarPoint != null) if (nearestRentcarPoint != null)
{ {

View File

@@ -40,6 +40,7 @@ namespace ReallifeGamemode.Server.Managers
public static List<CarwashPoint> carwashPoints = new List<CarwashPoint>(); public static List<CarwashPoint> carwashPoints = new List<CarwashPoint>();
public static List<JailPoint> jailPoints = new List<JailPoint>();
public static Vector3 eventportPosition; public static Vector3 eventportPosition;
public static bool eventportActive = false; public static bool eventportActive = false;
@@ -121,6 +122,25 @@ namespace ReallifeGamemode.Server.Managers
#endregion WeaponPoints #endregion WeaponPoints
#region JailPoints
JailPoint jail = new JailPoint()
{
Position = new Vector3(1854.06, 2582.38, 45.67)
};
jailPoints.Add(jail);
foreach (JailPoint j in jailPoints)
{
NAPI.Marker.CreateMarker(1, new Vector3(j.Position.X, j.Position.Y, j.Position.Z - 2), new Vector3(j.Position.X, j.Position.Y, j.Position.Z + 1),
new Vector3(0, 0, 0), 1.5f, new Color(255, 255, 255, 0), false, 0);
NAPI.TextLabel.CreateTextLabel("Stellen - Dr\u00fccke ~y~E", j.Position, 7, 1, 0, new Color(255, 255, 255), false, 0);
}
#endregion JailReleasePoints
#region JailReleasePoints #region JailReleasePoints
JailReleasePoint jailPointLSPD = new JailReleasePoint() JailReleasePoint jailPointLSPD = new JailReleasePoint()
@@ -558,3 +578,8 @@ public class CarwashPoint
public Vector3 Position { get; set; } public Vector3 Position { get; set; }
} }
public class JailPoint
{
public Vector3 Position { get; set; }
}

View File

@@ -134,8 +134,10 @@ namespace ReallifeGamemode.Server.Wanted
if (user.JailTime <= 0) if (user.JailTime <= 0)
{ {
Jailtime.Remove(user.Id); Jailtime.Remove(user.Id);
user.Wanteds = 0;
player.SafeTeleport(JailOut_Point); player.SafeTeleport(JailOut_Point);
player.TriggerEvent("jailTime", 0); player.TriggerEvent("jailTime", 0);
dbContext.SaveChanges();
return; return;
} }
if (user.JailTime > 0) if (user.JailTime > 0)
@@ -175,6 +177,7 @@ namespace ReallifeGamemode.Server.Wanted
using (var dbContext = new DatabaseContext()) using (var dbContext = new DatabaseContext())
{ {
player.GetUser(dbContext).JailTime = 0; player.GetUser(dbContext).JailTime = 0;
player.GetUser(dbContext).Wanteds = 0;
dbContext.SaveChanges(); dbContext.SaveChanges();
} }
player.SafeSetHealth(100); player.SafeSetHealth(100);
@@ -195,6 +198,7 @@ namespace ReallifeGamemode.Server.Wanted
Jailtime.Remove(user.Id); Jailtime.Remove(user.Id);
user.JailTime = 0; user.JailTime = 0;
user.Wanteds = 0;
dbContext.SaveChanges(); dbContext.SaveChanges();
target.SafeSetHealth(100); target.SafeSetHealth(100);