73 lines
1.3 KiB
Plaintext
73 lines
1.3 KiB
Plaintext
// Call Of Duty: Modern Warfare 2
|
|
|
|
init()
|
|
{
|
|
thread onPlayerConnect();
|
|
}
|
|
|
|
onPlayerConnect()
|
|
{
|
|
while ( true )
|
|
{
|
|
level waittill( "connected", player );
|
|
|
|
if ( player isTestClient() )
|
|
{
|
|
continue;
|
|
}
|
|
|
|
player notifyOnPlayerCommand( "save_pos", "+melee" );
|
|
player notifyOnPlayerCommand( "load_saved_pos", "+activate" );
|
|
player thread jumper();
|
|
}
|
|
}
|
|
|
|
canInteract( player )
|
|
{
|
|
return maps\mp\_utility::isReallyAlive( player );
|
|
}
|
|
|
|
canSave( player )
|
|
{
|
|
if ( !player isOnGround() )
|
|
{
|
|
player iPrintLn( "Cannot save while in the air\n" );
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
jumper()
|
|
{
|
|
self endon ( "disconnect" );
|
|
|
|
self.jumper_pos = (0, 0, 0);
|
|
self.jumper_angles = (0, 0, 0);
|
|
self.jumper_pos_num = 0;
|
|
while ( true )
|
|
{
|
|
msg = self common_scripts\utility::waittill_any_return( "save_pos", "load_saved_pos" );
|
|
|
|
if ( !isDefined( msg ) )
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if ( msg == "save_pos" && canInteract( self ) && canSave( self ) )
|
|
{
|
|
self.jumper_pos = self.origin;
|
|
self.jumper_angles = self getPlayerAngles();
|
|
self.jumper_pos_num += 1;
|
|
self iPrintLn( "saved pos ", self.jumper_pos_num, "\n" );
|
|
}
|
|
else if ( msg == "load_saved_pos" && canInteract( self ) )
|
|
{
|
|
self setOrigin( self.jumper_pos );
|
|
self setVelocity( (0, 0, 0) );
|
|
self setPlayerAngles( self.jumper_angles );
|
|
self iPrintLn( "loaded pos ", self.jumper_pos_num, "\n" );
|
|
}
|
|
}
|
|
}
|