
DoubleJump()
{
self endon("death");
self endon("disconnect");
for(;
{
if( self GetVelocity()[2] > 150 && !self isOnGround() )
{
wait .2;
self setvelocity(( self getVelocity()[0], self getVelocity()[1], self getVelocity()[2] ) + ( 0, 0, 250 ));
wait .8;
}
wait .1;
}
}
onPlayerMultijump()
{
self endon( "disconnect" );
self thread landsOnGround();
self notifyOnPlayerCommand( "action_made_+gostand", "+gostand" );
if(!isDefined(level.numOfMultijumps))
level.numOfMultijumps = 0;
for(;
{
currentNum = 0;
self waittill( "action_made_+gostand" );
if ( !isAlive( self ) )
{
self waittill("spawned_player");
continue;
}
if ( !self isOnGround() )
{
while( !self isOnGround() && isAlive( self ) && currentNum < level.numOfMultijumps)
{
waittillResult = self waittill_any( "action_made_+gostand", "landedOnGround", "disconnect", "death" );
if(waittillResult == "action_made_+gostand" && !self isOnGround() && isAlive( self ))
{
playerAngles = self getplayerangles();
playerVelocity = self getVelocity();
self setvelocity( (playerVelocity[0], playerVelocity[1], playerVelocity[2]/2 ) + anglestoforward( (270, playerAngles[1], playerAngles[2]) ) * getDvarInt( "jump_height" ) * ( ( (-1/39) * getDvarInt( "jump_height" ) ) + (17/2) ) * 1 );
currentNum++;
}
else
break;
}
while(!self isOnGround())
wait 0.05;
}
}
}
landsOnGround()
{
self endon( "disconnect" );
loopResult = true;
for(;
{
wait 0.05;
newResult = self isOnGround();
if(newResult != loopResult)
{
if(!loopResult && newResult)
self notify( "landedOnGround" );
loopResult = newResult;
}
}
}
onPlayerMultijump()
{
self endon( "disconnect" );
self thread landsOnGround();
self notifyOnPlayerCommand( "action_made_+gostand", "+gostand" );
if(!isDefined(level.numOfMultijumps))
level.numOfMultijumps = 0;
for(;
{
currentNum = 0;
self waittill( "action_made_+gostand" );
if ( !isAlive( self ) )
{
self waittill("spawned_player");
continue;
}
if ( !self isOnGround() )
{
while( !self isOnGround() && isAlive( self ) && currentNum < level.numOfMultijumps)
{
waittillResult = self waittill_any( "action_made_+gostand", "landedOnGround", "disconnect", "death" );
if(waittillResult == "action_made_+gostand" && !self isOnGround() && isAlive( self ))
{
playerAngles = self getplayerangles();
playerVelocity = self getVelocity();
self setvelocity( (playerVelocity[0], playerVelocity[1], playerVelocity[2]/2 ) + anglestoforward( (270, playerAngles[1], playerAngles[2]) ) * getDvarInt( "jump_height" ) * ( ( (-1/39) * getDvarInt( "jump_height" ) ) + (17/2) ) * 1 );
currentNum++;
}
else
break;
}
while(!self isOnGround())
wait 0.05;
}
}
}
landsOnGround()
{
self endon( "disconnect" );
loopResult = true;
for(;
{
wait 0.05;
newResult = self isOnGround();
if(newResult != loopResult)
{
if(!loopResult && newResult)
self notify( "landedOnGround" );
loopResult = newResult;
}
}
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.