feat(iw4): basic RPG timer
All checks were successful
Build / build-linux (push) Successful in 1m0s

This commit is contained in:
6arelyFuture 2024-05-03 19:03:21 +02:00
parent 4e085545d7
commit 6493347cd1

View File

@ -2,6 +2,8 @@
init()
{
setDvar( "bg_bounces", 1 );
thread onPlayerConnect();
}
@ -11,21 +13,61 @@ onPlayerConnect()
{
level waittill( "connected", player );
if ( isDefined( player.pers["isBot"] ) )
{
if ( player.pers["isBot"] )
if ( player isTestClient() )
{
continue;
}
}
player notifyOnPlayerCommand( "save_pos", "+melee" );
player notifyOnPlayerCommand( "load_saved_pos", "+activate" );
player thread onPlayerSpawned();
player thread onWeaponFired();
player thread jumper();
player thread displaySpeed();
}
}
// deserteagle_mp
// rpg_mp
onPlayerSpawned()
{
self endon( "disconnect" );
for ( ;; )
{
self waittill( "spawned_player" );
self freezeControls( false );
self takeAllWeapons();
self giveWeapon( "deserteagle_mp" );
self giveMaxAmmo( "deserteagle_mp" );
self giveWeapon( "rpg_mp" );
self giveMaxAmmo( "rpg_mp" );
wait 1;
self switchToWeaponImmediate( "deserteagle_mp" );
}
}
onWeaponFired()
{
level endon( "game_ended" );
self endon( "disconnected" );
for ( ;; )
{
self waittill( "weapon_fired", weapon );
if (weapon == "rpg_mp")
{
self.last_rpg_shot = getTime();
}
}
}
displaySpeed()
{
level endon( "game_ended" );
@ -37,12 +79,30 @@ displaySpeed()
self.speed_text.label = &"";
self.last_speed_sample = 0;
self.last_z_coordinate = 0.0;
while ( true )
{
player_speed = distance( ( 0, 0, 0 ), self getvelocity() );
current_speed = int( player_speed );
if ( self.origin[2] > self.last_z_coordinate )
{
// We should be going up
if ( isDefined( self.last_rpg_shot ) && self.last_rpg_shot != 0 )
{
late = getTime() - self.last_rpg_shot;
if (late < 500)
{
iPrintLn( "Late RPG (+" + (late) + ")" );
}
self.last_rpg_shot = 0;
}
}
self.last_z_coordinate = self.origin[2];
if ( self.last_speed_sample == current_speed )
{
// White