local virtualInputManager, players, runService, userInputService, replicatedStorage, tweenService, httpService, currentCamera, localPlayer, settingsFolderName, settingsFilePath, whiteColor, defaultSettings, allowedSettingTypes, saveSettings, settings, setControlsRemote, sendControls, applyDeviceSpoofer, isSupportedGame, drawingObjects, isCombatMode, trackDrawingObject, fovCircle, playerEspObjects, mainGui, dragStartPosition, dragStartInput, isDragging, dragStartGuiPosition, updateDragPosition, createWindow, windowCornerRadius, activeWindow, themeColor, windowButtons, createMainWindow, windowPages, createSection, createSectionGroup, createLabel, buttonLabels, isMenuOpen, tabButtons, tabSpacing, tabPadding, selectedTab, tabWidth, tabHeight, getTabBarHeight, createTab, tabBar, deviceToggleButton, deviceControlsFrame, buildToggle, buildOptionToggle, deviceControlsContent, refreshSettings, isMenuAnimating, getMenuHeight, openMenu, closeMenu, playerAttributes, characterCache, cacheRefreshInterval, serializeValue, isTeamAttributeName, getTeamAttributes, getTeamValueObject, getPlayerTeamIdentifier, invalidatePlayerTeamCache, isTeammate, targetPlayers, isValidTarget, targetRefreshInterval, lastTargetRefresh, refreshTargetCache, getMousePosition, worldToScreen, getNextTarget, hasLineOfSight, currentAimbotTarget, findAimbotTarget, aimCameraAtTarget, updateAimbotTarget, getTargetParts, getCharacterBounds, isTriggerTarget, getEspObject, removeEspObject, hideEspObjects, healthBarWidth, createEspObject, healthBarHeight, espLabelHeight, isTriggerbotActive, espMaxTextWidth, updateEsp, refreshEsp, createEspGui, updateEspObjects; if _G.__nameless_loaded then warn("already running - blocked duplicate execution.") return end _G.__nameless_loaded = true virtualInputManager = game:GetService("VirtualInputManager") players = game:GetService("Players") runService = game:GetService("RunService") userInputService = game:GetService("UserInputService") replicatedStorage = game:GetService("ReplicatedStorage") tweenService = game:GetService("TweenService") httpService = game:GetService("HttpService") currentCamera = workspace.CurrentCamera localPlayer = players.LocalPlayer settingsFolderName = "Nameless_Cache" settingsFilePath = settingsFolderName .. "/settings.json" pcall(function() if makefolder and (not isfolder or not isfolder(settingsFolderName)) then makefolder(settingsFolderName) end end) whiteColor = Color3.fromRGB(255, 255, 255) defaultSettings = { ESP_Enabled = true, ESP_Highlight = true, ESP_Name = true, ESP_Studs = true, ESP_Tracer = false, ESP_BoxTransparency = 0.5, ESP_MaxDistance = 500, Aimbot_Enabled = true, Aimbot_FOVRadius = 100, Aimbot_WallCheck = false, Aimbot_Smoothness = 1, Triggerbot_Enabled = true, Triggerbot_MaxDistance = 1000, Triggerbot_FOVRadius = 50, InfJump_Enabled = false, DeviceSpoofer_Active = nil, } allowedSettingTypes = { boolean = true, number = true, string = true } saveSettings = function() if not writefile then return end local serializableSettings = {} for key, value in pairs(settings) do if allowedSettingTypes[typeof(value)] then serializableSettings[key] = value end end pcall(function() writefile(settingsFilePath, httpService:JSONEncode(serializableSettings)) end) end settings = (function() local loadedSettings local success, result = pcall(function() if not isfile or not isfile(settingsFilePath) then return nil end local decodedSettings = httpService:JSONDecode(readfile(settingsFilePath)) if type(decodedSettings) ~= "table" then return nil end for key, defaultValue in pairs(defaultSettings) do if decodedSettings[key] == nil then decodedSettings[key] = defaultValue end end return decodedSettings end) if success then loadedSettings = result end if loadedSettings then return loadedSettings end local copiedDefaults = {} for key, value in pairs(defaultSettings) do copiedDefaults[key] = value end return copiedDefaults end)() if settings.ESP_Tracer == nil then settings.ESP_Tracer = settings.ESP_Snapline or false end settings.ESP_Snapline = nil settings.Triggerbot_MaxDistance = 1000 setControlsRemote = nil pcall(function() local remotes = replicatedStorage:WaitForChild("Remotes", 5) if not remotes then return end local replication = remotes:WaitForChild("Replication", 5) if not replication then return end local fighter = replication:WaitForChild("Fighter", 5) if not fighter then return end setControlsRemote = fighter:WaitForChild("SetControls", 5) end) sendControls = function(controlState) if not setControlsRemote then return end pcall(function() setControlsRemote:FireServer(controlState) end) end applyDeviceSpoofer = function() if not settings.DeviceSpoofer_Active then return end task.wait(1.5) sendControls(settings.DeviceSpoofer_Active) end localPlayer.CharacterAdded:Connect(function(character) character.ChildAdded:Connect(function(child) if child.Name == "HumanoidRootPart" then applyDeviceSpoofer() end end) end) local currentCharacter = localPlayer.Character if currentCharacter and currentCharacter:FindFirstChild("HumanoidRootPart") then applyDeviceSpoofer() end isSupportedGame = function() local playerGui = localPlayer:FindFirstChild("PlayerGui") local mainScreen = playerGui and playerGui:FindFirstChild("MainGUI") local mainFrame = mainScreen and mainScreen:FindFirstChild("MainFrame") local duelContainer = mainFrame and mainFrame:FindFirstChild("DuelInterface") local duelScreen = duelContainer and duelContainer:FindFirstChild("DuelInterface") local votingScreen = duelScreen and duelScreen:FindFirstChild("Voting") if not votingScreen then return false end if votingScreen.Visible then return true end local mapsScreen = votingScreen:FindFirstChild("Maps") if not mapsScreen then return false end return mapsScreen.Visible or mapsScreen:FindFirstChild("MapsList") ~= nil end isCombatMode = function() local character = localPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local rootPart = character and character:FindFirstChild("HumanoidRootPart") return character ~= nil and humanoid ~= nil and humanoid.Health > 0 and rootPart ~= nil and not isSupportedGame() end drawingObjects = {} trackDrawingObject = function(drawingObject) table.insert(drawingObjects, drawingObject) return drawingObject end fovCircle = nil playerEspObjects = {} do local menuScreenGui = Instance.new("ScreenGui") menuScreenGui.Name = "MenuGUI" menuScreenGui.ResetOnSpawn = false menuScreenGui.IgnoreGuiInset = true menuScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling menuScreenGui.DisplayOrder = 999 menuScreenGui.Parent = localPlayer:WaitForChild("PlayerGui") mainGui = Instance.new("Frame") mainGui.AnchorPoint = Vector2.new(0.5, 0.5) mainGui.Size = UDim2.fromOffset(390, 0) mainGui.Position = UDim2.fromScale(0.5, 0.5) mainGui.BackgroundColor3 = Color3.fromRGB(15, 20, 25) mainGui.BorderSizePixel = 0 mainGui.Visible = true mainGui.Active = true mainGui.ZIndex = 101 mainGui.Parent = menuScreenGui local mainGuiCorner = Instance.new("UICorner") mainGuiCorner.CornerRadius = UDim.new(0, 14) mainGuiCorner.Parent = mainGui isDragging = false dragStartInput = nil dragStartPosition = nil dragStartGuiPosition = nil updateDragPosition = function(input) local delta = input.Position - dragStartPosition mainGui.Position = UDim2.new( dragStartGuiPosition.X.Scale, dragStartGuiPosition.X.Offset + delta.X, dragStartGuiPosition.Y.Scale, dragStartGuiPosition.Y.Offset + delta.Y ) end mainGui.InputBegan:Connect(function(input) local inputType = input.UserInputType if inputType ~= Enum.UserInputType.MouseButton1 and inputType ~= Enum.UserInputType.Touch then return end isDragging = true dragStartPosition = input.Position dragStartGuiPosition = mainGui.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then isDragging = false end end) end) mainGui.InputChanged:Connect(function(input) local inputType = input.UserInputType if inputType == Enum.UserInputType.MouseMovement or inputType == Enum.UserInputType.Touch then dragStartInput = input end end) userInputService.InputChanged:Connect(function(input) if isDragging and input == dragStartInput then updateDragPosition(input) end end) local outlineStroke = Instance.new("UIStroke") outlineStroke.Color = Color3.fromRGB(50, 100, 150) outlineStroke.Thickness = 1 outlineStroke.Transparency = 0.1 outlineStroke.Parent = mainGui local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, -40, 0, 42) titleLabel.Position = UDim2.new(0, 20, 0, 12) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "Controls" titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.Font = Enum.Font.GothamBold titleLabel.TextSize = 25 titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.ZIndex = 102 titleLabel.Parent = mainGui local subtitleLabel = Instance.new("TextLabel") subtitleLabel.Size = UDim2.new(1, -40, 0, 20) subtitleLabel.Position = UDim2.new(0, 20, 0, 45) subtitleLabel.BackgroundTransparency = 1 subtitleLabel.Text = "Triggerbot, ESP and Aimbot" subtitleLabel.TextColor3 = Color3.fromRGB(140, 160, 180) subtitleLabel.Font = Enum.Font.GothamMedium subtitleLabel.TextSize = 13 subtitleLabel.TextXAlignment = Enum.TextXAlignment.Left subtitleLabel.ZIndex = 102 subtitleLabel.Parent = mainGui createWindow = Instance.new("Frame") createWindow.Size = UDim2.new(1, -30, 0, 0) createWindow.Position = UDim2.new(0, 15, 0, 70) createWindow.BackgroundTransparency = 1 createWindow.BorderSizePixel = 0 createWindow.AutomaticSize = Enum.AutomaticSize.Y createWindow.ZIndex = 103 createWindow.Parent = mainGui local windowListLayout = Instance.new("UIListLayout") windowListLayout.Padding = UDim.new(0, 5) windowListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center windowListLayout.Parent = createWindow end windowCornerRadius = 0.22 themeColor = TweenInfo.new(0.22, Enum.EasingStyle.Quint, Enum.EasingDirection.Out) windowButtons = {}; windowPages = {}; activeWindow = nil; createSection = function(parent, cornerRadius) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, cornerRadius) corner.Parent = parent return corner end createLabel = function(parent) local indicator = Instance.new("Frame") indicator.Size = UDim2.fromOffset(9, 9) indicator.Position = UDim2.new(1, -23, 0.5, -4.5) indicator.BackgroundColor3 = Color3.fromRGB(100, 100, 100) indicator.BorderSizePixel = 0 indicator.ZIndex = parent.ZIndex + 1 indicator.Parent = parent createSection(indicator, 5) return indicator end createMainWindow = function() for _, refreshButton in ipairs(windowButtons) do refreshButton() end for _, refreshPage in ipairs(windowPages) do refreshPage() end if activeWindow then activeWindow() end end createSectionGroup = function(masterGetter, layoutOrder) local group = Instance.new("Frame") group.Size = UDim2.new(1, -8, 0, 0) group.BackgroundTransparency = 1 group.BorderSizePixel = 0 group.AutomaticSize = Enum.AutomaticSize.Y group.LayoutOrder = layoutOrder group.ZIndex = 103 group.Parent = createWindow local branch = Instance.new("Frame") branch.Size = UDim2.new(0, 2, 1, 0) branch.Position = UDim2.new(0, 22, 0, 0) branch.BackgroundColor3 = Color3.fromRGB(50, 70, 90) branch.BorderSizePixel = 0 branch.ZIndex = 104 branch.Parent = group createSection(branch, 1) local content = Instance.new("Frame") content.Size = UDim2.new(1, -48, 0, 0) content.Position = UDim2.new(0, 42, 0, 0) content.BackgroundTransparency = 1 content.BorderSizePixel = 0 content.AutomaticSize = Enum.AutomaticSize.Y content.ZIndex = 105 content.Parent = group local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 4) layout.SortOrder = Enum.SortOrder.LayoutOrder layout.Parent = content return { Group = group, Branch = branch, Content = content, MasterGetter = masterGetter, } end buildToggle = function(labelText, getValue, setValue, layoutOrder) local button = Instance.new("TextButton") button.Size = UDim2.new(1, -6, 0, 39) button.BackgroundColor3 = Color3.fromRGB(20, 30, 40) button.BorderSizePixel = 0 button.Text = "" button.AutoButtonColor = false button.LayoutOrder = layoutOrder button.ZIndex = 104 button.Parent = createWindow createSection(button, 9) local label = Instance.new("TextLabel") label.Size = UDim2.new(1, -45, 1, 0) label.Position = UDim2.new(0, 14, 0, 0) label.BackgroundTransparency = 1 label.Text = labelText label.TextColor3 = Color3.fromRGB(235, 235, 235) label.Font = Enum.Font.GothamBold label.TextSize = 15 label.TextXAlignment = Enum.TextXAlignment.Left label.ZIndex = 105 label.Parent = button local indicator = createLabel(button) local function refreshToggle() indicator.BackgroundColor3 = getValue() and Color3.fromRGB(0, 200, 255) or Color3.fromRGB(100, 100, 100) end button.MouseButton1Click:Connect(function() setValue(not getValue()) createMainWindow() saveSettings() end) table.insert(windowButtons, refreshToggle) refreshToggle() return button end buildOptionToggle = function(labelText, getValue, setValue, isEnabled, refreshList, section, layoutOrder) local button = Instance.new("TextButton") button.Size = UDim2.new(1, 0, 0, 32) button.BackgroundColor3 = Color3.fromRGB(15, 25, 35) button.BorderSizePixel = 0 button.Text = "" button.AutoButtonColor = false button.LayoutOrder = layoutOrder button.ZIndex = 105 button.Parent = section.Content createSection(button, 8) local label = Instance.new("TextLabel") label.Size = UDim2.new(1, -42, 1, 0) label.Position = UDim2.new(0, 14, 0, 0) label.BackgroundTransparency = 1 label.Text = labelText label.TextColor3 = Color3.fromRGB(205, 205, 205) label.Font = Enum.Font.GothamMedium label.TextSize = 13 label.TextXAlignment = Enum.TextXAlignment.Left label.ZIndex = 106 label.Parent = button local indicator = Instance.new("Frame") indicator.Size = UDim2.fromOffset(8, 8) indicator.Position = UDim2.new(1, -20, 0.5, -4) indicator.BackgroundColor3 = Color3.fromRGB(95, 95, 95) indicator.BorderSizePixel = 0 indicator.ZIndex = 106 indicator.Parent = button createSection(indicator, 4) local function refreshOption() if not isEnabled() then button.BackgroundColor3 = Color3.fromRGB(12, 18, 25) label.TextColor3 = Color3.fromRGB(65, 65, 65) indicator.BackgroundColor3 = Color3.fromRGB(45, 45, 45) section.Branch.BackgroundColor3 = Color3.fromRGB(38, 48, 58) return end button.BackgroundColor3 = Color3.fromRGB(15, 25, 35) label.TextColor3 = Color3.fromRGB(205, 205, 205) indicator.BackgroundColor3 = getValue() and Color3.fromRGB(0, 200, 255) or Color3.fromRGB(95, 95, 95) section.Branch.BackgroundColor3 = Color3.fromRGB(50, 70, 90) end button.MouseButton1Click:Connect(function() if not isEnabled() then return end setValue(not getValue()) refreshOption() saveSettings() end) table.insert(refreshList, refreshOption) refreshOption() return button end do buildToggle( "Triggerbot", function() return settings.Triggerbot_Enabled end, function(value) settings.Triggerbot_Enabled = value end, 1 ) buildToggle( "Inf Jump", function() return settings.InfJump_Enabled end, function(value) settings.InfJump_Enabled = value end, 2 ) buildToggle( "ESP Master", function() return settings.ESP_Enabled end, function(value) settings.ESP_Enabled = value end, 3 ) local espSection = createSectionGroup(function() return settings.ESP_Enabled end, 4) buildOptionToggle("Highlight", function() return settings.ESP_Highlight end, function(value) settings.ESP_Highlight = value end, function() return settings.ESP_Enabled end, windowButtons, espSection, 1) buildOptionToggle("Name", function() return settings.ESP_Name end, function(value) settings.ESP_Name = value end, function() return settings.ESP_Enabled end, windowButtons, espSection, 2) buildOptionToggle("Studs", function() return settings.ESP_Studs end, function(value) settings.ESP_Studs = value end, function() return settings.ESP_Enabled end, windowButtons, espSection, 3) buildOptionToggle("Tracer", function() return settings.ESP_Tracer end, function(value) settings.ESP_Tracer = value end, function() return settings.ESP_Enabled end, windowButtons, espSection, 4) buildToggle( "Aimbot", function() return settings.Aimbot_Enabled end, function(value) settings.Aimbot_Enabled = value end, 5 ) local aimbotSection = createSectionGroup(function() return settings.Aimbot_Enabled end, 6) buildOptionToggle("Wall Check", function() return settings.Aimbot_WallCheck end, function(value) settings.Aimbot_WallCheck = value end, function() return settings.Aimbot_Enabled end, windowPages, aimbotSection, 1) local function createFovSlider(labelText, isEnabled, section, layoutOrder) local row = Instance.new("Frame") row.Size = UDim2.new(1, 0, 0, 47) row.BackgroundTransparency = 1 row.BorderSizePixel = 0 row.LayoutOrder = layoutOrder row.ZIndex = 105 row.Parent = section.Content local sliderContainer = Instance.new("Frame") sliderContainer.Size = UDim2.fromScale(1, 1) sliderContainer.BackgroundTransparency = 1 sliderContainer.ZIndex = 105 sliderContainer.Parent = row local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 0, 18) label.BackgroundTransparency = 1 label.TextColor3 = Color3.fromRGB(205, 205, 205) label.Font = Enum.Font.GothamMedium label.TextSize = 13 label.TextXAlignment = Enum.TextXAlignment.Left label.ZIndex = 106 label.Parent = sliderContainer local track = Instance.new("Frame") track.Size = UDim2.new(1, -12, 0, 4) track.Position = UDim2.new(0, 6, 0, 29) track.BackgroundColor3 = Color3.fromRGB(45, 55, 65) track.BorderSizePixel = 0 track.ZIndex = 105 track.Parent = sliderContainer createSection(track, 2) local handle = Instance.new("TextButton") handle.Size = UDim2.fromOffset(16, 16) handle.Position = UDim2.new(0, -8, 0, 23) handle.BackgroundColor3 = Color3.fromRGB(170, 190, 210) handle.BorderSizePixel = 0 handle.Text = "" handle.AutoButtonColor = false handle.ZIndex = 107 handle.Parent = sliderContainer createSection(handle, 8) local isDragging = false local function refreshEnabledStyle() if isEnabled() then label.TextColor3 = Color3.fromRGB(205, 205, 205) track.BackgroundColor3 = Color3.fromRGB(45, 55, 65) handle.BackgroundColor3 = Color3.fromRGB(170, 190, 210) section.Branch.BackgroundColor3 = Color3.fromRGB(50, 70, 90) else label.TextColor3 = Color3.fromRGB(65, 65, 65) track.BackgroundColor3 = Color3.fromRGB(25, 30, 35) handle.BackgroundColor3 = Color3.fromRGB(45, 45, 45) section.Branch.BackgroundColor3 = Color3.fromRGB(38, 48, 58) end end local function refreshSliderPosition() local trackWidth = track.AbsoluteSize.X if trackWidth > 0 then local ratio = math.clamp(settings.Aimbot_FOVRadius / 500, 0.04, 1) handle.Position = UDim2.new(0, ratio * trackWidth - 8, 0, 23) end label.Text = labelText .. ": " .. tostring(settings.Aimbot_FOVRadius) end handle.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 and isEnabled() then isDragging = true end end) trackDrawingObject(userInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isDragging = false end end)) trackDrawingObject(userInputService.InputChanged:Connect(function(input) if not isDragging then return end if not isEnabled() then isDragging = false return end if input.UserInputType ~= Enum.UserInputType.MouseMovement then return end local trackWidth = track.AbsoluteSize.X if trackWidth <= 0 then return end local offset = math.clamp(input.Position.X - track.AbsolutePosition.X, 0, trackWidth) local steps = math.floor((offset / trackWidth * 500 + 2.5) / 5) settings.Aimbot_FOVRadius = math.clamp(steps * 5, 20, 500) handle.Position = UDim2.new(0, offset - 8, 0, 23) refreshSliderPosition() saveSettings() end)) task.defer(refreshSliderPosition) task.defer(refreshEnabledStyle) return row, refreshEnabledStyle end local _, refreshFovSlider = createFovSlider("Aimbot FOV", function() return settings.Aimbot_Enabled end, aimbotSection, 2) table.insert(windowPages, refreshFovSlider) end createMainWindow() buttonLabels = { { label = "PC (Mouse & Keyboard)", value = "MouseKeyboard" }, { label = "Console (Gamepad)", value = "Gamepad" }, { label = "Mobile (Touch)", value = "Touch" }, { label = "VR", value = "VR" }, } isMenuOpen = false selectedTab = settings.DeviceSpoofer_Active tabButtons = {} tabWidth = 32 tabPadding = 4 tabHeight = 6 tabSpacing = 4 getTabBarHeight = function() return tabHeight + (#buttonLabels * tabWidth) + ((#buttonLabels - 1) * tabPadding) + tabSpacing end createTab = Instance.new("Frame") createTab.Size = UDim2.new(1, -6, 0, 0) createTab.BackgroundTransparency = 1 createTab.BorderSizePixel = 0 createTab.AutomaticSize = Enum.AutomaticSize.Y createTab.LayoutOrder = 7 createTab.ZIndex = 103 createTab.Parent = createWindow local tabLayout = Instance.new("UIListLayout") tabLayout.Padding = UDim.new(0, 0) tabLayout.SortOrder = Enum.SortOrder.LayoutOrder tabLayout.Parent = createTab tabBar = Instance.new("TextButton") tabBar.Size = UDim2.new(1, 0, 0, 39) tabBar.BackgroundColor3 = Color3.fromRGB(20, 30, 40) tabBar.BorderSizePixel = 0 tabBar.Text = "" tabBar.AutoButtonColor = false tabBar.LayoutOrder = 1 tabBar.ZIndex = 104 tabBar.Parent = createTab createSection(tabBar, 9) local tabTitle = Instance.new("TextLabel") tabTitle.Size = UDim2.new(1, -50, 1, 0) tabTitle.Position = UDim2.new(0, 14, 0, 0) tabTitle.BackgroundTransparency = 1 tabTitle.Text = "Device Spoofer" tabTitle.TextColor3 = Color3.fromRGB(235, 235, 235) tabTitle.Font = Enum.Font.GothamBold tabTitle.TextSize = 15 tabTitle.TextXAlignment = Enum.TextXAlignment.Left tabTitle.ZIndex = 105 tabTitle.Parent = tabBar deviceToggleButton = Instance.new("TextLabel") deviceToggleButton.Size = UDim2.fromOffset(24, 24) deviceToggleButton.Position = UDim2.new(1, -30, 0.5, -12) deviceToggleButton.AnchorPoint = Vector2.new(0, 0) deviceToggleButton.BackgroundTransparency = 1 deviceToggleButton.Text = "\226\150\178" deviceToggleButton.TextColor3 = Color3.fromRGB(160, 160, 160) deviceToggleButton.Font = Enum.Font.GothamBold deviceToggleButton.TextSize = 12 deviceToggleButton.TextXAlignment = Enum.TextXAlignment.Center deviceToggleButton.TextYAlignment = Enum.TextYAlignment.Center deviceToggleButton.Rotation = 0 deviceToggleButton.ZIndex = 106 deviceToggleButton.Parent = tabBar deviceControlsFrame = Instance.new("Frame") deviceControlsFrame.Size = UDim2.new(1, 0, 0, 0) deviceControlsFrame.BackgroundTransparency = 1 deviceControlsFrame.BorderSizePixel = 0 deviceControlsFrame.ClipsDescendants = true deviceControlsFrame.AutomaticSize = Enum.AutomaticSize.None deviceControlsFrame.LayoutOrder = 2 deviceControlsFrame.ZIndex = 103 deviceControlsFrame.Parent = createTab deviceControlsContent = Instance.new("Frame") deviceControlsContent.Size = UDim2.new(1, 0, 0, tabHeight) deviceControlsContent.Position = UDim2.new(0, 0, 0, tabHeight) deviceControlsContent.BackgroundTransparency = 1 deviceControlsContent.BorderSizePixel = 0 deviceControlsContent.AutomaticSize = Enum.AutomaticSize.Y deviceControlsContent.ZIndex = 104 deviceControlsContent.Parent = deviceControlsFrame local deviceControlsLayout = Instance.new("UIListLayout") deviceControlsLayout.Padding = UDim.new(0, tabPadding) deviceControlsLayout.SortOrder = Enum.SortOrder.LayoutOrder deviceControlsLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center deviceControlsLayout.Parent = deviceControlsContent refreshSettings = function() for _, refreshOption in ipairs(tabButtons) do refreshOption() end end do local function createTabOption(labelText, mode, layoutOrder) local button = Instance.new("TextButton") button.Size = UDim2.new(1, -8, 0, tabWidth) button.BackgroundColor3 = Color3.fromRGB(15, 25, 35) button.BorderSizePixel = 0 button.Text = "" button.AutoButtonColor = false button.LayoutOrder = layoutOrder button.ZIndex = 105 button.Parent = deviceControlsContent createSection(button, 8) local label = Instance.new("TextLabel") label.Size = UDim2.new(1, -42, 1, 0) label.Position = UDim2.new(0, 14, 0, 0) label.BackgroundTransparency = 1 label.Text = labelText label.TextColor3 = Color3.fromRGB(205, 205, 205) label.Font = Enum.Font.GothamMedium label.TextSize = 13 label.TextXAlignment = Enum.TextXAlignment.Left label.ZIndex = 106 label.Parent = button local indicator = Instance.new("Frame") indicator.Size = UDim2.fromOffset(8, 8) indicator.Position = UDim2.new(1, -20, 0.5, -4) indicator.BorderSizePixel = 0 indicator.ZIndex = 106 indicator.Parent = button createSection(indicator, 4) local function refreshTabOption() indicator.BackgroundColor3 = selectedTab == mode and Color3.fromRGB(0, 200, 255) or Color3.fromRGB(60, 60, 60) end button.MouseButton1Click:Connect(function() if selectedTab == mode then selectedTab = nil settings.DeviceSpoofer_Active = nil if setControlsRemote then pcall(function() setControlsRemote:FireServer("MouseKeyboard") end) end else selectedTab = mode settings.DeviceSpoofer_Active = mode sendControls(mode) end refreshSettings() saveSettings() end) table.insert(tabButtons, refreshTabOption) end for index, option in ipairs(buttonLabels) do createTabOption(option.label, option.value, index) end end isMenuAnimating = false getMenuHeight = function(extraHeight) local contentHeight = 0 for _, child in ipairs(createWindow:GetChildren()) do local isLayoutItem = child:IsA("Frame") or child:IsA("TextButton") if isLayoutItem and child ~= createTab then contentHeight = contentHeight + child.AbsoluteSize.Y + 5 end end return contentHeight + tabBar.AbsoluteSize.Y + extraHeight end openMenu = function() if isMenuAnimating then return end isMenuAnimating = true deviceControlsFrame.Visible = true local tabBarHeight = getTabBarHeight() local menuHeight = 70 + getMenuHeight(tabBarHeight) + 15 tweenService:Create(deviceControlsFrame, themeColor, { Size = UDim2.new(1, 0, 0, tabBarHeight) }):Play() tweenService:Create(mainGui, themeColor, { Size = UDim2.fromOffset(390, menuHeight) }):Play() tweenService:Create(deviceToggleButton, themeColor, { Rotation = 180 }):Play() task.delay(windowCornerRadius, function() isMenuAnimating = false end) end closeMenu = function() if isMenuAnimating then return end isMenuAnimating = true local menuHeight = 70 + getMenuHeight(0) + 15 tweenService:Create(deviceControlsFrame, themeColor, { Size = UDim2.new(1, 0, 0, 0) }):Play() tweenService:Create(mainGui, themeColor, { Size = UDim2.fromOffset(390, menuHeight) }):Play() tweenService:Create(deviceToggleButton, themeColor, { Rotation = 0 }):Play() task.delay(windowCornerRadius, function() deviceControlsFrame.Visible = false isMenuAnimating = false end) end tabBar.MouseButton1Click:Connect(function() isMenuOpen = not isMenuOpen if isMenuOpen then openMenu() else closeMenu() end end) playerAttributes = {} characterCache = {} cacheRefreshInterval = 0.15 serializeValue = function(value) if value == nil then return nil end local valueType = typeof(value) if valueType == "Instance" then return value elseif valueType == "Color3" then return string.format("color:%.4f:%.4f:%.4f", value.R, value.G, value.B) elseif valueType == "BrickColor" then return "brick:" .. value.Name elseif valueType == "string" then return value ~= "" and "string:" .. value or nil elseif valueType == "number" or valueType == "boolean" then return valueType .. ":" .. tostring(value) end return nil end isTeamAttributeName = function(attributeName) if typeof(attributeName) ~= "string" then return false end local normalizedName = string.lower(attributeName):gsub("[%s_%-]", "") return normalizedName == "team" or normalizedName == "teamid" or normalizedName == "teamidentifier" or normalizedName == "teamindex" or normalizedName == "teamcolor" or normalizedName == "teamcolour" or string.find(normalizedName, "teamid", 1, true) ~= nil end getTeamAttributes = function(instance) if not instance then return nil end local success, attributes = pcall(function() return instance:GetAttributes() end) if not success or not attributes then return nil end for attributeName, value in pairs(attributes) do if isTeamAttributeName(attributeName) then local serializedValue = serializeValue(value) if serializedValue ~= nil then return serializedValue end end end return nil end getTeamValueObject = function(instance) if not instance then return nil end local success, children = pcall(function() return instance:GetChildren() end) if not success or not children then return nil end for _, child in ipairs(children) do if isTeamAttributeName(child.Name) then local serializedValue = serializeValue(child.Value) if serializedValue then return serializedValue end end end return nil end getPlayerTeamIdentifier = function(player) if not player then return nil end local currentTime = os.clock() local cachedAt = characterCache[player] if playerAttributes[player] ~= nil and cachedAt and currentTime - cachedAt < cacheRefreshInterval then return playerAttributes[player] end local teamIdentifier = player.Team if not teamIdentifier then teamIdentifier = getTeamAttributes(player) or getTeamValueObject(player) or (player.Character and getTeamAttributes(player.Character)) or (player.Character and getTeamValueObject(player.Character)) end if not teamIdentifier then local success, teamColor = pcall(function() return player.TeamColor end) if success and teamColor and teamColor.Name and teamColor.Name ~= "Medium stone grey" then teamIdentifier = "brick:" .. teamColor.Name end end playerAttributes[player] = teamIdentifier characterCache[player] = currentTime return teamIdentifier end invalidatePlayerTeamCache = function(player) playerAttributes[player] = nil characterCache[player] = nil end do local function watchPlayer(player) invalidatePlayerTeamCache(player) trackDrawingObject(player:GetPropertyChangedSignal("Team"):Connect(function() invalidatePlayerTeamCache(player) lastTargetRefresh = 0 end)) trackDrawingObject(player:GetPropertyChangedSignal("TeamColor"):Connect(function() invalidatePlayerTeamCache(player) lastTargetRefresh = 0 end)) trackDrawingObject(player.CharacterAdded:Connect(function() invalidatePlayerTeamCache(player) lastTargetRefresh = 0 end)) end for _, player in ipairs(players:GetPlayers()) do watchPlayer(player) end trackDrawingObject(players.PlayerAdded:Connect(function(player) watchPlayer(player) lastTargetRefresh = 0 end)) trackDrawingObject(players.PlayerRemoving:Connect(function(player) invalidatePlayerTeamCache(player) lastTargetRefresh = 0 end)) end isTeammate = function(player) if not player or player == localPlayer then return true end local teamPropertiesAvailable, localTeam, targetTeam = pcall(function() return localPlayer.Team, player.Team end) if teamPropertiesAvailable and localTeam and targetTeam then return localTeam == targetTeam end local localTeamIdentifier = getPlayerTeamIdentifier(localPlayer) local targetTeamIdentifier = getPlayerTeamIdentifier(player) if localTeamIdentifier ~= nil and targetTeamIdentifier ~= nil then return tostring(localTeamIdentifier) == tostring(targetTeamIdentifier) end local colorsAvailable, localTeamColor, targetTeamColor = pcall(function() return localPlayer.TeamColor, player.TeamColor end) if colorsAvailable and localTeamColor and targetTeamColor then if localTeamColor.Name ~= "Medium stone grey" and targetTeamColor.Name ~= "Medium stone grey" then return localTeamColor.Name == targetTeamColor.Name end end return false end isValidTarget = function(player) return player ~= nil and player ~= localPlayer and not isTeammate(player) end targetPlayers = {} lastTargetRefresh = 0 targetRefreshInterval = 0.08 refreshTargetCache = function() local currentTime = os.clock() if currentTime - lastTargetRefresh < targetRefreshInterval then return targetPlayers end local eligiblePlayers = {} for _, player in ipairs(players:GetPlayers()) do local character = player.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") if isValidTarget(player) and character and humanoid and humanoid.Health > 0 then table.insert(eligiblePlayers, player) end end targetPlayers = eligiblePlayers lastTargetRefresh = currentTime return targetPlayers end getMousePosition = function() if not currentCamera then return Vector2.new(0, 0) end if userInputService.MouseBehavior == Enum.MouseBehavior.LockCenter then return currentCamera.ViewportSize / 2 end return userInputService:GetMouseLocation() end worldToScreen = function(worldPosition) if not currentCamera then return nil, false end local success, screenPoint = pcall(function() return currentCamera:WorldToScreenPoint(worldPosition) end) if not success or not screenPoint then return nil, false end return Vector2.new(screenPoint.X, screenPoint.Y), screenPoint.Z > 0 end do local raycastParams = RaycastParams.new() raycastParams.FilterType = Enum.RaycastFilterType.Blacklist getNextTarget = function(targetCharacter) local excludedCharacters = {} if localPlayer.Character then table.insert(excludedCharacters, localPlayer.Character) end for _, player in ipairs(players:GetPlayers()) do local character = player.Character if player ~= localPlayer and character and character ~= targetCharacter then table.insert(excludedCharacters, character) end end raycastParams.FilterDescendantsInstances = excludedCharacters return raycastParams end end hasLineOfSight = function(targetPart) local targetParent = targetPart and targetPart.Parent if not targetParent or not currentCamera then return false end local success, targetPosition = pcall(function() return targetPart.Position end) if not success then return false end local origin = currentCamera.CFrame.Position local direction = targetPosition - origin if direction.Magnitude <= 0 then return false end local raycastSuccess, result = pcall(function() return workspace:Raycast(origin, direction, getNextTarget(targetParent)) end) if not raycastSuccess or not result or not result.Instance then return true end return result.Instance:IsDescendantOf(targetParent) end trackDrawingObject(userInputService.JumpRequest:Connect(function() if not settings.InfJump_Enabled then return end local character = localPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end)) currentAimbotTarget = nil findAimbotTarget = function() local localCharacter = localPlayer.Character local localRoot = localCharacter and localCharacter:FindFirstChild("HumanoidRootPart") if not localRoot or not currentCamera then return nil end if currentAimbotTarget then return nil end local mousePosition = getMousePosition() local bestPlayer = nil local bestHead = nil local bestScreenDistance = math.huge for _, targetPlayer in ipairs(refreshTargetCache()) do local targetCharacter = targetPlayer.Character local targetHead = targetCharacter and targetCharacter:FindFirstChild("Head") local humanoid = targetCharacter and targetCharacter:FindFirstChildOfClass("Humanoid") if targetHead and humanoid and humanoid.Health > 0 then local worldDistance = (localRoot.Position - targetHead.Position).Magnitude if worldDistance <= settings.Triggerbot_MaxDistance then local screenPosition, isOnScreen = worldToScreen(targetHead.Position) if screenPosition and isOnScreen then local screenDistance = (screenPosition - mousePosition).Magnitude local withinFov = screenDistance <= settings.Aimbot_FOVRadius local visible = not settings.Aimbot_WallCheck or hasLineOfSight(targetHead) if withinFov and visible and screenDistance < bestScreenDistance then bestPlayer = targetPlayer bestHead = targetHead bestScreenDistance = screenDistance end end end end end currentAimbotTarget = bestPlayer return bestHead end aimCameraAtTarget = function(targetPart) if not targetPart or not currentCamera then return false end local localCharacter = localPlayer.Character local localRoot = localCharacter and localCharacter:FindFirstChild("HumanoidRootPart") if not localRoot then return false end local targetPosition = targetPart.Position currentCamera.CFrame = CFrame.lookAt(currentCamera.CFrame.Position, targetPosition, Vector3.new(0, 1, 0)) local horizontalTarget = Vector3.new(targetPosition.X, localRoot.Position.Y, targetPosition.Z) localRoot.CFrame = CFrame.lookAt(localRoot.Position, horizontalTarget, Vector3.new(0, 1, 0)) return true end updateAimbotTarget = function() local targetPlayer = currentAimbotTarget if not settings.Aimbot_Enabled or not targetPlayer then return end if not isValidTarget(targetPlayer) then currentAimbotTarget = nil return end local targetCharacter = targetPlayer.Character local targetHead = targetCharacter and targetCharacter:FindFirstChild("Head") local humanoid = targetCharacter and targetCharacter:FindFirstChildOfClass("Humanoid") local localCharacter = localPlayer.Character local localRoot = localCharacter and localCharacter:FindFirstChild("HumanoidRootPart") if not targetHead or not humanoid or humanoid.Health <= 0 or not localRoot then currentAimbotTarget = nil return end local worldDistance = (localRoot.Position - targetHead.Position).Magnitude if worldDistance > settings.Triggerbot_MaxDistance then currentAimbotTarget = nil return end if settings.Aimbot_WallCheck and not hasLineOfSight(targetHead) then currentAimbotTarget = nil return end aimCameraAtTarget(targetHead) end getTargetParts = { "Head", "UpperTorso", "LowerTorso", "HumanoidRootPart", "LeftUpperArm", "RightUpperArm", "LeftLowerArm", "RightLowerArm", "LeftUpperLeg", "RightUpperLeg", "LeftLowerLeg", "RightLowerLeg", } getCharacterBounds = function(part) if not currentCamera or not part or not part.Parent then return nil end local success, partCFrame, halfSize = pcall(function() return part.CFrame, part.Size * 0.5 end) if not success or not partCFrame or not halfSize then return nil end local minimumX, minimumY = math.huge, math.huge local maximumX, maximumY = -math.huge, -math.huge local foundVisibleCorner = false for _, xSign in ipairs({ -1, 1 }) do for _, ySign in ipairs({ -1, 1 }) do for _, zSign in ipairs({ -1, 1 }) do local corner = partCFrame * Vector3.new( halfSize.X * xSign, halfSize.Y * ySign, halfSize.Z * zSign ) local screenPoint, isOnScreen = currentCamera:WorldToScreenPoint(corner) if isOnScreen and screenPoint.Z > 0 then foundVisibleCorner = true minimumX = math.min(minimumX, screenPoint.X) minimumY = math.min(minimumY, screenPoint.Y) maximumX = math.max(maximumX, screenPoint.X) maximumY = math.max(maximumY, screenPoint.Y) end end end end if not foundVisibleCorner then return nil end return minimumX, minimumY, maximumX, maximumY end isTriggerTarget = function() if not currentCamera or not isCombatMode() then return false end if settings.Aimbot_Enabled and currentAimbotTarget and isValidTarget(currentAimbotTarget) then local character = currentAimbotTarget.Character local head = character and character:FindFirstChild("Head") local humanoid = character and character:FindFirstChildOfClass("Humanoid") if head and humanoid and humanoid.Health > 0 and hasLineOfSight(head) then if aimCameraAtTarget(head) then return true end else currentAimbotTarget = nil end end if not settings.Triggerbot_Enabled then return false end local mousePosition = getMousePosition() local cameraPosition = currentCamera.CFrame.Position for _, targetPlayer in ipairs(refreshTargetCache()) do local character = targetPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local rootPart = character and character:FindFirstChild("HumanoidRootPart") if humanoid and humanoid.Health > 0 and rootPart and rootPart.Parent then local distance = (rootPart.Position - cameraPosition).Magnitude if distance <= settings.Triggerbot_MaxDistance then for _, partName in ipairs(getTargetParts) do local targetPart = character:FindFirstChild(partName) if targetPart and hasLineOfSight(targetPart) then local minimumX, minimumY, maximumX, maximumY = getCharacterBounds(targetPart) if minimumX and mousePosition.X >= minimumX and mousePosition.X <= maximumX and mousePosition.Y >= minimumY and mousePosition.Y <= maximumY then return true end end end end end end return false end getEspObject = function(player) local existingLine = playerEspObjects[player] if existingLine then return existingLine end local success, drawingLine = pcall(function() local line = Drawing.new("Line") line.Thickness = 1.5 line.Color = Color3.fromRGB(255, 255, 255) line.Transparency = 1 line.Visible = false return line end) if not success or not drawingLine then return nil end playerEspObjects[player] = drawingLine return drawingLine end removeEspObject = function(player) local drawingLine = playerEspObjects[player] if not drawingLine then return end playerEspObjects[player] = nil pcall(function() drawingLine.Visible = false drawingLine:Remove() end) end hideEspObjects = function() for _, drawingLine in pairs(playerEspObjects) do pcall(function() drawingLine.Visible = false end) end end trackDrawingObject(players.PlayerRemoving:Connect(function(player) removeEspObject(player) invalidatePlayerTeamCache(player) lastTargetRefresh = 0 end)) createEspObject = function() if not settings.ESP_Enabled or not settings.ESP_Tracer then hideEspObjects() return end local localCharacter = localPlayer.Character local localRoot = localCharacter and localCharacter:FindFirstChild("HumanoidRootPart") if not localRoot or not currentCamera then hideEspObjects() return end local viewportCenter = currentCamera.ViewportSize / 2 local visiblePlayers = {} for _, player in ipairs(refreshTargetCache()) do local character = player.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local rootPart = character and character:FindFirstChild("HumanoidRootPart") if humanoid and humanoid.Health > 0 and rootPart then local success, rootPosition = pcall(function() return rootPart.Position end) if success and (rootPosition - localRoot.Position).Magnitude <= settings.ESP_MaxDistance then local head = character:FindFirstChild("Head") local targetPosition = head and head.Position or rootPosition local screenPoint = currentCamera:WorldToViewportPoint(targetPosition) if screenPoint.Z > 0 then local tracer = getEspObject(player) if tracer then tracer.From = viewportCenter tracer.To = Vector2.new(screenPoint.X, screenPoint.Y) tracer.Visible = true visiblePlayers[player] = true end end end end end for player, tracer in pairs(playerEspObjects) do if not visiblePlayers[player] then tracer.Visible = false end end end pcall(function() if not Drawing then return end fovCircle = Drawing.new("Circle") fovCircle.Thickness = 2 fovCircle.Color = Color3.fromRGB(0, 200, 255) fovCircle.Filled = false fovCircle.Visible = false end) updateEsp = function() if not fovCircle then return end if settings.Aimbot_Enabled then fovCircle.Position = getMousePosition() fovCircle.Radius = settings.Aimbot_FOVRadius fovCircle.Visible = true else fovCircle.Visible = false end end isTriggerbotActive = false refreshEsp = function(character) if not character then return end for _, objectName in ipairs({ "ESP_Highlight", "ESP_Billboard", "ESP_HealthBar", "HealthBackground", "HealthOutline", }) do local object = character:FindFirstChild(objectName) if object then object:Destroy() end end end espMaxTextWidth = 220 createEspGui = function(parent, adornee) local billboard = Instance.new("BillboardGui") billboard.Name = "ESP_Billboard" billboard.Adornee = adornee billboard.AlwaysOnTop = true billboard.LightInfluence = 0 billboard.MaxDistance = settings.ESP_MaxDistance billboard.Size = UDim2.fromOffset(espMaxTextWidth, espLabelHeight) billboard.StudsOffsetWorldSpace = Vector3.new(0, 2.7, 0) billboard.ClipsDescendants = false billboard.Parent = parent local healthOutline = Instance.new("Frame") healthOutline.Name = "HealthOutline" healthOutline.Position = UDim2.fromOffset((espMaxTextWidth - healthBarWidth) / 2 - 1, 1) healthOutline.Size = UDim2.fromOffset(healthBarWidth + 2, healthBarHeight + 2) healthOutline.BackgroundColor3 = Color3.fromRGB(0, 0, 0) healthOutline.BackgroundTransparency = 0.15 healthOutline.BorderSizePixel = 0 healthOutline.ZIndex = 5 healthOutline.Parent = billboard createSection(healthOutline, 4) local healthBackground = Instance.new("Frame") healthBackground.Name = "HealthBackground" healthBackground.Position = UDim2.fromOffset(1, 1) healthBackground.Size = UDim2.fromOffset(healthBarWidth, healthBarHeight) healthBackground.BackgroundColor3 = Color3.fromRGB(35, 35, 35) healthBackground.BorderSizePixel = 0 healthBackground.ZIndex = 6 healthBackground.Parent = healthOutline createSection(healthBackground, 3) local healthBar = Instance.new("Frame") healthBar.Name = "ESP_HealthBar" healthBar.Position = UDim2.fromOffset(0, 0) healthBar.Size = UDim2.fromOffset(healthBarWidth, healthBarHeight) healthBar.BackgroundColor3 = Color3.fromRGB(0, 200, 255) healthBar.BorderSizePixel = 0 healthBar.ZIndex = 7 healthBar.Parent = healthBackground createSection(healthBar, 3) local infoLabel = Instance.new("TextLabel") infoLabel.Name = "ESP_Info" infoLabel.Position = UDim2.fromOffset(0, 14) infoLabel.Size = UDim2.fromOffset(espMaxTextWidth, 22) infoLabel.BackgroundTransparency = 1 infoLabel.Font = Enum.Font.GothamBold infoLabel.TextSize = 14 infoLabel.TextColor3 = Color3.fromRGB(255, 255, 255) infoLabel.TextStrokeTransparency = 0.45 infoLabel.TextXAlignment = Enum.TextXAlignment.Center infoLabel.TextYAlignment = Enum.TextYAlignment.Center infoLabel.Text = "" infoLabel.ZIndex = 8 infoLabel.Parent = billboard return billboard end espLabelHeight = 58; healthBarWidth = 120; healthBarHeight = 7; updateEspObjects = function() local localCharacter = localPlayer.Character local localRoot = localCharacter and localCharacter:FindFirstChild("HumanoidRootPart") if not settings.ESP_Enabled then for _, player in ipairs(players:GetPlayers()) do if player ~= localPlayer and player.Character then refreshEsp(player.Character) end end return end if not localRoot or not currentCamera then return end for _, player in ipairs(players:GetPlayers()) do if player ~= localPlayer then local character = player.Character if not character or not isValidTarget(player) then refreshEsp(character) else local humanoid = character:FindFirstChildOfClass("Humanoid") local rootPart = character:FindFirstChild("HumanoidRootPart") local head = character:FindFirstChild("Head") if not humanoid or humanoid.Health <= 0 or not rootPart or not head then refreshEsp(character) else local distance = (rootPart.Position - localRoot.Position).Magnitude if distance > settings.ESP_MaxDistance then refreshEsp(character) else local highlight = character:FindFirstChild("ESP_Highlight") if settings.ESP_Highlight then if highlight and not highlight:IsA("Highlight") then highlight:Destroy() highlight = nil end if not highlight then highlight = Instance.new("Highlight") highlight.Name = "ESP_Highlight" highlight.Adornee = character highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = character end highlight.FillColor = whiteColor highlight.FillTransparency = settings.ESP_BoxTransparency highlight.OutlineColor = whiteColor highlight.OutlineTransparency = 0 highlight.Enabled = true elseif highlight then highlight:Destroy() end local billboard = character:FindFirstChild("ESP_Billboard") if billboard and not billboard:IsA("BillboardGui") then billboard:Destroy() billboard = nil end if billboard then local outline = billboard:FindFirstChild("HealthOutline") local background = outline and outline:FindFirstChild("HealthBackground") local healthBar = background and background:FindFirstChild("ESP_HealthBar") if not outline or not background or not healthBar then billboard:Destroy() billboard = nil end end if not billboard then billboard = createEspGui(character, head) end billboard.Adornee = head billboard.AlwaysOnTop = true billboard.LightInfluence = 0 billboard.MaxDistance = settings.ESP_MaxDistance billboard.Size = UDim2.fromOffset(espMaxTextWidth, espLabelHeight) billboard.StudsOffsetWorldSpace = Vector3.new(0, 2.7, 0) billboard.Enabled = true local healthBackground = billboard.HealthOutline.HealthBackground local healthBar = healthBackground.ESP_HealthBar local healthRatio = math.clamp(humanoid.Health / math.max(humanoid.MaxHealth, 1), 0, 1) healthBar.Size = UDim2.fromOffset(math.max(0, math.floor(healthBarWidth * healthRatio)), healthBarHeight) if healthRatio > 0.6 then healthBar.BackgroundColor3 = Color3.fromRGB(0, 200, 255) elseif healthRatio > 0.3 then healthBar.BackgroundColor3 = Color3.fromRGB(150, 200, 255) else healthBar.BackgroundColor3 = Color3.fromRGB(235, 45, 45) end local infoLabel = billboard:FindFirstChild("ESP_Info") if infoLabel then local infoParts = {} if settings.ESP_Name then table.insert(infoParts, player.Name) end if settings.ESP_Studs then table.insert(infoParts, string.format("%.1f studs", distance)) end infoLabel.Text = table.concat(infoParts, " | ") infoLabel.Visible = #infoParts > 0 end end end end end end end task.spawn(function() while true do if isTriggerbotActive and not isSupportedGame() then if not currentCamera then currentCamera = workspace.CurrentCamera end if currentCamera then local viewportSize = currentCamera.ViewportSize local centerX = viewportSize.X / 2 local centerY = viewportSize.Y / 2 virtualInputManager:SendMouseButtonEvent(centerX, centerY, 0, true, game, 0) virtualInputManager:SendMouseButtonEvent(centerX, centerY, 0, false, game, 0) end end task.wait() end end) trackDrawingObject(runService.RenderStepped:Connect(function() if not currentCamera then currentCamera = workspace.CurrentCamera end if not currentCamera or not localPlayer.Character then return end updateEsp() createEspObject() if settings.Aimbot_Enabled then if currentAimbotTarget then updateAimbotTarget() else local targetHead = findAimbotTarget() if targetHead then aimCameraAtTarget(targetHead) end end else currentAimbotTarget = nil end if settings.Triggerbot_Enabled then isTriggerbotActive = isTriggerTarget() else isTriggerbotActive = false end end)) task.spawn(function() while true do task.wait(0.15) pcall(updateEspObjects) end end) task.defer(function() task.wait(0.1) local contentHeight = createWindow.AbsoluteSize.Y if contentHeight > 0 then mainGui.Size = UDim2.new(0, 390, 0, 70 + contentHeight + 15) end createMainWindow() end) return;