init
This commit is contained in:
76
maps/oilrocks_proximity_spawned_vehicles.gsc
Normal file
76
maps/oilrocks_proximity_spawned_vehicles.gsc
Normal file
@@ -0,0 +1,76 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
var_0 = spawnstruct();
|
||||
var_0.distance_to_spawn = squared( 12000 );
|
||||
var_0.spawners = [];
|
||||
var_1 = getentarray( "proximity_spawned", "script_noteworthy" );
|
||||
|
||||
foreach ( var_3 in var_1 )
|
||||
{
|
||||
if ( isspawner( var_3 ) )
|
||||
var_0.spawners[var_0.spawners.size] = var_3;
|
||||
}
|
||||
|
||||
level.proximity_spawn = var_0;
|
||||
var_0 thread monitor_spawners();
|
||||
}
|
||||
|
||||
monitor_spawners()
|
||||
{
|
||||
self notify( "monitor_spawners" );
|
||||
self endon( "monitor_spawners" );
|
||||
wait 0.05;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
if ( !self.spawners.size )
|
||||
{
|
||||
wait 0.05;
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach ( var_3, var_1 in self.spawners )
|
||||
{
|
||||
if ( isdefined( var_1 ) )
|
||||
{
|
||||
var_2 = self.distance_to_spawn;
|
||||
|
||||
if ( isdefined( var_1.radius ) )
|
||||
var_2 = squared( var_1.radius );
|
||||
|
||||
if ( distancesquared( var_1.origin, level.player.origin ) < var_2 )
|
||||
{
|
||||
thread spawn_and_restart_monitoring( var_1 );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if ( var_3 % 4 == 0 )
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
spawn_and_restart_monitoring( var_0 )
|
||||
{
|
||||
if ( !isdefined( var_0.spawned_count ) && !isdefined( var_0.vehicle_spawned_thisframe ) )
|
||||
{
|
||||
var_1 = var_0 maps\_utility::spawn_vehicle();
|
||||
|
||||
if ( !issubstr( var_1.classname, "zpu" ) )
|
||||
var_1 thread maps\_vehicle::gopath();
|
||||
}
|
||||
|
||||
self.spawners = common_scripts\utility::array_remove( self.spawners, var_0 );
|
||||
var_0 common_scripts\utility::delaycall( 0.05, ::delete );
|
||||
thread monitor_spawners();
|
||||
}
|
||||
|
||||
end()
|
||||
{
|
||||
if ( isdefined( level.proximity_spawn ) )
|
||||
level.proximity_spawn notify( "monitor_spawners" );
|
||||
}
|
Reference in New Issue
Block a user