Player Signal Device
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
player_signal_device := class(creative_device):
var TimesTriggered:[agent]int = map{}
@editable TimesCanTriggerPerPlayer:int = 1
@editable TriggeredWhenReceivingFrom:channel_device = channel_device{}
@editable ResetTimesTriggeredForPlayerWhenReceivingFrom:channel_device = channel_device{}
@editable ResetTimesTriggeredForAllWhenReceivingFrom:channel_device = channel_device{}
@editable OnTriggeredTransmitTo:channel_device = channel_device{}
OnBegin<override>()<suspends>:void=
sync:
block:
loop:
MaybeTriggerPlayer := TriggeredWhenReceivingFrom.ReceivedTransmitEvent.Await()
if. TriggerPlayer := MaybeTriggerPlayer? then:
if. not TimesTriggered[TriggerPlayer] then:
if. set TimesTriggered[TriggerPlayer] = 0
if. TimesTriggered[TriggerPlayer] < TimesCanTriggerPerPlayer then:
if. set TimesTriggered[TriggerPlayer] += 1
OnTriggeredTransmitTo.Transmit(MaybeTriggerPlayer)
block:
loop:
MaybeResetPlayer := ResetTimesTriggeredForPlayerWhenReceivingFrom.ReceivedTransmitEvent.Await()
You're reading a preview
The full reference is free for BrainDeadGuild Discord members — sign in to read it all, or open the original at the source.
Sign in with your BrainDead.TV / BrainDeadGuild Discord account for full access.