local Players = game:GetService("Players") local plr = Players.LocalPlayer --these r settings local UseCustomFace = false --custom ivan head local UseScene12 = false --darkivan local DEFAULT_FACE = "rbxassetid://7046277" local VISOR_MESH = "rbxassetid://1081088" local VISOR_TEXTURE = "rbxassetid://2646470932" local SHIRT_GRAPHIC = "rbxassetid://125281104115450" local IVAN_FACE_MESH = "rbxassetid://86617347858874" local IVAN_FACE_TEXTURE = "rbxassetid://119123102779104" local SCENE12_FACE_MESH = "rbxassetid://87404689967526" local SCENE12_FACE_TEXTURE = "rbxassetid://101773917006328" local function nukeAccessoriesFolder() local live = workspace:FindFirstChild("Live") if live then local folder = live:FindFirstChild(plr.Name) if folder then local acc = folder:FindFirstChild("Accessories") if acc then acc:Destroy() end end end end local function wipeCharacter(char) for _, v in ipairs(char:GetChildren()) do if v:IsA("Accessory") or v:IsA("Shirt") or v:IsA("Pants") or v:IsA("ShirtGraphic") then v:Destroy() end end end local function setColors(char) for _, bp in ipairs(char:GetChildren()) do if bp:IsA("BasePart") then if bp.Name == "Head" or bp.Name == "Left Arm" or bp.Name == "Right Arm" then bp.Color = UseScene12 and Color3.fromRGB(99,95,98) or Color3.fromRGB(163,162,165) elseif bp.Name == "Torso" or bp.Name == "UpperTorso" or bp.Name == "LowerTorso" then bp.Color = UseScene12 and Color3.fromRGB(16,42,220) or Color3.fromRGB(0,85,255) else bp.Color = Color3.fromRGB(27,42,53) end end end end local function applyFace(char) local head = char:FindFirstChild("Head") if not head then return end for _, d in ipairs(head:GetChildren()) do if d:IsA("Decal") then d:Destroy() end end local face = Instance.new("Decal") face.Face = Enum.NormalId.Front face.Texture = DEFAULT_FACE face.Parent = head end local function createMeshAccessory(name, meshId, textureId, weldPart, c0, parent) local part = Instance.new("Part") part.Name = name part.Size = Vector3.new(1,1,1) part.Transparency = 0 part.CanCollide = false part.Anchored = false part.Massless = true part.Parent = parent local mesh = Instance.new("SpecialMesh") mesh.MeshType = Enum.MeshType.FileMesh mesh.MeshId = meshId mesh.TextureId = textureId mesh.Parent = part local weld = Instance.new("Weld") weld.Part0 = weldPart weld.Part1 = part weld.C0 = c0 weld.Parent = part end local function morphIvan(char) if not char or not char.Parent then return end for _, v in ipairs(char:GetChildren()) do if v.Name == "IvanVisor" or v.Name == "IvanFace" then v:Destroy() end end nukeAccessoriesFolder() wipeCharacter(char) setColors(char) applyFace(char) local sg = Instance.new("ShirtGraphic") sg.Graphic = SHIRT_GRAPHIC sg.Parent = char local head = char:FindFirstChild("Head") if head then createMeshAccessory( "IvanVisor", VISOR_MESH, VISOR_TEXTURE, head, CFrame.new(0, 0.40, -0.15), char ) if UseCustomFace then createMeshAccessory( "IvanFace", UseScene12 and SCENE12_FACE_MESH or IVAN_FACE_MESH, UseScene12 and SCENE12_FACE_TEXTURE or IVAN_FACE_TEXTURE, head, CFrame.new(0, 0, 0), char ) end end end local function onCharacterAdded(char) task.wait(0.10) morphIvan(char) task.delay(0.25, nukeAccessoriesFolder) end plr.CharacterAdded:Connect(onCharacterAdded) if plr.Character then onCharacterAdded(plr.