Legacy:VitalOverdose/SFXMonsterSpawning
Jump to navigation
Jump to search
Overview
<uscript> class SFXMonsterSpawning Extends Emitter placeable;
var () bool bRandomList; Var int TotalParticles; Var () int TimerFrequency; var () array < class< Monster > > MonsterSpawnList; var () float ScanSize; var int MonsterSpawnlistCounter; var () int Bounces;
function PostBeginPlay() {
Super.PostBeginPlay();
if (( Emitters[0].MaxParticles > 20) || ( MonsterSpawnList.length > 0 )) Destroyed();
if (ScanSize < 1) ScanSize=64;
if (TimerFrequency < 0.1) TimerFrequency = 0.1;
SetTimer( TimerFrequency , True );
}
Simulated function Timer() {
Local int Counter; for ( Counter=0 ; Counter < Emitters[0].Particles.Length ; Counter++ ) if (Emitters[0].Particles[Counter].HitCount == Bounces) spawnRNDMonster(counter);
}
simulated function spawnrndmonster (int Emitternumber) {
Local int RNDPickedNumb; local Class< monster > RNDPickedmonsterClass; local monster SpawnedMonster;
RNDPickedNumb = Rand(MonsterSpawnList.Length); RNDPickedmonsterclass = MonsterSpawnList[RNDPickedNumb]; MonsterSpawnlistCounter += 1;
if (MonsterSpawnlistCounter == MonsterSpawnlist.length) MonsterSpawnlistCounter=0;
SpawnedMonster = Spawn(RNDPickedmonsterclass,Self,,Emitters[0].Particles[Emitternumber].Location ,Rotation );
}
defaultproperties { bNoDelete=False RemoteRole=ROLE_SimulatedProxy } </uscript>
Related Topcs
- Emitter
- Particle System
- ParticleEmitter
- ParticleEmitter Cookbook
- udn2:EmittersReference
- udn2:EmittersExamples
More custom emitter scripts
- SFXVehicleTeleporting
- SFXPainful
- SFXBoosting
- SFXTriggering
- SFXEjecting
- SFXHealing
- SFXSelfScaling
- SFXUltraLight
- InventoryFlare
- ExampleFlares