-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- SCP MORPH Mobile Custom GUI -- Features: ESP Morphs, ESP Trophies, Teleport to Morphs & Trophies local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local CoreGui = game:GetService("CoreGui") local Workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer -- Destroy existing UI if re-executed if CoreGui:FindFirstChild("SCPMorphGui") then CoreGui.SCPMorphGui:Destroy() end -- Config & Feature States local Settings = { ESP_Morphs = false, ESP_Trophies = false, AutoTeleportMorph = false } -- ScreenGui Setup local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SCPMorphGui" ScreenGui.ResetOnSpawn = false local success, _ = pcall(function() ScreenGui.Parent = CoreGui end) if not success then ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end --------------------------------------------------------- -- Mobile Dragging Handler --------------------------------------------------------- local function makeDraggable(frame, dragHandle) dragHandle = dragHandle or frame local dragging, dragInput, dragStart, startPos dragHandle.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) dragHandle.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) end --------------------------------------------------------- -- UI Construction --------------------------------------------------------- -- Floating Toggle Button local ToggleBtn = Instance.new("TextButton") ToggleBtn.Name = "SCPToggleBtn" ToggleBtn.Size = UDim2.new(0, 48, 0, 48) ToggleBtn.Position = UDim2.new(0, 15, 0.35, 0) ToggleBtn.BackgroundColor3 = Color3.fromRGB(24, 24, 32) ToggleBtn.Text = "SCP" ToggleBtn.TextColor3 = Color3.fromRGB(0, 255, 150) ToggleBtn.TextSize = 13 ToggleBtn.Font = Enum.Font.GothamBold ToggleBtn.Parent = ScreenGui local ToggleCorner = Instance.new("UICorner", ToggleBtn) ToggleCorner.CornerRadius = UDim.new(0, 24) local ToggleStroke = Instance.new("UIStroke", ToggleBtn) ToggleStroke.Color = Color3.fromRGB(0, 255, 150) ToggleStroke.Thickness = 2 makeDraggable(ToggleBtn) -- Main Frame local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 310, 0, 300) MainFrame.Position = UDim2.new(0.5, -155, 0.5, -150) MainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 24) MainFrame.ClipsDescendants = true MainFrame.Parent = ScreenGui local MainCorner = Instance.new("UICorner", MainFrame) MainCorner.CornerRadius = UDim.new(0, 10) local MainStroke = Instance.new("UIStroke", MainFrame) MainStroke.Color = Color3.fromRGB(45, 45, 60) MainStroke.Thickness = 1.5 -- Header local Header = Instance.new("Frame") Header.Size = UDim2.new(1, 0, 0, 40) Header.BackgroundColor3 = Color3.fromRGB(26, 26, 36) Header.Parent = MainFrame local HeaderCorner = Instance.new("UICorner", Header) HeaderCorner.CornerRadius = UDim.new(0, 10) local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, -40, 1, 0) Title.Position = UDim2.new(0, 12, 0, 0) Title.Text = "SCP MORPH | ESP & TELEPORT" Title.TextColor3 = Color3.fromRGB(240, 240, 240) Title.TextSize = 13 Title.Font = Enum.Font.GothamBold Title.TextXAlignment = Enum.TextXAlignment.Left Title.BackgroundTransparency = 1 Title.Parent = Header local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 30, 0, 30) CloseBtn.Position = UDim2.new(1, -35, 0, 5) CloseBtn.Text = "✕" CloseBtn.TextColor3 = Color3.fromRGB(200, 200, 200) CloseBtn.TextSize = 14 CloseBtn.Font = Enum.Font.GothamBold CloseBtn.BackgroundTransparency = 1 CloseBtn.Parent = Header makeDraggable(MainFrame, Header) -- Scroll Container local ContentScroll = Instance.new("ScrollingFrame") ContentScroll.Size = UDim2.new(1, -20, 1, -55) ContentScroll.Position = UDim2.new(0, 10, 0, 48) ContentScroll.BackgroundTransparency = 1 ContentScroll.ScrollBarThickness = 3 ContentScroll.ScrollBarImageColor3 = Color3.fromRGB(0, 255, 150) ContentScroll.CanvasSize = UDim2.new(0, 0, 0, 0) ContentScroll.Parent = MainFrame local ContentList = Instance.new("UIListLayout", ContentScroll) ContentList.Padding = UDim.new(0, 8) ContentList.SortOrder = Enum.SortOrder.LayoutOrder ContentList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() ContentScroll.CanvasSize = UDim2.new(0, 0, 0, ContentList.AbsoluteContentSize.Y + 10) end) --------------------------------------------------------- -- UI Components --------------------------------------------------------- local function CreateToggle(text, defaultState, callback) local state = defaultState or false local ToggleFrame = Instance.new("Frame") ToggleFrame.Size = UDim2.new(1, 0, 0, 38) ToggleFrame.BackgroundColor3 = Color3.fromRGB(28, 28, 38) ToggleFrame.Parent = ContentScroll local Corner = Instance.new("UICorner", ToggleFrame) Corner.CornerRadius = UDim.new(0, 6) local Label = Instance.new("TextLabel") Label.Size = UDim2.new(0.7, 0, 1, 0) Label.Position = UDim2.new(0, 12, 0, 0) Label.Text = text Label.TextColor3 = Color3.fromRGB(220, 220, 220) Label.Font = Enum.Font.GothamMedium Label.TextSize = 12 Label.TextXAlignment = Enum.TextXAlignment.Left Label.BackgroundTransparency = 1 Label.Parent = ToggleFrame local Indicator = Instance.new("Frame") Indicator.Size = UDim2.new(0, 18, 0, 18) Indicator.Position = UDim2.new(1, -28, 0.5, -9) Indicator.BackgroundColor3 = state and Color3.fromRGB(0, 255, 150) or Color3.fromRGB(50, 50, 60) Indicator.Parent = ToggleFrame local IndCorner = Instance.new("UICorner", Indicator) IndCorner.CornerRadius = UDim.new(0, 5) local ClickBtn = Instance.new("TextButton") ClickBtn.Size = UDim2.new(1, 0, 1, 0) ClickBtn.BackgroundTransparency = 1 ClickBtn.Text = "" ClickBtn.Parent = ToggleFrame ClickBtn.MouseButton1Click:Connect(function() state = not state TweenService:Create(Indicator, TweenInfo.new(0.15), { BackgroundColor3 = state and Color3.fromRGB(0, 255, 150) or Color3.fromRGB(50, 50, 60) }):Play() callback(state) end) end local function CreateButton(text, callback) local BtnFrame = Instance.new("Frame") BtnFrame.Size = UDim2.new(1, 0, 0, 38) BtnFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 48) BtnFrame.Parent = ContentScroll local Corner = Instance.new("UICorner", BtnFrame) Corner.CornerRadius = UDim.new(0, 6) local Btn = Instance.new("TextButton") Btn.Size = UDim2.new(1, 0, 1, 0) Btn.BackgroundTransparency = 1 Btn.Text = text Btn.TextColor3 = Color3.fromRGB(255, 255, 255) Btn.Font = Enum.Font.GothamBold Btn.TextSize = 12 Btn.Parent = BtnFrame Btn.MouseButton1Click:Connect(callback) end --------------------------------------------------------- -- ESP & Search Logic --------------------------------------------------------- local function ApplyHighlight(obj, tag, color, enabled) if not obj then return end local highlight = obj:FindFirstChild(tag) if enabled then if not highlight then highlight = Instance.new("Highlight") highlight.Name = tag highlight.FillColor = color highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.FillTransparency = 0.35 highlight.OutlineTransparency = 0 highlight.Parent = obj end else if highlight then highlight:Destroy() end end end -- Render loop searching Workspace for Morphs & Trophies RunService.RenderStepped:Connect(function() for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("Model") or obj:IsA("BasePart") then local nameLower = string.lower(obj.Name) -- Detect Morphs if string.find(nameLower, "morph") or string.find(nameLower, "scp") or obj:FindFirstChild("Morph") then ApplyHighlight(obj, "ESP_Morph", Color3.fromRGB(0, 255, 150), Settings.ESP_Morphs) end -- Detect Trophies if string.find(nameLower, "trophy") or string.find(nameLower, "badge") or string.find(nameLower, "award") then ApplyHighlight(obj, "ESP_Trophy", Color3.fromRGB(255, 200, 30), Settings.ESP_Trophies) end end end end) local function TeleportToTarget(keyword) local char = LocalPlayer.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end for _, obj in ipairs(Workspace:GetDescendants()) do if (obj:IsA("Model") or obj:IsA("BasePart")) and string.find(string.lower(obj.Name), keyword) then local targetPart = obj:IsA("BasePart") and obj or obj:FindFirstChildWhichIsA("BasePart") if targetPart then char.HumanoidRootPart.CFrame = targetPart.CFrame + Vector3.new(0, 3, 0) break end end end end --------------------------------------------------------- -- Controls Binding --------------------------------------------------------- CreateToggle("ESP Morphs (Green)", false, function(state) Settings.ESP_Morphs = state end) CreateToggle("ESP Trophies (Gold)", false, function(state) Settings.ESP_Trophies = state end) CreateButton("Teleport to Nearest Morph", function() TeleportToTarget("morph") end) CreateButton("Teleport to Nearest Trophy", function() TeleportToTarget("trophy") end) --------------------------------------------------------- -- Visibility Toggle --------------------------------------------------------- local isVisible = true local function toggleMenu() isVisible = not isVisible MainFrame.Visible = isVisible end ToggleBtn.MouseButton1Click:Connect(toggleMenu) CloseBtn.MouseButton1Click:Connect(toggleMenu) print("[SCP MORPH Script] Loaded successfully!")