From df0aa88d25880054f2c6cc78f12206a3fb453f41 Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Wed, 26 Jun 2024 20:30:16 -0700 Subject: [PATCH] HUD: remove game mode player count and scroing team on end game --- scripts/zm/replaced/_zm_game_module.gsc | 33 +++++++++++++++++++------ scripts/zm/replaced/_zm_gametype.gsc | 2 +- ui_mp/t6/zombie/hudreimagined.lua | 32 +++++++++++++++++++----- 3 files changed, 52 insertions(+), 15 deletions(-) diff --git a/scripts/zm/replaced/_zm_game_module.gsc b/scripts/zm/replaced/_zm_game_module.gsc index 8354d33e..23fa13d2 100644 --- a/scripts/zm/replaced/_zm_game_module.gsc +++ b/scripts/zm/replaced/_zm_game_module.gsc @@ -226,21 +226,38 @@ game_won(winner) level.gamemodulewinningteam = winner; level.zombie_vars["spectators_respawn"] = 0; players = get_players(); - i = 0; - while (i < players.size) + foreach (player in players) { - players[i] freezecontrols(1); + player freezecontrols(1); - if (players[i]._encounters_team == winner) + if (player._encounters_team == winner) { - players[i] thread maps\mp\zombies\_zm_audio_announcer::leaderdialogonplayer("grief_won"); - i++; + player thread maps\mp\zombies\_zm_audio_announcer::leaderdialogonplayer("grief_won"); continue; } - players[i] thread maps\mp\zombies\_zm_audio_announcer::leaderdialogonplayer("grief_lost"); - i++; + player thread maps\mp\zombies\_zm_audio_announcer::leaderdialogonplayer("grief_lost"); + } + + if (isdefined(level.game_mode_player_count_hud_value)) + { + level.game_mode_player_count_hud_value = undefined; + + foreach (player in players) + { + player luinotifyevent(&"hud_update_player_count"); + } + } + + if (isdefined(level.game_mode_scoring_team_hud_value)) + { + level.game_mode_scoring_team_hud_value = undefined; + + foreach (player in players) + { + player luinotifyevent(&"hud_update_scoring_team"); + } } level notify("game_module_ended", winner); diff --git a/scripts/zm/replaced/_zm_gametype.gsc b/scripts/zm/replaced/_zm_gametype.gsc index 244bf0d0..71aae20e 100644 --- a/scripts/zm/replaced/_zm_gametype.gsc +++ b/scripts/zm/replaced/_zm_gametype.gsc @@ -512,7 +512,7 @@ set_team(team) self.head_icon = self head_icon_create(); } - if (level.scr_zm_ui_gametype_obj == "zsnr" && flag("initial_blackscreen_passed")) + if (level.scr_zm_ui_gametype_obj == "zsnr" && flag("initial_blackscreen_passed") && !isdefined(level.gamemodulewinningteam)) { foreach (team in level.teams) { diff --git a/ui_mp/t6/zombie/hudreimagined.lua b/ui_mp/t6/zombie/hudreimagined.lua index 8ba96438..996fab6a 100644 --- a/ui_mp/t6/zombie/hudreimagined.lua +++ b/ui_mp/t6/zombie/hudreimagined.lua @@ -668,7 +668,7 @@ CoD.Reimagined.GameModeScoreArea.UpdateScores = function(Menu, ClientInstance) return end - if ClientInstance.yourScore ~= nil and ClientInstance.enemyScore ~= nil then + if ClientInstance.name ~= "hud_update_team_change" then Menu.yourScore = ClientInstance.yourScore Menu.enemyScore = ClientInstance.enemyScore end @@ -682,9 +682,20 @@ CoD.Reimagined.GameModeScoreArea.UpdatePlayerCount = function(Menu, ClientInstan return end - if ClientInstance.data ~= nil then - Menu.yourPlayerCount = ClientInstance.data[1] - Menu.enemyPlayerCount = ClientInstance.data[2] + if ClientInstance.name ~= "hud_update_team_change" then + if ClientInstance.data ~= nil then + Menu.yourPlayerCount = ClientInstance.data[1] + Menu.enemyPlayerCount = ClientInstance.data[2] + else + Menu.yourPlayerCount = nil + Menu.enemyPlayerCount = nil + end + end + + if Menu.yourPlayerCount == nil or Menu.enemyPlayerCount == nil then + Menu.gameModeScoreFriendlyPlayerCount:setAlpha(0) + Menu.gameModeScoreEnemyPlayerCount:setAlpha(0) + return end if Menu.yourPlayerCount > 0 then @@ -713,8 +724,17 @@ CoD.Reimagined.GameModeScoreArea.UpdateScoringTeam = function(Menu, ClientInstan return end - if ClientInstance.data ~= nil then - Menu.scoringTeam = ClientInstance.data[1] + if ClientInstance.name ~= "hud_update_team_change" then + if ClientInstance.data ~= nil then + Menu.scoringTeam = ClientInstance.data[1] + else + Menu.scoringTeam = nil + end + end + + if Menu.scoringTeam == nil then + Menu.gameModeScoreScoringTeam:setAlpha(0) + return end if Menu.scoringTeam == 0 then