-- FTAP God Mode (Horomori's Blobman) - Perfect Startup & UI -- Works on Delta / Synapse / Krnl / anything local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") local RS = game:GetService("ReplicatedStorage") -- ========== REMOTE DETECTION (auto) ========== local GrabRemote = nil local RemoteCandidates = {"GrabEvent","RemoteEvent","Network","FTAP","GameEvents","GrabRemote","BlobmanGrab"} for _, name in ipairs(RemoteCandidates) do local r = RS:FindFirstChild(name) if r and r:IsA("RemoteEvent") then GrabRemote = r break end end -- ========== GRAB/UNGRAB ========== local function Grab(target) if not (target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") and GrabRemote) then return false end pcall(function() GrabRemote:FireServer("grab", target.Character.HumanoidRootPart, true) end) return true end local function Ungrab() if GrabRemote then pcall(function() GrabRemote:FireServer("ungrab", true) end) end end -- ========== LOOP CONTROL ========== local active = false local currentTarget = nil local speedMode = "ULTRA" -- ULTRA, INSANE, GOD local heartbeatConn = nil local function StopLoop() active = false if heartbeatConn then heartbeatConn:Disconnect() heartbeatConn = nil end if statusLabel then statusLabel.Text = "● STOPPED" statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100) end end local function StartLoop() if not currentTarget then if statusLabel then statusLabel.Text = "! SELECT TARGET" statusLabel.TextColor3 = Color3.fromRGB(255, 200, 100) end return end if active then StopLoop() end active = true if statusLabel then statusLabel.Text = "▶ RUNNING (" .. speedMode .. ")" statusLabel.TextColor3 = Color3.fromRGB(100, 255, 100) end heartbeatConn = RunService.Heartbeat:Connect(function() if not active or not currentTarget or not currentTarget.Parent then if not currentTarget or not currentTarget.Parent then StopLoop() end return end Grab(currentTarget) Ungrab() if speedMode == "INSANE" then -- double tap per frame for higher frequency Grab(currentTarget) Ungrab() elseif speedMode == "GOD" then -- as many as possible within frame (but limited by Heartbeat) for _ = 1, 3 do Grab(currentTarget) Ungrab() end end end) end -- ========== UI CONSTRUCTION (Reliable, modern, draggable) ========== -- Wait for PlayerGui local playerGui = LocalPlayer:WaitForChild("PlayerGui") local screenGui = Instance.new("ScreenGui") screenGui.Name = "FTAP_GodMode" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui -- Main Frame local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 340, 0, 500) mainFrame.Position = UDim2.new(0.5, -170, 0.5, -250) mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) mainFrame.BorderSizePixel = 0 mainFrame.ClipsDescendants = true mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = screenGui -- Title bar with gradient effect local titleBar = Instance.new("Frame") titleBar.Size = UDim2.new(1, 0, 0, 42) titleBar.BackgroundColor3 = Color3.fromRGB(35, 35, 50) titleBar.BorderSizePixel = 0 titleBar.Parent = mainFrame local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, -50, 1, 0) titleLabel.Position = UDim2.new(0, 15, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "FTAP GOD MODE [Blobman]" titleLabel.TextColor3 = Color3.fromRGB(255, 200, 100) titleLabel.Font = Enum.Font.GothamBold titleLabel.TextSize = 18 titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = titleBar local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 32, 0, 32) closeBtn.Position = UDim2.new(1, -38, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50) closeBtn.Text = "✕" closeBtn.TextColor3 = Color3.new(1, 1, 1) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 20 closeBtn.Parent = titleBar closeBtn.MouseButton1Click:Connect(function() screenGui:Destroy() end) -- Status panel local statusFrame = Instance.new("Frame") statusFrame.Size = UDim2.new(1, -20, 0, 44) statusFrame.Position = UDim2.new(0, 10, 0, 52) statusFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 45) statusFrame.BorderSizePixel = 0 statusFrame.Parent = mainFrame local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1, -10, 1, 0) statusLabel.Position = UDim2.new(0, 5, 0, 0) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "● IDLE" statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200) statusLabel.Font = Enum.Font.Gotham statusLabel.TextSize = 15 statusLabel.TextXAlignment = Enum.TextXAlignment.Left statusLabel.Parent = statusFrame -- Target display local targetLabel = Instance.new("TextLabel") targetLabel.Size = UDim2.new(1, -10, 0, 20) targetLabel.Position = UDim2.new(0, 5, 0, 22) targetLabel.BackgroundTransparency = 1 targetLabel.Text = "Target: none" targetLabel.TextColor3 = Color3.fromRGB(180, 180, 200) targetLabel.Font = Enum.Font.Gotham targetLabel.TextSize = 13 targetLabel.TextXAlignment = Enum.TextXAlignment.Left targetLabel.Parent = statusFrame -- Speed selector local speedFrame = Instance.new("Frame") speedFrame.Size = UDim2.new(1, -20, 0, 38) speedFrame.Position = UDim2.new(0, 10, 0, 106) speedFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 45) speedFrame.BorderSizePixel = 0 speedFrame.Parent = mainFrame local speedText = Instance.new("TextLabel") speedText.Size = UDim2.new(0, 70, 1, 0) speedText.Position = UDim2.new(0, 8, 0, 0) speedText.BackgroundTransparency = 1 speedText.Text = "SPEED:" speedText.TextColor3 = Color3.new(1, 1, 1) speedText.Font = Enum.Font.GothamBold speedText.TextSize = 14 speedText.TextXAlignment = Enum.TextXAlignment.Left speedText.Parent = speedFrame local speedButton = Instance.new("TextButton") speedButton.Size = UDim2.new(0, 110, 1, -6) speedButton.Position = UDim2.new(0, 80, 0, 3) speedButton.BackgroundColor3 = Color3.fromRGB(70, 70, 100) speedButton.Text = "ULTRA (60Hz)" speedButton.TextColor3 = Color3.new(1, 1, 1) speedButton.Font = Enum.Font.GothamBold speedButton.TextSize = 12 speedButton.BorderSizePixel = 0 speedButton.Parent = speedFrame local speedValues = {"ULTRA", "INSANE", "GOD"} local speedNames = {"ULTRA (60Hz)", "INSANE (120Hz)", "GOD (unlimited)"} local speedIndex = 1 speedButton.MouseButton1Click:Connect(function() speedIndex = speedIndex % 3 + 1 speedMode = speedValues[speedIndex] speedButton.Text = speedNames[speedIndex] if active then local oldTarget = currentTarget StopLoop() currentTarget = oldTarget StartLoop() end end) -- Player list (ScrollingFrame) local listFrame = Instance.new("ScrollingFrame") listFrame.Size = UDim2.new(1, -20, 0, 220) listFrame.Position = UDim2.new(0, 10, 0, 154) listFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 40) listFrame.BorderSizePixel = 0 listFrame.CanvasSize = UDim2.new(0, 0, 0, 0) listFrame.ScrollBarThickness = 6 listFrame.Parent = mainFrame -- Control buttons local btnFrame = Instance.new("Frame") btnFrame.Size = UDim2.new(1, -20, 0, 48) btnFrame.Position = UDim2.new(0, 10, 0, 388) btnFrame.BackgroundTransparency = 1 btnFrame.Parent = mainFrame local startBtn = Instance.new("TextButton") startBtn.Size = UDim2.new(0.48, -5, 1, 0) startBtn.Position = UDim2.new(0, 0, 0, 0) startBtn.BackgroundColor3 = Color3.fromRGB(0, 140, 0) startBtn.Text = "▶ START LOOP" startBtn.TextColor3 = Color3.new(1, 1, 1) startBtn.Font = Enum.Font.GothamBold startBtn.TextScaled = true startBtn.Parent = btnFrame startBtn.MouseButton1Click:Connect(StartLoop) local stopBtn = Instance.new("TextButton") stopBtn.Size = UDim2.new(0.48, -5, 1, 0) stopBtn.Position = UDim2.new(0.52, 0, 0, 0) stopBtn.BackgroundColor3 = Color3.fromRGB(160, 0, 0) stopBtn.Text = "■ STOP LOOP" stopBtn.TextColor3 = Color3.new(1, 1, 1) stopBtn.Font = Enum.Font.GothamBold stopBtn.TextScaled = true stopBtn.Parent = btnFrame stopBtn.MouseButton1Click:Connect(StopLoop) -- Refresh button (small) local refreshBtn = Instance.new("TextButton") refreshBtn.Size = UDim2.new(0, 34, 0, 34) refreshBtn.Position = UDim2.new(1, -44, 0, 52) refreshBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 110) refreshBtn.Text = "⟳" refreshBtn.TextColor3 = Color3.new(1, 1, 1) refreshBtn.Font = Enum.Font.GothamBold refreshBtn.TextSize = 22 refreshBtn.Parent = mainFrame -- ========== UPDATE PLAYER LIST ========== local function UpdatePlayerList() for _, child in ipairs(listFrame:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end local y = 0 for _, pl in ipairs(Players:GetPlayers()) do if pl ~= LocalPlayer then local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -10, 0, 34) btn.Position = UDim2.new(0, 5, 0, y) btn.BackgroundColor3 = Color3.fromRGB(55, 55, 80) btn.Text = pl.Name btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Enum.Font.Gotham btn.TextSize = 14 btn.BorderSizePixel = 0 btn.Parent = listFrame btn.MouseButton1Click:Connect(function() currentTarget = pl targetLabel.Text = "Target: " .. pl.Name statusLabel.Text = "✓ TARGET READY" statusLabel.TextColor3 = Color3.fromRGB(255, 200, 100) if active then StopLoop() StartLoop() end end) y = y + 40 end end listFrame.CanvasSize = UDim2.new(0, 0, 0, y + 10) if not currentTarget then targetLabel.Text = "Target: none" end end -- Events Players.PlayerAdded:Connect(UpdatePlayerList) Players.PlayerRemoving:Connect(function(pl) if currentTarget == pl then StopLoop() currentTarget = nil targetLabel.Text = "Target: none" statusLabel.Text = "● TARGET LEFT" statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100) end UpdatePlayerList() end) refreshBtn.MouseButton1Click:Connect(UpdatePlayerList) -- Final initialization UpdatePlayerList() print("FTAP God Mode UI loaded. Blobman ready.")