local Space = game:GetService("Workspace") local Players = game:GetService("Players") local Player = game:GetService("Players").LocalPlayer local Mouse = Player:GetMouse() local Camera = Space.CurrentCamera local RS = game:GetService("RunService") local UIS = game:GetService("UserInputService") --LUA CACHED FUNCTIONS local clamp = math.clamp local round = math.round local abs = math.abs local huge = math.huge local random = math.random local floor = math.floor local rad = math.rad local match = string.match local sub = string.sub local V3 = Vector3.new local V3 = Vector2.new local u2 = UDim2.new local CF = CFrame.new local RGB = Color3.fromRGB local tween = TweenInfo.new local DRAWING = Drawing.new local ESP_API = {} ESP_API.NewText = function(info) local t = DRAWING("Text") t.Visible = info.Visible or false t.Transparency = info.Transparency or 1 t.Color = info.Color or RGB(0,0,0) t.Text = info.Text or "" t.Size = info.Size or 14 t.Center = info.Center or false t.Outline = info.Outline or false t.OutlineColor = info.OutlineColor or RGB(0,0,0) t.Font = info.Font or 3 return t end ESP_API.NewLine = function(info) local l = DRAWING("Line") l.Visible = info.Visible or false l.Transparency = info.Transparency or 1 l.Color = info.Color or RGB(0,0,0) l.Thickness = info.Thickness or 1 return l end ESP_API.NewSquare = function(info) local q = DRAWING("Square") q.Visible = info.Visible or false q.Transparency = info.Transparency or 1 q.Color = info.Color or RGB(0,0,0) q.Thickness = info.Thickness or 1 q.Filled = info.Filled or false return q end ESP_API.NewCircle = function(info) local c = DRAWING("Circle") c.Visible = info.Visible or false c.Transparency = info.Transparency or 1 c.Color = info.Color or RGB(0,0,0) c.Thickness = info.Thickness or 1 c.NumSides = info.NumSides or 50 c.Radius = info.Radius or 100 c.Filled = info.Filled or false return c end local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/MORTEX8/LuaMenu/refs/heads/main/RBLX-Menu"))() local DESTROY = false local RCX = { ESP = { Toggle = true; Info = false; Max_Info_Distance = 100; Hover_Info = false; Names = false; Health = false; Distance = false; Boxes = false; Boxes_Mode = "Corners"; Boxes_Distance = 100; Health_Bar = false; Health_Bar_Distance = 100; Color = {R = 255, G = 255, B = 0}; Show_Target = false; Target_Color = {R = 255, G = 255, B = 255}; Team_Check = false; Team_Color = {R = 255, G = 255, B = 0}; Enemy_Color = {R = 255, G = 0, B = 0}; View_Tracer = false; View_Tracer_Length = 10; View_Tracer_Distance = 100; }; AIMBOT = { Toggle = false; Bone = "Head"; Smoothness = 0.5; Distance_Type = "Mouse"; Aim_Key = "Q"; Aim_Mode = "Key"; Team_Check = false; FOV = false; FOV_Radius = 50; FOV_Color = {R = 255, G = 255, B = 0}; }; UI = { UI_Toggle_Key = "End"; Save_Settings_Key = "Home"; Window_Size = {X = 750, Y = 550} }; } local HttpService = game:GetService("HttpService") local RCXFile = "coolprohax.dat" local function LoadRCX() local u, Result = pcall(readfile, RCXFile) if u then local x, Table = pcall(HttpService.JSONDecode, HttpService, Result) if x then for i, v in pairs(Table) do if RCX[i] ~= nil then RCX[i] = v pcall(RCX[i], v) end end end end end LoadRCX() local RCX_Window = Library.NewWindow("Neverdies.me", {window_size = V3(RCX.UI.Window_Size.X, RCX.UI.Window_Size.Y), window_size_func = function(new_ui_size) RCX.UI.Window_Size = {X = new_ui_size.X, Y = new_ui_size.Y} end, scalable = true, exit_func = function() DESTROY = true end}) -- ESP local ESP_Page = RCX_Window.NewPage("Visuals") -- MAIN local MAIN_ESP_Category = ESP_Page.NewCategory("Main") MAIN_ESP_Category.NewToggle("Master Switch", function(bool) RCX.ESP.Toggle = bool end, {default = RCX.ESP.Toggle}) do local temp = RCX.ESP.Color MAIN_ESP_Category.NewColorpicker("Color", function(col) RCX.ESP.Color = {R = col.R*255, G = col.G*255, B = col.B*255} end, {default = RGB(temp.R, temp.G, temp.B)}) end MAIN_ESP_Category.NewToggle("Team Check", function(bool) RCX.ESP.Team_Check = bool end, {default = RCX.ESP.Team_Check}) do local temp = RCX.ESP.Team_Color MAIN_ESP_Category.NewColorpicker("Team", function(col) RCX.ESP.Team_Color = {R = col.R*255, G = col.G*255, B = col.B*255} end, {default = RGB(temp.R, temp.G, temp.B)}) end do local temp = RCX.ESP.Enemy_Color MAIN_ESP_Category.NewColorpicker("Enemies", function(col) RCX.ESP.Enemy_Color = {R = col.R*255, G = col.G*255, B = col.B*255} end, {default = RGB(temp.R, temp.G, temp.B)}) end MAIN_ESP_Category.NewToggle("Show Target", function(bool) RCX.ESP.Show_Target = bool end, {default = RCX.ESP.Show_Target}) do local temp = RCX.ESP.Target_Color MAIN_ESP_Category.NewColorpicker("Target", function(col) RCX.ESP.Target_Color = {R = col.R*255, G = col.G*255, B = col.B*255} end, {default = RGB(temp.R, temp.G, temp.B)}) end -- NAMES local PLR_INFO_Category = ESP_Page.NewCategory("Player Info") PLR_INFO_Category.NewToggle("Toggle", function(bool) RCX.ESP.Info = bool end, {default = RCX.ESP.Info}) PLR_INFO_Category.NewSlider("Max Info Distance", function(newvalue) RCX.ESP.Max_Info_Distance = newvalue end, {default = RCX.ESP.Max_Info_Distance, min = 50, max = 5000, decimals = 0, suffix = " studs"}) PLR_INFO_Category.NewToggle("Hover Only", function(bool) RCX.ESP.Hover_Info = bool end, {default = RCX.ESP.Hover_Info}) PLR_INFO_Category.NewToggle("Names", function(bool) RCX.ESP.Names = bool end, {default = RCX.ESP.Names}) PLR_INFO_Category.NewToggle("Health", function(bool) RCX.ESP.Health = bool end, {default = RCX.ESP.Health}) PLR_INFO_Category.NewToggle("Distance", function(bool) RCX.ESP.Distance = bool end, {default = RCX.ESP.Distance}) -- BOXES local BOXES_Category = ESP_Page.NewCategory("Boxes") BOXES_Category.NewToggle("Toggle", function(bool) RCX.ESP.Boxes = bool end, {default = RCX.ESP.Boxes}) do local default_option local list = { "Corners"; "Outline"; } for i = 1, #list do local v = list[i] if v == RCX.ESP.Boxes_Mode then default_option = i end end BOXES_Category.NewDropdown("Box Type", function(option) RCX.ESP.Boxes_Mode = option end, {options = list, default = default_option}) end BOXES_Category.NewSlider("Max Box Distance", function(newvalue) RCX.ESP.Boxes_Distance = newvalue end, {default = RCX.ESP.Boxes_Distance, min = 50, max = 5000, decimals = 0, suffix = " studs"}) BOXES_Category.NewToggle("Health Bar", function(bool) RCX.ESP.Health_Bar = bool end, {default = RCX.ESP.Health_Bar}) BOXES_Category.NewSlider("Max Bar Distance", function(newvalue) RCX.ESP.Health_Bar_Distance = newvalue end, {default = RCX.ESP.Health_Bar_Distance, min = 50, max = 5000, decimals = 0, suffix = " studs"}) -- VIEW TRACER local VIEW_TRACER_Category = ESP_Page.NewCategory("View Tracers") VIEW_TRACER_Category.NewToggle("Toggle", function(bool) RCX.ESP.View_Tracer = bool end, {default = RCX.ESP.View_Tracer}) VIEW_TRACER_Category.NewSlider("Length", function(newvalue) RCX.ESP.View_Tracer_Length = newvalue end, {default = RCX.ESP.View_Tracer_Length, min = 1, max = 50, decimals = 0, suffix = " studs"}) VIEW_TRACER_Category.NewSlider("Max Tracer Distance", function(newvalue) RCX.ESP.View_Tracer_Distance = newvalue end, {default = RCX.ESP.View_Tracer_Distance, min = 50, max = 5000, decimals = 0, suffix = " studs"}) -- AIMBOT local AIMBOT_Page = RCX_Window.NewPage("Aimbot") local MAIN_AIMBOT_Category = AIMBOT_Page.NewCategory("Main") MAIN_AIMBOT_Category.NewToggle("Toggle", function(bool) RCX.AIMBOT.Toggle = bool end, {default = RCX.AIMBOT.Toggle}) do local default_option local list = { "Key"; "Mouse"; } for i = 1, #list do local v = list[i] if v == RCX.AIMBOT.Aim_Mode then default_option = i end end MAIN_AIMBOT_Category.NewDropdown("Aim Mode", function(option) RCX.AIMBOT.Aim_Mode = option end, {options = list, default = default_option}) end MAIN_AIMBOT_Category.NewKeybind("Aim Key", function()end, function(new) RCX.AIMBOT.Aim_Key = sub(tostring(new), 14, #tostring(new)) end, {default = Enum.KeyCode[RCX.AIMBOT.Aim_Key]}) MAIN_AIMBOT_Category.NewSlider("Smoothness", function(newvalue) RCX.AIMBOT.Smoothness = newvalue end, {default = RCX.AIMBOT.Smoothness, min = 0.01, max = 1, decimals = 2, suffix = " factor"}) do local default_option local list = { "Head"; "Neck"; "Torso"; "Feet"; "Random"; } for i = 1, #list do local v = list[i] if v == RCX.AIMBOT.Bone then default_option = i end end MAIN_AIMBOT_Category.NewDropdown("Bone", function(option) RCX.AIMBOT.Bone = option end, {options = list, default = default_option}) end do local default_option local list = { "Mouse"; "Character"; } for i = 1, #list do local v = list[i] if v == RCX.AIMBOT.Distance_Type then default_option = i end end MAIN_AIMBOT_Category.NewDropdown("Aim Mode", function(option) RCX.AIMBOT.Distance_Type = option end, {options = list, default = default_option}) end MAIN_AIMBOT_Category.NewToggle("Team Check", function(bool) RCX.AIMBOT.Team_Check = bool end, {default = RCX.AIMBOT.Team_Check}) local FOV_Category = AIMBOT_Page.NewCategory("FOV") FOV_Category.NewToggle("Toggle", function(bool) RCX.AIMBOT.FOV = bool end, {default = RCX.AIMBOT.FOV}) FOV_Category.NewSlider("Radius", function(newvalue) RCX.AIMBOT.FOV_Radius = newvalue end, {default = RCX.AIMBOT.FOV_Radius, min = 0, max = 500, decimals = 0, suffix = " px"}) do local temp = RCX.AIMBOT.FOV_Color FOV_Category.NewColorpicker("Color", function(col) RCX.AIMBOT.FOV_Color = {R = col.R*255, G = col.G*255, B = col.B*255} end, {default = RGB(temp.R, temp.G, temp.B)}) end -- SETTINGS local SETTINGS_Page = RCX_Window.NewPage("Settings") local MAIN_SETTINGS_Category = SETTINGS_Page.NewCategory("Main") MAIN_SETTINGS_Category.NewKeybind("Hide Key", function() RCX_Window.Hide() end, function(new) RCX.UI.UI_Toggle_Key = sub(tostring(new), 14, #tostring(new)) end, {default = Enum.KeyCode[RCX.UI.UI_Toggle_Key]}) MAIN_SETTINGS_Category.NewButton("Save Settings", function() writefile(RCXFile, game:GetService("HttpService"):JSONEncode(RCX)) end) MAIN_SETTINGS_Category.NewKeybind("Save Settings Keybind", function() writefile(RCXFile, game:GetService("HttpService"):JSONEncode(RCX)) end, function(new) RCX.UI.Save_Settings_Key = sub(tostring(new), 14, #tostring(new)) end, {default = Enum.KeyCode[RCX.UI.Save_Settings_Key]}) -- SCRIPT local LerpColorModule = loadstring(game:HttpGet("https://pastebin.com/raw/wRnsJeid"))() local HealthBarLerp = LerpColorModule:Lerp(RGB(255, 0, 0), RGB(0, 255, 0)) local Selected_Player = nil local inset = game:GetService("GuiService"):GetGuiInset() -- DETECT STUCTURE local Character_Folder = Space local Player_Characters = {} do local t = Space:GetDescendants() for i = 1, #t do local v = t[i] if v:IsA("Model") and Players:FindFirstChild(v.Name) and (v:FindFirstChild("HumanoidRootPart") or v.PrimaryPart ~= nil) then Character_Folder = v.Parent end end end warn("Found Character Folder: "..Character_Folder.Name) local function ResetStructure() Player_Characters = {} local temp = {} do local t = Players:GetChildren() for i = 1, #t do local v = t[i] temp[v.Name] = v.Name end end local t = Character_Folder:GetChildren() for i = 1, #t do local v = t[i] if temp[v.Name] ~= nil then Player_Characters[v.Name] = v end end end coroutine.wrap(function() coroutine.wrap(ResetStructure)() while wait(5) do if DESTROY then coroutine.yield() else coroutine.wrap(ResetStructure)() end end end)() -- ESP PLAYERS ESP_API.AddPlayer = function(plr_name) repeat wait() until Player_Characters[plr_name] ~= nil and Player_Characters[plr_name]:FindFirstChildOfClass("Humanoid") local INFO = ESP_API.NewText({}) INFO.Center = true local Bar = ESP_API.NewLine({Color = RGB(10, 10, 10), Thickness = 3, Transparency = 0.4}) local Health_Bar = ESP_API.NewLine({Color = RGB(0, 255, 0), Thickness = 1}) local Box_Lines = {} for i = 1, 8 do Box_Lines[i] = ESP_API.NewLine({}) end local viewTracer = ESP_API.NewLine({Color = RGB(0, 255, 0), Thickness = 1}) local function Box_Vis(state, mode) if state == false then for i = 1, 8 do Box_Lines[i].Visible = false end elseif state and mode == 1 then for i = 1, 4 do Box_Lines[i].Visible = true end for i = 5, 8 do Box_Lines[i].Visible = false end elseif state and mode == 2 then for i = 1, 8 do Box_Lines[i].Visible = true end end end local function Destroy_ESP() INFO:Remove() Bar:Remove() Health_Bar:Remove() viewTracer:Remove() for i = 1, #Box_Lines do Box_Lines[i]:Remove() end end local function Lines_Color(col) viewTracer.Color = col for i = 1, #Box_Lines do Box_Lines[i].Color = col end end local function Update_ESP() local prevhealth = nil local Character = nil local hide_name = Enum.HumanoidDisplayDistanceType.None local show_name = Enum.HumanoidDisplayDistanceType.Viewer local connection; connection = RS.RenderStepped:Connect(function() if DESTROY then Destroy_ESP() connection:Disconnect() else Character = Player_Characters[plr_name] if RCX.ESP.Toggle and Player.Character and Character and Character:FindFirstChildOfClass("Humanoid") and Character:FindFirstChildOfClass("Humanoid").Health > 0 then local localrootpart = Player.Character:FindFirstChild("HumanoidRootPart") or Player.Character.PrimaryPart local root_part = Character:FindFirstChild("HumanoidRootPart") or Character.PrimaryPart local hum = Character:FindFirstChildOfClass("Humanoid") if localrootpart and root_part then local dist = (root_part.Position - localrootpart.Position).magnitude Camera = Space.CurrentCamera local root_pos, onscreen = Camera:WorldToViewportPoint(root_part.Position) if RCX.ESP.View_Tracer and dist < RCX.ESP.View_Tracer_Distance and Character:FindFirstChild("Head") then local Head = Character.Head local headpos, vis = Camera:WorldToViewportPoint(Head.Position) if vis then local dirpos = Camera:WorldToViewportPoint((Head.CFrame*CF(0,0,-RCX.ESP.View_Tracer_Length)).p) viewTracer.From = V3(headpos.X, headpos.Y) viewTracer.To = V3(dirpos.X, dirpos.Y) viewTracer.Visible = true else viewTracer.Visible = false end else viewTracer.Visible = false end if onscreen then -- TEAM CHECK local Current_Color if RCX.ESP.Team_Check and Players:FindFirstChild(plr_name):IsA("Player") and Player:IsA("Player") then if Players:FindFirstChild(plr_name).TeamColor == Player.TeamColor then Current_Color = RCX.ESP.Team_Color else Current_Color = RCX.ESP.Enemy_Color end else Current_Color = RCX.ESP.Color end INFO.Color = RGB(Current_Color.R, Current_Color.G, Current_Color.B) if RCX.AIMBOT.Toggle and RCX.ESP.Show_Target and Selected_Player ~= nil and plr_name == Selected_Player.Name then Current_Color = RCX.ESP.Target_Color end Current_Color = RGB(Current_Color.R, Current_Color.G, Current_Color.B) Lines_Color(Current_Color) local ratio = 2500/root_pos.Z local newsize_x = ratio/2 local newsize_y = ratio * 1.75 / 2 local root_x = root_pos.X local root_y = root_pos.Y -- BOXES if RCX.ESP.Boxes and dist < RCX.ESP.Boxes_Distance then local box_mode = RCX.ESP.Boxes_Mode local TL = V3(root_x-newsize_x, root_y-newsize_y) local TR = V3(root_x+newsize_x, root_y-newsize_y) local BL = V3(root_x-newsize_x, root_y+newsize_y) local BR = V3(root_x+newsize_x, root_y+newsize_y) if RCX.ESP.Health_Bar and dist < RCX.ESP.Health_Bar_Distance then local Hum_Health = hum.Health local Hum_MaxHealth = hum.MaxHealth local offsetX = clamp(round(200/root_pos.Z), 4, 8) local Right = root_x + newsize_x local Top = root_y - newsize_y local Bottom = root_y + newsize_y local barPos = Right + offsetX Bar.From = V3(barPos, Top) Bar.To = V3(barPos, Bottom) local HealthRatio = Hum_Health / Hum_MaxHealth local Length = abs((Bottom - 1) - (Top + 1)) local HealthLength = Length * HealthRatio Health_Bar.From = V3(barPos, Bottom - 1 - HealthLength) Health_Bar.To = V3(barPos, Bottom - 1) if Hum_Health ~= prevhealth then Health_Bar.Color = HealthBarLerp(HealthRatio) prevhealth = Hum_Health end Health_Bar.Visible = true Bar.Visible = true else Health_Bar.Visible = false Bar.Visible = false end if box_mode == "Corners" then local Dir1 = V3(ratio/4, 0) local Dir2 = V3(0, ratio/4) -- 1 Box_Lines[1].From = TL Box_Lines[1].To = TL + Dir1 Box_Lines[2].From = TL Box_Lines[2].To = TL + Dir2 -- 2 Box_Lines[3].From = TR Box_Lines[3].To = TR - Dir1 Box_Lines[4].From = TR Box_Lines[4].To = TR + Dir2 -- 3 Box_Lines[5].From = BL Box_Lines[5].To = BL + Dir1 Box_Lines[6].From = BL Box_Lines[6].To = BL - Dir2 -- 4 Box_Lines[7].From = BR Box_Lines[7].To = BR - Dir1 Box_Lines[8].From = BR Box_Lines[8].To = BR - Dir2 if Box_Lines[8].Visible == false or Box_Lines[1].Visible == false then Box_Vis(true, 2) end else -- 1 Box_Lines[1].From = TR Box_Lines[1].To = TL Box_Lines[2].From = TL Box_Lines[2].To = BL -- 2 Box_Lines[3].From = BL Box_Lines[3].To = BR Box_Lines[4].From = BR Box_Lines[4].To = TR if Box_Lines[8].Visible == true or Box_Lines[1].Visible == false then Box_Vis(true, 1) end end else Health_Bar.Visible = false Bar.Visible = false Box_Vis(false) end if RCX.ESP.Info then local function show_info() if dist ~= nil and dist < RCX.ESP.Max_Info_Distance then INFO.Position = V3(root_x, root_y-newsize_y-INFO.TextBounds.Y) INFO.Text = "" hum.DisplayDistanceType = hide_name if RCX.ESP.Names then INFO.Text = plr_name end if RCX.ESP.Health then INFO.Text = tostring(round(hum.Health/hum.MaxHealth*100)).."% ".. INFO.Text end if RCX.ESP.Distance then INFO.Text = INFO.Text.." ("..tostring(round(dist))..")" end INFO.Visible = true else INFO.Visible = false end end if RCX.ESP.Hover_Info then if (V3(Mouse.X, Mouse.Y + inset.Y) - V3(root_x, root_y)).magnitude < clamp(ratio*1.25, 5, huge) then show_info() else INFO.Visible = false end else show_info() end else INFO.Visible = false hum.DisplayDistanceType = show_name end else Box_Vis(false) INFO.Visible = false Health_Bar.Visible = false Bar.Visible = false hum.DisplayDistanceType = show_name end else Box_Vis(false) INFO.Visible = false Health_Bar.Visible = false Bar.Visible = false viewTracer.Visible = false hum.DisplayDistanceType = show_name end else Box_Vis(false) INFO.Visible = false Health_Bar.Visible = false Bar.Visible = false viewTracer.Visible = false if Players:FindFirstChild(plr_name) == nil then Destroy_ESP() connection:Disconnect() end end end end) end coroutine.wrap(Update_ESP)() end do local t = Players:GetChildren() for i = 1, #t do local v = t[i] if v.Name ~= Player.Name then coroutine.wrap(ESP_API.AddPlayer)(v.Name) end end end Players.ChildAdded:Connect(function(v) ResetStructure() coroutine.wrap(ESP_API.AddPlayer)(v.Name) end) -- AIMBOT PLAYERS local Aiming = false local random_part local aim_c_1 aim_c_1 = UIS.InputBegan:Connect(function(input) if DESTROY then aim_c_1:Disconnect() elseif RCX.AIMBOT.Aim_Mode == "Key" and input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == Enum.KeyCode[RCX.AIMBOT.Aim_Key] then random_part = random(1, 3) Aiming = true elseif RCX.AIMBOT.Aim_Mode == "Mouse" and input.UserInputType == Enum.UserInputType.MouseButton2 then random_part = random(1, 3) Aiming = true end end) local aim_c_2 aim_c_2 = UIS.InputEnded:Connect(function(input) if DESTROY then aim_c_1:Disconnect() Aiming = false elseif RCX.AIMBOT.Aim_Mode == "Key" and input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == Enum.KeyCode[RCX.AIMBOT.Aim_Key] then random_part = 0 Aiming = false elseif RCX.AIMBOT.Aim_Mode == "Mouse" and input.UserInputType == Enum.UserInputType.MouseButton2 then random_part = 0 Aiming = false end end) local FOV = DRAWING("Circle") FOV.Visible = false FOV.Color = RGB(RCX.AIMBOT.FOV_Color.R, RCX.AIMBOT.FOV_Color.G, RCX.AIMBOT.FOV_Color.B) FOV.Position = V3(0, 0) FOV.Transparency = 0.6 FOV.NumSides = 75 FOV.Radius = RCX.AIMBOT.FOV_Radius FOV.Filled = false FOV.Thickness = 1 local function SameTeam(plr_name) local plr = Players:FindFirstChild(plr_name) local deb = false if plr ~= nil and RCX.AIMBOT.Team_Check and plr:IsA("Player") and Player:IsA("Player") then if plr.TeamColor == Player.TeamColor then deb = true else deb = false end else deb = false end return deb end local function GetClosest() Camera = Space.CurrentCamera local min = huge local closest = nil if RCX.AIMBOT.Distance_Type == "Mouse" then for i, v in pairs(Player_Characters) do local Character = v if v.Name ~= Player.Name and Character ~= nil and Character:FindFirstChildOfClass("Humanoid") and Character:FindFirstChildOfClass("Humanoid").Health > 0 and (Character:FindFirstChild("HumanoidRootPart") or Character.PrimaryPart ~= nil) and SameTeam(v.Name) == false then local rootpart = Character:FindFirstChild("HumanoidRootPart") or Character.PrimaryPart local pos, vis local part = RCX.AIMBOT.Bone if part == "Head" and Character:FindFirstChild("Head") then pos, vis = Camera:WorldToViewportPoint(Character.Head.Position) elseif part == "Neck" and Character:FindFirstChild("Head") then pos, vis = Camera:WorldToViewportPoint(Character.Head.Position - V3(0, Character.Head.Size.Y/2, 0)) elseif part == "Torso" then pos, vis = Camera:WorldToViewportPoint(rootpart.Position) elseif part == "Feet" then pos, vis = Camera:WorldToViewportPoint(rootpart.Position - V3(0, 2.5, 0)) elseif part == "Random" then if random_part == 1 and Character:FindFirstChild("Head") then pos, vis = Camera:WorldToViewportPoint(Character.Head.Position) elseif random_part == 2 then pos, vis = Camera:WorldToViewportPoint(rootpart.Position) elseif random_part == 3 then pos, vis = Camera:WorldToViewportPoint(rootpart.Position - V3(0, 2.5, 0)) else pos, vis = Camera:WorldToViewportPoint(rootpart.Position) end else pos, vis = Camera:WorldToViewportPoint(rootpart.Position) end local dist = (V3(Mouse.X+inset.X, Mouse.Y+inset.Y) - V3(pos.X, pos.Y)).magnitude if vis then local d = (V3(pos.X, pos.Y) - FOV.Position).magnitude if d <= FOV.Radius and dist < min then min = dist closest = v end end end end elseif RCX.AIMBOT.Distance_Type == "Character" then for i, v in pairs(Player_Characters) do local Character = v if v.Name ~= Player.Name and Character ~= nil and Character:FindFirstChildOfClass("Humanoid") and Character:FindFirstChildOfClass("Humanoid").Health > 0 and (Character:FindFirstChild("HumanoidRootPart") or Character.PrimaryPart ~= nil) and SameTeam(v.Name) == false then local rootpart = Character:FindFirstChild("HumanoidRootPart") or Character.PrimaryPart local localrootpart = Player.Character:FindFirstChild("HumanoidRootPart") or Player.Character.PrimaryPart local dist = (localrootpart.Position - rootpart.Position).magnitude local pos, vis local part = RCX.AIMBOT.Bone if part == "Head" and Character:FindFirstChild("Head") then pos, vis = Camera:WorldToViewportPoint(Character.Head.Position) elseif part == "Neck" and Character:FindFirstChild("Head") then pos, vis = Camera:WorldToViewportPoint(Character.Head.Position - V3(0, Character.Head.Size.Y/2, 0)) elseif part == "Torso" then pos, vis = Camera:WorldToViewportPoint(rootpart.Position) elseif part == "Feet" then pos, vis = Camera:WorldToViewportPoint(rootpart.Position - V3(0, 2.5, 0)) elseif part == "Random" then if random_part == 1 and Character:FindFirstChild("Head") then pos, vis = Camera:WorldToViewportPoint(Character.Head.Position) elseif random_part == 2 then pos, vis = Camera:WorldToViewportPoint(rootpart.Position) elseif random_part == 3 then pos, vis = Camera:WorldToViewportPoint(rootpart.Position - V3(0, 2.5, 0)) else pos, vis = Camera:WorldToViewportPoint(rootpart.Position) end else pos, vis = Camera:WorldToViewportPoint(rootpart.Position) end if vis then local d = (V3(pos.X, pos.Y) - FOV.Position).magnitude if d <= FOV.Radius and dist < min then min = dist closest = v end end end end end return closest end coroutine.wrap(function() local c_selected c_selected = RS.RenderStepped:Connect(function() if DESTROY then c_selected:Disconnect() else Selected_Player = GetClosest() end end) end)() local inset = game:GetService("GuiService"):GetGuiInset() local function Aimbot_Start() local c c = RS.RenderStepped:Connect(function() Camera = Space.CurrentCamera if DESTROY then FOV:Remove() c:Disconnect() elseif RCX.AIMBOT.Toggle then if RCX.AIMBOT.FOV then FOV.Radius = RCX.AIMBOT.FOV_Radius FOV.Thickness = 1 local fov_col = RCX.AIMBOT.FOV_Color FOV.Color = RGB(fov_col.R, fov_col.G, fov_col.B) FOV.Position = V3(Mouse.X, Mouse.Y + 36) FOV.Visible = true else FOV.Radius = 2000 FOV.Position = Camera.ViewportSize / 2 FOV.Visible = false end if Aiming and Selected_Player ~= nil then local rootpart = Selected_Player:FindFirstChild("HumanoidRootPart") or Selected_Player.PrimaryPart local Character = Selected_Player local pos local part = RCX.AIMBOT.Bone if part == "Head" and Character:FindFirstChild("Head") then pos = Camera:WorldToViewportPoint(Character.Head.Position) elseif part == "Neck" and Character:FindFirstChild("Head") then pos = Camera:WorldToViewportPoint(Character.Head.Position - V3(0, Character.Head.Size.Y/2, 0)) elseif part == "Torso" then pos = Camera:WorldToViewportPoint(rootpart.Position) elseif part == "Feet" then pos = Camera:WorldToViewportPoint(rootpart.Position - V3(0, 2.5, 0)) elseif part == "Random" then if random_part == 1 and Character:FindFirstChild("Head") then pos = Camera:WorldToViewportPoint(Character.Head.Position) elseif random_part == 2 then pos = Camera:WorldToViewportPoint(rootpart.Position) elseif random_part == 3 then pos = Camera:WorldToViewportPoint(rootpart.Position - V3(0, 2.5, 0)) else pos = Camera:WorldToViewportPoint(rootpart.Position) end else pos = Camera:WorldToViewportPoint(rootpart.Position) end local sens = clamp(1-RCX.AIMBOT.Smoothness, 0.01, 1)/1.5 mousemoverel((pos.X - Mouse.X) * sens, (pos.Y - Mouse.Y - inset.Y) * sens) end elseif RCX.AIMBOT.Toggle == false then FOV.Visible = false end end) end coroutine.wrap(Aimbot_Start)()