#include common_scripts\utility; #include maps\mp\_utility; // This script automaticly plays a users specified oneshot effect on all prefabs that have the // specified "script_struct" and "targetname" It also excepts angles from the "script_struct" // but will set a default angle of (0, 0, 0 ) if none is defined. // // example of the syntax: // global_FX( "targetname", "fxIDname", "fxFile", "delay" main() { randomStartDelay = randomfloatrange( -20, -15); global_FX( "bro_fireplace_nt", "bro_fireplace_nt", "fire/bro_fireplace_nt", randomStartDelay, "fire1" ); } global_FX( targetname, fxName, fxFile, delay, soundalias ) { // script_structs ents = getstructarray(targetname,"targetname"); if ( !isdefined( ents ) ) return; if ( ents.size <= 0 ) return; for ( i = 0 ; i < ents.size ; i++ ) ents[i] global_FX_create( fxName, fxFile, delay, soundalias ); } global_FX_create( fxName, fxFile, delay, soundalias ){ if ( !isdefined( level._effect ) ) level._effect = []; if ( !isdefined( level._effect[ fxName ] ) ) level._effect[ fxName ] = loadfx( fxFile ); // default effect angles if they dont exist if ( !isdefined( self.angles ) ) self.angles = ( 270, 90, 90 ); ent = createOneshotEffect( fxName ); ent.v[ "origin" ] = ( self.origin ); ent.v[ "angles" ] = ( self.angles ); ent.v[ "fxid" ] = fxName; ent.v[ "delay" ] = delay; if ( isdefined( soundalias ) ) { ent.v[ "soundalias" ] = soundalias; } }