Scripts clear after setting a new player character model

I have a script that sets and changes the current character to a different character in ReplicatedStorage. The model and animations work fine, locally. The only script that actually works with it is the Animate script, which is still local only. After investigating I found out that whenever you morphed, it clears scripts for some reason. Does anyone have a solution to this issue?

Any code to show? Such as the morphing script? Also do you mean the scripts from the new morph go away? Or the ones that were already in your original character disappear?

The scripts go to the new morph but they do not work.

The ones in the original character disappear as well.

local p

script.Parent.RemoteEvent.OnServerEvent:Connect(function(plr)

	local char = plr.Character
	local rig = game.Workspace["Colossal ("..plr.Name..")"]



	if not rig.HumanoidRootPart:FindFirstChild("thisdeletes") then
		plr.Character = rig
	end
	wait()
	if not rig.HumanoidRootPart:FindFirstChild("thisdeletes") then
		p = Instance.new("Attachment")
		p.Name = "thisdeletes"
		p.Parent = rig.HumanoidRootPart
		wait()
		plr.Character.Animate.Parent = game.ServerStorage
		char:Destroy()
		plr.CameraMaxZoomDistance = 400
		plr.CameraMinZoomDistance = 128
		plr.Character.HumanoidRootPart.CFrame = plr.Character.HumanoidRootPart.CFrame * CFrame.new(0,1000,-2000)
	end
end)

The animate on it does nothing, i forgot to remove it from the script