"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
Posts
98
Respect
13Add +1
Forum Rank
Rotting Walker
Primary Group
Member
Login Issues
Forgot password?Activate Issues
Account activation email not received? Wrong account activation email used?Other Problems?
Contact Support - Help Center Get help on the UGX Discord. Join it now!soul_tracker_init()
{
soul_door = getentarray( "soul_door", "targetname" );
for( i=0 ; i<soul_door.size ; i++ )
{
if( isDefined(soul_door[i].script_flag) && !IsDefined( level.flag[soul_door[i].script_flag] ) )
flag_init( soul_door[i].script_flag );
}
level thread zombie_soul_start();
}
zombie_soul_start()
{
trig = getent( "soul_trig", "targetname" );
while(isdefined(trig))
{
zombies = getaiarray( "axis" );
for( i=0 ; i<zombies.size ; i++ )
{
if( !isdefined( zombies[i].soul_zombie ) )
{
zombies[i].soul_zombie = true;
zombies[i] thread soul_watch( trig );
}
}
wait 0.5;
}
}
soul_watch(trig)
{
self waittill( "death", attacker );
if( !isdefined( trig ) )
return;
if( isdefined(attacker) && !isplayer( attacker ) )
return;
if( self istouching( trig ) )
trig thread add_soul_to_door(self.origin);
}
add_soul_to_door(death_origin)
{
if( !isdefined( self.souls ) )
self.souls = 0;
self.souls++;
fx_pos = getstruct( "soul_fx_pos", "targetname" );
fx_tag = spawn( "script_model", death_origin+(0,0,30) );
fx_tag setmodel( "tag_origin" );
playfxontag( level._effect[ YOUR_SOUL_FX ], fx_tag, "tag_origin" ); // SOUL FX
fxtag moveto( fx_pos.origin, 2, 1, 0 );
wait 2;
fxtag delete();
playsoundatposition( SOUL_ADDING_SOUND, fx_pos.origin ); // SOUND WHEN A SOUL GETS ADDED
if( self.souls == 25 )
{
level thread open_special_door();
self delete();
}
}
open_special_door()
{
soul_door = getentarray( "soul_door", "targetname" );
for( i=0 ; i<soul_door.size ; i++ )
{
soul_door[i] notsolid();
soul_door[i] connectpaths();
soul_door[i] moveto( (soul_door[i].origin+soul_door[i].script_vector), 2, 0.5, 0.5 );
if( isdefined( soul_door[i].script_flag ) )
flag_set( soul_door[i].script_flag );
}
}