local function API_Check() if Drawing == nil then return "No" else return "Yes" end end local Find_Required = API_Check() if Find_Required == "No" then game:GetService("StarterGui"):SetCore("SendNotification",{ Title = "Exunys Developer"; Text = "ESP script could not be loaded because your exploit is unsupported."; Duration = math.huge; Button1 = "OK" }) return end local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Camera = workspace.CurrentCamera local Typing = false _G.SendNotifications = true -- If set to true then the script would notify you frequently on any changes applied and when loaded / errored. (If a game can detect this, it is recommended to set it to false) _G.DefaultSettings = false -- If set to true then the ESP script would run with default settings regardless of any changes you made. _G.TeamCheck = false -- If set to true then the script would create ESP only for the enemy team members. _G.ESPVisible = true -- If set to true then the ESP will be visible and vice versa. _G.TextColor = Color3.fromRGB(255, 80, 10) -- The color that the boxes would appear as. _G.TextSize = 14 -- The size of the text. _G.Center = true -- If set to true then the script would be located at the center of the label. _G.Outline = true -- If set to true then the text would have an outline. _G.OutlineColor = Color3.fromRGB(0, 0, 0) -- The outline color of the text. _G.TextTransparency = 0.7 -- The transparency of the text. _G.TextFont = Drawing.Fonts.UI -- The font of the text. (UI, System, Plex, Monospace) _G.DisableKey = Enum.KeyCode.Q -- The key that disables / enables the ESP. local function CreateESP() for _, v in next, Players:GetPlayers() do if v.Name ~= Players.LocalPlayer.Name then local ESP = Drawing.new("Text") RunService.RenderStepped:Connect(function() if workspace:FindFirstChild(v.Name) ~= nil and workspace[v.Name]:FindFirstChild("HumanoidRootPart") ~= nil then local Vector, OnScreen = Camera:WorldToViewportPoint(workspace[v.Name]:WaitForChild("Head", math.huge).Position) ESP.Size = _G.TextSize ESP.Center = _G.Center ESP.Outline = _G.Outline ESP.OutlineColor = _G.OutlineColor ESP.Color = _G.TextColor ESP.Transparency = _G.TextTransparency ESP.Font = _G.TextFont if OnScreen == true then local Part1 = workspace:WaitForChild(v.Name, math.huge):WaitForChild("HumanoidRootPart", math.huge).Position local Part2 = workspace:WaitForChild(Players.LocalPlayer.Name, math.huge):WaitForChild("HumanoidRootPart", math.huge).Position or 0 local Dist = (Part1 - Part2).Magnitude ESP.Position = Vector2.new(Vector.X, Vector.Y - 25) ESP.Text = ("("..tostring(math.floor(tonumber(Dist)))..") "..v.Name.." ["..workspace[v.Name].Humanoid.Health.."]") if _G.TeamCheck == true then if Players.LocalPlayer.Team ~= v.Team then ESP.Visible = _G.ESPVisible else ESP.Visible = false end else ESP.Visible = _G.ESPVisible end else ESP.Visible = false end else ESP.Visible = false end end) Players.PlayerRemoving:Connect(function() ESP.Visible = false end) end end Players.PlayerAdded:Connect(function(Player) Player.CharacterAdded:Connect(function(v) if v.Name ~= Players.LocalPlayer.Name then local ESP = Drawing.new("Text") RunService.RenderStepped:Connect(function() if workspace:FindFirstChild(v.Name) ~= nil and workspace[v.Name]:FindFirstChild("HumanoidRootPart") ~= nil then local Vector, OnScreen = Camera:WorldToViewportPoint(workspace[v.Name]:WaitForChild("Head", math.huge).Position) ESP.Size = _G.TextSize ESP.Center = _G.Center ESP.Outline = _G.Outline ESP.OutlineColor = _G.OutlineColor ESP.Color = _G.TextColor ESP.Transparency = _G.TextTransparency if OnScreen == true then local Part1 = workspace:WaitForChild(v.Name, math.huge):WaitForChild("HumanoidRootPart", math.huge).Position local Part2 = workspace:WaitForChild(Players.LocalPlayer.Name, math.huge):WaitForChild("HumanoidRootPart", math.huge).Position or 0 local Dist = (Part1 - Part2).Magnitude ESP.Position = Vector2.new(Vector.X, Vector.Y - 25) ESP.Text = ("("..tostring(math.floor(tonumber(Dist)))..") "..v.Name.." ["..workspace[v.Name].Humanoid.Health.."]") if _G.TeamCheck == true then if Players.LocalPlayer.Team ~= Player.Team then ESP.Visible = _G.ESPVisible else ESP.Visible = false end else ESP.Visible = _G.ESPVisible end else ESP.Visible = false end else ESP.Visible = false end end) Players.PlayerRemoving:Connect(function() ESP.Visible = false end) end end) end) end if _G.DefaultSettings == true then _G.TeamCheck = false _G.ESPVisible = true _G.TextColor = Color3.fromRGB(40, 90, 255) _G.TextSize = 14 _G.Center = true _G.Outline = false _G.OutlineColor = Color3.fromRGB(0, 0, 0) _G.DisableKey = Enum.KeyCode.Q _G.TextTransparency = 0.75 end UserInputService.TextBoxFocused:Connect(function() Typing = true end) UserInputService.TextBoxFocusReleased:Connect(function() Typing = false end) UserInputService.InputBegan:Connect(function(Input) if Input.KeyCode == _G.DisableKey and Typing == false then _G.ESPVisible = not _G.ESPVisible if _G.SendNotifications == true then game:GetService("StarterGui"):SetCore("SendNotification",{ Title = "Exunys Developer"; Text = "The ESP's visibility is now set to "..tostring(_G.ESPVisible).."."; Duration = 5; }) end end end) local Success, Errored = pcall(function() CreateESP() end) if Success and not Errored then if _G.SendNotifications == true then game:GetService("StarterGui"):SetCore("SendNotification",{ Title = "Exunys Developer"; Text = "ESP script has successfully loaded."; Duration = 5; }) end elseif Errored and not Success then if _G.SendNotifications == true then game:GetService("StarterGui"):SetCore("SendNotification",{ Title = "Exunys Developer"; Text = "ESP script has errored while loading, please check the developer console! (F9)"; Duration = 5; }) end TestService:Message("The ESP script has errored, please notify Exunys with the following information :") warn(Errored) print("!! IF THE ERROR IS A FALSE POSITIVE (says that a player cannot be found) THEN DO NOT BOTHER !!") end