Code: Select all
var int b;
do{
//spawn some stuff
b++;
}until(b = 10 );
}
Loop function is only thing that can solve my problem.
Code: Select all
var int b;
do{
//spawn some stuff
b++;
}until(b = 10 );
}
Code: Select all
class MyStuffSpawner expands Actor;
var() int SpawnCount;
var() float SpawnTimer;
var() class<actor> ClassToSpawn;
var() bool bInitiallyActive;
var int iSpawnCount;
auto state Spawning
{
Begin:
sleep(0); //Sleep 1 frame before spawning stuff, let whoever created me to set my initial parameters
if ( bInitiallyActive )
iSpawnCount = SpawnCount;
bInitiallyActive = True;
SpawnAgain:
if ( iSpawnCount-- <= 0 )
Goto('End');
Spawn( ClassToSpawn).Instigator = Instigator;
//Notify master actor we've spawned an object? can be used to relocate myself before next spawn
sleep(SpawnTimer);
Goto('SpawnAgain');
End:
//Post process spawn
// Call events, self-destruct or whatever
}
//Spawn AGAIN!!!!
event Trigger( actor Other, Pawn EventInstigator)
{
Instigator = EventInstigator;
GotoState('Spawning');
}
defaultproperties
{
bInitiallyActive=True
bHidden=True
}
Code: Select all
local MyStuffSpawner mySpawner;
mySpawner = Spawn(MyStuffSpawner,,,NewLocation, NewRotation);
mySpawner.ThingsLeft = 10;
mySpawner.ClassToSpawn = class'RocketMk2';
mySpawner.SpawnTimer = 0.2;