ESP Universal Mobile Script
Roblox Scripts is what Roblox players and coders use to build interactive games. To be more specific, players use Lua scripts a popular scripting and programming language.
Instruction
1.Open Roblox And Start Playing 2.Click The Blue Circle To Copy The Script Code 3.Paste The Script Code Into Your Executor 4.Then Execute The Script Code 5.Enjoy
Script Code
local Settings = { Box_Color = Color3.fromRGB(255, 0, 0), Tracer_Color = Color3.fromRGB(255, 0, 0), Tracer_Thickness = 1, Box_Thickness = 1, Tracer_Origin = "Bottom", -- you'd be pretty stupid to not know what this does... Tracer_FollowMouse = true, -- turn it off if you dont want the tracers to follow Mouse Tracers = true } local Team_Check = { TeamCheck = false, -- if TeamColor is on this won't matter... Green = Color3.fromRGB(0, 255, 0), Red = Color3.fromRGB(255, 0, 0) } local TeamColor = true --// SEPARATION local player = game:GetService("Players").LocalPlayer local camera = game:GetService("Workspace").CurrentCamera local mouse = player:GetMouse() local function NewQuad(thickness, color) local quad = Drawing.new("Quad") quad.Visible = false quad.PointA = Vector2.new(0,0) quad.PointB = Vector2.new(0,0) quad.PointC = Vector2.new(0,0) quad.PointD = Vector2.new(0,0) quad.Color = color quad.Filled = false quad.Thickness = thickness quad.Transparency = 1 return quad end local function NewLine(thickness, color) local line = Drawing.new("Line") line.Visible = false line.From = Vector2.new(0, 0) line.To = Vector2.new(0, 0) line.Color = color line.Thickness = thickness line.Transparency = 1 return line end local function Visibility(state, lib) for u, x in pairs(lib) do x.Visible = state end end local function ToColor3(col) --Function to convert, just for giggles local r = col.r --Red value local g = col.g --Green value local b = col.b --Blue value return Color3.new(r,g,b); --Color3 datatype, made of the RGB inputs end local black = Color3.fromRGB(0, 0 ,0) local function ESP(plr) local library = { --//Tracer and Black Tracer(black border) blacktracer = NewLine(Settings.Tracer_Thickness*2, black), tracer = NewLine(Settings.Tracer_Thickness, Settings.Tracer_Color), --//Box and Black Box(black border) black = NewQuad(Settings.Box_Thickness*2, black), box = NewQuad(Settings.Box_Thickness, Settings.Box_Color), --//Bar and Green Health Bar (part that moves up/down) healthbar = NewLine(3, black), greenhealth = NewLine(1.5, black) } local function Colorize(color) for u, x in pairs(library) do if x ~= library.healthbar and x ~= library.greenhealth and x ~= library.blacktracer and x ~= library.black then x.Color = color end end end local function Updater() local connection connection = game:GetService("RunService").RenderStepped:Connect(function() if plr.Character ~= nil and plr.Character:FindFirstChild("Humanoid") ~= nil and plr.Character:FindFirstChild("HumanoidRootPart") ~= nil and plr.Character.Humanoid.Health > 0 and plr.Character:FindFirstChild("Head") ~= nil then local HumPos, OnScreen = camera:WorldToViewportPoint(plr.Character.HumanoidRootPart.Position) if OnScreen then local head = camera:WorldToViewportPoint(plr.Character.Head.Position) local DistanceY = math.clamp((Vector2.new(head.X, head.Y) - Vector2.new(HumPos.X, HumPos.Y)).magnitude, 2, math.huge) local function Size(item) item.PointA = Vector2.new(HumPos.X + DistanceY, HumPos.Y - DistanceY*2) item.PointB = Vector2.new(HumPos.X - DistanceY, HumPos.Y - DistanceY*2) item.PointC = Vector2.new(HumPos.X - DistanceY, HumPos.Y + DistanceY*2) item.PointD = Vector2.new(HumPos.X + DistanceY, HumPos.Y + DistanceY*2) end Size(library.box) Size(library.black) --//Tracer if Settings.Tracers then if Settings.Tracer_Origin == "Middle" then library.tracer.From = camera.ViewportSize*0.5 library.blacktracer.From = camera.ViewportSize*0.5 elseif Settings.Tracer_Origin == "Bottom" then library.tracer.From = Vector2.new(camera.ViewportSize.X*0.5, camera.ViewportSize.Y) library.blacktracer.From = Vector2.new(camera.ViewportSize.X*0.5, camera.ViewportSize.Y) end if Settings.Tracer_FollowMouse then library.tracer.From = Vector2.new(mouse.X, mouse.Y+36) library.blacktracer.From = Vector2.new(mouse.X, mouse.Y+36) end library.tracer.To = Vector2.new(HumPos.X, HumPos.Y + DistanceY*2) library.blacktracer.To = Vector2.new(HumPos.X, HumPos.Y + DistanceY*2) else library.tracer.From = Vector2.new(0, 0) library.blacktracer.From = Vector2.new(0, 0) library.tracer.To = Vector2.new(0, 0) library.blacktracer.To = Vector2.new(0, 02) end --// Health Bar local d = (Vector2.new(HumPos.X - DistanceY, HumPos.Y - DistanceY*2) - Vector2.new(HumPos.X - DistanceY, HumPos.Y + DistanceY*2)).magnitude local healthoffset = plr.Character.Humanoid.Health/plr.Character.Humanoid.MaxHealth * d library.greenhealth.From = Vector2.new(HumPos.X - DistanceY - 4, HumPos.Y + DistanceY*2) library.greenhealth.To = Vector2.new(HumPos.X - DistanceY - 4, HumPos.Y + DistanceY*2 - healthoffset) library.healthbar.From = Vector2.new(HumPos.X - DistanceY - 4, HumPos.Y + DistanceY*2) library.healthbar.To = Vector2.new(HumPos.X - DistanceY - 4, HumPos.Y - DistanceY*2) local green = Color3.fromRGB(0, 255, 0) local red = Color3.fromRGB(255, 0, 0) library.greenhealth.Color = red:lerp(green, plr.Character.Humanoid.Health/plr.Character.Humanoid.MaxHealth); if Team_Check.TeamCheck then if plr.TeamColor == player.TeamColor then Colorize(Team_Check.Green) else Colorize(Team_Check.Red) end else library.tracer.Color = Settings.Tracer_Color library.box.Color = Settings.Box_Color end if TeamColor == true then Colorize(plr.TeamColor.Color) end Visibility(true, library) else Visibility(false, library) end else Visibility(false, library) if game.Players:FindFirstChild(plr.Name) == nil then connection:Disconnect() end end end) end coroutine.wrap(Updater)() end for i, v in pairs(game:GetService("Players"):GetPlayers()) do if v.Name ~= player.Name then coroutine.wrap(ESP)(v) end end game.Players.PlayerAdded:Connect(function(newplr) if newplr.Name ~= player.Name then coroutine.wrap(ESP)(newplr) end end)