I have created a crawl script to make the character crawl through an opening. I created this localscript parented to StarterCharacterScripts.
local UserInputService = game:GetService("UserInputService") local Character = script.Parent local Humanoid = Character:WaitForChild("Humanoid") local Anim = Humanoid:LoadAnimation(script:WaitForChild("CrawlAnim")) local AlreadyPlaying = false Humanoid.Running:Connect(function(Speed) if Speed>0 then Anim:AdjustSpeed(1) elseif Speed==0 then Anim:AdjustSpeed(0) else Anim:AdjustSpeed(-1) end end) UserInputService.InputBegan:Connect(function(Input) if Input.KeyCode == Enum.KeyCode.C then if not AlreadyPlaying then AlreadyPlaying = true Anim:Play() Anim:AdjustSpeed(0) Humanoid.WalkSpeed = 8 Humanoid.JumpPower = 0 else Anim:Stop() Humanoid.WalkSpeed = 16 Humanoid.JumpPower = 50 AlreadyPlaying = false end end end)
The problem is that the HumanoidRootPart is blocking the way. Like this. I tried Adding this code to line 5:
coroutine.resume(coroutine.create(function() while wait() do local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart") local UpperTorso = Character:WaitForChild("UpperTorso") HumanoidRootPart.Position = UpperTorso.Position HumanoidRootPart.Orientation = UpperTorso.Orientation HumanoidRootPart.Size = UpperTorso.Size end end))
Then the character starts going like crazy. How do I fix this?