From 0b8be38254ba9625be80823ec0664216b77d5654 Mon Sep 17 00:00:00 2001 From: VegaZ Date: Sun, 18 Apr 2021 00:54:55 +0200 Subject: [PATCH] Added Job Quit to Interaction -> JOB --- .../Interaction/interactionmenu.ts | 17 +++++++++++++++++ ReallifeGamemode.Client/global.d.ts | 1 + ReallifeGamemode.Server/Events/Key.cs | 1 + ReallifeGamemode.Server/Managers/JobManager.cs | 2 +- 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ReallifeGamemode.Client/Interaction/interactionmenu.ts b/ReallifeGamemode.Client/Interaction/interactionmenu.ts index 3864a46d..0eb1b053 100644 --- a/ReallifeGamemode.Client/Interaction/interactionmenu.ts +++ b/ReallifeGamemode.Client/Interaction/interactionmenu.ts @@ -464,6 +464,23 @@ export default function (globalData: IGlobalData) { wageItem.SetRightLabel("$" + jobdata.wage.toString()) } jobMenu.AddItem(wageItem); + + if (jobdata.isActive) { + var quitJobItem = new UIMenuItem("Job Beenden", "Beendet den Job und bringt dich zurück zur Base") + jobMenu.AddItem(quitJobItem); + quitJobItem.HighlightedBackColor = new Color(213, 0, 0); + quitJobItem.BackColor = new Color(229, 57, 53); + + jobMenu.ItemSelect.on((item, index) => { + if (item == quitJobItem) { + mp.events.callRemote("CLIENT:Job_StopJob"); + jobMenu.Close(true); + mp.gui.chat.activate(true); + globalData.InMenu = false; + } + }); + } + jobMenu.Visible = false; mp.gui.chat.show(false); return jobMenu; diff --git a/ReallifeGamemode.Client/global.d.ts b/ReallifeGamemode.Client/global.d.ts index 576f9826..dfd560c5 100644 --- a/ReallifeGamemode.Client/global.d.ts +++ b/ReallifeGamemode.Client/global.d.ts @@ -30,6 +30,7 @@ declare type JobData = { busskill: number; pilotskill: number; wage: number; + isActive: boolean; } declare type VehicleData = { diff --git a/ReallifeGamemode.Server/Events/Key.cs b/ReallifeGamemode.Server/Events/Key.cs index 253deb17..d0372911 100644 --- a/ReallifeGamemode.Server/Events/Key.cs +++ b/ReallifeGamemode.Server/Events/Key.cs @@ -168,6 +168,7 @@ namespace ReallifeGamemode.Server.Events busskill = u.BusSkill, pilotskill = u.PilotSkill, wage = u.Wage, + isActive = JobBase.GetPlayerInJob().Contains(player), }; var memberList = dbContext.Users.Where(f => f.FactionId == u.FactionId && u.FactionId != 0).OrderByDescending(f => f.FactionRank.Order).ThenBy(f => f.Name).Select(m => new diff --git a/ReallifeGamemode.Server/Managers/JobManager.cs b/ReallifeGamemode.Server/Managers/JobManager.cs index bd66afbe..63abaff8 100644 --- a/ReallifeGamemode.Server/Managers/JobManager.cs +++ b/ReallifeGamemode.Server/Managers/JobManager.cs @@ -186,7 +186,7 @@ namespace ReallifeGamemode.Server.Managers { VehicleStreaming.SetEngineState(player.Vehicle, false); } - + player.Position = playerJobStartPosition[player]; job.StopJob(player); if (playerTimersJobVehicleRespawn.ContainsKey(player))