Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --angeld23's ESP + Chams
- --Made from scratch, report any bugs to angeld23#6785 on Discord
- --Obviously inspired by RacistDolphin's ESP + Chams, this is pretty much the same with a better looking GUI.
- --Keep in mind that I've never done something like this before, so it's a pretty big deal to me
- warn([[angeld23's ESP + Chams Loaded
- Changelog:
- -------------------
- v1.2.0 (11/11/2018)
- + ESP will now automatically check for every players' team every 20 seconds
- -------------------
- v1.1.0 (11/10/2018)
- + Colors in FFA mode now display the TeamColor of each player
- -------------------
- v1.0.1 (11/10/2018)
- - Removed display of HumanoidRootPart
- ]])
- local settings = {
- freeForAll = false,
- showTeam = true,
- showEnemy = true,
- esp = false,
- chams = true,
- }
- local player = game:GetService("Players").LocalPlayer
- local gui = game:GetObjects('rbxassetid://2552846969')[1]
- local espGui = game:GetObjects('rbxassetid://2552386986')[1]
- local chamText = game:GetObjects('rbxassetid://2552512660')[1]
- chamText.Text.Visible = false
- local chamsFolder = Instance.new("Folder", game:GetService("CoreGui"))
- chamsFolder.Name = "Chams_Storage"
- local espFolder = Instance.new("Folder", game:GetService("CoreGui"))
- espFolder.Name = "ESP_Storage"
- function getColor (bool)
- if bool then
- return Color3.new(0, 1, 0)
- else
- return Color3.new(1, 0, 0)
- end
- end
- gui.Parent = game:GetService("CoreGui")
- local b = gui.Background
- b.ESP.BackgroundColor3 = getColor(settings.esp)
- b.Chams.BackgroundColor3 = getColor(settings.chams)
- b.FFA.BackgroundColor3 = getColor(settings.freeForAll)
- b.ShowA.BackgroundColor3 = getColor(settings.showTeam)
- b.ShowE.BackgroundColor3 = getColor(settings.showEnemy)
- b.ESP.MouseButton1Click:Connect(function()
- settings.esp = not settings.esp
- b.ESP.BackgroundColor3 = getColor(settings.esp)
- for i,v in pairs (game:GetService("Players"):GetPlayers()) do
- wait(math.random())
- if v ~= player then
- updateESP(v)
- end
- end
- end)
- b.Chams.MouseButton1Click:Connect(function()
- settings.chams = not settings.chams
- b.Chams.BackgroundColor3 = getColor(settings.chams)
- end)
- b.FFA.MouseButton1Click:Connect(function()
- settings.freeForAll = not settings.freeForAll
- b.FFA.BackgroundColor3 = getColor(settings.freeForAll)
- for i,v in pairs (game:GetService("Players"):GetPlayers()) do
- wait(math.random())
- if v ~= player then
- updateESP(v)
- end
- end
- end)
- b.ShowA.MouseButton1Click:Connect(function()
- settings.showTeam = not settings.showTeam
- b.ShowA.BackgroundColor3 = getColor(settings.showTeam)
- for i,v in pairs (game:GetService("Players"):GetPlayers()) do
- wait(math.random())
- if v ~= player then
- updateESP(v)
- end
- end
- end)
- b.ShowE.MouseButton1Click:Connect(function()
- settings.showEnemy = not settings.showEnemy
- b.ShowE.BackgroundColor3 = getColor(settings.showEnemy)
- for i,v in pairs (game:GetService("Players"):GetPlayers()) do
- wait(math.random())
- if v ~= player then
- updateESP(v)
- end
- end
- end)
- b.Top.Close.MouseButton1Click:Connect(function()
- espGui:Destroy()
- chamText:Destroy()
- chamsFolder:Destroy()
- gui:Destroy()
- espFolder:Destroy()
- script.Disabled = true
- end)
- local minimized = false
- local mButton = b.Top.Minimize
- b.Top.Minimize.MouseButton1Click:Connect(function()
- minimized = not minimized
- if minimized then
- mButton.Parent = b
- else
- mButton.Parent = b.Top
- end
- for i,v in pairs (b:GetChildren()) do
- if v ~= mButton and v ~= b then
- v.Visible = not minimized
- end
- end
- if minimized then b.BackgroundTransparency = 1 else b.BackgroundTransparency = 0 end
- end)
- function updateESP (plr)
- if not plr.Character or not espFolder:FindFirstChild(plr.Name) then return end
- espFolder[plr.Name]:ClearAllChildren()
- if not settings.esp then return end
- if not settings.freeForAll and plr.Team == player.Team and not settings.showTeam then return end
- if not settings.freeForAll and plr.Team ~= player.Team and not settings.showEnemy then return end
- if settings.freeForAll and not settings.showEnemy then return end
- for o,b in pairs (plr.Character:GetChildren()) do
- wait(math.random())
- if b:IsA("BasePart") and b.Name ~= "HumanoidRootPart" then
- for a,z in pairs (espGui:GetChildren()) do
- wait(math.random())
- local c = z:Clone()
- c.Parent = espFolder[plr.Name]
- c.Adornee = b
- end
- end
- end
- local color = Color3.new(1, 0, 0)
- if not settings.freeForAll and plr.Team == player.Team then
- color = Color3.new(0, 1, 0)
- end
- if settings.freeForAll then
- color = plr.TeamColor.Color
- end
- for i,v in pairs (espFolder[plr.Name]:GetChildren()) do
- v.Color.BackgroundColor3 = color
- end
- end
- function updateChams (plr)
- if not settings.freeForAll and plr.Team == player.Team and not settings.showTeam then return end
- if not settings.freeForAll and plr.Team ~= player.Team and not settings.showEnemy then return end
- if settings.freeForAll and not settings.showEnemy then return end
- if plr.Character and plr.Character:FindFirstChildOfClass("Humanoid") and plr.Character:FindFirstChild("HumanoidRootPart") and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
- local c = chamText:Clone()
- c.Parent = chamsFolder
- if c:FindFirstChild("Text") then
- c.Text.Text = plr.Name..[[
- Health: ]]..tostring(math.floor(plr.Character.Humanoid.Health))..[[
- Distance: ]]..tostring(math.floor((plr.Character:FindFirstChild("HumanoidRootPart").Position - player.Character.HumanoidRootPart.Position).Magnitude))
- c.Adornee = plr.Character:FindFirstChild("Head")
- if plr.Team == player.Team and not settings.freeForAll then
- c.Text.TextColor3 = Color3.new(0, 1, 0)
- end
- if settings.freeForAll then
- c.Text.TextColor3 = plr.TeamColor.Color
- end
- c.Text.Visible = true
- end
- end
- end
- for i,v in pairs (game:GetService("Players"):GetPlayers()) do
- if v ~= player then
- local f = Instance.new("Folder", espFolder)
- f.Name = v.Name
- if v.Character then
- for o,b in pairs (v.Character:GetChildren()) do
- if b:IsA("BasePart") then
- for a,z in pairs (espGui:GetChildren()) do
- local c = z:Clone()
- c.Parent = espFolder[v.Name]
- c.Adornee = b
- end
- end
- end
- end
- v.CharacterAdded:Connect(function()
- wait(0.2)
- updateESP(v)
- end)
- end
- end
- game:GetService("Players").PlayerAdded:Connect(function(p)
- local f = Instance.new("Folder", espFolder)
- f.Name = p.Name
- p.CharacterAdded:Connect(function()
- wait(0.2)
- updateESP(p)
- end)
- end)
- game:GetService("Players").PlayerRemoving:Connect(function(p)
- if espFolder:FindFirstChild(p.Name) then
- espFolder[p.Name]:Destroy()
- end
- end)
- for i,v in pairs (game:GetService("Players"):GetPlayers()) do
- updateESP(v)
- end
- local updateCounter = 0
- local doUpdateESP = false
- while wait(0.1) do
- chamsFolder:ClearAllChildren()
- if updateCounter == 200 then
- updateCounter = 0
- doUpdateESP = true
- end
- for i,v in pairs (game:GetService("Players"):GetPlayers()) do
- if v ~= player then
- if settings.chams then
- updateChams(v)
- end
- if doUpdateESP then
- doUpdateESP = false
- if settings.esp then
- updateESP()
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement