This is a little task script that can be run to freeze a player in place seamlessly. Please check the commented lines to make sure you're not accidentally disabling flight for players that should have flight permissions.
NOTE:
This script will allow frozen players the freedom to rotate their camera and character. If you are looking for a way to freeze their camera controls as well, the preferred method is to simply create an NPC clone of the player in their place and
Run this task using
Here's a link to a haste: https://one.denizenscript.com/haste/71275
Or click the spoiler to view the script in this post:
	
	
		
			
	
	
	
		
		
	
			
			NOTE:
This script will allow frozen players the freedom to rotate their camera and character. If you are looking for a way to freeze their camera controls as well, the preferred method is to simply create an NPC clone of the player in their place and
spectate the player onto the NPC. If there is interest, I can add a simple task script that does that as an alternative, in this forum post.Run this task using
- run Freeze_Task def:<player>|freeze or- run Freeze_Task def:<player>|unfreezeHere's a link to a haste: https://one.denizenscript.com/haste/71275
Or click the spoiler to view the script in this post:
		Code:
	
	Freeze_Task:
  type: task
  debug: false
  # Call this task with "- run Freeze_Task def:<player>|(un}freeze"
  definitions: player|2
  script:
    - choose <[2]>:
      - case unfreeze:
        - flag <[player]> frozen:!
        - adjust <[player]> flying:false
        - adjust <[player]> fov_multiplier:0.0
        # Change the tag here if you have flight enabled for non-ops.
        # Example: if !<player.has_permission[SomePermission]>:
        - if !<player.is_op>:
          - adjust <[player]> can_fly:false
      - case freeze:
        - flag <[player]> frozen
        - adjust <[player]> can_fly:true
        - adjust <[player]> fly_speed:0.0
        - teleport <[player]> <[player].location.add[0,0.001,0]>
        - adjust <[player]> flying:true
        - adjust <[player]> fov_multiplier:0.0
Freeze_Flight:
  type: world
  debug: false
  events:
    on player stops flying flagged:frozen:
      - determine cancelled