--Updated aimbot it will now work! ESP = true --Do you want ESP? Aimbot = true --Do you want Aimbot? IgnoreWalls = true --Do you want to shoot through walls? _G.Legit = true --Do you always want to shoot headshots? BeepEffect = true --Do you want it to make a sound when someone comes close to you from behind? BeepSound = 138081500 --What sound do you want to play when someone comes behind you (BeepEffect must be enabled for it to work) BeepSize = 8 --How large should the red dot be? BeepVolume = 1 --Max volume for the SoundID(1 is max, 0 is nothing.) TimeDelay = 6 --If you look at the person it won't beep again until the timedelay is up (BeepEffect must be enabled) SoundDelay = 2 --Time before a new sound is played. (Useful if many people spawn on the same person so you won't hear 999 beeps) DetectionTime = 1 --How long should you wait to make sure the person is looking at you to beep? BehindDetectionTime = 1 --How long should you wait to check if the person is behind you? Sniper = {"INTERVENTION", "REMINGTON 700", "AWS", "L115A3", "MOSIN NAGANT", "OBREZ"} SpecialSniper = {"BFG 50", "SFG 50"} WeakSniper = {"MK11", "SKS", "SCAR SSR", "DRAGUNOV SVU", "HENRY 45-70"} SMG = {"SCAR-H", "AG-3", "M4A1", "G36C", "M4", "L22", "SCAR PDW", "SR-3M", "P90", "AUG A3 PARA", "AK12", "AN-94", "AS VAL", "SCAR-L", "AUG A1", "M16A4", "G36", "M16A3", "AUG A2", "FAMAS", "AK44", "AUG A3", "L85A2", "HONEY BADGER", "AK74", "AKM", "M231"} WeakSMG = {"MP5K", "UMP45", "MP7", "MAC10", "MP5", "COLT SMG 635", "MP5SD", "MP10", "MP5/10", "KRISS VECTOR"} ShotGun = {"REMINGTON 870", "KSG 12", "KS-23M", "SERBU SHOTGUN"} LMG = {"COLT LMG", "M60", "AUG HBAR", "MG36", "L86 LSW", "RPK", "SCAR HAMR", "RPK74"} Other = {"M9", "GLOCK 17", "M1911", "DEAGLE 44", "GLOCK 18", "M93R", "TEC9", "MP412 REX"} Melee = {"KNIFE", "MACHETE"} warn("Version: 1.0.0, Welcome To Project Bear's ESP, Report bugs to the Project Bear Discord.") local camera = workspace.CurrentCamera local ScreenX, ScreenY = workspace.CurrentCamera.ViewportSize.X, workspace.CurrentCamera.ViewportSize.Y local inversePi = 1 / math.pi _G.FOV = 9 local magic = _G.FOV*inversePi _G.ignoreFOV = false local aim_through_list = {nil, nil, nil} local distance local ignore local distance2 Pixels = ScreenX * ScreenY local mouse = game:GetService("Players").LocalPlayer:GetMouse() Radius = math.sqrt(Pixels*magic) local viable local your_head = game:GetService("Players").LocalPlayer.Character:FindFirstChild("Head") local ray_start local vector _G.ignoreWalls = true _G.ShootingTeam = false local enabled = false local target local function ReturnF(player, bone) if not bone and player.Character:FindFirstChild(bone) then return {_, false} end return camera:WorldToScreenPoint(player.Character[bone].Position) end local function checksight(player) local screen_position, in_fov = ReturnF(player, "Head") -- end my life if not (in_fov or _G.ignoreFOV) then return false else -- bug here with fov checks if (not _G.ignoreFOV) and (_G.FOV~=-1) then local distance2 = (Vector2.new(screen_position.X, screen_position.Y) - Vector2.new(mouse.X, mouse.Y)).magnitude if distance2<=Radius then return player, screen_position end return false else return player, screen_position end end end local function ViableP() aim_through_list[1] = game:GetService("Players").LocalPlayer.Character local distance = 1000 local closest_distance = 1000 local most_viable_player = nil for i, player_being_checked in pairs(game:GetService("Players"):GetPlayers()) do local player_or_false, targets_coordinates = checksight(player_being_checked) if (player_or_false) then local char = player_being_checked.Character local target_torso = char and char:FindFirstChild "Torso" if (camera.Focus.p - camera.CoordinateFrame.p).magnitude <= 1 then ray_start = your_head.Position + your_head.CFrame.lookVector * 16 + Vector3.new(0, 4, 0) else ray_start = your_head.Position + Vector3.new(0, 4, 0) end if not targets_coordinates then distance = (Vector2.new(targets_coordinates.X, targets_coordinates.Y) - Vector2.new(mouse.X, mouse.Y)).magnitude else distance = (Vector2.new(targets_coordinates.X, targets_coordinates.Y) - Vector2.new(mouse.X, mouse.Y)).magnitude end vector = (target_torso.Position - ray_start) if char:FindFirstChild("Head") then if (not targets_coordinates) or (distance <= closest_distance) then local new_ray = Ray.new(ray_start, vector.unit * 1000) -- "fire" ray and make sure to ignore our own character local hit, position = workspace:FindPartOnRayWithIgnoreList(new_ray, aim_through_list) -- check if the ray hit anything and if it's a descendant of the target's character if (hit and hit:isDescendantOf(char)) or _G.ignoreWalls then if char.HumanoidRootPart:FindFirstChild("ESP") then if char.HumanoidRootPart.ESP.Frame.BackgroundColor3 == Color3.new(1, 0.666667, 0) or char.HumanoidRootPart.ESP.Frame.BackgroundColor3 == Color3.new(0, 1, 0.498039) then closest_distance = distance most_viable_player = player_being_checked target = player_being_checked else if IgnoreWalls == false then most_viable_player = nil target = nil elseif IgnoreWalls == true then closest_distance = distance most_viable_player = player_being_checked target = player_being_checked end end else if IgnoreWalls == false then most_viable_player = nil target = nil elseif IgnoreWalls == true then closest_distance = distance most_viable_player = player_being_checked target = player_being_checked end end else most_viable_player = nil target = nil end -- hit or ignore walls end -- meets distance or no priority end end end return most_viable_player end game:GetService("RunService").Heartbeat:connect(function() if Aimbot == true then ViableP() workspace.DeadBody:ClearAllChildren() wep = nil for i,v in pairs(workspace.Camera:GetChildren()) do if v:FindFirstChild("Flame") then wep = v break end end if wep and target ~= nil then if target.TeamColor ~= game:GetService("Players").LocalPlayer.TeamColor then wep.Flame.Size = Vector3.new(1,5,1) wep.Flame.Anchored = true if target.Character:FindFirstChild("Head") then if _G.Legit == false then wep.Flame.CFrame = target.Character.Head.CFrame*CFrame.new(0,0,1.9) -- this is where the magic is elseif _G.Legit == true then wep = false Type = nil Current = nil for i,v in pairs(workspace.CurrentCamera:GetChildren()) do if v.Name ~= "Right Arm" and v.Name ~= "Left Arm" then if v:IsA("Model") then if v:FindFirstChild("Flame") then Current = v break end end end end if wep == false then for i = 1,#LMG do if Current ~= nil then if LMG[i] == Current.Name then wep = true Type = "LMG" break end end end end if wep == false then for i = 1,#SMG do if Current ~= nil then if SMG[i] == Current.Name then wep = true Type = "SMG" break end end end end if wep == false then for i = 1,#WeakSMG do if Current ~= nil then if WeakSMG[i] == Current.Name then wep = true Type = "WeakSMG" break end end end end if wep == false then for i = 1,#Other do if Current ~= nil then if Other[i] == Current.Name then wep = true Type = "Other" break end end end end if wep == false then for i = 1,#ShotGun do if Current ~= nil then if ShotGun[i] == Current.Name then wep = true Type = "ShotGun" break end end end end if Type == nil then random = math.random(1,3) if random == 1 then Current.Flame.CFrame = target.Character.Head.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 2 and random <= 3 then Current.Flame.CFrame = target.Character.Torso.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end elseif Type == "LMG" then if ((game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position - target.Character.HumanoidRootPart.Position).magnitude) <= 150 then random = math.random(1,6) if random == 1 then Current.Flame.CFrame = target.Character.Head.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 2 and random <= 3 then Current.Flame.CFrame = target.Character.Torso.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 4 and random <= 6 then Current.Flame.CFrame = CFrame.new(0,0,0) end else random = math.random(1,10) if random == 1 then Current.Flame.CFrame = target.Character.Head.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 2 and random <= 3 then Current.Flame.CFrame = target.Character.Torso.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 4 and random <= 10 then Current.Flame.CFrame = CFrame.new(0,0,0) end end elseif Type == "ShotGun" then random = math.random(1,5) if random == 1 then Current.Flame.CFrame = target.Character.Head.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 2 and random <= 3 then Current.Flame.CFrame = target.Character.Torso.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 4 and random <= 5 then Current.Flame.CFrame = CFrame.new(0,0,0) end elseif Type == "WeakSMG" or Type == "SMG" then if ((game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position - target.Character.HumanoidRootPart.Position).magnitude) <= 125 then random = math.random(1,6) if random == 1 then Current.Flame.CFrame = target.Character.Head.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 2 and random <= 3 then Current.Flame.CFrame = target.Character.Torso.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 4 and random <= 6 then Current.Flame.CFrame = CFrame.new(0,0,0) end else random = math.random(1,8) if random == 1 then Current.Flame.CFrame = target.Character.Head.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 2 and random <= 3 then Current.Flame.CFrame = target.Character.Torso.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 4 and random <= 8 then Current.Flame.CFrame = CFrame.new(0,0,0) end end elseif Type == "Other" then random = math.random(1,6) if random == 1 then Current.Flame.CFrame = target.Character.Head.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 2 and random <= 4 then Current.Flame.CFrame = target.Character.Torso.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is end if random >= 5 and random <= 6 then Current.Flame.CFrame = CFrame.new(0,0,0) end end end end end end end if ESP == true then for i,v in pairs(game:GetService("Players"):GetChildren()) do pass = false if workspace:FindFirstChild(v.Name) then if v.Team == game:GetService("Players").LocalPlayer.Team then if v.Character:FindFirstChild("HumanoidRootPart") then if v.Character.HumanoidRootPart:FindFirstChild("ESP") then v.Character.HumanoidRootPart.ESP:Destroy() end end end if v.Team ~= game:GetService("Players").LocalPlayer.Team then if v.Character:FindFirstChild("HumanoidRootPart") then for i,v in pairs(v.Character:GetChildren()) do if v:IsA("Model") then pass = true break end end shirt = nil passer = false for i,v in pairs(v.Character:GetChildren()) do if v:IsA("Shirt") then shirt = v break end end for i,v in pairs(game:GetService("Players").LocalPlayer.Character:GetChildren()) do if v:IsA("Shirt") then if shirt ~= nil then if v.Name ~= shirt.Name then passer = true break end end end end if passer == true then if v.Character:FindFirstChild("HumanoidRootPart") then if v.Character.HumanoidRootPart:FindFirstChild("ESP") then v.Character.HumanoidRootPart.ESP.TextLabel.Text = v.Name.." Distance: "..math.floor(((game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position - v.Character.HumanoidRootPart.Position).magnitude)) hitting = false local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p, (v.Character.HumanoidRootPart.CFrame.p - game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p).unit * 2000) local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore}, false, true) if part then if part.Parent == v.Character then hitting = true end end if hitting == false then elseif hitting == true then v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(0, 1, 0.498039) end if hitting == false then local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.Head.CFrame.p, (v.Character.Head.CFrame.p - game:GetService("Players").LocalPlayer.Character.Head.CFrame.p).unit * 2000) local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore}, false, true) if part then if part.Parent == v.Character then hitting = true end end if hitting == false then v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0) elseif hitting == true then v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(0, 1, 0.498039) end if hitting == false then elseif hitting == true then v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(0, 1, 0.498039) end if hitting == false then local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p, (v.Character.HumanoidRootPart.CFrame.p - game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p).unit * 2000) local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore}, false, true) if part then if part:IsA("BasePart") then CurrentGun = nil for i,v in pairs(workspace.CurrentCamera:GetChildren()) do if v.Name ~= "Right Arm" and v.Name ~= "Left Arm" then if v:IsA("Model") then if v:FindFirstChild("Flame") then CurrentGun = v break end end end end found = false if found == false then for i = 1,#Sniper do if CurrentGun ~= nil then if Sniper[i] == CurrentGun.Name then found = true Min = 2.75 Max = 3 break end end end end if found == false then for i = 1,#SpecialSniper do if CurrentGun ~= nil then if SpecialSniper[i] == CurrentGun.Name then found = true Min = 3.25 Max = 3.5 break end end end end if found == false then for i = 1,#WeakSniper do if CurrentGun ~= nil then if WeakSniper[i] == CurrentGun.Name then found = true Min = 2.75 Max = 3 break end end end end if found == false then for i = 1,#WeakSMG do if CurrentGun ~= nil then if WeakSMG[i] == CurrentGun.Name then found = true Min = 2.25 Max = 3 break end end end end if found == false then for i = 1,#SMG do if CurrentGun ~= nil then if SMG[i] == CurrentGun.Name then found = true Min = 2.5 Max = 3 break end end end end if found == false then for i = 1,#ShotGun do if CurrentGun ~= nil then if ShotGun[i] == CurrentGun.Name then found = true Min = 2.75 Max = 3 break end end end end if found == false then for i = 1,#LMG do if CurrentGun ~= nil then if LMG[i] == CurrentGun.Name then found = true Min = 2.5 Max = 3 break end end end end if found == false then for i = 1,#Other do if CurrentGun ~= nil then if Other[i] == CurrentGun.Name then found = true Min = 0 Max = 0 break end end end end if found == false then for i = 1,#Melee do if CurrentGun ~= nil then if Melee[i] == CurrentGun.Name then found = true Min = 0 Max = 0 break end end end end if found == false then Min = 0 Max = 0 end if part.Parent.Name == "Map" then if part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Max and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Max and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X >= Max and part.Size.Z <= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X >= Max and part.Size.Z >= Max and part.Size.Y <= Min-1 then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min or part.Size.Z <= Min or part.Size.Z <= Min then hitting = true parter = part end end end end if hitting == true then hitting = false part = parter list = {} pos1 = part.Position - (part.Size/2) - Vector3.new(0.01,0.01,0.01) pos2 = part.Position + (part.Size/2) + Vector3.new(0.01,0.01,0.01) Reg = Region3.new(pos1, pos2) TouchingParts = game.Workspace:FindPartsInRegion3(Reg) o = 1 if TouchingParts ~= nil then for i,v in pairs(TouchingParts) do if v ~= parter then part = v if part.Parent.Name == "Map" then if part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Max and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Max and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X >= Max and part.Size.Z <= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X >= Max and part.Size.Z >= Max and part.Size.Y <= Min-1 then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min or part.Size.Z <= Min or part.Size.Z <= Min then hitting = true parter = part end end if hitting == true then table.insert(list, o, v) o = o + 1 end end end end hitting = false part = parter pos1 = part.Position + (part.Size/2) + Vector3.new(0.01,0.01,0.01) pos2 = part.Position - (part.Size/2) - Vector3.new(0.01,0.01,0.01) local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p, (v.Character.HumanoidRootPart.CFrame.p - game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p).unit * 2000) local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore, parter, unpack(list)}, false, true) if part then if part.Parent == v.Character then hitting = true end end if hitting == false then v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0) elseif hitting == true then if ((parter.Position - v.Character.HumanoidRootPart.Position).magnitude) <= 40 then v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0.666667, 0) else v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0) end end elseif hitting == false then v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0) end end if hitting == false then local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.Head.CFrame.p, (v.Character.Head.CFrame.p - game:GetService("Players").LocalPlayer.Character.Head.CFrame.p).unit * 2000) local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore}, false, true) if part then if part:IsA("BasePart") then CurrentGun = nil for i,v in pairs(workspace.CurrentCamera:GetChildren()) do if v.Name ~= "Right Arm" and v.Name ~= "Left Arm" then if v:IsA("Model") then if v:FindFirstChild("Flame") then CurrentGun = v break end end end end found = false if found == false then for i = 1,#Sniper do if CurrentGun ~= nil then if Sniper[i] == CurrentGun.Name then found = true Min = 2.75 Max = 3 break end end end end if found == false then for i = 1,#SpecialSniper do if CurrentGun ~= nil then if SpecialSniper[i] == CurrentGun.Name then found = true Min = 3.25 Max = 3.5 break end end end end if found == false then for i = 1,#WeakSniper do if CurrentGun ~= nil then if WeakSniper[i] == CurrentGun.Name then found = true Min = 2.75 Max = 3 break end end end end if found == false then for i = 1,#WeakSMG do if CurrentGun ~= nil then if WeakSMG[i] == CurrentGun.Name then found = true Min = 2.25 Max = 3 break end end end end if found == false then for i = 1,#SMG do if CurrentGun ~= nil then if SMG[i] == CurrentGun.Name then found = true Min = 2.5 Max = 3 break end end end end if found == false then for i = 1,#ShotGun do if CurrentGun ~= nil then if ShotGun[i] == CurrentGun.Name then found = true Min = 2.75 Max = 3 break end end end end if found == false then for i = 1,#LMG do if CurrentGun ~= nil then if LMG[i] == CurrentGun.Name then found = true Min = 2.5 Max = 3 break end end end end if found == false then for i = 1,#Other do if CurrentGun ~= nil then if Other[i] == CurrentGun.Name then found = true Min = 0 Max = 0 break end end end end if found == false then for i = 1,#Melee do if CurrentGun ~= nil then if Melee[i] == CurrentGun.Name then found = true Min = 0 Max = 0 break end end end end if found == false then Min = 0 Max = 0 end if part.Parent.Name == "Map" then if part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Max and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Max and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X >= Max and part.Size.Z <= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X >= Max and part.Size.Z >= Max and part.Size.Y <= Min-1 then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min or part.Size.Z <= Min or part.Size.Z <= Min then hitting = true parter = part end end end end if hitting == true then hitting = false part = parter list = {} pos1 = part.Position - (part.Size/2) - Vector3.new(0.01,0.01,0.01) pos2 = part.Position + (part.Size/2) + Vector3.new(0.01,0.01,0.01) Reg = Region3.new(pos1, pos2) TouchingParts = game.Workspace:FindPartsInRegion3(Reg) o = 1 if TouchingParts ~= nil then for i,v in pairs(TouchingParts) do if v ~= parter then part = v if part.Parent.Name == "Map" then if part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Max and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Max and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z >= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X >= Max and part.Size.Z <= Min and part.Size.Y <= Min then hitting = true parter = part elseif part.Size.X >= Max and part.Size.Z >= Max and part.Size.Y <= Min-1 then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Max then hitting = true parter = part elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y >= Max then hitting = true parter = part elseif part.Size.X <= Min or part.Size.Z <= Min or part.Size.Z <= Min then hitting = true parter = part end end if hitting == true then table.insert(list, o, v) o = o + 1 end end end end hitting = false part = parter pos1 = part.Position + (part.Size/2) + Vector3.new(0.01,0.01,0.01) pos2 = part.Position - (part.Size/2) - Vector3.new(0.01,0.01,0.01) local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.Head.CFrame.p, (v.Character.Head.CFrame.p - game:GetService("Players").LocalPlayer.Character.Head.CFrame.p).unit * 2000) local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore, parter, unpack(list)}, false, true) if part then if part.Parent == v.Character then hitting = true end end if hitting == false then v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0) elseif hitting == true then if ((parter.Position - v.Character.HumanoidRootPart.Position).magnitude) <= 40 then v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0.666667, 0) else v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0) end end elseif hitting == false then v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0) end end end elseif pass == true then local ESP = Instance.new("BillboardGui",v.Character.HumanoidRootPart) ESP.Name = "ESP" ESP.Size = UDim2.new(6, 0, 8, 0) ESP.StudsOffset = Vector3.new(0, 0.75, 0) ESP.AlwaysOnTop = true local Frame = Instance.new("Frame",ESP) Frame.ZIndex = 1000 Frame.Size = UDim2.new(0.6, 0, 0.8, 0) Frame.Position = UDim2.new(0.2, 0, 0.3, 0) Frame.BorderSizePixel = 3 Frame.BackgroundTransparency = 0.3 Frame.BackgroundColor3 = Color3.new(1, 0.666667, 0) Label = Instance.new("TextLabel", ESP) Label.Position = UDim2.new(0, 0, -0.1, 0) Label.Size = UDim2.new(1, 0, 0.3, 0) Label.Font = "SourceSansLight" Label.TextColor3 = Color3.new(1,1,1) Label.TextStrokeColor3 = Color3.new(0,0,0) Label.TextStrokeTransparency = 0 Label.BackgroundColor3 = Color3.new(1, 1, 1) Label.TextScaled = true Label.Text = v.Name.." Distance: "..math.floor(((game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position - v.Character.HumanoidRootPart.Position).magnitude)) Label.BackgroundTransparency = 1 end end end end end end end end end)