Legacy:VitalOverdose/VecLava
From Unreal Wiki, The Unreal Engine Documentation Site
class VecLava extends LavaVolume;
struct Timerecord
{
var OnsVehicle TheVec;
var float TheTime;
};var Array< Timerecord > TimeRecords;
var() float TimeTillBurn;
var() float Timerfrequency;
var() class<emitter> FlameEffectClass;
function touch(actor other)
{
if (other.IsA('OnsVehicle'))
{
TimeRecords.insert(0,1);
TimeRecords[0].TheVec = OnsVehicle(other);
TimeRecords[0].TheTime = TimeTillBurn;
if (TimeRecords.length == 1)
SetTimer(0.25,false);
}
super.touch(other);
}
simulated function Timer()
{
Local int counter;
local VecLava FoundVecLava;
local emitter SpawnedEmitter;
for ( counter=0 ; counter< TimeRecords.length ; counter++)
{
foreach radiusactors(class'VecLava' , FoundVecLava , TimeRecords[counter].TheVec.default.collisionradius*1.5 , TimeRecords[counter].TheVec.location)
{
TimeRecords[counter].TheTime += 0.25;
if (TimeRecords[counter].TheTime == 0)
{
while(SpawnedEmitter == none)
SpawnedEmitter = Spawn(FlameEffectClass , self ,, TimeRecords[counter].TheVec.Location , TimeRecords[counter].TheVec.Rotation);
SpawnedEmitter.setbase(TimeRecords[counter].TheVec);
break;
}
}
if (FoundVecLava == none)
{
TimeRecords[counter].TheTime -= 0.25;
if (TimeRecords[counter].TheTime == 3)
TimeRecords.remove(counter , 1);
}
}
if (TimeRecords.length != 0)
SetTimer(timerfrequency,false);
}
defaultproperties
{
TimeTillBurn=5.000000
FlameEffectClass=Class'OnslaughtFull.ONSAutoBomberDeathFlames'
}
Tarquin: Please could you explain what this script is for and how it works?