PLAYER = game.Players.LocalPlayer MOUSE = PLAYER:GetMouse() CC = game.Workspace.CurrentCamera ENABLED = false ESP_ENABLED = false _G.FREE_FOR_ALL = true _G.BIND = 50 _G.ESP_BIND = 52 _G.CHANGE_AIM = 'q' _G.AIM_AT = 'Torso' wait(1) function GetNearestPlayerToMouse() local PLAYERS = {} local PLAYER_HOLD = {} local DISTANCES = {} for i, v in pairs(game.Players:GetPlayers()) do if v ~= PLAYER then table.insert(PLAYERS, v) end end for i, v in pairs(PLAYERS) do if _G.FREE_FOR_ALL == false then if v and (v.Character) ~= nil and v.TeamColor ~= PLAYER.TeamColor then local AIM = v.Character:FindFirstChild(_G.AIM_AT) if AIM ~= nil then local DISTANCE = (AIM.Position - game.Workspace.CurrentCamera.CoordinateFrame.p).magnitude local RAY = Ray.new(game.Workspace.CurrentCamera.CoordinateFrame.p, (MOUSE.Hit.p - CC.CoordinateFrame.p).unit * DISTANCE) local HIT,POS = game.Workspace:FindPartOnRay(RAY, game.Workspace) local DIFF = math.floor((POS - AIM.Position).magnitude) PLAYER_HOLD[v.Name .. i] = {} PLAYER_HOLD[v.Name .. i].dist = DISTANCE PLAYER_HOLD[v.Name .. i].plr = v PLAYER_HOLD[v.Name .. i].diff = DIFF table.insert(DISTANCES, DIFF) end end elseif _G.FREE_FOR_ALL == true then local AIM = v.Character:FindFirstChild(_G.AIM_AT) if AIM ~= nil then local DISTANCE = (AIM.Position - game.Workspace.CurrentCamera.CoordinateFrame.p).magnitude local RAY = Ray.new(game.Workspace.CurrentCamera.CoordinateFrame.p, (MOUSE.Hit.p - CC.CoordinateFrame.p).unit * DISTANCE) local HIT,POS = game.Workspace:FindPartOnRay(RAY, game.Workspace) local DIFF = math.floor((POS - AIM.Position).magnitude) PLAYER_HOLD[v.Name .. i] = {} PLAYER_HOLD[v.Name .. i].dist = DISTANCE PLAYER_HOLD[v.Name .. i].plr = v PLAYER_HOLD[v.Name .. i].diff = DIFF table.insert(DISTANCES, DIFF) end end end if unpack(DISTANCES) == nil then return false end local L_DISTANCE = math.floor(math.min(unpack(DISTANCES))) if L_DISTANCE > 20 then return false end for i, v in pairs(PLAYER_HOLD) do if v.diff == L_DISTANCE then return v.plr end end return false end GUI_MAIN = Instance.new('ScreenGui', game.CoreGui) GUI_TARGET = Instance.new('TextLabel', GUI_MAIN) GUI_AIM_AT = Instance.new('TextLabel', GUI_MAIN) GUI_MAIN.Name = 'AIMBOT' GUI_TARGET.Size = UDim2.new(0,200,0,30) GUI_TARGET.BackgroundTransparency = 0.5 GUI_TARGET.BackgroundColor = BrickColor.new('Fossil') GUI_TARGET.BorderSizePixel = 0 GUI_TARGET.Position = UDim2.new(0.5,-100,0,0) GUI_TARGET.Text = 'AIMBOT : OFF' GUI_TARGET.TextColor3 = Color3.new(1,1,1) GUI_TARGET.TextStrokeTransparency = 1 GUI_TARGET.TextWrapped = true GUI_TARGET.FontSize = 'Size24' GUI_TARGET.Font = 'GothamBold' GUI_AIM_AT.Size = UDim2.new(0,200,0,20) GUI_AIM_AT.BackgroundTransparency = 0.5 GUI_AIM_AT.BackgroundColor = BrickColor.new('Fossil') GUI_AIM_AT.BorderSizePixel = 0 GUI_AIM_AT.Position = UDim2.new(0.5,-100,0,30) GUI_AIM_AT.Text = 'AIMING : TORSO' GUI_AIM_AT.TextColor3 = Color3.new(1,1,1) GUI_AIM_AT.TextStrokeTransparency = 1 GUI_AIM_AT.TextWrapped = true GUI_AIM_AT.FontSize = 'Size18' GUI_AIM_AT.Font = 'Gotham' local TRACK = false function CREATE(BASE, TEAM) local ESP_MAIN = Instance.new('BillboardGui', PLAYER.PlayerGui) local ESP_DOT = Instance.new('Frame', ESP_MAIN) local ESP_NAME = Instance.new('TextLabel', ESP_MAIN) ESP_MAIN.Name = 'ESP' ESP_MAIN.Adornee = BASE ESP_MAIN.AlwaysOnTop = true ESP_MAIN.ExtentsOffset = Vector3.new(0, 1, 0) ESP_MAIN.Size = UDim2.new(0, 5, 0, 5) ESP_DOT.Name = 'DOT' ESP_DOT.BackgroundColor = BrickColor.new('Lime green') ESP_DOT.BackgroundTransparency = 0.3 ESP_DOT.BorderSizePixel = 0 ESP_DOT.Position = UDim2.new(-0.5, 0, -0.5, 0) ESP_DOT.Size = UDim2.new(2, 0, 2, 0) ESP_DOT.Visible = true ESP_DOT.ZIndex = 10 ESP_NAME.Name = 'NAME' ESP_NAME.BackgroundColor3 = Color3.new(255, 255, 255) ESP_NAME.BackgroundTransparency = 1 ESP_NAME.BorderSizePixel = 0 ESP_NAME.Position = UDim2.new(0, 0, 0, -40) ESP_NAME.Size = UDim2.new(1, 0, 10, 0) ESP_NAME.Visible = true ESP_NAME.ZIndex = 10 ESP_NAME.Font = 'GothamBold' ESP_NAME.FontSize = 'Size14' ESP_NAME.Text = BASE.Parent.Name:upper() ESP_NAME.TextColor = BrickColor.new('Lime green') end function CLEAR() for _,v in pairs(PLAYER.PlayerGui:children()) do if v.Name == 'ESP' and v:IsA('BillboardGui') then v:Destroy() end end end function FIND() CLEAR() TRACK = true spawn(function() while wait() do if TRACK then CLEAR() for i,v in pairs(game.Players:GetChildren()) do if v.Character and v.Character:FindFirstChild('Head') then if _G.FREE_FOR_ALL == false then if v.TeamColor ~= PLAYER.TeamColor then if v.Character:FindFirstChild('Head') then CREATE(v.Character.Head, true) end end else if v.Character:FindFirstChild('Head') then CREATE(v.Character.Head, true) end end end end end end wait(1) end) end MOUSE.KeyDown:connect(function(KEY) KEY = KEY:lower():byte() if KEY == _G.BIND then ENABLED = true end end) MOUSE.KeyUp:connect(function(KEY) KEY = KEY:lower():byte() if KEY == _G.BIND then ENABLED = false end end) MOUSE.KeyDown:connect(function(KEY) KEY = KEY:lower():byte() if KEY == _G.ESP_BIND then if ESP_ENABLED == false then FIND() ESP_ENABLED = true print('ESP : ON') elseif ESP_ENABLED == true then wait() CLEAR() TRACK = false ESP_ENABLED = true print('ESP : OFF') end end end) MOUSE.KeyDown:connect(function(KEY) if KEY == _G.CHANGE_AIM then if _G.AIM_AT == 'Head' then _G.AIM_AT = 'Torso' GUI_AIM_AT.Text = 'AIMING : TORSO' elseif _G.AIM_AT == 'Torso' then _G.AIM_AT = 'Head' GUI_AIM_AT.Text = 'AIMING : HEAD' end end end) game:GetService('RunService').RenderStepped:connect(function() if ENABLED then local TARGET = GetNearestPlayerToMouse() if (TARGET ~= false) then local AIM = TARGET.Character:FindFirstChild(_G.AIM_AT) if AIM then CC.CoordinateFrame = CFrame.new(CC.CoordinateFrame.p, AIM.CFrame.p) end GUI_TARGET.Text = 'AIMBOT : '.. TARGET.Name:sub(1, 5) else GUI_TARGET.Text = 'AIMBOT : OFF' end end end) repeat wait() if ESP_ENABLED == true then FIND() end until ESP_ENABLED == false wait() _G.FREE_FOR_ALL = true _G.BIND = 50 -- LEFT CTRL _G.ESP_BIND = 52 -- LEFT ALT