Morphed Character resets on player death?

So in a script i morphed a player, but when the player resets the character is set back to the default character. I have been trying everything and i just cant find a fix. Does anyone know?

3 Likes

Detect when the character is added plr.CharacterAdded, then redo the Morph script

1 Like

Fortunately, that is what i did the only issue with that was when i connected it to a function and inside that function i would morph that player. When i change the character the function then reruns because it has picked up that a new character was added. I already tried this and it crashed my game cause it tried changing my character like 60 times a second.

Detect it after adding the morph and remove it before removing the morph

Thats also what i did but then if the character resets after reseting previously i dont have a function for the new humanoid. So it would only work once

how would the player die without resetting, just asking?

1 Like

Well im just thinking about FPS games in the future n stuff

and how does the player get the morph?

By equipping a skin in their locker

Try applying it when you rejoin the match. like instead of equipping it from your locker, equip it automatically after you die?

Im just thinking how roblox Arsenal would make it. Cause then you would not be able to see the character in a viewport frame. I just need a solution on how to keep the player character set to the custom skin

1 Like

This issue has left me stumped

do you mean this?
https://i.gyazo.com/960047bbf751a02cd972603f4c170068.mp4 (wrong one oops)

Almost like that yeah players can equip their skins it turns them into that skin but when they reset there character is put back to default

like this?

updateChar = function(player)
	local equippedChar = player.EquippedCharacter.Value
	local chars = player.Characters
	local curChar = player.Character or player.CharacterAdded:Wait()
	local changing = player.ChangingChar
	
	if changing.Value then
		repeat wait(0.1) until not changing.Value
	end
	
	changing.Value = true
	
	if chars:FindFirstChild(equippedChar) then
		local module = game.ServerStorage.Characters:FindFirstChild(equippedChar)
		if module then
			local char = module:FindFirstChildOfClass("Model")
			ChangeChar(player,char:Clone())
		else
			player:LoadCharacter()
		end
	else
		player:LoadCharacter()
	end
	
	wait(0.1)
	changing.Value = false
end

i think although i did not follow this tutorial

	local ClonedSkin = Skin:Clone()
				local OldSkin = Player.Character
				ClonedSkin:SetPrimaryPartCFrame(OldSkin.HumanoidRootPart.CFrame)
				Player.Character = ClonedSkin
					ClonedSkin.Parent = workspace

This is my code

i already tried this. unfortunately no luck

charModel.Humanoid.Died:Connect(function()
		wait(game.Players.RespawnTime)
		updateChar(player)
	end)

Description: it runs this code once to regenerate the character, it then goes to the update character function, where it loads the morph automatically.

Thats what i did but then discovered i need to set up a function for each humanoid that has died