local player = game.Players.LocalPlayer local camera = workspace.CurrentCamera local UIS = game:GetService("UserInputService") local RunService= game:GetService("RunService") -- collect text labels for rainbow coloring local rainbowTexts = {} -- Settings local aimStrength = 0.4 local fovRadius = 120 local holdingRight= false local offsetX, offsetY, offsetZ = 0, 0, 0 -- Create ScreenGui local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui")) gui.Name = "NeonAimAssist" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true -- Main Panel (tall enough for 5 sliders) local panel = Instance.new("Frame", gui) panel.Size = UDim2.new(0, 300, 0, 340) panel.Position = UDim2.new(1, -320, 1, -360) panel.BackgroundColor3 = Color3.fromRGB(10,10,10) Instance.new("UICorner", panel).CornerRadius = UDim.new(0,8) -- Panel stroke & dynamic lists local panelStroke = Instance.new("UIStroke", panel) panelStroke.Thickness = 2 local dynamicBars, dynamicKnobs = {}, {} -- Drag Handle local dragBar = Instance.new("Frame", panel) dragBar.Size = UDim2.new(1,0,0,30) dragBar.BackgroundColor3 = Color3.fromRGB(20,20,20) Instance.new("UICorner", dragBar).CornerRadius = UDim.new(0,6) local dragStroke = Instance.new("UIStroke", dragBar) dragStroke.Thickness = 2 -- Title local title = Instance.new("TextLabel", dragBar) title.Size = UDim2.new(1,0,1,0) title.Text = "CashKidds AimMenu" title.Font = Enum.Font.Arcade title.TextScaled = true title.BackgroundTransparency = 1 -- white outline local titleStroke = Instance.new("UIStroke", title) titleStroke.Color = Color3.new(1,1,1) titleStroke.Thickness = 2 -- register for rainbow table.insert(rainbowTexts, title) -- Background Gradient Behind Panel local bg = Instance.new("Frame", panel) bg.Size = UDim2.new(1,0,1,0) bg.ZIndex = -1 bg.BackgroundTransparency = 0.8 local gradient = Instance.new("UIGradient", bg) -- FOV Circle local fovCircle = Instance.new("Frame", gui) fovCircle.AnchorPoint = Vector2.new(0.5,0.5) fovCircle.Position = UDim2.new(0.5,0,0.5,0) fovCircle.Size = UDim2.new(0, fovRadius*2, 0, fovRadius*2) fovCircle.BackgroundTransparency = 1 Instance.new("UICorner", fovCircle).CornerRadius = UDim.new(1,0) local circleStroke = Instance.new("UIStroke", fovCircle) circleStroke.Thickness = 2 -- Slider helper local function createSlider(labelTxt, y, defaultPct, onChange) local lbl = Instance.new("TextLabel", panel) lbl.Position = UDim2.new(0,20,0,y) lbl.Size = UDim2.new(1,-40,0,20) lbl.Text = labelTxt .. ": " .. onChange(defaultPct) lbl.Font = Enum.Font.Arcade lbl.TextScaled = true lbl.BackgroundTransparency = 1 -- white outline local ls = Instance.new("UIStroke", lbl) ls.Color = Color3.new(1,1,1) ls.Thickness = 1.5 table.insert(rainbowTexts, lbl) local bar = Instance.new("Frame", panel) bar.Position = UDim2.new(0,20,0,y+30) bar.Size = UDim2.new(1,-40,0,6) Instance.new("UICorner", bar).CornerRadius = UDim.new(0,4) local bs = Instance.new("UIStroke", bar) bs.Thickness = 1.5 local knob = Instance.new("Frame", bar) knob.Size = UDim2.new(0,14,0,14) knob.Position = UDim2.new(defaultPct,-7,0.5,-7) Instance.new("UICorner", knob).CornerRadius = UDim.new(1,0) Instance.new("UIStroke", knob).Thickness = 1 table.insert(dynamicBars, bar) table.insert(dynamicKnobs, knob) local dragging = false knob.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then dragging=true end end) UIS.InputEnded:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then dragging=false end end) UIS.InputChanged:Connect(function(input) if dragging and input.UserInputType==Enum.UserInputType.MouseMovement then local x,bx,bw = input.Position.X, bar.AbsolutePosition.X, bar.AbsoluteSize.X local pct = math.clamp((x-bx)/bw, 0,1) knob.Position = UDim2.new(pct,-7,0.5,-7) lbl.Text = labelTxt .. ": " .. onChange(pct) end end) end -- Original sliders createSlider("FOV Radius", 40, fovRadius/250, function(p) fovRadius = math.floor(50 + p*200) return fovRadius end) createSlider("Strength", 95, aimStrength, function(p) aimStrength = p return math.floor(p*100).."%" end) -- Offset sliders createSlider("Offset X", 150, 0.5, function(p) offsetX = (p*20)-10 return string.format("%.1f", offsetX) end) createSlider("Offset Y", 195, 0.5, function(p) offsetY = (p*20)-10 return string.format("%.1f", offsetY) end) createSlider("Offset Z", 240, 0.5, function(p) offsetZ = (p*20)-10 return string.format("%.1f", offsetZ) end) -- Rainbow animation loop task.spawn(function() local hue = 0 while true do hue = (hue + 0.002) % 1 local col = Color3.fromHSV(hue,1,1) panelStroke.Color = col dragStroke.Color = col gradient.Rotation = hue*360 gradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, col), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(20,20,20)), ColorSequenceKeypoint.new(1, col) } circleStroke.Color = col for _, bar in ipairs(dynamicBars) do bar.BackgroundColor3 = col bar:FindFirstChildOfClass("UIStroke").Color = col end for _, kn in ipairs(dynamicKnobs) do kn.BackgroundColor3 = col end for _, txt in ipairs(rainbowTexts) do txt.TextColor3 = col end task.wait(0.01) end end) -- Drag panel logic local draggingPanel, startPos, origPos = false dragBar.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then draggingPanel=true; startPos,origPos = i.Position, panel.Position end end) UIS.InputChanged:Connect(function(i) if draggingPanel and i.UserInputType==Enum.UserInputType.MouseMovement then local d = i.Position - startPos panel.Position = UDim2.new(origPos.X.Scale, origPos.X.Offset + d.X, origPos.Y.Scale, origPos.Y.Offset + d.Y) end end) UIS.InputEnded:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then draggingPanel=false end end) -- Right-click tracker UIS.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton2 then holdingRight=true end end) UIS.InputEnded:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton2 then holdingRight=false end end) -- Aim Assist loop RunService.RenderStepped:Connect(function() fovCircle.Size = UDim2.new(0, fovRadius*2, 0, fovRadius*2) if not holdingRight then return end local char = player.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end local center = Vector2.new(camera.ViewportSize.X/2, camera.ViewportSize.Y/2) local best, bestDist = nil, math.huge for _,pl in pairs(game.Players:GetPlayers()) do if pl~=player and pl.Character and pl.Character:FindFirstChild("HumanoidRootPart") then if player.Team and pl.Team==player.Team then continue end local hrp = pl.Character.HumanoidRootPart local sp, onScreen = camera:WorldToScreenPoint(hrp.Position) if onScreen then local d = (Vector2.new(sp.X,sp.Y) - center).Magnitude if d < fovRadius and d < bestDist then best, bestDist = hrp, d end end end end if best then local targetPos = best.Position + Vector3.new(offsetX, offsetY, offsetZ) local dir = (targetPos - camera.CFrame.Position).Unit local blend = camera.CFrame.LookVector:Lerp(dir, aimStrength) camera.CFrame = CFrame.new(camera.CFrame.Position, camera.CFrame.Position + blend) end end)