--This was made for xeno compatibility for a more robust script visit the original local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Teams = game:GetService("Teams") local LocalPlayer = Players.LocalPlayer local camera = workspace.CurrentCamera local mousemoverel = mousemoverel or (Input and Input.MouseMove) or nil local Config = { ESP_Enabled = true, ESP_Box = true, ESP_Name = true, ESP_Distance = true, ESP_Tracer = false, ESP_Rainbow = false, ESP_TeamCheck = true, AIM_Enabled = false, AIM_FOVEnabled = true, AIM_FOV = 120, AIM_Smooth = 3.5, RADAR_Enabled = true, RADAR_Size = 140, RADAR_Range = 200, MISC_Watermark = true, MISC_ActiveList = true } local Tuning = { PanelWidth = 145, PanelHeaderH = 24, ItemHeight = 20, FontSize = 13, SliderHeight = 38, RadarDotSize = 6 } local Palette = { PanelBg = Color3.fromRGB(18, 18, 20), PanelHeader = Color3.fromRGB(25, 25, 28), PanelBorder = Color3.fromRGB(45, 45, 50), ItemOn = Color3.fromRGB(255, 65, 65), ItemOff = Color3.fromRGB(180, 180, 185), ItemHover = Color3.fromRGB(35, 35, 40), Text = Color3.fromRGB(230, 230, 235), TextDim = Color3.fromRGB(130, 130, 140), Accent = Color3.fromRGB(255, 65, 65), ESP_Enemy = Color3.fromRGB(255, 65, 65), ESP_Visible = Color3.fromRGB(85, 255, 127), FOV_Circle = Color3.fromRGB(255, 255, 255), FOV_Active = Color3.fromRGB(85, 255, 127), RadarBg = Color3.fromRGB(12, 12, 14), RadarBorder = Color3.fromRGB(255, 65, 65), RadarGrid = Color3.fromRGB(35, 35, 40), RadarYou = Color3.fromRGB(255, 65, 65), RadarEnemy = Color3.fromRGB(85, 255, 127) } local State = { Unloaded = false, RainbowHue = 0, Aiming = false } local Cache = { Teams = {}, TeamUpdateTime = 0, Visibility = {}, VisUpdateTime = 0, CharactersFolder = nil, LocalChar = nil, LocalCharTime = 0 } local CacheIntervals = { Team = 0.5, Visibility = 0.1, LocalChar = 0.2 } local Connections = {} local espObjects = {} local radarDots = {} local targetEnemy = nil local UI = {} UI.ScreenGui = Instance.new("ScreenGui") UI.ScreenGui.Name = "RiotfallXeno" UI.ScreenGui.ResetOnSpawn = false UI.ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling UI.ScreenGui.DisplayOrder = 999 UI.ScreenGui.IgnoreGuiInset = true pcall(function() UI.ScreenGui.Parent = game:GetService("CoreGui") end) if not UI.ScreenGui.Parent then UI.ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end UI.ESPFolder = Instance.new("Folder") UI.ESPFolder.Name = "ESP" UI.ESPFolder.Parent = UI.ScreenGui local function GetPlayerTeamRaw(player) if not player then return nil end if workspace:FindFirstChild("VoiceOrigins") then local vo = workspace.VoiceOrigins if vo:FindFirstChild("ORANGE") and vo.ORANGE:FindFirstChild(player.Name) then return Teams:FindFirstChild("ORANGE") or "ORANGE" elseif vo:FindFirstChild("BLUE") and vo.BLUE:FindFirstChild(player.Name) then return Teams:FindFirstChild("BLUE") or "BLUE" end end return nil end local function GetPlayerTeam(player) if not player then return nil end local now = tick() if now - Cache.TeamUpdateTime > CacheIntervals.Team then Cache.Teams = {} Cache.TeamUpdateTime = now end if Cache.Teams[player] == nil then Cache.Teams[player] = GetPlayerTeamRaw(player) or false end local result = Cache.Teams[player] return result ~= false and result or nil end local function GetCharactersFolder() if not Cache.CharactersFolder then Cache.CharactersFolder = workspace:FindFirstChild("Characters") end return Cache.CharactersFolder end local function GetLocalCharacter() local now = tick() if now - Cache.LocalCharTime > CacheIntervals.LocalChar or not Cache.LocalChar or not Cache.LocalChar.Parent then local chars = GetCharactersFolder() Cache.LocalChar = chars and chars:FindFirstChild(LocalPlayer.Name) Cache.LocalCharTime = now end return Cache.LocalChar end local function GetTargetPart(character) local parts = {"head_only", "Head", "RootPart", "HumanoidRootPart", "helmet", "pelvis"} for _, name in ipairs(parts) do local part = character:FindFirstChild(name) if part then return part end end for _, part in ipairs(character:GetChildren()) do if part:IsA("BasePart") then return part end end return nil end local function IsVisibleRaw(targetPart) local localChar = GetLocalCharacter() if not localChar or not targetPart then return false end local localPart = GetTargetPart(localChar) if not localPart then return false end local targetChar = targetPart:FindFirstAncestorOfClass("Model") local origin = localPart.Position local direction = (targetPart.Position - origin) local params = RaycastParams.new() params.FilterDescendantsInstances = {localChar, targetChar} params.FilterType = Enum.RaycastFilterType.Blacklist local result = workspace:Raycast(origin, direction, params) return result == nil end local function IsVisible(targetPart) if not targetPart then return false end local now = tick() if now - Cache.VisUpdateTime > CacheIntervals.Visibility then Cache.Visibility = {} Cache.VisUpdateTime = now end if Cache.Visibility[targetPart] == nil then Cache.Visibility[targetPart] = IsVisibleRaw(targetPart) end return Cache.Visibility[targetPart] end local function GetDistance(pos) local char = GetLocalCharacter() if not char then return 0 end local root = GetTargetPart(char) if not root then return 0 end return (pos - root.Position).Magnitude end local function GetRainbow() return Color3.fromHSV(State.RainbowHue, 1, 1) end local function CreateESP(player) if espObjects[player] then return end local container = Instance.new("Frame") container.Name = player.Name container.BackgroundTransparency = 1 container.BorderSizePixel = 0 container.Size = UDim2.new(0, 0, 0, 0) container.Parent = UI.ESPFolder local box = Instance.new("Frame") box.Name = "Box" box.BackgroundTransparency = 1 box.BorderSizePixel = 0 box.Parent = container local boxStroke = Instance.new("UIStroke") boxStroke.Name = "Stroke" boxStroke.Color = Palette.ESP_Enemy boxStroke.Thickness = 1 boxStroke.Parent = box local nameLabel = Instance.new("TextLabel") nameLabel.Name = "Name" nameLabel.BackgroundTransparency = 1 nameLabel.Font = Enum.Font.RobotoMono nameLabel.TextSize = 14 nameLabel.TextColor3 = Color3.new(1, 1, 1) nameLabel.TextStrokeTransparency = 0 nameLabel.TextStrokeColor3 = Color3.new(0, 0, 0) nameLabel.Text = player.Name nameLabel.Size = UDim2.new(0, 200, 0, 16) nameLabel.Parent = container local distLabel = Instance.new("TextLabel") distLabel.Name = "Distance" distLabel.BackgroundTransparency = 1 distLabel.Font = Enum.Font.RobotoMono distLabel.TextSize = 12 distLabel.TextColor3 = Color3.new(1, 1, 1) distLabel.TextStrokeTransparency = 0 distLabel.TextStrokeColor3 = Color3.new(0, 0, 0) distLabel.Size = UDim2.new(0, 200, 0, 14) distLabel.Parent = container local tracer = Instance.new("Frame") tracer.Name = "Tracer" tracer.BackgroundColor3 = Palette.ESP_Enemy tracer.BorderSizePixel = 0 tracer.AnchorPoint = Vector2.new(0.5, 0) tracer.Parent = container espObjects[player] = { Container = container, Box = box, BoxStroke = boxStroke, Name = nameLabel, Distance = distLabel, Tracer = tracer } end local function RemoveESP(player) if espObjects[player] then if espObjects[player].Container then espObjects[player].Container:Destroy() end espObjects[player] = nil end end local function CleanupAllESP() for player, esp in pairs(espObjects) do if esp.Container then esp.Container:Destroy() end end espObjects = {} end local function GetClosestEnemyScreenPos() camera = workspace.CurrentCamera if not camera then return nil end local localTeam = GetPlayerTeam(LocalPlayer) local closestPos = nil local closestDist = Config.AIM_FOVEnabled and Config.AIM_FOV or math.huge local mousePos = UserInputService:GetMouseLocation() local charsFolder = GetCharactersFolder() for _, player in ipairs(Players:GetPlayers()) do if player == LocalPlayer then continue end local character = charsFolder and charsFolder:FindFirstChild(player.Name) if not character then continue end local playerTeam = GetPlayerTeam(player) local isEnemy = true if Config.ESP_TeamCheck and localTeam and playerTeam then isEnemy = localTeam ~= playerTeam end if isEnemy then local part = GetTargetPart(character) if part then local screenPos, onScreen = camera:WorldToViewportPoint(part.Position) if onScreen then local screenVec = Vector2.new(screenPos.X, screenPos.Y) local dist = (mousePos - screenVec).Magnitude if dist < closestDist then closestDist = dist closestPos = screenVec targetEnemy = part end end end end end return closestPos end local function UpdateAimbot() camera = workspace.CurrentCamera if not camera then return end if not Config.AIM_Enabled or not State.Aiming then targetEnemy = nil return end local mousePos = UserInputService:GetMouseLocation() local aimPos = nil if targetEnemy and targetEnemy.Parent then local screenPos, onScreen = camera:WorldToViewportPoint(targetEnemy.Position) if onScreen then aimPos = Vector2.new(screenPos.X, screenPos.Y) else targetEnemy = nil end end if not aimPos then aimPos = GetClosestEnemyScreenPos() end if not aimPos then return end local deltaX = (aimPos.X - mousePos.X) / Config.AIM_Smooth local deltaY = (aimPos.Y - mousePos.Y) / Config.AIM_Smooth if mousemoverel then mousemoverel(deltaX, deltaY) else local currentCFrame = camera.CFrame local worldPos = camera:ViewportPointToRay(aimPos.X, aimPos.Y).Origin local goalCFrame = CFrame.lookAt(currentCFrame.Position, worldPos) camera.CFrame = currentCFrame:Lerp(goalCFrame, 0.1) end end local function UpdateESP() camera = workspace.CurrentCamera if not camera then return end if not Config.ESP_Enabled then for _, esp in pairs(espObjects) do esp.Container.Visible = false end return end local localTeam = GetPlayerTeam(LocalPlayer) local charsFolder = GetCharactersFolder() local screenSize = camera.ViewportSize for _, player in ipairs(Players:GetPlayers()) do if player == LocalPlayer then continue end local character = charsFolder and charsFolder:FindFirstChild(player.Name) local playerTeam = GetPlayerTeam(player) if not character or not playerTeam then if espObjects[player] then espObjects[player].Container.Visible = false end continue end if not espObjects[player] then CreateESP(player) end local esp = espObjects[player] if not esp then continue end local targetPart = GetTargetPart(character) if not targetPart then esp.Container.Visible = false continue end local rootPos, onScreen = camera:WorldToViewportPoint(targetPart.Position) if not onScreen or rootPos.Z <= 0 then esp.Container.Visible = false continue end local distance = GetDistance(targetPart.Position) local isEnemy = true if Config.ESP_TeamCheck and localTeam and playerTeam then isEnemy = localTeam ~= playerTeam end if not isEnemy then esp.Container.Visible = false continue end esp.Container.Visible = true local visible = IsVisible(targetPart) local col = Config.ESP_Rainbow and GetRainbow() or (visible and Palette.ESP_Visible or Palette.ESP_Enemy) local boxHeight = 1400 / math.max(rootPos.Z, 1) boxHeight = math.clamp(boxHeight, 20, 400) local boxWidth = boxHeight * 0.55 local boxX = rootPos.X - boxWidth / 2 local boxY = rootPos.Y - boxHeight * 0.55 if Config.ESP_Box then esp.Box.Position = UDim2.new(0, boxX, 0, boxY) esp.Box.Size = UDim2.new(0, boxWidth, 0, boxHeight) esp.BoxStroke.Color = col esp.Box.Visible = true else esp.Box.Visible = false end if Config.ESP_Name then esp.Name.Position = UDim2.new(0, rootPos.X - 100, 0, boxY - 18) esp.Name.Visible = true else esp.Name.Visible = false end if Config.ESP_Distance then esp.Distance.Text = math.floor(distance) .. "m" esp.Distance.Position = UDim2.new(0, rootPos.X - 100, 0, boxY + boxHeight + 2) esp.Distance.Visible = true else esp.Distance.Visible = false end if Config.ESP_Tracer then local tracerStartY = boxY + boxHeight local tracerEndY = screenSize.Y local tracerHeight = tracerEndY - tracerStartY esp.Tracer.Position = UDim2.new(0, rootPos.X, 0, tracerStartY) esp.Tracer.Size = UDim2.new(0, 1, 0, tracerHeight) esp.Tracer.BackgroundColor3 = col esp.Tracer.Visible = true else esp.Tracer.Visible = false end end end local FOVCircle = Instance.new("Frame") FOVCircle.Name = "FOVCircle" FOVCircle.BackgroundTransparency = 1 FOVCircle.BorderSizePixel = 0 FOVCircle.AnchorPoint = Vector2.new(0.5, 0.5) FOVCircle.Parent = UI.ScreenGui local FOVStroke = Instance.new("UIStroke") FOVStroke.Color = Palette.FOV_Circle FOVStroke.Thickness = 1 FOVStroke.Parent = FOVCircle local FOVCorner = Instance.new("UICorner") FOVCorner.CornerRadius = UDim.new(1, 0) FOVCorner.Parent = FOVCircle local function UpdateFOV() if Config.AIM_Enabled and Config.AIM_FOVEnabled then local mousePos = UserInputService:GetMouseLocation() local guiInset = game:GetService("GuiService"):GetGuiInset() FOVCircle.Position = UDim2.new(0, mousePos.X, 0, mousePos.Y + guiInset.Y) FOVCircle.Size = UDim2.new(0, Config.AIM_FOV * 2, 0, Config.AIM_FOV * 2) FOVStroke.Color = State.Aiming and Palette.FOV_Active or Palette.FOV_Circle FOVCircle.Visible = true else FOVCircle.Visible = false end end local RadarFrame = Instance.new("Frame") RadarFrame.Name = "Radar" RadarFrame.BackgroundColor3 = Palette.RadarBg RadarFrame.BackgroundTransparency = 0.15 RadarFrame.BorderSizePixel = 0 RadarFrame.AnchorPoint = Vector2.new(1, 0) RadarFrame.Parent = UI.ScreenGui local RadarStroke = Instance.new("UIStroke") RadarStroke.Color = Palette.RadarBorder RadarStroke.Thickness = 1 RadarStroke.Parent = RadarFrame local RadarCross1 = Instance.new("Frame") RadarCross1.Name = "Cross1" RadarCross1.BackgroundColor3 = Palette.RadarGrid RadarCross1.BorderSizePixel = 0 RadarCross1.AnchorPoint = Vector2.new(0.5, 0) RadarCross1.Parent = RadarFrame local RadarCross2 = Instance.new("Frame") RadarCross2.Name = "Cross2" RadarCross2.BackgroundColor3 = Palette.RadarGrid RadarCross2.BorderSizePixel = 0 RadarCross2.AnchorPoint = Vector2.new(0, 0.5) RadarCross2.Parent = RadarFrame local RadarCenter = Instance.new("Frame") RadarCenter.Name = "Center" RadarCenter.BackgroundColor3 = Palette.RadarYou RadarCenter.BorderSizePixel = 0 RadarCenter.AnchorPoint = Vector2.new(0.5, 0.5) RadarCenter.Size = UDim2.new(0, 6, 0, 6) RadarCenter.Parent = RadarFrame local RadarCenterCorner = Instance.new("UICorner") RadarCenterCorner.CornerRadius = UDim.new(1, 0) RadarCenterCorner.Parent = RadarCenter local RadarDotsFolder = Instance.new("Folder") RadarDotsFolder.Name = "Dots" RadarDotsFolder.Parent = RadarFrame for i = 1, 30 do local dot = Instance.new("Frame") dot.Name = "Dot" .. i dot.BackgroundColor3 = Palette.RadarEnemy dot.BorderSizePixel = 0 dot.AnchorPoint = Vector2.new(0.5, 0.5) dot.Size = UDim2.new(0, Tuning.RadarDotSize, 0, Tuning.RadarDotSize) dot.Visible = false dot.Parent = RadarDotsFolder local dotCorner = Instance.new("UICorner") dotCorner.CornerRadius = UDim.new(1, 0) dotCorner.Parent = dot radarDots[i] = dot end local function UpdateRadar() camera = workspace.CurrentCamera if not camera then RadarFrame.Visible = false return end if not Config.RADAR_Enabled then RadarFrame.Visible = false return end local myChar = GetLocalCharacter() if not myChar then RadarFrame.Visible = false return end local myRoot = GetTargetPart(myChar) if not myRoot then RadarFrame.Visible = false return end local charsFolder = GetCharactersFolder() local size = Config.RADAR_Size local screenSize = camera.ViewportSize RadarFrame.Position = UDim2.new(1, -10, 0, 10) RadarFrame.Size = UDim2.new(0, size, 0, size) RadarFrame.Visible = true RadarCross1.Position = UDim2.new(0.5, 0, 0, 6) RadarCross1.Size = UDim2.new(0, 1, 1, -12) RadarCross2.Position = UDim2.new(0, 6, 0.5, 0) RadarCross2.Size = UDim2.new(1, -12, 0, 1) RadarCenter.Position = UDim2.new(0.5, 0, 0.5, 0) local myLook = camera.CFrame.LookVector local myAngle = math.atan2(-myLook.X, -myLook.Z) local cosA, sinA = math.cos(myAngle), math.sin(myAngle) local scale = (size/2 - 6) / Config.RADAR_Range local localTeam = GetPlayerTeam(LocalPlayer) local dotIdx = 1 for _, player in ipairs(Players:GetPlayers()) do if player == LocalPlayer then continue end local character = charsFolder and charsFolder:FindFirstChild(player.Name) local playerTeam = GetPlayerTeam(player) if not character or not playerTeam then continue end local isEnemy = true if Config.ESP_TeamCheck and localTeam and playerTeam then isEnemy = localTeam ~= playerTeam end if not isEnemy then continue end local root = GetTargetPart(character) if not root then continue end local rx = root.Position.X - myRoot.Position.X local rz = root.Position.Z - myRoot.Position.Z local dist2D = math.sqrt(rx^2 + rz^2) if dist2D < Config.RADAR_Range then local rotX = rx * cosA - rz * sinA local rotZ = rx * sinA + rz * cosA local radarX, radarY = rotX * scale, rotZ * scale local maxD = size/2 - 6 local rDist = math.sqrt(radarX^2 + radarY^2) if rDist > maxD then radarX, radarY = radarX/rDist * maxD, radarY/rDist * maxD end if dotIdx <= #radarDots then local dot = radarDots[dotIdx] dot.Position = UDim2.new(0.5, radarX, 0.5, radarY) local visible = IsVisible(root) dot.BackgroundColor3 = visible and Palette.ESP_Visible or Palette.ESP_Enemy dot.Visible = true dotIdx = dotIdx + 1 end end end for i = dotIdx, #radarDots do radarDots[i].Visible = false end end local function CreateWatermark() local container = Instance.new("Frame") container.Name = "WatermarkContainer" container.BackgroundTransparency = 1 container.Position = UDim2.new(0, 10, 0, 10) container.Size = UDim2.new(0, 250, 0, 40) container.Parent = UI.ScreenGui local label = Instance.new("TextLabel") label.Name = "Watermark" label.BackgroundTransparency = 1 label.Position = UDim2.new(0, 0, 0, 0) label.Size = UDim2.new(1, 0, 0, 20) label.Font = Enum.Font.RobotoMono label.TextSize = 14 label.TextColor3 = Palette.Accent label.TextXAlignment = Enum.TextXAlignment.Left label.TextStrokeTransparency = 0.6 label.Text = "riotfall by leet" label.Parent = container local xenoLabel = Instance.new("TextLabel") xenoLabel.Name = "XenoTag" xenoLabel.BackgroundTransparency = 1 xenoLabel.Position = UDim2.new(0, 0, 0, 18) xenoLabel.Size = UDim2.new(1, 0, 0, 16) xenoLabel.Font = Enum.Font.RobotoMono xenoLabel.TextSize = 11 xenoLabel.TextColor3 = Color3.fromRGB(85, 255, 127) xenoLabel.TextXAlignment = Enum.TextXAlignment.Left xenoLabel.TextStrokeTransparency = 0.6 xenoLabel.Text = "XENO COMPATIBLE" xenoLabel.Parent = container return container end local function CreateActiveList() local frame = Instance.new("Frame") frame.Name = "ActiveList" frame.BackgroundTransparency = 1 frame.AnchorPoint = Vector2.new(1, 0) frame.Position = UDim2.new(1, -160, 0, 10) frame.Size = UDim2.new(0, 150, 0, 300) frame.Parent = UI.ScreenGui local layout = Instance.new("UIListLayout") layout.FillDirection = Enum.FillDirection.Vertical layout.HorizontalAlignment = Enum.HorizontalAlignment.Right layout.SortOrder = Enum.SortOrder.Name layout.Padding = UDim.new(0, 1) layout.Parent = frame return frame end local function RefreshActiveList(frame) for _, child in ipairs(frame:GetChildren()) do if child:IsA("TextLabel") then child:Destroy() end end if not Config.MISC_ActiveList then return end local features = {} if Config.ESP_Enabled then table.insert(features, "ESP") end if Config.ESP_Box then table.insert(features, "Box") end if Config.ESP_Name then table.insert(features, "Names") end if Config.ESP_Distance then table.insert(features, "Distance") end if Config.ESP_Tracer then table.insert(features, "Tracers") end if Config.AIM_Enabled then table.insert(features, "Aimbot") end if Config.RADAR_Enabled then table.insert(features, "Radar") end for i, name in ipairs(features) do local lbl = Instance.new("TextLabel") lbl.Name = string.format("%02d", i) .. name lbl.BackgroundTransparency = 1 lbl.Size = UDim2.new(1, 0, 0, 16) lbl.Font = Enum.Font.RobotoMono lbl.TextSize = 13 lbl.TextColor3 = Palette.ItemOn lbl.TextXAlignment = Enum.TextXAlignment.Right lbl.TextStrokeTransparency = 0.6 lbl.Text = name lbl.Parent = frame end end local function CreatePanel(title, items, pos) local totalHeight = Tuning.PanelHeaderH for _, item in ipairs(items) do if item.type == "slider" then totalHeight = totalHeight + Tuning.SliderHeight else totalHeight = totalHeight + Tuning.ItemHeight end end totalHeight = totalHeight + 6 local panel = Instance.new("Frame") panel.Name = title panel.BackgroundColor3 = Palette.PanelBg panel.BackgroundTransparency = 0.08 panel.BorderSizePixel = 0 panel.Position = pos panel.Size = UDim2.new(0, Tuning.PanelWidth, 0, totalHeight) panel.Active = true panel.Draggable = true panel.Parent = UI.ScreenGui local stroke = Instance.new("UIStroke") stroke.Color = Palette.PanelBorder stroke.Thickness = 1 stroke.Parent = panel local header = Instance.new("Frame") header.Name = "Header" header.BackgroundColor3 = Palette.PanelHeader header.BackgroundTransparency = 0.05 header.BorderSizePixel = 0 header.Size = UDim2.new(1, 0, 0, Tuning.PanelHeaderH) header.Parent = panel local titleLabel = Instance.new("TextLabel") titleLabel.Name = "Title" titleLabel.BackgroundTransparency = 1 titleLabel.Size = UDim2.new(1, 0, 1, 0) titleLabel.Font = Enum.Font.GothamBold titleLabel.TextSize = Tuning.FontSize titleLabel.TextColor3 = Palette.Text titleLabel.Text = title titleLabel.Parent = header local yOffset = Tuning.PanelHeaderH + 3 for _, item in ipairs(items) do if item.type == "toggle" then local btn = Instance.new("TextButton") btn.Name = item.key btn.BackgroundColor3 = Palette.ItemHover btn.BackgroundTransparency = 1 btn.BorderSizePixel = 0 btn.Position = UDim2.new(0, 0, 0, yOffset) btn.Size = UDim2.new(1, 0, 0, Tuning.ItemHeight) btn.Font = Enum.Font.RobotoMono btn.TextSize = Tuning.FontSize btn.TextXAlignment = Enum.TextXAlignment.Left btn.AutoButtonColor = false btn.Parent = panel local pad = Instance.new("UIPadding") pad.PaddingLeft = UDim.new(0, 10) pad.Parent = btn local function Update() btn.TextColor3 = Config[item.key] and Palette.ItemOn or Palette.ItemOff btn.Text = item.name end Update() btn.MouseEnter:Connect(function() btn.BackgroundTransparency = 0.5 end) btn.MouseLeave:Connect(function() btn.BackgroundTransparency = 1 end) btn.MouseButton1Click:Connect(function() Config[item.key] = not Config[item.key] Update() if UI.ActiveList then RefreshActiveList(UI.ActiveList) end end) yOffset = yOffset + Tuning.ItemHeight elseif item.type == "slider" then local container = Instance.new("Frame") container.Name = item.key container.BackgroundTransparency = 1 container.Position = UDim2.new(0, 10, 0, yOffset) container.Size = UDim2.new(1, -20, 0, Tuning.SliderHeight - 4) container.Parent = panel local label = Instance.new("TextLabel") label.Name = "Label" label.BackgroundTransparency = 1 label.Size = UDim2.new(1, 0, 0, 16) label.Font = Enum.Font.RobotoMono label.TextSize = 12 label.TextColor3 = Palette.TextDim label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = container local track = Instance.new("Frame") track.Name = "Track" track.BackgroundColor3 = Color3.fromRGB(45, 45, 50) track.BorderSizePixel = 0 track.Position = UDim2.new(0, 0, 0, 18) track.Size = UDim2.new(1, 0, 0, 8) track.Parent = container local trackCorner = Instance.new("UICorner") trackCorner.CornerRadius = UDim.new(0, 4) trackCorner.Parent = track local fill = Instance.new("Frame") fill.Name = "Fill" fill.BackgroundColor3 = Palette.Accent fill.BorderSizePixel = 0 fill.Size = UDim2.new(0, 0, 1, 0) fill.Parent = track local fillCorner = Instance.new("UICorner") fillCorner.CornerRadius = UDim.new(0, 4) fillCorner.Parent = fill local function UpdateSlider() local val = Config[item.key] local pct = (val - item.min) / (item.max - item.min) fill.Size = UDim2.new(pct, 0, 1, 0) label.Text = item.name .. ": " .. tostring(math.floor(val * 10) / 10) end UpdateSlider() local dragging = false track.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true end end) track.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) Connections["slider_" .. item.key] = RunService.RenderStepped:Connect(function() if dragging then local mx = UserInputService:GetMouseLocation().X local tx = track.AbsolutePosition.X local tw = track.AbsoluteSize.X local pct = math.clamp((mx - tx) / tw, 0, 1) local val = item.min + pct * (item.max - item.min) val = math.floor(val / item.step + 0.5) * item.step Config[item.key] = math.clamp(val, item.min, item.max) UpdateSlider() end end) yOffset = yOffset + Tuning.SliderHeight end end return panel end UI.Watermark = CreateWatermark() UI.ActiveList = CreateActiveList() RefreshActiveList(UI.ActiveList) UI.Panels = {} UI.Panels.ESP = CreatePanel("ESP", { {type = "toggle", name = "Enabled", key = "ESP_Enabled"}, {type = "toggle", name = "Box", key = "ESP_Box"}, {type = "toggle", name = "Names", key = "ESP_Name"}, {type = "toggle", name = "Distance", key = "ESP_Distance"}, {type = "toggle", name = "Tracers", key = "ESP_Tracer"}, {type = "toggle", name = "Rainbow", key = "ESP_Rainbow"}, {type = "toggle", name = "TeamCheck", key = "ESP_TeamCheck"} }, UDim2.new(0, 10, 0, 55)) UI.Panels.Aimbot = CreatePanel("Aimbot", { {type = "toggle", name = "Enabled", key = "AIM_Enabled"}, {type = "toggle", name = "ShowFOV", key = "AIM_FOVEnabled"}, {type = "slider", name = "FOV", key = "AIM_FOV", min = 30, max = 400, step = 5}, {type = "slider", name = "Smooth", key = "AIM_Smooth", min = 1, max = 15, step = 0.5} }, UDim2.new(0, 165, 0, 55)) UI.Panels.Radar = CreatePanel("Radar", { {type = "toggle", name = "Enabled", key = "RADAR_Enabled"}, {type = "slider", name = "Size", key = "RADAR_Size", min = 100, max = 200, step = 10}, {type = "slider", name = "Range", key = "RADAR_Range", min = 50, max = 500, step = 25} }, UDim2.new(0, 320, 0, 55)) UI.Panels.Misc = CreatePanel("Misc", { {type = "toggle", name = "Watermark", key = "MISC_Watermark"}, {type = "toggle", name = "ActiveList", key = "MISC_ActiveList"} }, UDim2.new(0, 475, 0, 55)) local function Unload() if State.Unloaded then return end State.Unloaded = true for _, conn in pairs(Connections) do pcall(function() conn:Disconnect() end) end CleanupAllESP() pcall(function() UI.ScreenGui:Destroy() end) end Connections.inputDown = UserInputService.InputBegan:Connect(function(input, gp) if input.KeyCode == Enum.KeyCode.Home then Unload() return end if input.KeyCode == Enum.KeyCode.Insert and not gp then UI.ScreenGui.Enabled = not UI.ScreenGui.Enabled return end if input.UserInputType == Enum.UserInputType.MouseButton2 then State.Aiming = true end end) Connections.inputUp = UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton2 then State.Aiming = false targetEnemy = nil end end) Connections.render = RunService.RenderStepped:Connect(function() if State.Unloaded then return end State.RainbowHue = (State.RainbowHue + 0.004) % 1 UpdateESP() UpdateAimbot() UpdateFOV() UpdateRadar() if UI.Watermark then UI.Watermark.Visible = Config.MISC_Watermark end end) for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then CreateESP(player) end end Connections.playerAdded = Players.PlayerAdded:Connect(function(player) CreateESP(player) end) Connections.playerRemoving = Players.PlayerRemoving:Connect(function(player) RemoveESP(player) end)