Character won't move after respawn

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!

As of now, I am attempting to pre-fit my players with a character model (the default R15 dummy model provided by the studio plug-in)

  1. What is the issue? Include screenshots / videos if possible!

My current issue is that once I reset I can no longer control my character. The camera still works, the character model is still in the workspace and everything seems in tact, but I cannot move.

Video:

Here’s my main death script, I don’t see anything particularly wrong with it, and there were no errors so i’m not sure if it’s important or not

Code
game.Players.CharacterAutoLoads = false

game.Players.PlayerAdded:Connect(function(player)
	player:LoadCharacter()
	player.Character.Humanoid.BreakJointsOnDeath = false
end)

	
game:GetService('Players').PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		character:WaitForChild("Humanoid").Died:Connect(function()
			print(player.Name .. " has died!")
			player.PlayerGui.DeathScreen.Enabled = true
			--workspace.CurrentCamera.DeathEffect.Enabled = true
			--workspace.CurrentCamera.DeathEffectBlur.Enabled = true
			--local ReplicatedStorage = game:GetService("ReplicatedStorage")
			--local remoteEvent = ReplicatedStorage:WaitForChild("AnimOnDeath")
	local d = character:GetDescendants()
		for i=1,#d do
				local desc = d[i]
				if desc:IsA("Motor6D") then
					local socket = Instance.new("BallSocketConstraint")
					local part0 = desc.Part0
					local joint_name = desc.Name
					local attachment0 = desc.Parent:FindFirstChild(joint_name.."Attachment") or desc.Parent:FindFirstChild(joint_name.."RigAttachment")
					local attachment1 = part0:FindFirstChild(joint_name.."Attachment") or part0:FindFirstChild(joint_name.."RigAttachment")
					if attachment0 and attachment1 then
						socket.Attachment0, socket.Attachment1 = attachment0, attachment1
						socket.Parent = desc.Parent
						desc:Destroy()
					end	
				end
			end
			--Credit to Fm_Trick @https://devforum.roblox.com/t/humanoid-breakjointsondeath/252053/12
			
			--remoteEvent:FireClient(player)
		
			
		end)
	end)
end)





local ReplicatedStorage = game:GetService("ReplicatedStorage")

local remoteEvent = ReplicatedStorage:WaitForChild("RespawnOnDeath")


local function onRespawn(player)
	print(player.Name .. " fired the remote event")
	player:LoadCharacter()
	player.Character.Humanoid.BreakJointsOnDeath = false
--	workspace.CurrentCamera.DeathEffect.Enabled = false
	--workspace.CurrentCamera.DeathEffectBlur.Enabled = false
end


remoteEvent.OnServerEvent:Connect(onRespawn)

Check if the HumanoidRootPart is anchored or not, as it’s naturally set to true upon spawning one in.

8 Likes

Quick question, does the UI kill your character so you can respawn?

1 Like

no, it does not, but thank you for your help! Turns out the Hrp was anchored as @StrongBigeMan9 stated!

1 Like