In order to do something here (DistanceLightning type) using only stock, you have to know events and tags links and you can work with following classes:
- RoundRobin or StochasticTrigger;
- Dispatcher;
- TriggeredLight;
- Optional SoundEvents.
Chained triggering description:
Those random triggers are hitting Dispatcher delegated with more other serial linked events:
- turn on TriggeredLights;
- optional turn them off or making them to operate a self turn-off;
- adding a thunder sound in play area somehow in lightning direction - hit: sounds are not audible in UE1 at more than 2200 UU - which is good for other various effects...
Variant Less actors, less Level charge
it's a custom DistanceLightning in MyLevel (default properties are for a package added/imported later - used as common importing package):
Code: Select all
class ADistanceLightning expands Light;
simulated function BeginPlay()
{
if (Level.NetMode != NM_DedicatedServer)
{
SetTimer(5+FRand()*10,False);
log (Self.Name@"Timer set > This is NetMode"@Level.NetMode);
}
LightType = LT_None;
log (Self.Name@"Initializing finished in NetMode"@Level.NetMode);
}
simulated function Timer()
{
log (Self.Name@"Timer works.",'NetDistanceLightning');
if (LightType == LT_Flicker)
{
LightType = LT_None;
SetTimer(9+FRand()*20,False);
}
else
{
LightType = LT_Flicker;
SetTimer(0.4+FRand()*0.05,False);
}
}
defaultproperties
{
bStatic=False
LightType=LT_Flicker
LightBrightness=255
LightRadius=56
LightPeriod=128
LightPhase=32
RemoteRole=ROLE_SimulatedProxy
NetUpdateFrequency=10.000000
NetPriority=3.500000
}
And then if some very clever/smart/intelligent dude has doubts here, claiming that I'm talking crap, I'll happily introduce logs for detonating his FAKE intelligence:
Server said:
Code: Select all
ScriptLog: UdpServerQuery(crt): Port 7778 successfully bound.
ScriptLog: ADistanceLightning0 Initializing finished in NetMode 1
ScriptLog: ADistanceLightning1 Initializing finished in NetMode 1
ScriptLog: ADistanceLightning2 Initializing finished in NetMode 1
ScriptLog: ADistanceLightning3 Initializing finished in NetMode 1
ScriptLog: ADistanceLightning4 Initializing finished in NetMode 1
Init: Initialized moving brush tracker for Level DM-TimeCrash_R2020_1.MyLevel
XC_Engine: Browse() End
Init: Game engine initialized
Log: Startup time: 3.120763 seconds
Code: Select all
XC_Engine: Bringing Level DM-TimeCrash_R2020_1.MyLevel up for play (100)...
ScriptLog: ADistanceLightning0 Timer set > This is NetMode 3
ScriptLog: ADistanceLightning0 Initializing finished in NetMode 3
ScriptLog: ADistanceLightning1 Timer set > This is NetMode 3
ScriptLog: ADistanceLightning1 Initializing finished in NetMode 3
ScriptLog: ADistanceLightning2 Timer set > This is NetMode 3
ScriptLog: ADistanceLightning2 Initializing finished in NetMode 3
ScriptLog: ADistanceLightning3 Timer set > This is NetMode 3
ScriptLog: ADistanceLightning3 Initializing finished in NetMode 3
ScriptLog: ADistanceLightning4 Timer set > This is NetMode 3
ScriptLog: ADistanceLightning4 Initializing finished in NetMode 3
Init: Initialized moving brush tracker for Level DM-TimeCrash_R2020_1.MyLevel
Log: Spawning new actor for Viewport WindowsViewport0
...
...
NetDistanceLightning: ADistanceLightning2 Timer works.
NetDistanceLightning: ADistanceLightning0 Timer works.
...
NetDistanceLightning: ADistanceLightning0 Timer works.
NetDistanceLightning: ADistanceLightning1 Timer works.
NetDistanceLightning: ADistanceLightning3 Timer works.
XC_Engine: === Last 2 lines repeat 2 times.
...
NetDistanceLightning: ADistanceLightning4 Timer works.
XC_Engine: === Last line repeats 2 times.
NetDistanceLightning: ADistanceLightning2 Timer works.
XC_Engine: === Last line repeats 2 times.
NetDistanceLightning: ADistanceLightning3 Timer works.
XC_Engine: === Last line repeats 2 times.
NetDistanceLightning: ADistanceLightning2 Timer works.
XC_Engine: === Last line repeats 2 times.
NetDistanceLightning: ADistanceLightning0 Timer works.
XC_Engine: === Last line repeats 2 times.
NetDistanceLightning: ADistanceLightning4 Timer works.
XC_Engine: === Last line repeats 2 times.
As conclusion:
If mapper is capable to do more than cubes and colors, everything goes into a higher quality direction, with good net stuff for all friends.