diff --git a/ReallifeGamemode.Client/Interaction/factioninteraction.ts b/ReallifeGamemode.Client/Interaction/factioninteraction.ts index 90da9974..246f0fb5 100644 --- a/ReallifeGamemode.Client/Interaction/factioninteraction.ts +++ b/ReallifeGamemode.Client/Interaction/factioninteraction.ts @@ -63,56 +63,56 @@ export default function factionInteraction(globalData: IGlobalData) { /*TaskMenuLSPD = new UIMenuItem(""); TaskMenuLSPD.SetRightLabel(""); factionInteractionMenu.AddItem(TaskMenuLSPD);*/ //weiteres + + + + let cancelItem = new UIMenuItem("Schlie\u00dfen", "Schlie\u00dft die Fraktionsinteraktion."); + cancelItem.BackColor = new Color(213, 0, 0); + cancelItem.HighlightedBackColor = new Color(229, 57, 53); + factionInteractionMenu.AddItem(cancelItem); + + factionInteractionMenu.Visible = true; + + factionInteractionMenu.ItemSelect.on((item) => { + switch (item) { + case cancelItem: + factionInteractionMenu.Visible = false; + mp.gui.chat.activate(true); + globalData.InMenu = false; + break; + + case ticketTaskMenuLSPD: + factionInteractionMenu.Visible = false; + mp.gui.chat.activate(true); + mp.gui.cursor.show(true, true); + globalData.InMenu = false; + var input = new InputHelper("Welchem Spieler möchtest du ein Ticket geben (Name / ID)?", globalData); + input.show(); + input.getValue(name => { + mp.events.call("CLIENT:InteractionMenu_LSPD_Ticket", name); + mp.gui.cursor.show(false, false); + }); + break; + case pointsTaskMenuLSPD: + factionInteractionMenu.Visible = false; + mp.gui.chat.activate(true); + mp.gui.cursor.show(true, true); + globalData.InMenu = false; + var input = new InputHelper("Welchem Spieler möchtest du Strafpunkte geben (Name / ID)?", globalData); + input.show(); + input.getValue(name => { + mp.events.call("CLIENT:InteractionMenu_LSPD_Points", name); + }); + break; + } + }); + + factionInteractionMenu.MenuClose.on(() => { + mp.gui.chat.activate(true); + globalData.InMenu = false; + }); } } - - - - let cancelItem = new UIMenuItem("Schlie\u00dfen", "Schlie\u00dft die Fraktionsinteraktion."); - cancelItem.BackColor = new Color(213, 0, 0); - cancelItem.HighlightedBackColor = new Color(229, 57, 53); - factionInteractionMenu.AddItem(cancelItem); - - factionInteractionMenu.Visible = true; - - factionInteractionMenu.ItemSelect.on((item) => { - switch (item) { - case cancelItem: - factionInteractionMenu.Visible = false; - mp.gui.chat.activate(true); - globalData.InMenu = false; - break; - - case ticketTaskMenuLSPD: - factionInteractionMenu.Visible = false; - mp.gui.chat.activate(true); - mp.gui.cursor.show(true, true); - globalData.InMenu = false; - var input = new InputHelper("Welchem Spieler möchtest du ein Ticket geben (Name / ID)?", globalData); - input.show(); - input.getValue(name => { - mp.events.call("CLIENT:InteractionMenu_LSPD_Ticket", name); - mp.gui.cursor.show(false, false); - }); - break; - case pointsTaskMenuLSPD: - factionInteractionMenu.Visible = false; - mp.gui.chat.activate(true); - mp.gui.cursor.show(true, true); - globalData.InMenu = false; - var input = new InputHelper("Welchem Spieler möchtest du Strafpunkte geben (Name / ID)?", globalData); - input.show(); - input.getValue(name => { - mp.events.call("CLIENT:InteractionMenu_LSPD_Points", name); - }); - break; - } - }); - - factionInteractionMenu.MenuClose.on(() => { - mp.gui.chat.activate(true); - globalData.InMenu = false; - }); }); mp.events.add("CLIENT:InteractionMenu_LSPD_Ticket", (name) => { ticketName = name; diff --git a/ReallifeGamemode.Server/Managers/InteractionManager.cs b/ReallifeGamemode.Server/Managers/InteractionManager.cs index 1b0be853..2f0dbc38 100644 --- a/ReallifeGamemode.Server/Managers/InteractionManager.cs +++ b/ReallifeGamemode.Server/Managers/InteractionManager.cs @@ -398,7 +398,7 @@ namespace ReallifeGamemode.Server.Managers string targetname = NAPI.Player.GetPlayerName(target); if (target.GetUser().DriverLicenseVehicle == false && target.GetUser().DriverLicenseBike == false) { - if (amount > 0 && amount < 9) + if (amount > -9 && amount < 9) { using (var dbContext = new DatabaseContext()) { @@ -408,7 +408,16 @@ namespace ReallifeGamemode.Server.Managers } player.SendNotification($"~w~Du hast ~y~{targetname} ~b~{amount} ~w~Strafpunkte gegeben. Grund: ~g~{reason}~w~."); target.SendNotification($"~b~{player.GetUser().FactionRank.RankName} | {playername} ~w~hat dir ~y~{amount} ~w~Strafpunkte gegeben.", true); - if (target.GetUser().Points >= 8) + if(target.GetUser().Points < 0) + { + using (var dbContext = new DatabaseContext()) + { + User target2 = target.GetUser(dbContext); + target2.Points = 0; + dbContext.SaveChanges(); + } + } + else if (target.GetUser().Points >= 8) { target.SendNotification($"~w~Grund: ~g~{reason}~w~. ~x~Du hast nun ~r~8/8 ~x~Strafpunkten.", true); target.SendNotification($"~w~Dir wird ~r~Auo- ~w~und ~r~Motorradführerschein ~w~entzogen.", true);