97 lines
7.6 KiB
Plaintext
97 lines
7.6 KiB
Plaintext
#using scripts\codescripts\struct;
|
|
|
|
|
|
|
|
#using scripts\shared\scene_shared;
|
|
|
|
#using scripts\shared\array_shared;
|
|
#using scripts\shared\util_shared;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#precache( "fx", "dlc4/mp_mini/fx_ant_death" );
|
|
|
|
function main()
|
|
{
|
|
level.antNames = [];
|
|
level.antNames[ level.antNames.size ] = "beer";
|
|
level.antNames[ level.antNames.size ] = "coffee";
|
|
level.antNames[ level.antNames.size ] = "cooler";
|
|
level.antNames[ level.antNames.size ] = "pizza";
|
|
level.antNames[ level.antNames.size ] = "soda";
|
|
|
|
level.ants = [];
|
|
for( i = 0; i < level.antNames.size; i++ )
|
|
{
|
|
ant_init_struct( i );
|
|
}
|
|
}
|
|
|
|
function ant_init_struct( locationNumber )
|
|
{
|
|
level.ants[ level.ants.size ] = SpawnStruct();
|
|
ant = level.ants[ level.ants.size - 1 ];
|
|
|
|
ant.bundles = [];
|
|
ant.bundles[ ant.bundles.size ] = "p7_fxanim_mp_mini_ant_" + level.antNames[ locationNumber ] + "_path_01_bundle";
|
|
ant.bundles[ ant.bundles.size ] = "p7_fxanim_mp_mini_ant_" + level.antNames[ locationNumber ] + "_path_02_bundle";
|
|
ant.currentCount = 0;
|
|
|
|
for( i = 0; i < 2; i++ )
|
|
{
|
|
level thread run_ants( ant.bundles );
|
|
}
|
|
}
|
|
|
|
function run_ants( a_bundles )
|
|
{
|
|
s_ant_structs = [];
|
|
foreach ( str_scene in a_bundles )
|
|
{
|
|
scene::add_scene_func( str_scene, &ant_watcher );
|
|
if ( !isdefined( s_ant_structs ) ) s_ant_structs = []; else if ( !IsArray( s_ant_structs ) ) s_ant_structs = array( s_ant_structs ); s_ant_structs[s_ant_structs.size]=struct::get( str_scene, "scriptbundlename" );;
|
|
}
|
|
|
|
while ( true )
|
|
{
|
|
waitTime = RandomIntRange( 9, 12 );
|
|
wait( waitTime );
|
|
|
|
s_ant = array::random( s_ant_structs );
|
|
|
|
s_unique_ant = SpawnStruct();
|
|
s_unique_ant.origin = s_ant.origin;
|
|
s_unique_ant.angles = s_ant.angles;
|
|
|
|
s_unique_ant thread scene::play( s_ant.scriptbundlename );
|
|
}
|
|
}
|
|
|
|
function ant_watcher( a_ents )
|
|
{
|
|
e_ant = a_ents[ "ant" ];
|
|
e_ant endon( "death" );
|
|
|
|
e_ant waittill( "damage" );
|
|
PlayFxOnTag( "dlc4/mp_mini/fx_ant_death", e_ant, "body_jnt" );
|
|
{wait(.05);};
|
|
e_ant Delete();
|
|
}
|