Chaseycoil

Echam - Roblox ESP & Chams exploit

Aug 14th, 2025
2,023
0
Never
5
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 9.64 KB | Source Code | 0 0
  1. -- Echam ESP GUI Full Script
  2. local Players = game:GetService("Players")
  3. local RunService = game:GetService("RunService")
  4. local LocalPlayer = Players.LocalPlayer
  5. local CoreGui = game:GetService("CoreGui")
  6.  
  7. -- Settings
  8. local ESPEnabled = true
  9. local ChamEnabled = true
  10. local OutlineEnabled = true
  11. local ShowNameHealth = true
  12. local ShowDistance = true
  13. local ChamTransparency = 0.6
  14. local DefaultColor = Color3.fromRGB(0,255,0)
  15.  
  16. -- Health color function
  17. local function getColor(health)
  18.     if health < 2 then
  19.         return Color3.fromRGB(128,0,128)
  20.     elseif health < 25 then
  21.         return Color3.fromRGB(255,0,0)
  22.     elseif health < 75 then
  23.         return Color3.fromRGB(255,255,0)
  24.     else
  25.         return DefaultColor
  26.     end
  27. end
  28.  
  29. -- Main ScreenGui
  30. local screenGui = Instance.new("ScreenGui")
  31. screenGui.Name = "EchamGUI"
  32. screenGui.Parent = CoreGui
  33.  
  34. -- Main Frame
  35. local mainFrame = Instance.new("Frame")
  36. mainFrame.Size = UDim2.new(0,200,0,220)
  37. mainFrame.Position = UDim2.new(0,50,0,50)
  38. mainFrame.BackgroundColor3 = Color3.fromRGB(40,40,40)
  39. mainFrame.BorderSizePixel = 0
  40. mainFrame.Parent = screenGui
  41.  
  42. -- Top bar for dragging
  43. local topBar = Instance.new("Frame")
  44. topBar.Size = UDim2.new(1,0,0,30)
  45. topBar.BackgroundColor3 = Color3.fromRGB(20,20,20)
  46. topBar.BorderSizePixel = 0
  47. topBar.Parent = mainFrame
  48.  
  49. local title = Instance.new("TextLabel")
  50. title.Size = UDim2.new(1,0,1,0)
  51. title.Text = "Echam"
  52. title.TextColor3 = Color3.new(1,1,1)
  53. title.BackgroundTransparency = 1
  54. title.Font = Enum.Font.SourceSansBold
  55. title.TextScaled = true
  56. title.Parent = topBar
  57.  
  58. -- Close button
  59. local closeBtn = Instance.new("TextButton")
  60. closeBtn.Size = UDim2.new(0,25,0,25)
  61. closeBtn.Position = UDim2.new(1,-30,0,2)
  62. closeBtn.Text = "X"
  63. closeBtn.BackgroundColor3 = Color3.fromRGB(200,0,0)
  64. closeBtn.TextColor3 = Color3.new(1,1,1)
  65. closeBtn.Font = Enum.Font.SourceSansBold
  66. closeBtn.TextScaled = true
  67. closeBtn.Parent = topBar
  68.  
  69. -- Minimize button
  70. local minimizeBtn = Instance.new("TextButton")
  71. minimizeBtn.Size = UDim2.new(0,25,0,25)
  72. minimizeBtn.Position = UDim2.new(1,-60,0,2)
  73. minimizeBtn.Text = "_"
  74. minimizeBtn.BackgroundColor3 = Color3.fromRGB(150,150,150)
  75. minimizeBtn.TextColor3 = Color3.new(0,0,0)
  76. minimizeBtn.Font = Enum.Font.SourceSansBold
  77. minimizeBtn.TextScaled = true
  78. minimizeBtn.Parent = topBar
  79.  
  80. -- Toggle buttons frame
  81. local togglesFrame = Instance.new("Frame")
  82. togglesFrame.Size = UDim2.new(1,0,1,-30)
  83. togglesFrame.Position = UDim2.new(0,0,0,30)
  84. togglesFrame.BackgroundTransparency = 1
  85. togglesFrame.Parent = mainFrame
  86.  
  87. -- Function to create toggle buttons
  88. local function createToggleButton(text,pos,callback,getState)
  89.     local btn = Instance.new("TextButton")
  90.     btn.Size = UDim2.new(0,160,0,30)
  91.     btn.Position = pos
  92.     btn.Text = text..": ON"
  93.     btn.BackgroundColor3 = Color3.fromRGB(50,50,50)
  94.     btn.TextColor3 = Color3.new(1,1,1)
  95.     btn.Font = Enum.Font.SourceSansBold
  96.     btn.TextScaled = true
  97.     btn.Parent = togglesFrame
  98.     btn.MouseButton1Click:Connect(function()
  99.         callback()
  100.         local state = getState() and "ON" or "OFF"
  101.         btn.Text = text..": "..state
  102.     end)
  103.     return btn
  104. end
  105.  
  106. -- Create toggles
  107. local toggleButtons = {}
  108. toggleButtons.ESP = createToggleButton("ESP", UDim2.new(0,20,0,10), function() ESPEnabled = not ESPEnabled end, function() return ESPEnabled end)
  109. toggleButtons.Cham = createToggleButton("Cham", UDim2.new(0,20,0,50), function() ChamEnabled = not ChamEnabled end, function() return ChamEnabled end)
  110. toggleButtons.Outline = createToggleButton("Outline", UDim2.new(0,20,0,90), function() OutlineEnabled = not OutlineEnabled end, function() return OutlineEnabled end)
  111. toggleButtons.NameHealth = createToggleButton("Name/Health", UDim2.new(0,20,0,130), function() ShowNameHealth = not ShowNameHealth end, function() return ShowNameHealth end)
  112. toggleButtons.Distance = createToggleButton("Distance", UDim2.new(0,20,0,170), function() ShowDistance = not ShowDistance end, function() return ShowDistance end)
  113.  
  114. -- Draggable function for a handle dragging a target
  115. local function makeDraggable(handle, target)
  116.     local dragging, dragInput, dragStart, startPos
  117.     handle.InputBegan:Connect(function(input)
  118.         if input.UserInputType == Enum.UserInputType.MouseButton1 then
  119.             dragging = true
  120.             dragStart = input.Position
  121.             startPos = target.Position
  122.             input.Changed:Connect(function()
  123.                 if input.UserInputState == Enum.UserInputState.End then
  124.                     dragging = false
  125.                 end
  126.             end)
  127.         end
  128.     end)
  129.     handle.InputChanged:Connect(function(input)
  130.         if input.UserInputType == Enum.UserInputType.MouseMovement then
  131.             dragInput = input
  132.         end
  133.     end)
  134.     RunService.RenderStepped:Connect(function()
  135.         if dragging and dragInput then
  136.             local delta = dragInput.Position - dragStart
  137.             target.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X,
  138.                                         startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  139.         end
  140.     end)
  141. end
  142.  
  143. -- Apply draggable to top bar dragging the main frame
  144. makeDraggable(topBar, mainFrame)
  145.  
  146. -- Minimize / restore
  147. local minimized = false
  148. local smallCircle
  149. local function restoreGUI()
  150.     minimized = false
  151.     mainFrame.Visible = true
  152.     if smallCircle then
  153.         smallCircle:Destroy()
  154.         smallCircle = nil
  155.     end
  156. end
  157.  
  158. minimizeBtn.MouseButton1Click:Connect(function()
  159.     minimized = true
  160.     mainFrame.Visible = false
  161.  
  162.     smallCircle = Instance.new("TextButton")
  163.     smallCircle.Size = UDim2.new(0,50,0,50)
  164.     smallCircle.Position = UDim2.new(0,10,0,10)
  165.     smallCircle.Text = "EC"
  166.     smallCircle.BackgroundColor3 = Color3.fromRGB(50,50,50)
  167.     smallCircle.TextColor3 = Color3.new(1,1,1)
  168.     smallCircle.Font = Enum.Font.SourceSansBold
  169.     smallCircle.TextScaled = true
  170.     smallCircle.Parent = screenGui
  171.  
  172.     -- Make draggable
  173.     makeDraggable(smallCircle, smallCircle)
  174.  
  175.     smallCircle.MouseButton1Click:Connect(function()
  176.         restoreGUI()
  177.     end)
  178. end)
  179.  
  180. closeBtn.MouseButton1Click:Connect(function()
  181.     screenGui:Destroy()
  182. end)
  183.  
  184. -- ESP Implementation
  185. local ESPObjects = {}
  186. local function createESP(player)
  187.     if player == LocalPlayer then return end
  188.     if ESPObjects[player] then return end
  189.     local char = player.Character
  190.     if not char then return end
  191.     local hrp = char:FindFirstChild("HumanoidRootPart")
  192.     local hum = char:FindFirstChildOfClass("Humanoid")
  193.     if not hrp or not hum then return end
  194.  
  195.     local bill = Instance.new("BillboardGui")
  196.     bill.Name = "ESPBillboard"
  197.     bill.Adornee = hrp
  198.     bill.Size = UDim2.new(0,150,0,50)
  199.     bill.StudsOffset = Vector3.new(0,3,0)
  200.     bill.AlwaysOnTop = true
  201.  
  202.     local nameLabel = Instance.new("TextLabel")
  203.     nameLabel.Size = UDim2.new(1,0,0.5,0)
  204.     nameLabel.BackgroundTransparency = 1
  205.     nameLabel.Font = Enum.Font.SourceSansBold
  206.     nameLabel.TextScaled = true
  207.     nameLabel.Text = player.Name
  208.     nameLabel.Parent = bill
  209.  
  210.     local healthLabel = Instance.new("TextLabel")
  211.     healthLabel.Size = UDim2.new(1,0,0.5,0)
  212.     healthLabel.Position = UDim2.new(0,0,0.5,0)
  213.     healthLabel.BackgroundTransparency = 1
  214.     healthLabel.Font = Enum.Font.SourceSansBold
  215.     healthLabel.TextScaled = true
  216.     healthLabel.Text = tostring(math.floor(hum.Health))
  217.     healthLabel.Parent = bill
  218.  
  219.     local distanceLabel = Instance.new("TextLabel")
  220.     distanceLabel.Size = UDim2.new(1,0,0,20)
  221.     distanceLabel.Position = UDim2.new(0,0,1,0)
  222.     distanceLabel.BackgroundTransparency = 1
  223.     distanceLabel.Font = Enum.Font.SourceSans
  224.     distanceLabel.TextScaled = true
  225.     distanceLabel.Text = ""
  226.     distanceLabel.TextColor3 = Color3.new(1,1,1)
  227.     distanceLabel.Parent = bill
  228.  
  229.     bill.Parent = CoreGui
  230.  
  231.     local highlight = Instance.new("Highlight")
  232.     highlight.Adornee = char
  233.     highlight.FillTransparency = ChamTransparency
  234.     highlight.OutlineTransparency = 0
  235.     highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
  236.     highlight.Parent = CoreGui
  237.  
  238.     ESPObjects[player] = {bill=bill, highlight=highlight, hum=hum, nameLabel=nameLabel, healthLabel=healthLabel, distanceLabel=distanceLabel}
  239.  
  240.     RunService.RenderStepped:Connect(function()
  241.         if not char.Parent then
  242.             bill:Destroy()
  243.             highlight:Destroy()
  244.             ESPObjects[player] = nil
  245.             return
  246.         end
  247.  
  248.         local currentHealth = math.max(0, hum.Health)
  249.         local color = getColor(currentHealth)
  250.  
  251.         -- Toggle elements properly
  252.         bill.Enabled = ESPEnabled and not minimized
  253.         highlight.Enabled = ChamEnabled and not minimized
  254.         highlight.OutlineTransparency = OutlineEnabled and 0 or 1
  255.         nameLabel.Visible = ShowNameHealth
  256.         healthLabel.Visible = ShowNameHealth
  257.         distanceLabel.Visible = ShowDistance
  258.  
  259.         if ShowDistance and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
  260.             local dist = (LocalPlayer.Character.HumanoidRootPart.Position - hrp.Position).Magnitude
  261.             distanceLabel.Text = string.format("%.1f studs", dist)
  262.         else
  263.             distanceLabel.Text = ""
  264.         end
  265.  
  266.         nameLabel.TextColor3 = color
  267.         healthLabel.TextColor3 = color
  268.         highlight.FillColor = color
  269.         highlight.OutlineColor = color
  270.         healthLabel.Text = tostring(math.floor(currentHealth))
  271.     end)
  272. end
  273.  
  274. Players.PlayerAdded:Connect(function(player)
  275.     player.CharacterAdded:Connect(function()
  276.         createESP(player)
  277.     end)
  278. end)
  279.  
  280. for _,player in pairs(Players:GetPlayers()) do
  281.     if player.Character then
  282.         createESP(player)
  283.     end
  284. end
  285.  
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
Add Comment
Please, Sign In to add comment