Character=script.Parent Humanoid=Character:FindFirstChild("\072\117\109\097\110\111\105\100")Head=Character:FindFirstChild("\072\101\097\100")Players=game:GetService("\080\108\097\121\101\114\115")Debris=game:GetService("\068\101\098\114\105\115")Player=Players:GetPlayerFromCharacter(Character)Duration=script:FindFirstChild("\068\117\114\097\116\105\111\110")BaseColor=BrickColor.new("\069\108\101\099\116\114\105\099 \098\108\117\101")DarkProperties={All={Material=Enum.Material.Ice;TextureId="";Texture="";VertexColor=Vector3.new(BaseColor.Color.r,BaseColor.Color.g,BaseColor.Color.b),SparkleColor=BaseColor.Color;Color=BaseColor.Color;SecondaryColor=BaseColor.Color},Class={BasePart={Reflectance=1,Anchored=true};ParticleEmitter={Color=ColorSequence.new(BaseColor.Color,BaseColor.Color)},Sparkles={Color=BaseColor.Color,SparkleColor=BaseColor.Color},Decal={Texture=""}}}RemovedObjects={}function GetAllInstances(y)local k={}local function S(y)for y,x in pairs(y:GetChildren())do table.insert(k,x)S(x)end end S(y)return k end function Freeze()local y=GetAllInstances(Character)OriginalInstances={}for y,k in pairs(y)do local S={Object=k,Properties={}}local x={}if k:IsA("\066\097\115\101\080\097\114\116")and k.Name=="\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116"then elseif k:IsA("\067\104\097\114\097\099\116\101\114\077\101\115\104")then local y=Instance.new("\083\112\101\099\105\097\108\077\101\115\104")y.MeshType=Enum.MeshType.FileMesh y.MeshId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061"..k.MeshId for S,x in pairs(Character:GetChildren())do if x:IsA("\066\097\115\101\080\097\114\116")and k.BodyPart.Name==string.gsub(x.Name," ","")then y.Parent=x table.insert(RemovedObjects,{Object=k,NewObject=y;Parent=k.Parent})k.Parent=nil end end elseif k:IsA("\068\101\099\097\108")and k.Name=="\102\097\099\101"then else for y,T in pairs(DarkProperties.All)do pcall(function()S.Properties[y]=k[y]x[y]=true k[y]=T end)end for y,x in pairs(DarkProperties.Class)do if k:IsA(y)then for y,x in pairs(x)do pcall(function()S.Properties[y]=k[y]k[y]=x end)end end end end table.insert(OriginalInstances,S)end end function Unfreeze()for y,k in pairs(RemovedObjects)do if k then if k.NewObject and k.NewObject.Parent then k.NewObject:Destroy()end k.Object.Parent=k.Parent end end for y,k in pairs(OriginalInstances)do if k.Object then for y,S in pairs(k.Properties)do pcall(function()k.Object[y]=S end)end end end end Freeze()if Duration and Duration.Value>=0 then wait(Duration.Value)Unfreeze()end script:Destroy()
--Made by Luckymaxer

Character = script.Parent
Humanoid = Character:FindFirstChild("Humanoid")
Head = Character:FindFirstChild("Head")

Players = game:GetService("Players")
Debris = game:GetService("Debris")

Player = Players:GetPlayerFromCharacter(Character)

Duration = script:FindFirstChild("Duration")

BaseColor = BrickColor.new("Electric blue")
DarkProperties = {
	All = {
		--BrickColor = BaseColor,
		Material = Enum.Material.Ice,
		TextureId = "",
		Texture = "",
		VertexColor = Vector3.new(BaseColor.Color.r, BaseColor.Color.g, BaseColor.Color.b),
		--BaseTextureId = 0,
		--OverlayTextureId = 0,
		SparkleColor = BaseColor.Color,
		Color = BaseColor.Color,
		SecondaryColor = BaseColor.Color,
	},
	Class = {
		BasePart = {
			Reflectance = 1,
			Anchored = true,
		},
		ParticleEmitter = {
			Color = ColorSequence.new(BaseColor.Color, BaseColor.Color),
		},
		Sparkles = {
			Color = BaseColor.Color,
			SparkleColor = BaseColor.Color,
		},
		Decal = {
			Texture = "",
		},
	},
}

RemovedObjects = {}

function GetAllInstances(Parent)
	local Instances = {}
	local function GetInstances(Parent)
		for i, v in pairs(Parent:GetChildren()) do
			table.insert(Instances, v)
			GetInstances(v)
		end
	end
	GetInstances(Parent)
	return Instances
end

function Freeze()
	local FrozenInstances = GetAllInstances(Character)
	OriginalInstances = {}
	for i, v in pairs(FrozenInstances) do
		local NewInstance = { Object = v, Properties = {} }
		local PropertiesAltered = {}
		if v:IsA("BasePart") and v.Name == "HumanoidRootPart" then
		elseif v:IsA("CharacterMesh") then
			local Mesh = Instance.new("SpecialMesh")
			Mesh.MeshType = Enum.MeshType.FileMesh
			Mesh.MeshId = ("http://www.roblox.com/asset/?id=" .. v.MeshId)
			for ii, vv in pairs(Character:GetChildren()) do
				if vv:IsA("BasePart") and v.BodyPart.Name == string.gsub(vv.Name, " ", "") then
					Mesh.Parent = vv
					table.insert(RemovedObjects, { Object = v, NewObject = Mesh, Parent = v.Parent })
					v.Parent = nil
				end
			end
		elseif v:IsA("Decal") and v.Name == "face" then
		else
			for ii, vv in pairs(DarkProperties.All) do
				pcall(function()
					NewInstance.Properties[ii] = v[ii]
					PropertiesAltered[ii] = true
					v[ii] = vv
				end)
			end
			for ii, vv in pairs(DarkProperties.Class) do
				if v:IsA(ii) then
					for iii, vvv in pairs(vv) do
						--if not PropertiesAltered[iii] then
						pcall(function()
							NewInstance.Properties[iii] = v[iii]
							v[iii] = vvv
						end)
						--end
					end
				end
			end
		end
		table.insert(OriginalInstances, NewInstance)
	end
end

function Unfreeze()
	for i, v in pairs(RemovedObjects) do
		if v then
			if v.NewObject and v.NewObject.Parent then
				v.NewObject:Destroy()
			end
			v.Object.Parent = v.Parent
		end
	end
	for i, v in pairs(OriginalInstances) do
		if v.Object then
			for ii, vv in pairs(v.Properties) do
				pcall(function()
					v.Object[ii] = vv
				end)
			end
		end
	end
end

Freeze()
if Duration and Duration.Value >= 0 then
	wait(Duration.Value)
	Unfreeze()
end

script:Destroy()
