How to disable/freeze player movement/controls during a sequence?

While using the Cinematic Sequence Device can we lock or freeze the player in place and disallow controls? Is the best way to do this with a Mutator Zone or is there another feature that controls this?

1 Like

Currently, there isn’t another way to address this issue. We’ve been looking at this for a while. If you find a solution I’m all ears. :slight_smile:

1 Like

Nope! I’m still really green to all of this so right now I’m just using a Mutator Zone and putting movement speed on 0, disabling jumping, and disabling weapon fire

Honestly, this should be a setting in the Cinematic Sequence Device, to disable player input and camera movement during the cinematic! Having to jump through hoops just to stop players for a few brief moments is more difficult than it should be!

5 Likes

absolutely agreed!

1 Like

Agree
I would ALSO like to lock players in place AND stop rotation but let them Emote still.

A separate “Prevent Player Rotation” option in the sequencer would be nice.
Actually, this could also be an option on the player mutator for the FNC folks.

This will enable easy “Team Lineups” before and after matches.

I would say separate options for all movement types in the sequencer would be totally rad.

  • Prevent Player Movement
  • Prevent Player Rotation
  • Prevent Player Jumping
  • Prevent Player Crouch
  • Prevent Player Emote
  • Holster all weapons
  • Remove player glows and FX
  • Hide HUD

Probably alot more but I would like to see those options in sequencer minimum AS A KEYABLE TRACK not an absolute for the whole sequence file.

1 Like

YES PLEASE! This would be such a nice quality of life

If you want you can use verse to achieve this. Calling the PlaySequence function below when you want it will freeze all players for the duration of the sequence.

my__device := class(creative_device):

    @editable SequencerDevice:cinematic_sequence_device = cinematic_sequence_device{}

    PlaySequence()<suspends>:void=
        # Put every player in stasis
        for (Player : GetPlayspace().GetPlayers()):
            if (Character := Player.GetFortCharacter[]):
                Character.PutInStasis(stasis_args{})

        # Play the sequence
        SequencerDevice.Play()

        # Wait for the sequence to end
        SequencerDevice.StoppedEvent.Await()

        # Release every player from stasis
        for (Player : GetPlayspace().GetPlayers()):
            if (Character := Player.GetFortCharacter[]):
                Character.ReleaseFromStasis()
6 Likes

This doesn’t remove any UI elements that weapons may have added, like scoping in, no?