After the update of ROBLOX where everything revolves around the HumanoidRoot part including the camera, when you crouch, your body moves, but not your point of view. Or, if it's possible to make the crouch script make your HumanoidRoot part move as well, that'd be helpful.
--[ Setup ]--
-- Locations
local StealthLava = script.Parent
local Player = game.Players.LocalPlayer
local Avatar = Player.Character
local Mouse = Player:GetMouse()
-- Emptys
local Hold = nil
--[ Get Items ]--
local Humanoid = Avatar:WaitForChild("Humanoid")
local Torso = Avatar:WaitForChild("Torso")
local RH = Torso:WaitForChild("Right Hip")
local LH = Torso:WaitForChild("Left Hip")
local RL = Avatar:WaitForChild("Right Leg")
local LL = Avatar:WaitForChild("Left Leg")
local RJ = Avatar:WaitForChild("HumanoidRootPart"):WaitForChild("RootJoint")
--[ Functions ]--
function CreateWeld(Part, CF)
local w = Instance.new("Weld")
w.Name = "LegWeld"
w.Parent = Torso
w.Part0 = Torso
w.Part1 = Part
w.C1 = CF
end
function StandUp()
-- Right Leg
RH.Part1 = RL
-- Left Leg
LH.Part1 = LL
-- Delete Welds
for i, s in pairs(Torso:GetChildren()) do
if (s.Name == "LegWeld") and (s.ClassName == "Weld") then
s:Destroy()
end
end
-- Raise Character
RJ.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
RJ.C1 = CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
end
--[ Hooks ]--
-- Controls
Mouse.KeyDown:connect(function(Key)
if (Hold ~= nil) then return end
if (string.upper(Key) ~= "C") and (string.lower(Key) ~= " ") then return end
Hold = true
if (Torso:FindFirstChild("LegWeld") == nil) and (string.lower(Key) ~= " ") then
-- Right Leg
RH.Part1 = nil
CreateWeld(RL, CFrame.new(-0.5, 0.75, 1))
-- Left Leg
LH.Part1 = nil
CreateWeld(LL, CFrame.new(0.5, 0.495, 1.25) * CFrame.Angles(math.rad(90), 0, 0))
-- Lower Character
RJ.C0 = CFrame.new(0, -1.25, 0) * CFrame.Angles(0, 0, 0)
RJ.C1 = CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
-- Slow Walk Speed
Humanoid.WalkSpeed = 25
else
StandUp()
-- Normal Walk Speed
Humanoid.WalkSpeed = 34
end
wait(0.5)
Hold = nil
end)
-- Value Changed
Humanoid.Changed:connect(function()
if (Humanoid.WalkSpeed > 5) and (Hold == nil) then StandUp() end
end)
