From d3f026630a62613b9961c1d88142bbfb95c512e5 Mon Sep 17 00:00:00 2001 From: hydrant Date: Sat, 8 Dec 2018 15:13:17 +0100 Subject: [PATCH] Changed duty medic update, added command to change vehicle livery (/vlivery) --- Client/Gui/deathscreen.js | 9 +------- Server/Commands/Admin.cs | 48 +++++++++++++++++++++++++++------------ Server/Events/Key.cs | 10 +++++++- 3 files changed, 44 insertions(+), 23 deletions(-) diff --git a/Client/Gui/deathscreen.js b/Client/Gui/deathscreen.js index 682dcb4f..b25bf574 100644 --- a/Client/Gui/deathscreen.js +++ b/Client/Gui/deathscreen.js @@ -49,14 +49,7 @@ mp.events.add("respawnDeathPlayer", () => { }); mp.events.add("updateDutyMedics", (count) => { - if (count === true) - { - dutyMedics++; - } - else - { - dutyMedics--; - } + dutyMedics = count; }); diff --git a/Server/Commands/Admin.cs b/Server/Commands/Admin.cs index e4595b99..9f789bcf 100644 --- a/Server/Commands/Admin.cs +++ b/Server/Commands/Admin.cs @@ -838,7 +838,7 @@ namespace reallife_gamemode.Server.Commands return; } - if (!player.IsInVehicle) // Man darf keine Autos erstellen, wenn man selbst in einem sitzt (verhindert Bugs) + if (!player.IsInVehicle) { player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan nicht in einem Fahrzeug."); return; @@ -856,6 +856,26 @@ namespace reallife_gamemode.Server.Commands VehicleManager.DeleteVehicle(playerVeh); } + [Command("vlivery", "~m~Benutzung: ~s~/vlivery [Livery]")] + public void CmdAdminVlivery(Client player, int livery) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN3) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + if (!player.IsInVehicle) + { + player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan nicht in einem Fahrzeug."); + return; + } + + Vehicle playerVeh = player.Vehicle; + + playerVeh.Livery = livery; + } + [Command("vcolor", "~m~Benutzung: ~s~/vcolor [Farb-ID1] [Farb-ID2]")] public void CmdAdminColor(Client player, int color1, int color2) { @@ -1113,35 +1133,35 @@ namespace reallife_gamemode.Server.Commands } [Command("freekh", "~m~Benutzung: ~s~/freekh (Radius)")] - public void CmdAdminFreekh(Client player, float radius = 999999999) + public void CmdAdminFreekh(Client player, float radius = -1) { if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) { ChatService.NotAuthorized(player); return; } - var peopleInRange = NAPI.Player.GetPlayersInRadiusOfPlayer(radius, player); + var peopleInRange = radius == -1 ? NAPI.Pools.GetAllPlayers() : NAPI.Player.GetPlayersInRadiusOfPlayer(radius, player); + int playerRevided = 0; + + string toPlayerChat = "~b~Admin " + player.Name + " hat alle Spieler wiederbelebt"; + string toPlayerNotification = "Du wurdest von Admin ~y~" + player.Name + "~s~ wiederbelebt."; foreach (var managedClient in peopleInRange) { if (!managedClient.IsLoggedIn()) return; - if (radius == 999999999) - { - managedClient.SendChatMessage("~b~Admin " + player.Name + " hat alle Spieler wiederbelebt"); - player.SendChatMessage("~b~Du hast " + peopleInRange.Count + " Spieler wiederbelebt"); - } - else - { - managedClient.SendChatMessage("~b~Admin " + player.Name + " hat im Radius von " + radius + " alle Spieler wiederbelebt"); - player.SendChatMessage("~b~Du hast " + peopleInRange.Count + " Spieler wiederbelebt"); - } if (!managedClient.HasData("isDead") || managedClient.GetData("isDead") == false) continue; + playerRevided++; + managedClient.TriggerEvent("onPlayerRevived"); - managedClient.SendNotification("Du wurdest von Admin ~y~" + player.Name + "~s~ wiederbelebt."); managedClient.SetData("isDead", false); + managedClient.SendNotification(toPlayerNotification); + managedClient.SendChatMessage(toPlayerChat); + NAPI.Player.SpawnPlayer(managedClient, managedClient.Position); managedClient.Health = 100; } + + player.SendChatMessage("~b~Du hast " + playerRevided + " Spieler wiederbelebt."); } [Command("rsetarmor", "~m~Benutzung: ~s~/rsetarmor [Radius] (Armor)")] diff --git a/Server/Events/Key.cs b/Server/Events/Key.cs index 7d3a56c6..b27b7a84 100644 --- a/Server/Events/Key.cs +++ b/Server/Events/Key.cs @@ -51,7 +51,15 @@ namespace reallife_gamemode.Server.Events player.SendNotification("Du bist nun ~g~im Dienst."); if (player.GetUser().FactionId == 2) //Fire Department { - NAPI.ClientEvent.TriggerClientEventForAll("updateDutyMedics", true); + int medicCount = 0; + foreach(Client c in NAPI.Pools.GetAllPlayers()) + { + if((c.GetUser()?.GetFaction().Id ?? 0) == 2) + { + medicCount++; + } + } + NAPI.ClientEvent.TriggerClientEventForAll("updateDutyMedics", medicCount); } switch (factionId) {