PutInStatis not working without Sleep

Reference ID

725ab4e0-4982-3725-11cf-fda46d362e8c

Please select what you are reporting on:

Creative

What Type of Bug are you experiencing?

Verse

Summary

Calling FortCharacter.PutInStasis(stasis_args{}) will not do anything, even if you specifically give arguments to the struct.

There is a workaround by calling Sleep first and then calling PutInStasis, like so:

Sleep(0.0)
FortCharacter.PutInStasis(stasis_args{})

Steps to Reproduce

Calling FortCharacter.PutInStasis(stasis_args{}) without calling Sleep() first.

Expected Result

The player should be in stasis (frozen).

Observed Result

The player is not affected at all.

Platform(s)

windows

Vouch

just tested my game in test (it isn’t live yet) and this works fine for me without the sleep command

if (FortniteCharacter.IsActive[]):
        FortniteCharacter.PutInStasis(Args:=stasis_args{AllowTurning:=true, AllowEmotes:=true, AllowFalling:=false})    

Some helper functions you may find useful.
I’m just putting this in my custom_agent class but you can do it directly with an agent extension. Just be aware it requires decides, but since you get tehse values together so frequently it saves a lot of space and keystrokes:

GetValidChar<override>()<decides><transacts>:tuple(fort_character,transform)=
        Fort:=Agent.GetFortCharacter[]
        Fort.IsActive[]
        (Fort,Fort.GetTransform())

or
# add at module scope
(Agent:agent).GetTransform()<decides><transacts>:transform=
      Fort:=Agent.GetFortCharacter[]
      Fort:=IsActive[]
      Fort.GetTransform()

# Usage if(ValidChar:=Agent.GetValidChar[]): ValidChar(0) = fort, ValidChar (1) = transform
(Agent:agent).GetValidChar()<decides><transacts>:tuple(fort_character,transform)=
        Fort:=Agent.GetFortCharacter[]
        Fort.IsActive[]
        (Fort,Fort.GetTransform())

We have a ticket in for this, FORT-695189. Thank you!

1 Like