I made a gun which forces the player to shift lock once equipped. Everything works fine until the character dies. When I equip it, the shift lock still works, but the camera offset. The offset of the character doesn't work. How can I fix this.
I didn't make the force shift lock script. I looked at a dev forum and you could get the shift lock script.
This is the code:
First a local script in StarterPlayerScripts
local Player = game.Players.LocalPlayer local Character = Player.Character or Player.CharacterAdded:Wait() local Humanoid = Character:WaitForChild("Humanoid") local UIS = game:GetService("UserInputService") local GameSetting = UserSettings().GameSettings local Run = game:GetService("RunService") local Last = nil local LastFirstPerson = false local Camera = workspace.CurrentCamera local CamOffset = 2.5 Run.Heartbeat:Connect(function() if LastFirstPerson ~= ((Character.Head.Position - Camera.CoordinateFrame.p).magnitude <= 0.5+CamOffset) then --(first person) LastFirstPerson = ((Character.Head.Position - Camera.CoordinateFrame.p).magnitude <= 1+CamOffset) Humanoid.CameraOffset = (Last and not LastFirstPerson) and Vector3.new(CamOffset,0,0) or Vector3.new(0,0,0) end if Last == _G.ForceShiftLock then return end Last = _G.ForceShiftLock UIS.MouseBehavior = Last and Enum.MouseBehavior.LockCenter or Enum.MouseBehavior.Default GameSetting.RotationType = Last and Enum.RotationType.CameraRelative or Enum.RotationType.MovementRelative Humanoid.CameraOffset = Last and Vector3.new(CamOffset,0,0) or Vector3.new(0,0,0) end)
Then a module script in StarterPlayerScripts with a whole bunch of module scripts.
After that I put a local script in the tool I wanted for it to shift lock it to.
local Tool = script.Parent Tool.Equipped:Connect(function() _G.ForceShiftLock = true end) Tool.Unequipped:Connect(function() _G.ForceShiftLock = false end)
Please help :)