The answer you are looking for is this: Roblox updated their control stuff to modules. Player > PlayerScripts > PlayerModule
Now if you want to disable movement, you'd have to use the disable method built into the ControlModule that's a child of PlayerModule. I suggest doing this in a loop due to the fact that not doing so is buggy and sometimes doesn't work. You would do so like this:
local MasterControl = require(game.Players.LocalPlayer:WaitForChild("PlayerScripts"):WaitForChild("PlayerModule"):WaitForChild("ControlModule"))
game:GetService('RunService').RenderStepped:connect(function()
MasterControl:Disable()
end)
And then you'd renable it by using the Enable method instead of disable.
As for the camera, you'd just make it scriptable and cframe it where you want it.
local MasterControl = require(game.Players.LocalPlayer:WaitForChild("PlayerScripts"):WaitForChild("PlayerModule"):WaitForChild("ControlModule"))
game:GetService('RunService').RenderStepped:connect(function()
MasterControl:Disable()
workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
workspace.CurrentCamera.CFrame = game.Players.LocalPlayer.Character:WaitForChild('HumanoidRootPart').CFrame * CFrame.new(0,1.5,0.1)
end)
2 comments
A good way to do this is to make the player's walkspeed zero for an amount of time.
Thank you, but some controls are still acknowledged with this method. Still useful, though.