From 8f23ecb7fefa9ef9a338279b4ca2a60b6ec656ff Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 29 May 2021 03:01:50 +0200 Subject: [PATCH] chat fix --- ReallifeGamemode.Client/Gui/deathscreen.ts | 34 ++++++++----------- ReallifeGamemode.Server/Events/Death.cs | 10 +----- ReallifeGamemode.Server/Events/Login.cs | 9 +---- .../Services/ChatService.cs | 1 - 4 files changed, 17 insertions(+), 37 deletions(-) diff --git a/ReallifeGamemode.Client/Gui/deathscreen.ts b/ReallifeGamemode.Client/Gui/deathscreen.ts index 5aeb9d91..904af4c4 100644 --- a/ReallifeGamemode.Client/Gui/deathscreen.ts +++ b/ReallifeGamemode.Client/Gui/deathscreen.ts @@ -6,46 +6,39 @@ export default function deathScreen() { - var playerName; - var playerId; - var playerMoney; var dutyMedics = 0; - var isDeath = false; - var deathTime; - var respawnTime; + var isDead = false; var deathSeconds; - var fade; var deathDate: Date; - var taskTimeout = false; const maxDeathTime = 120; - const medicJobTime = maxDeathTime * -1; + var respawnTime; + var fade; mp.game.gameplay.setFadeOutAfterDeath(false); - mp.events.add("startDeathTimer", (isAdmin) => { - if (isDeath === false) { - isDeath = true; - mp.gui.chat.activate(true); + mp.events.add("startDeathTimer", (isSupporter) => { + if (isDead === false) { + isDead = true; + mp.gui.chat.activate(isSupporter); mp.game.audio.playSoundFrontend(-1, "Bed", "WastedSounds", true); deathDate = new Date(); respawnTime = Math.floor(deathDate.getTime() / 1000 + maxDeathTime); fade = 255 - maxDeathTime; mp.game.graphics.requestStreamedTextureDict("Mptattoos", true); mp.events.call("GetDutyMedics"); - taskTimeout = false; } }); mp.events.add("onPlayerRevived", () => { - isDeath = false; + isDead = false; mp.gui.chat.activate(true); mp.game.gameplay.setFadeOutAfterDeath(false); mp.game.graphics.setStreamedTextureDictAsNoLongerNeeded("Mptattoos"); }); mp.events.add("respawnDeathPlayer", () => { - isDeath = false; + isDead = false; mp.gui.chat.activate(true); mp.game.gameplay.setFadeOutAfterDeath(false); mp.events.callRemote('RespawnPlayerAtHospital'); @@ -59,23 +52,24 @@ export default function deathScreen() { mp.events.add("render", () => { var currentDate = new Date(); - if (isDeath === true) { - + if (isDead === true) { var medicString; + if (dutyMedics > 0) { medicString = "Das L.S.E.D. wurde benachrichtigt\nDerzeit "; + if (dutyMedics === 1) { medicString += "befindet sich ~g~" + dutyMedics + " Mitglied"; } else { medicString += "befinden sich ~g~" + dutyMedics + " Mitglieder"; } + medicString += " ~s~im Dienst"; } else { medicString = "Derzeit befinden sich ~r~keine Einsatzkräfte ~s~im Dienst"; } deathSeconds = respawnTime - Math.floor(currentDate.getTime() / 1000); - var alpha = fade + Math.floor(currentDate.getTime() / 1000 - deathDate.getTime() / 1000); if (deathSeconds >= 0) { mp.game.graphics.set2dLayer(2); mp.game.graphics.drawSprite("Mptattoos", "clearout", 0.625, 0.5, 0.1, 0.1, 0, 255, 255, 255, 236); @@ -95,6 +89,8 @@ export default function deathScreen() { outline: true, centre: false }); + + var alpha = fade + Math.floor(currentDate.getTime() / 1000 - deathDate.getTime() / 1000); mp.game.graphics.set2dLayer(1); mp.game.graphics.drawRect(0.5, 0.5, 1, 1, 0, 0, 0, alpha); diff --git a/ReallifeGamemode.Server/Events/Death.cs b/ReallifeGamemode.Server/Events/Death.cs index 63568241..0d8b87c2 100644 --- a/ReallifeGamemode.Server/Events/Death.cs +++ b/ReallifeGamemode.Server/Events/Death.cs @@ -197,15 +197,7 @@ namespace ReallifeGamemode.Server.Events } player.SetData("isDead", true); - - if (player.GetUser().IsAdmin(AdminLevel.ADMIN) == true) - { - player.TriggerEvent("startDeathTimer", true); - } - else - { - player.TriggerEvent("startDeathTimer", false); - } + player.TriggerEvent("startDeathTimer", user.IsAdmin(AdminLevel.SUPPORTER)); //TODO PICTURE NOTIFICATION + SOUND für Medics } diff --git a/ReallifeGamemode.Server/Events/Login.cs b/ReallifeGamemode.Server/Events/Login.cs index a7c1c4d5..7f771e97 100644 --- a/ReallifeGamemode.Server/Events/Login.cs +++ b/ReallifeGamemode.Server/Events/Login.cs @@ -194,14 +194,7 @@ namespace ReallifeGamemode.Server.Events { if (user.Dead == true) { - if (user.IsAdmin(AdminLevel.ADMIN) == true) - { - player.TriggerEvent("startDeathTimer", true); - } - else - { - player.TriggerEvent("startDeathTimer", false); - } + player.TriggerEvent("startDeathTimer", user.IsAdmin(AdminLevel.SUPPORTER)); player.SafeSetHealth(0); player.SetData("isDead", true); } diff --git a/ReallifeGamemode.Server/Services/ChatService.cs b/ReallifeGamemode.Server/Services/ChatService.cs index fa3b1165..6f5cda7d 100644 --- a/ReallifeGamemode.Server/Services/ChatService.cs +++ b/ReallifeGamemode.Server/Services/ChatService.cs @@ -42,7 +42,6 @@ namespace ReallifeGamemode.Server.Services public static void SendMessage(Player player, string message) { if (player == null) return; - if (player.GetData("isDead") == true && (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true)) return; player.SendChatMessage(message); }