I got a snippet for using a signal remote to teleport a certain distance in front of you when pressed.
I just cant figure out how to set the devices up.
using { /Verse.org/Simulation }
using { /Verse.org/Verse }
using { /Fortnite.com/Devices }
using { /Fortnite.com/Game }
using { /Fortnite.com/Characters }
TeleportPropDelay<public>(Prop:creative_prop, InPlayer:agent, SecondsBeforeTeleport:float)<suspends>:void=
Sleep(SecondsBeforeTeleport)
if:
FortCharacter := InPlayer.GetFortCharacter[]
Transform := FortCharacter.GetTransform()
Prop.TeleportTo[Transform.Translation, Transform.Rotation]
teleportChar := class(creative_device):
@editable
mutator:mutator_zone_device = mutator_zone_device{}
@editable
Prop:creative_prop = creative_prop{}
@editable
SecondsBeforeTeleport:float = 0.01
@editable
tele: teleporter_device = teleporter_device{}
@editable
cond_btn: conditional_button_device = conditional_button_device{}
@editable
RemoteManager : signal_remote_manager_device = signal_remote_manager_device{}
HoldTeleEvent( Agent : agent) : void =
if(FortCharacter := Agent.GetFortCharacter[]):
if(cond_btn.IsHoldingItem[Agent]):
tele.Enable()
else:
tele.Disable()
TeleportEvent( Agent : agent) : void =
tele.Teleport(Agent)
OnBegin<override>()<suspends>:void=
loop:
mutator.Enable()
mutator.AgentExitsEvent.Subscribe(TeleportProp)
mutator.AgentExitsEvent.Subscribe(HoldTeleEvent)
Sleep(0.1)
mutator.Disable()
RemoteManager.PrimarySignalEvent.Subscribe(TeleportEvent)
RemoteManager.SecondarySignalEvent.Subscribe(TeleportEvent)
TeleportProp<private>(Agent:agent):void=
if (TargetedPlayer := player[Agent]):
spawn{TeleportPropDelay(Prop, TargetedPlayer, SecondsBeforeTeleport)}