-- 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;
})