-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] --========================================================-- -- PRIVATE ROBLOX TEST AIM PANEL v2.0 -- --========================================================-- local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera ------------------------------------------------------------ -- SETTINGS ------------------------------------------------------------ local AimLock = false local WallCheck = true local TeamCheck = true local PlayerESP = false local ShowFOV = true local FOV = 150 local AimSpeed = 0.20 local AimPartName = "Head" local ESPObjects = {} ------------------------------------------------------------ -- TEAM CHECK HELPER ------------------------------------------------------------ local function IsEnemy(Player) if not TeamCheck then return true end if not Player.Team or not LocalPlayer.Team then return true end return Player.Team ~= LocalPlayer.Team end ------------------------------------------------------------ -- GUI INITIALIZATION ------------------------------------------------------------ local GUI = Instance.new("ScreenGui") GUI.Name = "PrivateTestController" GUI.ResetOnSpawn = false GUI.IgnoreGuiInset = true GUI.Parent = LocalPlayer:WaitForChild("PlayerGui") ------------------------------------------------------------ -- MAIN WINDOW ------------------------------------------------------------ local Main = Instance.new("Frame") Main.Name = "Main" Main.Size = UDim2.fromOffset(340, 520) Main.Position = UDim2.new(0, 40, 0.5, -260) Main.BackgroundColor3 = Color3.fromRGB(15, 16, 22) Main.BorderSizePixel = 0 Main.Parent = GUI local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 16) MainCorner.Parent = Main local MainStroke = Instance.new("UIStroke") MainStroke.Color = Color3.fromRGB(40, 42, 54) MainStroke.Thickness = 1.5 MainStroke.Transparency = 0.1 MainStroke.Parent = Main ------------------------------------------------------------ -- TOP BAR & HEADER ------------------------------------------------------------ local TopBar = Instance.new("Frame") TopBar.Size = UDim2.new(1, 0, 0, 65) TopBar.BackgroundColor3 = Color3.fromRGB(20, 22, 30) TopBar.BorderSizePixel = 0 TopBar.Parent = Main local TopCorner = Instance.new("UICorner") TopCorner.CornerRadius = UDim.new(0, 16) TopCorner.Parent = TopBar local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, -70, 0, 24) Title.Position = UDim2.fromOffset(18, 10) Title.BackgroundTransparency = 1 Title.Text = "Vector HUB" Title.RichText = true Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 16 Title.Font = Enum.Font.GothamBold Title.TextXAlignment = Enum.TextXAlignment.Left Title.Parent = TopBar local Subtitle = Instance.new("TextLabel") Subtitle.Size = UDim2.new(1, -70, 0, 18) Subtitle.Position = UDim2.fromOffset(18, 34) Subtitle.BackgroundTransparency = 1 Subtitle.Text = "Aim Assist Script • RightShift to Toggle" Subtitle.TextColor3 = Color3.fromRGB(130, 135, 155) Subtitle.TextSize = 10 Subtitle.Font = Enum.Font.GothamMedium Subtitle.TextXAlignment = Enum.TextXAlignment.Left Subtitle.Parent = TopBar -- Close Button local Close = Instance.new("TextButton") Close.Size = UDim2.fromOffset(34, 34) Close.Position = UDim2.new(1, -44, 0, 15) Close.BackgroundColor3 = Color3.fromRGB(30, 32, 42) Close.Text = "✕" Close.TextColor3 = Color3.fromRGB(180, 185, 200) Close.TextSize = 14 Close.Font = Enum.Font.GothamBold Close.AutoButtonColor = false Close.Parent = TopBar local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(0, 10) CloseCorner.Parent = Close Close.MouseButton1Click:Connect(function() Main.Visible = false end) Close.MouseEnter:Connect(function() TweenService:Create(Close, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(255, 60, 60), TextColor3 = Color3.fromRGB(255, 255, 255)}):Play() end) Close.MouseLeave:Connect(function() TweenService:Create(Close, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(30, 32, 42), TextColor3 = Color3.fromRGB(180, 185, 200)}):Play() end) ------------------------------------------------------------ -- SMOOTH DRAGGING ------------------------------------------------------------ local Dragging = false local DragStart, StartPosition TopBar.InputBegan:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 then Dragging = true DragStart = Input.Position StartPosition = Main.Position end end) TopBar.InputEnded:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 then Dragging = false end end) UserInputService.InputChanged:Connect(function(Input) if Dragging and Input.UserInputType == Enum.UserInputType.MouseMovement then local Delta = Input.Position - DragStart Main.Position = UDim2.new( StartPosition.X.Scale, StartPosition.X.Offset + Delta.X, StartPosition.Y.Scale, StartPosition.Y.Offset + Delta.Y ) end end) ------------------------------------------------------------ -- SCROLLING CONTENT AREA ------------------------------------------------------------ local Content = Instance.new("ScrollingFrame") Content.Name = "Content" Content.Size = UDim2.new(1, -20, 1, -75) Content.Position = UDim2.fromOffset(10, 70) Content.BackgroundTransparency = 1 Content.BorderSizePixel = 0 Content.ScrollBarThickness = 4 Content.ScrollBarImageTransparency = 0.2 Content.ScrollBarImageColor3 = Color3.fromRGB(75, 125, 255) Content.ScrollingDirection = Enum.ScrollingDirection.Y Content.AutomaticCanvasSize = Enum.AutomaticSize.Y Content.CanvasSize = UDim2.fromScale(0, 0) Content.Parent = Main local Layout = Instance.new("UIListLayout") Layout.Padding = UDim.new(0, 8) Layout.SortOrder = Enum.SortOrder.LayoutOrder Layout.Parent = Content local BottomPadding = Instance.new("UIPadding") BottomPadding.PaddingBottom = UDim.new(0, 20) BottomPadding.Parent = Content ------------------------------------------------------------ -- UI HELPER CREATORS ------------------------------------------------------------ local function AddSectionHeader(Text) local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1, -10, 0, 22) Label.BackgroundTransparency = 1 Label.Text = string.upper(Text) Label.TextColor3 = Color3.fromRGB(85, 90, 110) Label.TextSize = 10 Label.Font = Enum.Font.GothamBold Label.TextXAlignment = Enum.TextXAlignment.Left Label.Parent = Content end local function CreateToggle(Name, Default, Callback) local Row = Instance.new("Frame") Row.Size = UDim2.new(1, -5, 0, 44) Row.BackgroundColor3 = Color3.fromRGB(22, 24, 32) Row.BorderSizePixel = 0 Row.Parent = Content local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 10) Corner.Parent = Row local Stroke = Instance.new("UIStroke") Stroke.Color = Color3.fromRGB(32, 34, 46) Stroke.Thickness = 1 Stroke.Parent = Row local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1, -80, 1, 0) Label.Position = UDim2.fromOffset(14, 0) Label.BackgroundTransparency = 1 Label.Text = Name Label.TextColor3 = Color3.fromRGB(230, 232, 240) Label.TextSize = 12 Label.Font = Enum.Font.GothamMedium Label.TextXAlignment = Enum.TextXAlignment.Left Label.Parent = Row local Toggle = Instance.new("TextButton") Toggle.Size = UDim2.fromOffset(44, 22) Toggle.Position = UDim2.new(1, -56, 0.5, -11) Toggle.BackgroundColor3 = Default and Color3.fromRGB(75, 125, 255) or Color3.fromRGB(40, 42, 54) Toggle.Text = "" Toggle.AutoButtonColor = false Toggle.Parent = Row local ToggleCorner = Instance.new("UICorner") ToggleCorner.CornerRadius = UDim.new(1, 0) ToggleCorner.Parent = Toggle local Knob = Instance.new("Frame") Knob.Size = UDim2.fromOffset(16, 16) Knob.Position = Default and UDim2.new(1, -19, 0.5, -8) or UDim2.fromOffset(3, 3) Knob.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Knob.BorderSizePixel = 0 Knob.Parent = Toggle local KnobCorner = Instance.new("UICorner") KnobCorner.CornerRadius = UDim.new(1, 0) KnobCorner.Parent = Knob local State = Default local function Update() local TargetBg = State and Color3.fromRGB(75, 125, 255) or Color3.fromRGB(40, 42, 54) local TargetPos = State and UDim2.new(1, -19, 0.5, -8) or UDim2.fromOffset(3, 3) TweenService:Create(Toggle, TweenInfo.new(0.2), {BackgroundColor3 = TargetBg}):Play() TweenService:Create(Knob, TweenInfo.new(0.2), {Position = TargetPos}):Play() Callback(State) end Toggle.MouseButton1Click:Connect(function() State = not State Update() end) Callback(State) return Row end local function CreateSlider(Name, Minimum, Maximum, Default, Callback) local Holder = Instance.new("Frame") Holder.Size = UDim2.new(1, -5, 0, 58) Holder.BackgroundColor3 = Color3.fromRGB(22, 24, 32) Holder.BorderSizePixel = 0 Holder.Parent = Content local HolderCorner = Instance.new("UICorner") HolderCorner.CornerRadius = UDim.new(0, 10) HolderCorner.Parent = Holder local Stroke = Instance.new("UIStroke") Stroke.Color = Color3.fromRGB(32, 34, 46) Stroke.Thickness = 1 Stroke.Parent = Holder local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1, -25, 0, 20) Label.Position = UDim2.fromOffset(14, 8) Label.BackgroundTransparency = 1 Label.TextColor3 = Color3.fromRGB(230, 232, 240) Label.TextSize = 12 Label.Font = Enum.Font.GothamMedium Label.TextXAlignment = Enum.TextXAlignment.Left Label.Parent = Holder local ValueLabel = Instance.new("TextLabel") ValueLabel.Size = UDim2.new(0, 50, 0, 20) ValueLabel.Position = UDim2.new(1, -64, 0, 8) ValueLabel.BackgroundTransparency = 1 ValueLabel.TextColor3 = Color3.fromRGB(140, 145, 165) ValueLabel.TextSize = 12 ValueLabel.Font = Enum.Font.GothamBold ValueLabel.TextXAlignment = Enum.TextXAlignment.Right ValueLabel.Parent = Holder local Bar = Instance.new("TextButton") Bar.Size = UDim2.new(1, -28, 0, 6) Bar.Position = UDim2.fromOffset(14, 38) Bar.BackgroundColor3 = Color3.fromRGB(40, 42, 54) Bar.Text = "" Bar.AutoButtonColor = false Bar.Parent = Holder local BarCorner = Instance.new("UICorner") BarCorner.CornerRadius = UDim.new(1, 0) BarCorner.Parent = Bar local Fill = Instance.new("Frame") Fill.BackgroundColor3 = Color3.fromRGB(75, 125, 255) Fill.BorderSizePixel = 0 Fill.Parent = Bar local FillCorner = Instance.new("UICorner") FillCorner.CornerRadius = UDim.new(1, 0) FillCorner.Parent = Fill local DraggingSlider = false local function Update(X) local Percentage = math.clamp((X - Bar.AbsolutePosition.X) / Bar.AbsoluteSize.X, 0, 1) local Value = Minimum + (Maximum - Minimum) * Percentage Value = math.floor(Value * 100) / 100 Fill.Size = UDim2.new(Percentage, 0, 1, 0) Label.Text = Name ValueLabel.Text = tostring(Value) Callback(Value) end local Starting = (Default - Minimum) / (Maximum - Minimum) Fill.Size = UDim2.new(Starting, 0, 1, 0) Label.Text = Name ValueLabel.Text = tostring(Default) Bar.MouseButton1Down:Connect(function() DraggingSlider = true Update(UserInputService:GetMouseLocation().X) end) UserInputService.InputChanged:Connect(function(Input) if DraggingSlider and Input.UserInputType == Enum.UserInputType.MouseMovement then Update(Input.Position.X) end end) UserInputService.InputEnded:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 then DraggingSlider = false end end) end ------------------------------------------------------------ -- UI CONTROLS CONFIGURATION ------------------------------------------------------------ AddSectionHeader("Core Aim Settings") CreateToggle("Enable Aim Lock", false, function(State) AimLock = State end) CreateToggle("Wall Check (Raycast)", true, function(State) WallCheck = State end) CreateToggle("Team Check", true, function(State) TeamCheck = State end) CreateSlider("Aim FOV Radius", 30, 400, FOV, function(Value) FOV = Value if FOVCircle then FOVCircle.Size = UDim2.fromOffset(FOV * 2, FOV * 2) end end) CreateSlider("Aim Speed (Smooth)", 0.01, 1, AimSpeed, function(Value) AimSpeed = Value end) AddSectionHeader("Targeting & Visuals") -- Aim Part Dropdown local DropdownHolder = Instance.new("Frame") DropdownHolder.Name = "AimPartDropdown" DropdownHolder.Size = UDim2.new(1, -5, 0, 44) DropdownHolder.BackgroundColor3 = Color3.fromRGB(22, 24, 32) DropdownHolder.BorderSizePixel = 0 DropdownHolder.Parent = Content local DropdownCorner = Instance.new("UICorner") DropdownCorner.CornerRadius = UDim.new(0, 10) DropdownCorner.Parent = DropdownHolder local DropdownStroke = Instance.new("UIStroke") DropdownStroke.Color = Color3.fromRGB(32, 34, 46) DropdownStroke.Thickness = 1 DropdownStroke.Parent = DropdownHolder local DropdownLabel = Instance.new("TextLabel") DropdownLabel.Size = UDim2.new(0.5, 0, 1, 0) DropdownLabel.Position = UDim2.fromOffset(14, 0) DropdownLabel.BackgroundTransparency = 1 DropdownLabel.Text = "Aim Part Target" DropdownLabel.TextColor3 = Color3.fromRGB(230, 232, 240) DropdownLabel.TextSize = 12 DropdownLabel.Font = Enum.Font.GothamMedium DropdownLabel.TextXAlignment = Enum.TextXAlignment.Left DropdownLabel.Parent = DropdownHolder local Dropdown = Instance.new("TextButton") Dropdown.Size = UDim2.fromOffset(110, 26) Dropdown.Position = UDim2.new(1, -122, 0.5, -13) Dropdown.BackgroundColor3 = Color3.fromRGB(32, 34, 46) Dropdown.Text = "Head ▼" Dropdown.TextColor3 = Color3.fromRGB(235, 235, 240) Dropdown.TextSize = 11 Dropdown.Font = Enum.Font.GothamBold Dropdown.AutoButtonColor = false Dropdown.Parent = DropdownHolder local DropdownButtonCorner = Instance.new("UICorner") DropdownButtonCorner.CornerRadius = UDim.new(0, 6) DropdownButtonCorner.Parent = Dropdown local Options = Instance.new("Frame") Options.Size = UDim2.fromOffset(110, 105) Options.Position = UDim2.new(1, -122, 0, -108) Options.BackgroundColor3 = Color3.fromRGB(28, 30, 40) Options.BorderSizePixel = 0 Options.Visible = false Options.ZIndex = 50 Options.Parent = DropdownHolder local OptionsCorner = Instance.new("UICorner") OptionsCorner.CornerRadius = UDim.new(0, 8) OptionsCorner.Parent = Options local OptionsStroke = Instance.new("UIStroke") OptionsStroke.Color = Color3.fromRGB(45, 48, 62) OptionsStroke.Thickness = 1 OptionsStroke.Parent = Options local function CreateOption(Name, Position) local Option = Instance.new("TextButton") Option.Size = UDim2.new(1, 0, 0, 35) Option.Position = UDim2.fromOffset(0, Position) Option.BackgroundTransparency = 1 Option.Text = Name Option.TextColor3 = Color3.fromRGB(210, 215, 225) Option.TextSize = 11 Option.Font = Enum.Font.GothamMedium Option.ZIndex = 51 Option.Parent = Options Option.MouseButton1Click:Connect(function() AimPartName = Name Dropdown.Text = Name .. " ▼" Options.Visible = false end) end CreateOption("Head", 0) CreateOption("Chest", 35) CreateOption("Legs", 70) Dropdown.MouseButton1Click:Connect(function() Options.Visible = not Options.Visible end) CreateToggle("Show FOV Circle", true, function(State) ShowFOV = State end) CreateToggle("Player Highlight ESP", false, function(State) PlayerESP = State if not State then for Player, Highlight in pairs(ESPObjects) do if Highlight then Highlight:Destroy() end ESPObjects[Player] = nil end end end) ------------------------------------------------------------ -- FOV CIRCLE OVERLAY ------------------------------------------------------------ local FOVCircle = Instance.new("Frame") FOVCircle.Name = "FOVCircle" FOVCircle.Size = UDim2.fromOffset(FOV * 2, FOV * 2) FOVCircle.AnchorPoint = Vector2.new(0.5, 0.5) FOVCircle.Position = UDim2.fromScale(0.5, 0.5) FOVCircle.BackgroundTransparency = 1 FOVCircle.Parent = GUI local FOVCorner = Instance.new("UICorner") FOVCorner.CornerRadius = UDim.new(1, 0) FOVCorner.Parent = FOVCircle local FOVStroke = Instance.new("UIStroke") FOVStroke.Thickness = 1.5 FOVStroke.Transparency = 0.2 FOVStroke.Color = Color3.fromRGB(75, 125, 255) FOVStroke.Parent = FOVCircle ------------------------------------------------------------ -- AIM PART RETRIEVAL ------------------------------------------------------------ local function GetAimPart(Character) if AimPartName == "Head" then return Character:FindFirstChild("Head") elseif AimPartName == "Chest" then return Character:FindFirstChild("UpperTorso") or Character:FindFirstChild("Torso") or Character:FindFirstChild("HumanoidRootPart") elseif AimPartName == "Legs" then return Character:FindFirstChild("LeftLowerLeg") or Character:FindFirstChild("Left Leg") or Character:FindFirstChild("HumanoidRootPart") end return Character:FindFirstChild("Head") end ------------------------------------------------------------ -- RAYCAST WALL CHECK ------------------------------------------------------------ local function IsVisible(Target) if not WallCheck then return true end local Character = LocalPlayer.Character if not Character then return false end local Origin = Camera.CFrame.Position local Direction = Target.Position - Origin local Parameters = RaycastParams.new() Parameters.FilterType = Enum.RaycastFilterType.Exclude Parameters.FilterDescendantsInstances = {Character, Camera} Parameters.IgnoreWater = true local Result = workspace:Raycast(Origin, Direction, Parameters) if not Result then return true end return Result.Instance:IsDescendantOf(Target.Parent) end ------------------------------------------------------------ -- TARGET FINDER (WITH TEAM CHECK) ------------------------------------------------------------ local function GetClosestTarget() local Closest = nil local ClosestDistance = FOV local Center = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) for _, Player in ipairs(Players:GetPlayers()) do if Player ~= LocalPlayer and Player.Character and IsEnemy(Player) then local Character = Player.Character local Humanoid = Character:FindFirstChildOfClass("Humanoid") local TargetPart = GetAimPart(Character) if Humanoid and Humanoid.Health > 0 and TargetPart then local Position, Visible = Camera:WorldToViewportPoint(TargetPart.Position) if Visible and Position.Z > 0 and IsVisible(TargetPart) then local Distance = (Vector2.new(Position.X, Position.Y) - Center).Magnitude if Distance < ClosestDistance then ClosestDistance = Distance Closest = TargetPart end end end end end return Closest end ------------------------------------------------------------ -- HIGHLIGHT ESP (WITH TEAM CHECK) ------------------------------------------------------------ local function CreateESP(Player) if Player == LocalPlayer then return end if ESPObjects[Player] then ESPObjects[Player]:Destroy() end local Character = Player.Character if not Character then return end local Highlight = Instance.new("Highlight") Highlight.Name = "PlayerESP" Highlight.Adornee = Character Highlight.FillColor = Color3.fromRGB(255, 65, 65) Highlight.OutlineColor = Color3.fromRGB(255, 255, 255) Highlight.FillTransparency = 0.5 Highlight.OutlineTransparency = 0 Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop Highlight.Parent = GUI ESPObjects[Player] = Highlight end local function SetupPlayer(Player) if Player == LocalPlayer then return end Player.CharacterAdded:Connect(function() task.wait(0.25) if PlayerESP and IsEnemy(Player) then CreateESP(Player) end end) if Player.Character and PlayerESP and IsEnemy(Player) then CreateESP(Player) end end for _, Player in ipairs(Players:GetPlayers()) do SetupPlayer(Player) end Players.PlayerAdded:Connect(SetupPlayer) Players.PlayerRemoving:Connect(function(Player) if ESPObjects[Player] then ESPObjects[Player]:Destroy() ESPObjects[Player] = nil end end) -- ESP Validation Loop task.spawn(function() while task.wait(0.4) do if PlayerESP then for _, Player in ipairs(Players:GetPlayers()) do if Player ~= LocalPlayer and Player.Character then if IsEnemy(Player) then if not ESPObjects[Player] then CreateESP(Player) end else if ESPObjects[Player] then ESPObjects[Player]:Destroy() ESPObjects[Player] = nil end end end end end end end) ------------------------------------------------------------ -- MAIN RENDER LOOP ------------------------------------------------------------ RunService.RenderStepped:Connect(function() FOVCircle.Visible = ShowFOV if not AimLock then return end local Target = GetClosestTarget() if not Target then return end local TargetCFrame = CFrame.lookAt(Camera.CFrame.Position, Target.Position) Camera.CFrame = Camera.CFrame:Lerp(TargetCFrame, AimSpeed) end) ------------------------------------------------------------ -- KEYBIND (RIGHT SHIFT TOGGLE) ------------------------------------------------------------ UserInputService.InputBegan:Connect(function(Input, Processed) if Processed then return end if Input.KeyCode == Enum.KeyCode.RightShift then Main.Visible = not Main.Visible end end)