From 8bcb0b64a2cff2f3dbcfccfdbd68f68d33279c9f Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Sat, 1 Oct 2022 22:49:27 -0400 Subject: [PATCH] Added Line 121 No observer bypass of respawn timer --- Classic/scripts/camera.cs | 51 +++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/Classic/scripts/camera.cs b/Classic/scripts/camera.cs index ecde139..434eb72 100644 --- a/Classic/scripts/camera.cs +++ b/Classic/scripts/camera.cs @@ -118,39 +118,42 @@ function Observer::onTrigger(%data,%obj,%trigger,%state) // Free-flying observer camera if (%trigger == 0) { - if( !$Host::TournamentMode && $MatchStarted ) + if(!%client.waitRespawn && getSimTime() > %client.suicideRespawnTime) { - // reset observer params - clearBottomPrint(%client); - commandToClient(%client, 'setHudMode', 'Standard'); + if( !$Host::TournamentMode && $MatchStarted ) + { + // reset observer params + clearBottomPrint(%client); + commandToClient(%client, 'setHudMode', 'Standard'); - if( %client.lastTeam !$= "" && %client.lastTeam != 0 && Game.numTeams > 1) - { - Game.clientJoinTeam( %client, %client.lastTeam, $MatchStarted ); - %client.camera.setFlyMode(); - %client.setControlObject( %client.player ); + if( %client.lastTeam !$= "" && %client.lastTeam != 0 && Game.numTeams > 1) + { + Game.clientJoinTeam( %client, %client.lastTeam, $MatchStarted ); + %client.camera.setFlyMode(); + %client.setControlObject( %client.player ); + } + else + { + Game.assignClientTeam( %client ); + + // Spawn the player: + Game.spawnPlayer( %client, true ); + %client.camera.setFlyMode(); + %client.setControlObject( %client.player ); + ClearBottomPrint( %client ); + } } - else + else if( !$Host::TournamentMode ) { + clearBottomPrint(%client); Game.assignClientTeam( %client ); // Spawn the player: - Game.spawnPlayer( %client, true ); - %client.camera.setFlyMode(); - %client.setControlObject( %client.player ); - ClearBottomPrint( %client ); + Game.spawnPlayer( %client, false ); + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + %client.setControlObject( %client.camera ); } } - else if( !$Host::TournamentMode ) - { - clearBottomPrint(%client); - Game.assignClientTeam( %client ); - - // Spawn the player: - Game.spawnPlayer( %client, false ); - %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); - %client.setControlObject( %client.camera ); - } } else if (%trigger == 3) //press JET {