-- Mobile ESP Script for Roblox (Delta Exploit) -- ESP with mobile-friendly toggle button local players = game:GetService("Players") local runService = game:GetService("RunService") local userInputService = game:GetService("UserInputService") local starterGui = game:GetService("StarterGui") -- ESP Configuration local espEnabled = false -- Start disabled local boxColor = Color3.new(1, 0, 0) -- Red local nameColor = Color3.new(1, 1, 1) -- White local healthColor = Color3.new(0, 1, 0) -- Green -- Create mobile-friendly toggle button local screenGui = Instance.new("ScreenGui") screenGui.Name = "ESPToggle" screenGui.Parent = game:GetService("CoreGui") local toggleButton = Instance.new("TextButton") toggleButton.Name = "ESPToggleButton" toggleButton.Parent = screenGui toggleButton.Size = UDim2.new(0, 100, 0, 40) toggleButton.Position = UDim2.new(0, 10, 0, 100) toggleButton.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2) toggleButton.BorderSizePixel = 0 toggleButton.Font = Enum.Font.SourceSansBold toggleButton.Text = "ESP: OFF" toggleButton.TextColor3 = Color3.new(1, 1, 1) toggleButton.TextSize = 18 toggleButton.ZIndex = 1000 -- Make button draggable local dragging = false local dragStart = nil local startPos = nil toggleButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = toggleButton.Position end end) userInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement) then local delta = input.Position - dragStart toggleButton.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) userInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) -- Toggle ESP function local function toggleESP() espEnabled = not espEnabled toggleButton.Text = espEnabled and "ESP: ON" or "ESP: OFF" toggleButton.BackgroundColor3 = espEnabled and Color3.new(0, 0.5, 0) or Color3.new(0.2, 0.2, 0.2) -- Update visibility of existing ESP elements for _, player in pairs(players:GetPlayers()) do if player ~= players.LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local espBox = player.Character.HumanoidRootPart:FindFirstChildOfClass("BoxHandleAdornment") if espBox then espBox.Visible = espEnabled end local espName = player.Character:FindFirstChildOfClass("BillboardGui") if espName then espName.Enabled = espEnabled end end end end -- Connect button click toggleButton.MouseButton1Click:Connect(toggleESP) -- Function to create ESP for a player local function createESP(player) if player == players.LocalPlayer then return end local character = player.Character if not character or not character:FindFirstChild("HumanoidRootPart") then return end -- Create ESP elements local espBox = Instance.new("BoxHandleAdornment") espBox.Size = character.HumanoidRootPart.Size + Vector3.new(4, 6, 4) espBox.Color3 = boxColor espBox.Transparency = 0.7 espBox.ZIndex = 10 espBox.AlwaysOnTop = true espBox.Visible = espEnabled espBox.Parent = character.HumanoidRootPart local espName = Instance.new("BillboardGui") espName.Size = UDim2.new(0, 100, 0, 50) espName.StudsOffset = Vector3.new(0, 3, 0) espName.Enabled = espEnabled espName.Parent = character.Head local nameLabel = Instance.new("TextLabel") nameLabel.Size = UDim2.new(1, 0, 1, 0) nameLabel.BackgroundTransparency = 1 nameLabel.Text = player.Name nameLabel.TextColor3 = nameColor nameLabel.TextStrokeTransparency = 0 nameLabel.Font = Enum.Font.SourceSansBold nameLabel.TextSize = 14 nameLabel.Parent = espName -- Update ESP when player moves local connection connection = runService.Heartbeat:Connect(function() if not character or not character.Parent then connection:Disconnect() espBox:Destroy() espName:Destroy() return end if character:FindFirstChild("HumanoidRootPart") then espBox.Adornee = character.HumanoidRootPart end if character:FindFirstChild("Humanoid") then local health = character.Humanoid.Health local maxHealth = character.Humanoid.MaxHealth nameLabel.Text = player.Name .. " [" .. math.floor(health) .. "/" .. maxHealth .. "]" -- Change color based on health if health / maxHealth > 0.5 then nameLabel.TextColor3 = healthColor elseif health / maxHealth > 0.25 then nameLabel.TextColor3 = Color3.new(1, 1, 0) -- Yellow else nameLabel.TextColor3 = Color3.new(1, 0, 0) -- Red end end end) end -- Create ESP for all existing players for _, player in pairs(players:GetPlayers()) do createESP(player) end -- Create ESP for new players joining players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function() createESP(player) end) end) -- Notification starterGui:SetCore("ChatMakeSystemMessage", { Text = "[ESP Script] Mobile ESP loaded! Tap the ESP button to toggle."; Color = Color3.new(0, 1, 0); Font = Enum.Font.SourceSansBold; Size = 18; })