From fd4d25eda92c7c0fada704f436558064c255819b Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Sun, 14 May 2023 23:29:25 -0700 Subject: [PATCH] Change player mid game starting points and respawn points --- scripts/zm/replaced/_zm.gsc | 49 +++++++++++++++++++++++++ scripts/zm/zgrief/zgrief_reimagined.gsc | 5 +++ 2 files changed, 54 insertions(+) diff --git a/scripts/zm/replaced/_zm.gsc b/scripts/zm/replaced/_zm.gsc index 39b604c6..19b0abdb 100644 --- a/scripts/zm/replaced/_zm.gsc +++ b/scripts/zm/replaced/_zm.gsc @@ -326,6 +326,12 @@ round_think( restart = 0 ) for (;;) { + level.player_starting_points = (level.round_number + 1) * 500; + if (level.player_starting_points > 10000) + { + level.player_starting_points = 10000; + } + maxreward = 50 * level.round_number; if ( maxreward > 500 ) @@ -428,6 +434,49 @@ round_think( restart = 0 ) } } +spectators_respawn() +{ + level endon( "between_round_over" ); + + if ( !isdefined( level.zombie_vars["spectators_respawn"] ) || !level.zombie_vars["spectators_respawn"] ) + return; + + if ( !isdefined( level.custom_spawnplayer ) ) + level.custom_spawnplayer = ::spectator_respawn; + + while ( true ) + { + players = get_players(); + + for ( i = 0; i < players.size; i++ ) + { + if ( players[i].sessionstate == "spectator" && isdefined( players[i].spectator_respawn ) ) + { + players[i] [[ level.spawnplayer ]](); + thread refresh_player_navcard_hud(); + + new_score = (level.round_number + 1) * 250; + if (new_score > 1500) + { + new_score = 1500; + } + + if ( players[i].score < new_score ) + { + players[i].old_score = players[i].score; + + if ( isdefined( level.spectator_respawn_custom_score ) ) + players[i] [[ level.spectator_respawn_custom_score ]](); + + players[i].score = new_score; + } + } + } + + wait 1; + } +} + ai_calculate_health( round_number ) { level.zombie_health = level.zombie_vars[ "zombie_health_start" ]; diff --git a/scripts/zm/zgrief/zgrief_reimagined.gsc b/scripts/zm/zgrief/zgrief_reimagined.gsc index f12dde24..97252bea 100644 --- a/scripts/zm/zgrief/zgrief_reimagined.gsc +++ b/scripts/zm/zgrief/zgrief_reimagined.gsc @@ -805,6 +805,11 @@ on_player_spawned() if (is_respawn_gamemode()) { min_points = level.player_starting_points; + if (level.scr_zm_ui_gametype_obj == "zrace") + { + min_points = (level.round_number + 1) * 250; + } + if (min_points > 1500) { min_points = 1500;