-- [[ 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 ]] ----------------------------------------------------------- -- UI: SLIDER ----------------------------------------------------------- local sliderActive = nil UserInputService.InputChanged:Connect(function(input) if sliderActive and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then sliderActive(input.Position.X) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then sliderActive = nil end end) local function sliderRow(parent, text, key, minV, maxV, suffix, decimals, callback) suffix = suffix or "" decimals = decimals or 0 local card = Instance.new("Frame") card.Size = UDim2.new(1, 0, 0, 46) card.BackgroundColor3 = T.bg2 card.BorderSizePixel = 0 card.Parent = parent local s = Instance.new("UIStroke") s.Color = T.stroke; s.Thickness = 1; s.Transparency = 0.3; s.Parent = card local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(0.6, 0, 0, 20); lbl.Position = UDim2.fromOffset(12, 4) lbl.BackgroundTransparency = 1; lbl.Text = text; lbl.TextColor3 = T.text lbl.TextSize = 12; lbl.Font = Enum.Font.Gotham lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.Parent = card local valLbl = Instance.new("TextLabel") valLbl.Size = UDim2.new(0.4, -12, 0, 20); valLbl.Position = UDim2.new(0.6, 0, 0, 4) valLbl.BackgroundTransparency = 1 valLbl.TextColor3 = T.accent; valLbl.TextSize = 12 valLbl.Font = Enum.Font.GothamBold valLbl.TextXAlignment = Enum.TextXAlignment.Right; valLbl.Parent = card local track = Instance.new("Frame") track.Size = UDim2.new(1, -24, 0, 4); track.Position = UDim2.fromOffset(12, 32) track.BackgroundColor3 = T.track; track.BorderSizePixel = 0; track.Parent = card local tc = Instance.new("UICorner"); tc.CornerRadius = UDim.new(1, 0); tc.Parent = track local fill = Instance.new("Frame") fill.Size = UDim2.new(0, 0, 1, 0); fill.BackgroundColor3 = T.accent fill.BorderSizePixel = 0; fill.Parent = track local fc = Instance.new("UICorner"); fc.CornerRadius = UDim.new(1, 0); fc.Parent = fill local knob = Instance.new("Frame") knob.AnchorPoint = Vector2.new(0.5, 0.5); knob.Size = UDim2.fromOffset(12, 12) knob.Position = UDim2.new(0, 0, 0.5, 0); knob.BackgroundColor3 = Color3.new(1, 1, 1) knob.BorderSizePixel = 0; knob.Parent = track local kc = Instance.new("UICorner"); kc.CornerRadius = UDim.new(1, 0); kc.Parent = knob local function refresh() local t = (Settings[key] - minV) / math.max(maxV - minV, 0.0001) t = math.clamp(t, 0, 1) fill.Size = UDim2.new(t, 0, 1, 0) knob.Position = UDim2.new(t, 0, 0.5, 0) valLbl.Text = string.format("%." .. decimals .. "f", Settings[key]) .. suffix end refresh() card:GetAttributeChangedSignal and nil local function setFromX(x) local rel = (x - track.AbsolutePosition.X) / math.max(track.AbsoluteSize.X, 1) rel = math.clamp(rel, 0, 1) Settings[key] = minV + (maxV - minV) * rel refresh() if callback then callback(Settings[key]) end end track.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then sliderActive = setFromX setFromX(input.Position.X) end end) end ----------------------------------------------------------- -- UI: SELECT (переключатель по клику) ----------------------------------------------------------- local function selectRow(parent, text, key, options, callback) local card = Instance.new("Frame") card.Size = UDim2.new(1, 0, 0, 32); card.BackgroundColor3 = T.bg2 card.BorderSizePixel = 0; card.Parent = parent local s = Instance.new("UIStroke") s.Color = T.stroke; s.Thickness = 1; s.Transparency = 0.3; s.Parent = card local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(0.5, 0, 1, 0); lbl.Position = UDim2.fromOffset(12, 0) lbl.BackgroundTransparency = 1; lbl.Text = text; lbl.TextColor3 = T.text lbl.TextSize = 12; lbl.Font = Enum.Font.Gotham lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.Parent = card local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.5, -12, 0, 22); btn.Position = UDim2.new(0.5, 0, 0.5, -11) btn.BackgroundColor3 = T.bg3; btn.BorderSizePixel = 0 btn.Text = tostring(Settings[key]); btn.TextColor3 = T.accent btn.TextSize = 11; btn.Font = Enum.Font.GothamBold btn.AutoButtonColor = false; btn.Parent = card local bc = Instance.new("UICorner"); bc.CornerRadius = UDim.new(0, 4); bc.Parent = btn btn.MouseButton1Click:Connect(function() local idx = table.find(options, Settings[key]) or 1 idx = idx % #options + 1 Settings[key] = options[idx] btn.Text = tostring(Settings[key]) playSound("click") if callback then callback(Settings[key]) end end) btn.MouseEnter:Connect(function() tw(btn, { BackgroundColor3 = T.strokeHi }, 0.15) end) btn.MouseLeave:Connect(function() tw(btn, { BackgroundColor3 = T.bg3 }, 0.15) end) end ----------------------------------------------------------- -- UI: KEYBIND ----------------------------------------------------------- local function keybindRow(parent, text, key, callback) local card = Instance.new("Frame") card.Size = UDim2.new(1, 0, 0, 32); card.BackgroundColor3 = T.bg2 card.BorderSizePixel = 0; card.Parent = parent local s = Instance.new("UIStroke") s.Color = T.stroke; s.Thickness = 1; s.Transparency = 0.3; s.Parent = card local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(0.5, 0, 1, 0); lbl.Position = UDim2.fromOffset(12, 0) lbl.BackgroundTransparency = 1; lbl.Text = text; lbl.TextColor3 = T.text lbl.TextSize = 12; lbl.Font = Enum.Font.Gotham lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.Parent = card local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.5, -12, 0, 22); btn.Position = UDim2.new(0.5, 0, 0.5, -11) btn.BackgroundColor3 = T.bg3; btn.BorderSizePixel = 0 btn.Text = tostring(Settings[key]); btn.TextColor3 = T.accent btn.TextSize = 11; btn.Font = Enum.Font.GothamBold btn.AutoButtonColor = false; btn.Parent = card local bc = Instance.new("UICorner"); bc.CornerRadius = UDim.new(0, 4); bc.Parent = btn local listening = false btn.MouseButton1Click:Connect(function() if listening then return end listening = true btn.Text = "..." btn.TextColor3 = T.bad local conn conn = UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.UserInputType == Enum.UserInputType.Keyboard then Settings[key] = input.KeyCode.Name elseif input.UserInputType == Enum.UserInputType.MouseButton1 then Settings[key] = "LMB" elseif input.UserInputType == Enum.UserInputType.MouseButton2 then Settings[key] = "RMB" else return end btn.Text = tostring(Settings[key]) btn.TextColor3 = T.accent listening = false conn:Disconnect() playSound("click") if callback then callback(Settings[key]) end end) end) end ----------------------------------------------------------- -- UI: COLOR (пресеты) ----------------------------------------------------------- local PALETTE = { Color3.fromRGB(0, 200, 255), Color3.fromRGB(0, 220, 120), Color3.fromRGB(255, 60, 80), Color3.fromRGB(255, 200, 0), Color3.fromRGB(160, 0, 255), Color3.fromRGB(255, 255, 255), Color3.fromRGB(255, 100, 0), Color3.fromRGB(0, 255, 200), } local function colorRow(parent, text, key, callback) local card = Instance.new("Frame") card.Size = UDim2.new(1, 0, 0, 32); card.BackgroundColor3 = T.bg2 card.BorderSizePixel = 0; card.Parent = parent local s = Instance.new("UIStroke") s.Color = T.stroke; s.Thickness = 1; s.Transparency = 0.3; s.Parent = card local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(0.5, 0, 1, 0); lbl.Position = UDim2.fromOffset(12, 0) lbl.BackgroundTransparency = 1; lbl.Text = text; lbl.TextColor3 = T.text lbl.TextSize = 12; lbl.Font = Enum.Font.Gotham lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.Parent = card local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.5, -12, 0, 22); btn.Position = UDim2.new(0.5, 0, 0.5, -11) btn.BackgroundColor3 = Settings[key]; btn.BorderSizePixel = 0 btn.Text = ""; btn.AutoButtonColor = false; btn.Parent = card local bc = Instance.new("UICorner"); bc.CornerRadius = UDim.new(0, 4); bc.Parent = btn local bst = Instance.new("UIStroke") bst.Color = T.stroke; bst.Thickness = 1; bst.Parent = btn btn.MouseButton1Click:Connect(function() local idx = table.find(PALETTE, Settings[key]) or 1 idx = idx % #PALETTE + 1 Settings[key] = PALETTE[idx] btn.BackgroundColor3 = Settings[key] playSound("click") if callback then callback(Settings[key]) end end) end ----------------------------------------------------------- -- UI: BUTTON ----------------------------------------------------------- local function buttonRow(parent, text, color, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 32) btn.BackgroundColor3 = color or T.bg3 btn.BorderSizePixel = 0 btn.Text = text; btn.TextColor3 = T.text btn.TextSize = 12; btn.Font = Enum.Font.GothamBold btn.AutoButtonColor = false; btn.Parent = parent local bc = Instance.new("UICorner"); bc.CornerRadius = UDim.new(0, 4); bc.Parent = btn local s = Instance.new("UIStroke") s.Color = T.stroke; s.Thickness = 1; s.Transparency = 0.3; s.Parent = btn btn.MouseEnter:Connect(function() tw(btn, { BackgroundColor3 = T.strokeHi }, 0.15) end) btn.MouseLeave:Connect(function() tw(btn, { BackgroundColor3 = color or T.bg3 }, 0.15) end) ripple(btn) btn.MouseButton1Click:Connect(function() playSound("click"); if callback then callback() end end) return btn end ----------------------------------------------------------- -- ЗАПОЛНЕНИЕ ВКЛАДОК ----------------------------------------------------------- local aimScroll = pages["Aimbot"].scroll local visualsScroll = pages["Visuals"].scroll local playersScroll = pages["Players"].scroll local miscScroll = pages["Misc"].scroll -- AIMBOT section(aimScroll, "MASTER") toggleRow(aimScroll, "Enable Aimbot", "aimEnabled") selectRow(aimScroll, "Mode", "aimMode", { "Camera", "Silent" }) keybindRow(aimScroll, "Aim Key", "aimKey") toggleRow(aimScroll, "Toggle Mode (не удерживать)", "aimToggleMode") toggleRow(aimScroll, "Sticky Target", "aimSticky") section(aimScroll, "TARGETING") selectRow(aimScroll, "Priority", "aimTargetPriority", { "FOV", "Distance", "Health" }) selectRow(aimScroll, "Aim Part", "aimPart", { "Head", "UpperTorso", "HumanoidRootPart", "Nearest", "Random" }) selectRow(aimScroll, "Fallback Part", "aimFallbackPart", { "HumanoidRootPart", "UpperTorso", "Head" }) toggleRow(aimScroll, "Team Check", "aimTeamCheck") toggleRow(aimScroll, "Ignore Knocked", "aimIgnoreKnocked") toggleRow(aimScroll, "Wall Check", "aimWallCheck") section(aimScroll, "RANGE / SPEED") sliderRow(aimScroll, "FOV Radius", "aimFOV", 10, 800, " px", 0) sliderRow(aimScroll, "Smoothness", "aimSmooth", 1, 25, "", 1) selectRow(aimScroll, "Smooth Curve", "aimSmoothCurve", { "Linear", "EaseOut", "EaseIn" }) sliderRow(aimScroll, "Deadzone", "aimDeadzone", 0, 60, " px", 0) sliderRow(aimScroll, "Max Distance", "aimMaxDistance", 100, 10000, " studs", 0) sliderRow(aimScroll, "Min Distance", "aimMinDistance", 0, 500, " studs", 0) section(aimScroll, "PREDICTION") toggleRow(aimScroll, "Enable Prediction", "aimPrediction") sliderRow(aimScroll, "Prediction Divisor", "aimPredictionAmount", 100, 2000, "", 0) section(aimScroll, "FOV VISUAL") toggleRow(aimScroll, "Show FOV Circle", "aimShowFOV") colorRow (aimScroll, "FOV Color", "aimFOVColor") sliderRow(aimScroll, "FOV Thickness", "aimFOVThickness", 1, 6, " px", 0) toggleRow(aimScroll, "Fill Circle", "aimFOVFill") -- VISUALS section(visualsScroll, "MASTER") toggleRow(visualsScroll, "Enable ESP", "espEnabled") toggleRow(visualsScroll, "Show Players", "espShowPlayers") toggleRow(visualsScroll, "Show NPCs", "espShowNPCs") sliderRow(visualsScroll, "Max Distance", "espMaxDistance", 100, 10000, " studs", 0) section(visualsScroll, "BOX") toggleRow(visualsScroll, "Box ESP", "boxEnabled") colorRow (visualsScroll, "Box Color", "boxColor") section(visualsScroll, "SKELETON") toggleRow(visualsScroll, "Skeleton", "skeletonEnabled") colorRow (visualsScroll, "Skeleton Color", "skeletonColor") section(visualsScroll, "TRACERS") toggleRow(visualsScroll, "Tracers", "tracersEnabled") colorRow (visualsScroll, "Tracer Color", "tracersColor") section(visualsScroll, "CHAMS") toggleRow(visualsScroll, "Chams (Highlight)", "chamsEnabled") colorRow (visualsScroll, "Chams Color", "chamsColor") section(visualsScroll, "HEAD DOT") toggleRow(visualsScroll, "Head Dot", "headDotEnabled") colorRow (visualsScroll, "Head Dot Color", "headDotColor") section(visualsScroll, "NAMETAGS") toggleRow(visualsScroll, "Enable Nametags", "ntEnabled") toggleRow(visualsScroll, "Show Name", "ntShowName") toggleRow(visualsScroll, "Show Health Bar", "ntHealthBar") toggleRow(visualsScroll, "Show Distance", "ntShowDistance") sliderRow(visualsScroll, "Text Size", "ntTextSize", 8, 32, "", 0) sliderRow(visualsScroll, "Nametag Max Distance", "ntMaxDistance", 100, 20000, " studs", 0) -- PLAYERS (простой список) section(playersScroll, "PLAYER LIST") local playerListHolder = Instance.new("Frame") playerListHolder.Size = UDim2.new(1, 0, 0, 0) playerListHolder.AutomaticSize = Enum.AutomaticSize.Y playerListHolder.BackgroundTransparency = 1 playerListHolder.Parent = playersScroll local pll = Instance.new("UIListLayout") pll.Padding = UDim.new(0, 4); pll.SortOrder = Enum.SortOrder.LayoutOrder; pll.Parent = playerListHolder local playerRows = {} local function refreshPlayerList() for _, row in pairs(playerRows) do row:Destroy() end playerRows = {} local i = 0 for _, plr in ipairs(Players:GetPlayers()) do if plr == LocalPlayer then continue end i += 1 local row = Instance.new("Frame") row.Size = UDim2.new(1, 0, 0, 26) row.BackgroundColor3 = T.bg2 row.BorderSizePixel = 0 row.LayoutOrder = i row.Parent = playerListHolder local rs = Instance.new("UIStroke") rs.Color = T.stroke; rs.Thickness = 1; rs.Transparency = 0.5; rs.Parent = row local rl = Instance.new("TextLabel") rl.Size = UDim2.new(1, -12, 1, 0); rl.Position = UDim2.fromOffset(8, 0) rl.BackgroundTransparency = 1 rl.Text = plr.Name .. " [" .. (plr.Team and plr.Team.Name or "No Team") .. "]" rl.TextColor3 = T.text; rl.TextSize = 11; rl.Font = Enum.Font.Gotham rl.TextXAlignment = Enum.TextXAlignment.Left rl.Parent = row playerRows[#playerRows + 1] = row end end refreshPlayerList() Players.PlayerAdded:Connect(function() task.wait(0.1) refreshPlayerList() end) Players.PlayerRemoving:Connect(function() task.wait(0.1) refreshPlayerList() end) -- MISC section(miscScroll, "GENERAL") toggleRow(miscScroll, "Sounds Enabled", "soundsEnabled") section(miscScroll, "ACTIONS") buttonRow(miscScroll, "Reset All Settings", T.bg3, function() for k, v in pairs(DEFAULT_SETTINGS) do Settings[k] = v end playSound("open") end) buttonRow(miscScroll, "Unload UI", Color3.fromRGB(60, 20, 25), function() playSound("close") screenGui:Destroy() end) ----------------------------------------------------------- -- МЕНЮ: показ / скрытие / драг ----------------------------------------------------------- local menuOpen = false local dragStart, dragStartPos, dragging = nil, nil, false local function openMenu() menuOpen = true main.Visible = true main.GroupTransparency = 1 main.Size = UDim2.fromOffset(WIN_W - 30, WIN_H - 20) tw(main, { GroupTransparency = 0 }, 0.18) tw(main, { Size = UDim2.fromOffset(WIN_W, WIN_H) }, 0.28, Enum.EasingStyle.Quint) playSound("open") if not currentTab then switchTab("Aimbot", true) end end local function closeMenu() menuOpen = false tw(main, { GroupTransparency = 1 }, 0.15) tw(main, { Size = UDim2.fromOffset(WIN_W - 30, WIN_H - 20) }, 0.18, Enum.EasingStyle.Quint) task.delay(0.2, function() if not menuOpen then main.Visible = false end end) playSound("close") end local function toggleMenu() if menuOpen then closeMenu() else openMenu() end end openBtn.MouseButton1Click:Connect(toggleMenu) closeBtn.MouseButton1Click:Connect(closeMenu) UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.RightShift then toggleMenu() end end) titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = UserInputService:GetMouseLocation() dragStartPos = main.Position end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local cur = UserInputService:GetMouseLocation() local delta = cur - dragStart main.Position = UDim2.new( dragStartPos.X.Scale, dragStartPos.X.Offset + delta.X, dragStartPos.Y.Scale, dragStartPos.Y.Offset + delta.Y ) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) ----------------------------------------------------------- -- AIMBOT ЛОГИКА ----------------------------------------------------------- local stickyTarget = nil local aimToggleActive = false local lastAimKeyState = false local function isAimKeyDown() local k = Settings.aimKey if k == "RMB" then return UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) end if k == "LMB" then return UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) end if k == "E" then return UserInputService:IsKeyDown(Enum.KeyCode.E) end if k == "Q" then return UserInputService:IsKeyDown(Enum.KeyCode.Q) end if k == "Shift" then return UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) end return false end local function predictPos(part, camPos) local pos = part.Position if Settings.aimPrediction then local vel = part.AssemblyLinearVelocity if vel and vel.Magnitude > 0.1 then local dist = (pos - camPos).Magnitude pos = pos + vel * (dist / math.max(Settings.aimPredictionAmount, 1)) end end return pos end local function getAimTarget(camPos) local mousePos = UserInputService:GetMouseLocation() local best, bestScore = nil, math.huge local function considerPart(part, plr, hum) local worldPos = predictPos(part, camPos) local sp, onScreen = Camera:WorldToViewportPoint(worldPos) if not onScreen then return end local dist3 = (worldPos - camPos).Magnitude if dist3 > Settings.aimMaxDistance or dist3 < Settings.aimMinDistance then return end if Settings.aimWallCheck then local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude local ignore = { LocalPlayer.Character } if plr.Character then ig