local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local lp = Players.LocalPlayer local RunService = game:GetService("RunService") local morphCode = game:HttpGet("https://raw.githubusercontent.com/Ahma174/Morphs/refs/heads/main/Doors%20A60%20Updated.lua") local function destroyMorphGui() local gui if gethui then gui = gethui():FindFirstChild("A60MorphControl") end if not gui then gui = game:GetService("CoreGui"):FindFirstChild("A60MorphControl") end if not gui then gui = lp:WaitForChild("PlayerGui"):FindFirstChild("A60MorphControl") end if gui then gui:Destroy() end end local originalChar = nil local morphChar = nil local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "A60MorphingGui" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = lp:WaitForChild("PlayerGui") local Main = Instance.new("Frame") local TopBar = Instance.new("Frame") local Title = Instance.new("TextLabel") local Morph = Instance.new("TextButton") local UnMorph = Instance.new("TextButton") Main.Parent = ScreenGui Main.Size = UDim2.new(0,180,0,120) Main.Position = UDim2.new(0.02,0,0.3,0) Main.BackgroundColor3 = Color3.fromRGB(20,20,20) Main.ClipsDescendants = true Main.Active = true Instance.new("UICorner", Main).CornerRadius = UDim.new(0,12) local stroke = Instance.new("UIStroke", Main) stroke.Color = Color3.fromRGB(60,60,60) stroke.Thickness = 1.5 TopBar.Parent = Main TopBar.Size = UDim2.new(1,0,0,28) TopBar.BackgroundColor3 = Color3.fromRGB(30,30,30) Instance.new("UICorner", TopBar).CornerRadius = UDim.new(0,12) Title.Parent = TopBar Title.Size = UDim2.new(1,0,1,0) Title.BackgroundTransparency = 1 Title.Text = "A-60 Morphing Gui" Title.Font = Enum.Font.GothamBold Title.TextSize = 14 Title.TextColor3 = Color3.fromRGB(255,255,255) Morph.Parent = Main Morph.Size = UDim2.new(0.85,0,0,32) Morph.Position = UDim2.new(0.075,0,0.38,-10) Morph.BackgroundColor3 = Color3.fromRGB(35,35,35) Morph.Text = "Morph" Morph.Font = Enum.Font.GothamBold Morph.TextSize = 14 Morph.TextColor3 = Color3.fromRGB(255,255,255) Instance.new("UICorner", Morph).CornerRadius = UDim.new(0,10) UnMorph.Parent = Main UnMorph.Size = UDim2.new(0.85,0,0,32) UnMorph.Position = UDim2.new(0.075,0,0.7,-10) UnMorph.BackgroundColor3 = Color3.fromRGB(35,35,35) UnMorph.Text = "UnMorph" UnMorph.Font = Enum.Font.GothamBold UnMorph.TextSize = 14 UnMorph.TextColor3 = Color3.fromRGB(255,255,255) Instance.new("UICorner", UnMorph).CornerRadius = UDim.new(0,10) local function hover(btn) btn.MouseEnter:Connect(function() btn.BackgroundColor3 = Color3.fromRGB(50,50,50) end) btn.MouseLeave:Connect(function() btn.BackgroundColor3 = Color3.fromRGB(35,35,35) end) end hover(Morph) hover(UnMorph) do local dragging = false local dragInput, dragStart, startPos local function update(input) local delta = input.Position - dragStart Main.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end Main.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = Main.Position dragInput = input input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) Main.InputChanged:Connect(function(input) if input == dragInput then dragging = true end end) UIS.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) end Morph.MouseButton1Click:Connect(function() if not originalChar then originalChar = lp.Character end local pos = originalChar:FindFirstChild("HumanoidRootPart").CFrame loadstring(morphCode)() task.wait(0.3) morphChar = lp.Character if originalChar then originalChar.Parent = nil end if morphChar and morphChar:FindFirstChild("HumanoidRootPart") then morphChar.HumanoidRootPart.CFrame = pos end end) UnMorph.MouseButton1Click:Connect(function() if originalChar then local pos local oldChar = lp.Character if oldChar and oldChar:FindFirstChild("HumanoidRootPart") then pos = oldChar.HumanoidRootPart.CFrame end if oldChar then for _, part in ipairs(oldChar:GetDescendants()) do if part:IsA("BasePart") then part.Transparency = 1 part.CanCollide = false elseif part:IsA("Decal") or part:IsA("Texture") then part.Transparency = 1 end end oldChar:Destroy() end local standardR6Names = {["Head"]=true, ["Torso"]=true, ["Left Arm"]=true, ["Right Arm"]=true, ["Left Leg"]=true, ["Right Leg"]=true} local standardR15Names = {["Head"]=true, ["LeftUpperArm"]=true, ["LeftLowerArm"]=true, ["LeftHand"]=true, ["RightUpperArm"]=true, ["RightLowerArm"]=true, ["RightHand"]=true, ["UpperTorso"]=true, ["LowerTorso"]=true, ["LeftUpperLeg"]=true, ["LeftLowerLeg"]=true, ["LeftFoot"]=true, ["RightUpperLeg"]=true, ["RightLowerLeg"]=true, ["RightFoot"]=true} for _, v in ipairs(originalChar:GetDescendants()) do if v:IsA("BasePart") then v.Anchored = false if v.Name == "HumanoidRootPart" then v.Transparency = 1 v.CanCollide = false elseif v:FindFirstAncestorOfClass("Accessory") then v.Transparency = 0 v.CanCollide = true elseif not standardR6Names[v.Name] and not standardR15Names[v.Name] then v.Transparency = 1 v.CanCollide = false else v.Transparency = 0 v.CanCollide = true end elseif v:IsA("Accessory") then local handle = v:FindFirstChild("Handle") if handle and handle:IsA("BasePart") then handle.Transparency = 0 handle.CanCollide = true end elseif v:IsA("Weld") or v:IsA("WeldConstraint") or v:IsA("Motor6D") then if v.Name == "MorphWeld" or not originalChar:FindFirstChild(v.Part0 and v.Part0.Name or "") then v:Destroy() end end end originalChar.Parent = workspace lp.Character = originalChar task.wait(0.1) local hum = originalChar:FindFirstChildOfClass("Humanoid") if hum then hum.PlatformStand = false hum.Health = hum.MaxHealth hum.WalkSpeed = 16 hum.JumpPower = 50 hum:SetStateEnabled(Enum.HumanoidStateType.Dead, false) hum:SetStateEnabled(Enum.HumanoidStateType.Climbing, true) hum:SetStateEnabled(Enum.HumanoidStateType.FallingDown, true) hum:SetStateEnabled(Enum.HumanoidStateType.GettingUp, true) hum:SetStateEnabled(Enum.HumanoidStateType.Freefall, true) hum:SetStateEnabled(Enum.HumanoidStateType.Jumping, true) hum:SetStateEnabled(Enum.HumanoidStateType.Running, true) hum:ChangeState(Enum.HumanoidStateType.Running) hum.NameDisplayDistance = 0 hum.HealthDisplayDistance = 0 workspace.CurrentCamera.CameraSubject = hum workspace.CurrentCamera.CameraType = Enum.CameraType.Custom end local animate = originalChar:FindFirstChild("Animate") if animate then animate.Disabled = true task.wait(0.05) animate.Disabled = false end if pos and originalChar:FindFirstChild("HumanoidRootPart") then originalChar.HumanoidRootPart.CFrame = pos end pcall(function() local PlayerScripts = lp:WaitForChild("PlayerScripts", 2) if PlayerScripts then local PlayerModule = require(PlayerScripts:WaitForChild("PlayerModule", 2)) if PlayerModule then local controls = PlayerModule:GetControls() controls:Enable(true) end end end) originalChar = nil morphChar = nil destroyMorphGui() end end)