Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- finalkillcam( winner )
- {
- self endon( "disconnect" );
- level endon( "game_ended" );
- if ( waslastround() )
- {
- setmatchflag( "final_killcam", 1 );
- setmatchflag( "round_end_killcam", 0 );
- }
- else
- {
- setmatchflag( "final_killcam", 0 );
- setmatchflag( "round_end_killcam", 1 );
- }
- /#
- if ( getDvarInt( "scr_force_finalkillcam" ) == 1 )
- {
- setmatchflag( "final_killcam", 1 );
- setmatchflag( "round_end_killcam", 0 );
- #/
- }
- if ( level.console )
- {
- self maps/mp/gametypes/_globallogic_spawn::setthirdperson( 0 );
- }
- killcamsettings = level.finalkillcamsettings[ winner ];
- postdeathdelay = ( getTime() - killcamsettings.deathtime ) / 1000;
- predelay = postdeathdelay + killcamsettings.deathtimeoffset;
- camtime = calckillcamtime( killcamsettings.weapon, killcamsettings.entitystarttime, predelay, 0, undefined );
- postdelay = calcpostdelay();
- killcamoffset = camtime + predelay;
- killcamlength = ( camtime + postdelay ) - 0,05;
- killcamstarttime = getTime() - ( killcamoffset * 1000 );
- self notify( "begin_killcam" );
- self.sessionstate = "spectator";
- self.spectatorclient = killcamsettings.spectatorclient;
- self.killcamentity = -1;
- if ( killcamsettings.entityindex >= 0 )
- {
- self thread setkillcamentity( killcamsettings.entityindex, killcamsettings.entitystarttime - killcamstarttime - 100 );
- }
- self.killcamtargetentity = killcamsettings.targetentityindex;
- self.archivetime = killcamoffset;
- self.killcamlength = killcamlength;
- self.psoffsettime = killcamsettings.offsettime;
- _a613 = level.teams;
- _k613 = getFirstArrayKey( _a613 );
- while ( isDefined( _k613 ) )
- {
- team = _a613[ _k613 ];
- self allowspectateteam( team, 1 );
- _k613 = getNextArrayKey( _a613, _k613 );
- }
- self allowspectateteam( "freelook", 1 );
- self allowspectateteam( "none", 1 );
- self thread endedfinalkillcamcleanup();
- wait 0,05;
- if ( self.archivetime <= predelay )
- {
- self.sessionstate = "dead";
- self.spectatorclient = -1;
- self.killcamentity = -1;
- self.archivetime = 0;
- self.psoffsettime = 0;
- self notify( "end_killcam" );
- return;
- }
- self thread checkforabruptkillcamend();
- self.killcam = 1;
- if ( !self issplitscreen() )
- {
- self addkillcamtimer( camtime );
- }
- self thread waitkillcamtime();
- self thread waitfinalkillcamslowdown( level.finalkillcamsettings[ winner ].deathtime, killcamstarttime );
- self waittill( "end_killcam" );
- self endkillcam( 1 );
- setmatchflag( "final_killcam", 0 );
- setmatchflag( "round_end_killcam", 0 );
- self spawnendoffinalkillcam();
- }
Add Comment
Please, Sign In to add comment