-- ============================================================================= -- KHỞI TẠO HỆ THỐNG VÀ LOAD THƯ VIỆN UI GỐC TỪ GITHUB GIST -- ============================================================================= repeat task.wait() until game:IsLoaded() local url = "https://gist.githubusercontent.com/RobloxStudio-hue/921ee197d525cb9050d07bb181c7bf98/raw/ca0d52d84043f603f9dc1d7172818d8e189e0a0e/PluginRoblox%2520Ui%2520Library" local success, UniqueLibrary = pcall(function() return loadstring(game:HttpGet(url))() end) if not success or not UniqueLibrary then warn("Không thể tải thư viện UI từ GitHub Gist của bạn. Vui lòng kiểm tra lại executor!") return end local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer -- Khởi tạo Cửa sổ gốc từ thư viện của bạn [1] local MainContainer = UniqueLibrary.CreateWindow("Arsenal Special V2 🎯") local MainFrame = MainContainer.Parent -- Khung xương cửa sổ chính bên ngoài [1] -- Thiết lập kích thước mặc định lớn hơn để chứa trọn vẹn hơn 20 tính năng mới MainFrame.Size = UDim2.new(0, 700, 0, 460) MainFrame.Position = UDim2.new(0.5, -350, 0.5, -230) -- Hệ thống thông báo chuẩn local function Notify(title, message) pcall(function() game:GetService("StarterGui"):SetCore("SendNotification", { Title = title, Text = message, Duration = 5 }) end) end -- ============================================================================= -- BẢNG DỊCH THUẬT ĐA NGÔN NGỮ CẬP NHẬT (LOCALIZATION) -- ============================================================================= local TranslateRefs = {} local Languages = { English = { Tab_Hitbox = "Hitbox & ESP", Tab_Trigger = "Combat & Aim", Tab_Gun = "Gun Mods", Tab_Skins = "Skins & World", Tab_Misc = "Misc Hacks", Tab_Farm = "Auto Farm", Tab_Optimize = "Optimize & Sys", Header_Hitbox = "Hitbox & ESP Configuration", Header_Trigger = "Aim Assist Settings", Header_Gun = "Overpower Gun Mods", Header_Skins = "Cosmetics & Environment", Header_Misc = "Miscellaneous Cheats", Header_Farm = "Auto Farm Settings", Header_Optimize = "System & Settings", Sec_ArsHitbox = "HITBOX MODEL EXPANSE", Sec_ArsESP = "VISUAL ESP & WALLHACK", Sec_ArsCrosshair = "CUSTOM CROSSHAIR & FOV", Sec_ArsAimbot = "AIMBOT & COMBAT ASSIST", Sec_ArsTrigger = "TRIGGERBOT CONFIGURATION", Sec_ArsGun = "WEAPON ATTRIBUTES CONFIG", Sec_ArsArmCos = "HAND ARM THEMES", Sec_ArsGunCos = "GUN COSMETIC THEMES", Sec_ArsSkybox = "WORLD ENVIRONMENT EFFECTS", Sec_ArsMiscMove = "MOVEMENT & SURVIVAL TOOLS", Sec_ArsMiscManip = "OBJECT & PERSPECTIVE MANIPULATION", Sec_ArsMoveValue = "WORLD GRAVITY & TIME CONTROL", Sec_ArsMiscTags = "CHAT BADGES SPOOFER", Sec_ArsFarm = "AUTOMATIC KILL & EXP FARM", Sec_ArsOptLag = "PERFORMANCE OPTIMIZATION", Sec_ArsOptServer = "SERVER DIRECT CONNS", Sec_OptSettings = "SYSTEM INTERFACE CONTROL" }, Vietnamese = { Tab_Hitbox = "Mô hình & ESP", Tab_Trigger = "Chiến đấu & Aim", Tab_Gun = "Súng", Tab_Skins = "Màu sắc & Thế giới", Tab_Misc = "Tính năng phụ", Tab_Farm = "Tự động Farm", Tab_Optimize = "Hệ thống", Header_Hitbox = "Cấu hình Mô hình & ESP", Header_Trigger = "Cài đặt Tự động nhắm", Header_Gun = "Bá đạo súng", Header_Skins = "Thời trang vũ khí & Bầu trời", Header_Misc = "Công cụ bổ trợ", Header_Farm = "Cấu hình Tự động Farm", Header_Optimize = "Tối ưu & Cài đặt hệ thống", Sec_ArsHitbox = "KÍCH THƯỚC MÔ HÌNH", Sec_ArsESP = "TÌM KIẾM ĐỊCH & NHÌN XUYÊN TƯỜNG (ESP)", Sec_ArsCrosshair = "TÂM ẢO TỰ CHẾ & VÒNG TRÒN GIỚI HẠN FOV", Sec_ArsAimbot = "TỰ ĐỘNG KHÓA MỤC TIÊU (AIMBOT)", Sec_ArsTrigger = "CẤU HÌNH TỰ ĐỘNG BẮN", Sec_ArsGun = "CHỈNH SỬA THÔNG SỐ VŨ KHÍ", Sec_ArsArmCos = "SƠN TAY NHÂN VẬT", Sec_ArsGunCos = "SƠN VŨ KHÍ CHUYÊN BIỆT", Sec_ArsSkybox = "HIỆU ỨNG MÔI TRƯỜNG & BẦU TRỜI", Sec_ArsMiscMove = "CÔNG CỤ DI CHUYỂN & BAY LƯỢN", Sec_ArsMiscManip = "HÀNH VI & GÓC NHÌN BỔ TRỢ", Sec_ArsMoveValue = "ĐIỀU CHỈNH TRỌNG LỰC & THỜI GIAN THẾ GIỚI", Sec_ArsMiscTags = "DANH HIỆU KHUNG CHAT", Sec_ArsFarm = "HỆ THỐNG TỰ ĐỘNG DIỆT ĐỊCH", Sec_ArsOptLag = "TỐI ƯU HÓA HIỆU NĂNG GAME", Sec_ArsOptServer = "LIÊN KẾT MÁY CHỦ NHANH", Sec_OptSettings = "CÀI ĐẶT GIAO DIỆN HỆ THỐNG" } } local function SetLanguage(langName) local dict = Languages[langName] if not dict then return end for key, instance in pairs(TranslateRefs) do if instance and dict[key] then instance.Text = dict[key] end end end -- ============================================================================= -- KHỞI TẠO BIẾN TRẠNG THÁI CHO TÍNH NĂNG -- ============================================================================= local wsEnabled, wsValue = false, 16 local jpEnabled, jpValue = false, 50 local gravityEnabled, gravityValue = false, 196.2 local timeEnabled, timeValue = false, 12 local hitboxEnabled = false local noCollisionEnabled = false local hitbox_original_properties = {} local hitboxSize = 21 local hitboxTransparency = 6 local teamCheck = "FFA" -- Biến cho tính năng đặc biệt (ESP Highlight, Custom Crosshair, Aimbot) local espHighlightEnabled = false local espColorTheme = "Red vs Green" local customCrosshairActive = false local showFOVCircle = false local bulletTracersEnabled = false local aimbotEnabled = false local aimbotTeamCheck = true local aimbotKey = Enum.UserInputType.MouseButton2 -- Giữ Chuột Phải để ngắm khóa local aimbotSmoothness = 0.15 -- Độ mượt mà khi khóa local aimbotFOV = 150 -- Vùng giới hạn vòng tròn khóa local aimbotTargetPart = "Head" -- Bộ phận nhắm bắn (Head, Torso, Random) local defaultBodyParts = {"UpperTorso", "Head", "HumanoidRootPart"} getgenv().triggerb = false local teamcheck_bot = "Team-Based" local delay_bot = 0.2 local isAlive_bot = true local SettingsInfinite = false local originalValues = { FireRate = {}, ReloadTime = {}, EReloadTime = {}, Auto = {}, Spread = {}, Recoil = {} } local spinSpeed = 10 local gyro = nil local debris_selected = "Both" local isCollecting = false local farmEnabled = false local farmTeamCheck = true local farmLockCam = true local farmHeightOffset = 8 local autoRespawnEnabled = false local autoShootFarm = false local flySettings = {fly = false, flyspeed = 50} local fly_c, fly_h, fly_bv, fly_bav, fly_cam, fly_flying local fly_buttons = {W = false, S = false, A = false, D = false, Moving = false} -- Đồ họa gốc local originalMaterials = {} local originalDecalsTextures = {} local originalTerrainSettings = {} local originalLightingSettings = { GlobalShadows = game:GetService("Lighting").GlobalShadows, FogEnd = game:GetService("Lighting").FogEnd, Brightness = game:GetService("Lighting").Brightness } local originalEffects = {} local fullBrightEnabled = false local thirdPersonEnabled = false -- ============================================================================= -- THIẾT LẬP LAYOUT TAB SIDEBAR & CONTENT AREA -- ============================================================================= local Sidebar = Instance.new("Frame") Sidebar.Name = "Sidebar" Sidebar.Size = UDim2.new(0, 160, 1, 0) Sidebar.BackgroundColor3 = Color3.fromRGB(20, 21, 24) Sidebar.BorderSizePixel = 0 Sidebar.Parent = MainContainer local SidebarCorner = Instance.new("UICorner") SidebarCorner.CornerRadius = UDim.new(0, 3) SidebarCorner.Parent = Sidebar local SidebarFix = Instance.new("Frame") SidebarFix.Size = UDim2.new(0, 10, 1, 0) SidebarFix.Position = UDim2.new(1, -10, 0, 0) SidebarFix.BackgroundColor3 = Color3.fromRGB(20, 21, 24) SidebarFix.BorderSizePixel = 0 SidebarFix.Parent = Sidebar local TabList = Instance.new("ScrollingFrame") TabList.Size = UDim2.new(1, 0, 1, 0) TabList.BackgroundTransparency = 1 TabList.ScrollBarThickness = 2 TabList.CanvasSize = UDim2.new(0, 0, 0, 0) TabList.AutomaticCanvasSize = Enum.AutomaticSize.Y TabList.Parent = Sidebar local TabLayout = Instance.new("UIListLayout") TabLayout.Padding = UDim.new(0, 6) TabLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center TabLayout.Parent = TabList local TabPadding = Instance.new("UIPadding") TabPadding.PaddingTop = UDim.new(0, 8) TabPadding.PaddingBottom = UDim.new(0, 8) TabPadding.PaddingLeft = UDim.new(0, 8) TabPadding.PaddingRight = UDim.new(0, 8) TabPadding.Parent = TabList local ContentArea = Instance.new("Frame") ContentArea.Name = "ContentArea" ContentArea.Size = UDim2.new(1, -165, 1, -10) ContentArea.Position = UDim2.new(0, 165, 0, 5) ContentArea.BackgroundTransparency = 1 ContentArea.Parent = MainContainer -- ============================================================================= -- CÁC PHƯƠNG THỨC XÂY DỰNG GIAO DIỆN TỰ THIẾT KẾ (CUSTOM BUILDERS) [1] -- ============================================================================= -- Tiêu đề phân khu local function createSectionHeader(parent, textKey, defaultText) local header = Instance.new("Frame") header.Size = UDim2.new(1, 0, 0, 25) header.BackgroundTransparency = 1 local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.Font = Enum.Font.SourceSansBold label.Text = "--- " .. defaultText .. " ---" label.TextColor3 = Color3.fromRGB(255, 165, 0) label.TextSize = 13 label.TextXAlignment = Enum.TextXAlignment.Center label.Parent = header TranslateRefs[textKey] = label header.Parent = parent return header end -- Nút nhấn local function createCustomButton(parent, textKey, defaultText, callback) local button = Instance.new("TextButton") button.Size = UDim2.new(1, 0, 0, 32) button.BackgroundColor3 = Color3.fromRGB(33, 35, 40) button.Text = defaultText button.TextColor3 = Color3.fromRGB(220, 220, 220) button.TextSize = 13 button.Font = Enum.Font.SourceSansSemibold button.AutoButtonColor = false local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 4) corner.Parent = button local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(55, 56, 61) stroke.Parent = button button.MouseEnter:Connect(function() button.BackgroundColor3 = Color3.fromRGB(45, 47, 54) end) button.MouseLeave:Connect(function() button.BackgroundColor3 = Color3.fromRGB(33, 35, 40) end) button.MouseButton1Down:Connect(function() button.BackgroundColor3 = Color3.fromRGB(0, 120, 215) end) button.MouseButton1Up:Connect(function() button.BackgroundColor3 = Color3.fromRGB(45, 47, 54) task.spawn(callback) end) TranslateRefs[textKey] = button button.Parent = parent return button end -- Nút gạt (Toggle) local function createCustomToggle(parent, textKey, defaultText, defaultValue, callback) local state = defaultValue local toggleFrame = Instance.new("TextButton") toggleFrame.Size = UDim2.new(1, 0, 0, 32) toggleFrame.BackgroundColor3 = Color3.fromRGB(33, 35, 40) toggleFrame.Text = "" toggleFrame.AutoButtonColor = false local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 4) corner.Parent = toggleFrame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(55, 56, 61) stroke.Parent = toggleFrame local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, -50, 1, 0) titleLabel.Position = UDim2.new(0, 10, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = defaultText titleLabel.TextColor3 = Color3.fromRGB(220, 220, 220) titleLabel.TextSize = 13 titleLabel.Font = Enum.Font.SourceSans titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = toggleFrame local switch = Instance.new("Frame") switch.Size = UDim2.new(0, 28, 0, 15) switch.Position = UDim2.new(1, -38, 0.5, 0) switch.AnchorPoint = Vector2.new(0, 0.5) switch.BackgroundColor3 = state and Color3.fromRGB(0, 120, 215) or Color3.fromRGB(60, 61, 66) switch.Parent = toggleFrame local sCorner = Instance.new("UICorner") sCorner.CornerRadius = UDim.new(1, 0) sCorner.Parent = switch local circle = Instance.new("Frame") circle.Size = UDim2.new(0, 11, 0, 11) circle.Position = state and UDim2.new(1, -13, 0.5, 0) or UDim2.new(0, 2, 0.5, 0) circle.AnchorPoint = Vector2.new(0, 0.5) circle.BackgroundColor3 = Color3.fromRGB(255, 255, 255) circle.Parent = switch local cCorner = Instance.new("UICorner") cCorner.CornerRadius = UDim.new(1, 0) cCorner.Parent = circle local function updateToggleVisual() local targetColor = state and Color3.fromRGB(0, 120, 215) or Color3.fromRGB(60, 61, 66) local targetPos = state and UDim2.new(1, -13, 0.5, 0) or UDim2.new(0, 2, 0.5, 0) game:GetService("TweenService"):Create(switch, TweenInfo.new(0.15), {BackgroundColor3 = targetColor}):Play() game:GetService("TweenService"):Create(circle, TweenInfo.new(0.15), {Position = targetPos}):Play() task.spawn(callback, state) end toggleFrame.MouseButton1Click:Connect(function() state = not state updateToggleVisual() end) TranslateRefs[textKey] = titleLabel toggleFrame.Parent = parent task.spawn(callback, state) return toggleFrame end -- Công tắc có hộp nhập số (Toggle with Input) local function createCustomToggleWithInput(parent, textKey, defaultText, defaultValue, defaultNum, toggleCallback, valueCallback) local state = defaultValue local frame = Instance.new("Frame") frame.Size = UDim2.new(1, 0, 0, 36) frame.BackgroundColor3 = Color3.fromRGB(33, 35, 40) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 4) corner.Parent = frame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(55, 56, 61) stroke.Parent = frame local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(0.5, 0, 1, 0) titleLabel.Position = UDim2.new(0, 10, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = defaultText titleLabel.TextColor3 = Color3.fromRGB(220, 220, 220) titleLabel.TextSize = 13 titleLabel.Font = Enum.Font.SourceSans titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = frame local boxContainer = Instance.new("Frame") boxContainer.Size = UDim2.new(0, 50, 0, 22) boxContainer.Position = UDim2.new(1, -95, 0.5, 0) boxContainer.AnchorPoint = Vector2.new(0, 0.5) boxContainer.BackgroundColor3 = Color3.fromRGB(26, 27, 32) boxContainer.Parent = frame local boxCorner = Instance.new("UICorner") boxCorner.CornerRadius = UDim.new(0, 3) boxCorner.Parent = boxContainer local boxStroke = Instance.new("UIStroke") boxStroke.Color = Color3.fromRGB(55, 56, 61) boxStroke.Parent = boxContainer local inputBox = Instance.new("TextBox") inputBox.Size = UDim2.new(1, 0, 1, 0) inputBox.BackgroundTransparency = 1 inputBox.Text = tostring(defaultNum) inputBox.TextColor3 = Color3.fromRGB(240, 240, 240) inputBox.TextSize = 12 inputBox.Font = Enum.Font.SourceSans inputBox.Parent = boxContainer inputBox.FocusLost:Connect(function() local num = tonumber(inputBox.Text) if num then task.spawn(valueCallback, num) else inputBox.Text = tostring(defaultNum) end end) local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 28, 0, 15) toggleBtn.Position = UDim2.new(1, -38, 0.5, 0) toggleBtn.AnchorPoint = Vector2.new(0, 0.5) toggleBtn.BackgroundColor3 = state and Color3.fromRGB(0, 120, 215) or Color3.fromRGB(60, 61, 66) toggleBtn.Text = "" toggleBtn.Parent = frame local sCorner = Instance.new("UICorner") sCorner.CornerRadius = UDim.new(1, 0) sCorner.Parent = toggleBtn local circle = Instance.new("Frame") circle.Size = UDim2.new(0, 11, 0, 11) circle.Position = state and UDim2.new(1, -13, 0.5, 0) or UDim2.new(0, 2, 0.5, 0) circle.AnchorPoint = Vector2.new(0, 0.5) circle.BackgroundColor3 = Color3.fromRGB(255, 255, 255) circle.Parent = toggleBtn local cCorner = Instance.new("UICorner") cCorner.CornerRadius = UDim.new(1, 0) cCorner.Parent = circle local function updateToggleVisual() local targetColor = state and Color3.fromRGB(0, 120, 215) or Color3.fromRGB(60, 61, 66) local targetPos = state and UDim2.new(1, -13, 0.5, 0) or UDim2.new(0, 2, 0.5, 0) game:GetService("TweenService"):Create(toggleBtn, TweenInfo.new(0.15), {BackgroundColor3 = targetColor}):Play() game:GetService("TweenService"):Create(circle, TweenInfo.new(0.15), {Position = targetPos}):Play() task.spawn(toggleCallback, state) end toggleBtn.MouseButton1Click:Connect(function() state = not state updateToggleVisual() end) TranslateRefs[textKey] = titleLabel frame.Parent = parent task.spawn(toggleCallback, state) return frame end -- Bộ lựa chọn (Dropdown) dạng bấm xoay chuyển phần tử local function createCustomDropdown(parent, textKey, defaultText, optionList, defaultOption, callback) local currentIndex = table.find(optionList, defaultOption) or 1 local dropdownFrame = Instance.new("TextButton") dropdownFrame.Size = UDim2.new(1, 0, 0, 32) dropdownFrame.BackgroundColor3 = Color3.fromRGB(33, 35, 40) dropdownFrame.Text = "" dropdownFrame.AutoButtonColor = false local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 4) corner.Parent = dropdownFrame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(55, 56, 61) stroke.Parent = dropdownFrame local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(0.5, 0, 1, 0) titleLabel.Position = UDim2.new(0, 10, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = defaultText titleLabel.TextColor3 = Color3.fromRGB(220, 220, 220) titleLabel.TextSize = 13 titleLabel.Font = Enum.Font.SourceSans titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = dropdownFrame local valueLabel = Instance.new("TextLabel") valueLabel.Size = UDim2.new(0.4, 0, 1, 0) valueLabel.Position = UDim2.new(1, -10, 0, 0) valueLabel.AnchorPoint = Vector2.new(1, 0) valueLabel.BackgroundTransparency = 1 valueLabel.Text = defaultOption .. " ⌵" valueLabel.TextColor3 = Color3.fromRGB(0, 120, 215) valueLabel.TextSize = 13 valueLabel.Font = Enum.Font.SourceSansSemibold valueLabel.TextXAlignment = Enum.TextXAlignment.Right valueLabel.Parent = dropdownFrame dropdownFrame.MouseButton1Click:Connect(function() currentIndex = currentIndex + 1 if currentIndex > #optionList then currentIndex = 1 end local selected = optionList[currentIndex] valueLabel.Text = selected .. " ⌵" task.spawn(callback, selected) end) TranslateRefs[textKey] = titleLabel dropdownFrame.Parent = parent task.spawn(callback, defaultOption) return dropdownFrame end -- Thanh trượt điều chỉnh giá trị (Slider) [2] local function createCustomSlider(parent, textKey, defaultText, min, max, default, callback) local sliderValue = default local sliderFrame = Instance.new("Frame") sliderFrame.Size = UDim2.new(1, 0, 0, 42) sliderFrame.BackgroundColor3 = Color3.fromRGB(33, 35, 40) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 4) corner.Parent = sliderFrame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(55, 56, 61) stroke.Parent = sliderFrame local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(0.6, 0, 0, 18) titleLabel.Position = UDim2.new(0, 10, 0, 3) titleLabel.BackgroundTransparency = 1 titleLabel.Text = defaultText titleLabel.TextColor3 = Color3.fromRGB(220, 220, 220) titleLabel.TextSize = 13 titleLabel.Font = Enum.Font.SourceSans titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = sliderFrame local valueLabel = Instance.new("TextLabel") valueLabel.Size = UDim2.new(0.3, 0, 0, 18) valueLabel.Position = UDim2.new(0.7, -10, 0, 3) valueLabel.BackgroundTransparency = 1 valueLabel.Text = tostring(default) valueLabel.TextColor3 = Color3.fromRGB(150, 155, 165) valueLabel.TextSize = 13 valueLabel.Font = Enum.Font.SourceSans valueLabel.TextXAlignment = Enum.TextXAlignment.Right valueLabel.Parent = sliderFrame local track = Instance.new("TextButton") track.Size = UDim2.new(1, -20, 0, 5) track.Position = UDim2.new(0, 10, 0, 26) track.BackgroundColor3 = Color3.fromRGB(50, 51, 56) track.Text = "" track.AutoButtonColor = false track.Parent = sliderFrame local tCorner = Instance.new("UICorner") tCorner.CornerRadius = UDim.new(1, 0) tCorner.Parent = track local fill = Instance.new("Frame") fill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0) fill.BackgroundColor3 = Color3.fromRGB(0, 120, 215) fill.Parent = track local fCorner = Instance.new("UICorner") fCorner.CornerRadius = UDim.new(1, 0) fCorner.Parent = fill local isSliding = false local function updateSlider() local mousePos = UserInputService:GetMouseLocation() local trackAbsolutePos = track.AbsolutePosition.X local trackAbsoluteSize = track.AbsoluteSize.X local ratio = math.clamp((mousePos.X - trackAbsolutePos) / trackAbsoluteSize, 0, 1) local rawValue = min + (max - min) * ratio sliderValue = math.floor(rawValue + 0.5) fill.Size = UDim2.new(ratio, 0, 1, 0) valueLabel.Text = tostring(sliderValue) task.spawn(callback, sliderValue) end track.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then isSliding = true updateSlider() end end) UserInputService.InputChanged:Connect(function(input) if isSliding and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then updateSlider() end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then isSliding = false end end) TranslateRefs[textKey] = titleLabel sliderFrame.Parent = parent task.spawn(callback, default) return sliderFrame end -- ============================================================================= -- LOGIC KIỂM SOÁT TABS TRÊN SIDEBAR -- ============================================================================= local activeTabBtn = nil local activeTabPage = nil local function registerTab(name, textKey, defaultText, order) local tabBtn = Instance.new("TextButton") tabBtn.Size = UDim2.new(1, 0, 0, 36) tabBtn.BackgroundColor3 = Color3.fromRGB(33, 35, 40) tabBtn.Text = defaultText tabBtn.TextColor3 = Color3.fromRGB(200, 200, 200) tabBtn.TextSize = 13 tabBtn.Font = Enum.Font.SourceSansBold tabBtn.LayoutOrder = order tabBtn.Parent = TabList local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 4) btnCorner.Parent = tabBtn local btnStroke = Instance.new("UIStroke") btnStroke.Color = Color3.fromRGB(50, 51, 56) btnStroke.Parent = tabBtn local page = Instance.new("ScrollingFrame") page.Size = UDim2.new(1, 0, 1, 0) page.BackgroundTransparency = 1 page.ScrollBarThickness = 3 page.ScrollBarImageColor3 = Color3.fromRGB(90, 91, 99) page.CanvasSize = UDim2.new(0, 0, 0, 0) page.AutomaticCanvasSize = Enum.AutomaticSize.Y page.Visible = false page.Parent = ContentArea local pageLayout = Instance.new("UIListLayout") pageLayout.Padding = UDim.new(0, 8) pageLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center pageLayout.Parent = page local pagePadding = Instance.new("UIPadding") pagePadding.PaddingTop = UDim.new(0, 8) pagePadding.PaddingBottom = UDim.new(0, 8) pagePadding.PaddingLeft = UDim.new(0, 8) pagePadding.PaddingRight = UDim.new(0, 8) pagePadding.Parent = page TranslateRefs[textKey] = tabBtn tabBtn.MouseButton1Click:Connect(function() if activeTabBtn then activeTabBtn.BackgroundColor3 = Color3.fromRGB(33, 35, 40) activeTabBtn.TextColor3 = Color3.fromRGB(200, 200, 200) end if activeTabPage then activeTabPage.Visible = false end tabBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 215) tabBtn.TextColor3 = Color3.fromRGB(255, 255, 255) page.Visible = true activeTabBtn = tabBtn activeTabPage = page end) return page end -- ============================================================================= -- LOGIC KIỂM SOÁT HITBOX CHI TIẾT -- ============================================================================= local function savedPart(player, part) pcall(function() if not hitbox_original_properties[player] then hitbox_original_properties[player] = {} end if not hitbox_original_properties[player][part.Name] then hitbox_original_properties[player][part.Name] = { CanCollide = part.CanCollide, Transparency = part.Transparency, Size = part.Size } end end) end local function restoredPart(player) pcall(function() if hitbox_original_properties[player] then for partName, properties in pairs(hitbox_original_properties[player]) do local part = player.Character and player.Character:FindFirstChild(partName) if part and part:IsA("BasePart") then part.CanCollide = properties.CanCollide part.Transparency = properties.Transparency part.Size = properties.Size end end end end) end local function findClosestPart(player, partName) local target = nil pcall(function() if player.Character then for _, part in ipairs(player.Character:GetChildren()) do if part:IsA("BasePart") and part.Name:lower():match(partName:lower()) then target = part break end end end end) return target end local function isEnemy(player) if teamCheck == "FFA" or teamCheck == "Everyone" then return true end return player.Team ~= LocalPlayer.Team end local function extendHitbox(player) pcall(function() for _, partName in ipairs(defaultBodyParts) do local part = player.Character and (player.Character:FindFirstChild(partName) or findClosestPart(player, partName)) if part and part:IsA("BasePart") then savedPart(player, part) part.CanCollide = not noCollisionEnabled part.Transparency = hitboxTransparency / 10 part.Size = Vector3.new(hitboxSize, hitboxSize, hitboxSize) end end end) end local function updateHitboxes() pcall(function() for _, v in ipairs(Players:GetPlayers()) do if v ~= LocalPlayer and v.Character and v.Character:FindFirstChild("HumanoidRootPart") then if isEnemy(v) then extendHitbox(v) else restoredPart(v) end end end end) end local function checkForDeadPlayers() for player, properties in pairs(hitbox_original_properties) do pcall(function() if not player or not player.Parent or not player.Character or not player.Character:IsDescendantOf(game) then restoredPart(player) hitbox_original_properties[player] = nil end end) end end -- ============================================================================= -- KHAI BÁO CÁC TABS NỘI DUNG VÀ THIẾT LẬP GIAO DIỆN CON -- ============================================================================= -- [ TAB 1: KÍCH THƯỚC HITBOX & ESP ] local HitboxPage = registerTab("Hitbox", "Tab_Hitbox", "Hitbox & ESP", 1) createSectionHeader(HitboxPage, "Sec_ArsHitbox", "HITBOX MODEL EXPANSE") createCustomButton(HitboxPage, "Ars_HitboxInit", "[BƯỚC 1] Kích hoạt luồng Hitbox", function() task.spawn(function() while true do if hitboxEnabled then updateHitboxes() checkForDeadPlayers() end task.wait(0.1) end end) Notify("Hệ Thống", "Luồng xử lý Hitbox đã khởi chạy!") end) createCustomToggle(HitboxPage, "Ars_HitboxActive", "Bật Kích thước Hitbox tùy chỉnh", false, function(enabled) hitboxEnabled = enabled if not enabled then for _, player in ipairs(Players:GetPlayers()) do restoredPart(player) end hitbox_original_properties = {} else updateHitboxes() end end) createCustomToggleWithInput(HitboxPage, "Ars_HitboxSize", "Kích thước lõi Hitbox", true, 21, function() end, function(val) hitboxSize = tonumber(val) or 21 if hitboxEnabled then updateHitboxes() end end) createCustomToggleWithInput(HitboxPage, "Ars_HitboxTransparency", "Độ trong suốt mô hình (1-10)", true, 6, function() end, function(val) hitboxTransparency = tonumber(val) or 6 if hitboxEnabled then updateHitboxes() end end) createCustomDropdown(HitboxPage, "Ars_TeamCheck", "Bộ lọc kiểm tra đội địch", {"FFA", "Team-Based", "Everyone"}, "FFA", function(value) teamCheck = value if hitboxEnabled then updateHitboxes() end end) createCustomToggle(HitboxPage, "Ars_NoCollision", "Tắt va chạm ranh giới Hitbox", false, function(enabled) noCollisionEnabled = enabled task.spawn(function() while noCollisionEnabled do if hitboxEnabled then updateHitboxes() end task.wait(0.01) end if hitboxEnabled then updateHitboxes() end end) end) -- Bổ sung tính năng mới ESP Highlights xuyên tường phát quang createSectionHeader(HitboxPage, "Sec_ArsESP", "VISUAL ESP & WALLHACK") createCustomToggle(HitboxPage, "Ars_EspHighlight", "Kích hoạt ESP Highlight xuyên tường", false, function(state) espHighlightEnabled = state end) createCustomDropdown(HitboxPage, "Ars_EspColor", "Tông màu hiển thị ESP", {"Red vs Green", "Cyan vs Pink", "Yellow vs Purple"}, "Red vs Green", function(selected) espColorTheme = selected end) -- Bổ sung Tâm ảo tự chế & FOV Circle (GUI Nguyên Bản không lag) createSectionHeader(HitboxPage, "Sec_ArsCrosshair", "CUSTOM CROSSHAIR & FOV") createCustomToggle(HitboxPage, "Ars_CrosshairActive", "Kích hoạt tâm ngắm ảo (Crosshair)", false, function(state) customCrosshairActive = state end) createCustomToggle(HitboxPage, "Ars_FOVCircle", "Hiển thị vòng tròn giới hạn ngắm (FOV)", false, function(state) showFOVCircle = state end) -- [ TAB 2: CHIẾN ĐẤU & AIMBOT ] local TriggerPage = registerTab("Trigger", "Tab_Trigger", "Combat & Aim", 2) -- Bổ sung tính năng đặc biệt: Aim Assist (Smooth Camera Lock-On) createSectionHeader(TriggerPage, "Sec_ArsAimbot", "AIMBOT & COMBAT ASSIST") createCustomToggle(TriggerPage, "Ars_AimbotActive", "Kích hoạt Aim Assist (Tự khóa mục tiêu)", false, function(state) aimbotEnabled = state end) createCustomToggle(TriggerPage, "Ars_AimbotTeam", "Aimbot Check Team (Chỉ ngắm kẻ địch)", true, function(state) aimbotTeamCheck = state end) createCustomDropdown(TriggerPage, "Ars_AimbotPart", "Bộ phận nhắm khóa mục tiêu", {"Head", "UpperTorso", "Random"}, "Head", function(selected) aimbotTargetPart = selected end) createCustomSlider(TriggerPage, "Ars_AimbotFOV", "Giới hạn vùng khóa (FOV Radius)", 50, 400, 150, function(val) aimbotFOV = val end) createCustomSlider(TriggerPage, "Ars_AimbotSmooth", "Độ mượt mà ghim mục tiêu", 1, 100, 15, function(val) aimbotSmoothness = val / 100 end) createSectionHeader(TriggerPage, "Sec_ArsTrigger", "TRIGGERBOT CONFIGURATION") createCustomToggle(TriggerPage, "Ars_Triggerbot", "Bật Tự động bắn (Triggerbot)", false, function(state) getgenv().triggerb = state end) createCustomDropdown(TriggerPage, "Ars_TriggerTeam", "Chế độ đội Triggerbot", {"FFA", "Team-Based", "Everyone"}, "Team-Based", function(selected) teamcheck_bot = selected end) createCustomToggleWithInput(TriggerPage, "Ars_TriggerDelay", "Độ trễ phản ứng xả đạn", true, 2, function() end, function(value) delay_bot = (tonumber(value) or 2) / 10 end) -- [ TAB 3: BÁ ĐẠO SÚNG ] local GunPage = registerTab("Gun", "Tab_Gun", "Gun Mods", 3) createSectionHeader(GunPage, "Sec_ArsGun", "WEAPON ATTRIBUTES CONFIG") createCustomToggle(GunPage, "Ars_InfAmmo1", "Vô hạn đạn (Curse Instance)", false, function(v) game:GetService("ReplicatedStorage").wkspc.CurrentCurse.Value = v and "Infinite Ammo" or "" end) createCustomToggle(GunPage, "Ars_InfAmmo2", "Vô hạn đạn (Memory Spof)", false, function(K) SettingsInfinite = K if SettingsInfinite then game:GetService("RunService").Stepped:Connect(function() pcall(function() if SettingsInfinite then local playerGui = LocalPlayer.PlayerGui playerGui.GUI.Client.Variables.ammocount.Value = 99 playerGui.GUI.Client.Variables.ammocount2.Value = 99 end end) end) end end) createCustomToggle(GunPage, "Ars_FastReload", "Thay đạn ngay lập tức (No Wait)", false, function(x) for _, v in pairs(game.ReplicatedStorage.Weapons:GetChildren()) do if v:FindFirstChild("ReloadTime") then if x then if not originalValues.ReloadTime[v] then originalValues.ReloadTime[v] = v.ReloadTime.Value end v.ReloadTime.Value = 0.01 else v.ReloadTime.Value = originalValues.ReloadTime[v] or 0.8 end end if v:FindFirstChild("EReloadTime") then if x then if not originalValues.EReloadTime[v] then originalValues.EReloadTime[v] = v.EReloadTime.Value end v.EReloadTime.Value = 0.01 else v.EReloadTime.Value = originalValues.EReloadTime[v] or 0.8 end end end end) createCustomToggle(GunPage, "Ars_FastFire", "Tăng tốc độ xả đạn (Fire Rate)", false, function(state) for _, v in pairs(game.ReplicatedStorage.Weapons:GetDescendants()) do if v.Name == "FireRate" or v.Name == "BFireRate" then if state then if not originalValues.FireRate[v] then originalValues.FireRate[v] = v.Value end v.Value = 0.02 else v.Value = originalValues.FireRate[v] or 0.8 end end end end) createCustomToggle(GunPage, "Ars_AlwaysAuto", "Ép súng bắn liên thanh", false, function(state) for _, v in pairs(game.ReplicatedStorage.Weapons:GetDescendants()) do if v.Name == "Auto" or v.Name == "AutoFire" or v.Name == "Automatic" or v.Name == "AutoShoot" or v.Name == "AutoGun" then if state then if not originalValues.Auto[v] then originalValues.Auto[v] = v.Value end v.Value = true else v.Value = originalValues.Auto[v] or false end end end end) createCustomToggle(GunPage, "Ars_NoSpread", "Bắn chính xác (Không có độ lệch tâm)", false, function(state) for _, v in pairs(game:GetService("ReplicatedStorage").Weapons:GetDescendants()) do if v.Name == "MaxSpread" or v.Name == "Spread" or v.Name == "SpreadControl" then if state then if not originalValues.Spread[v] then originalValues.Spread[v] = v.Value end v.Value = 0 else v.Value = originalValues.Spread[v] or 1 end end end end) createCustomToggle(GunPage, "Ars_NoRecoil", "Chống giật tuyệt đối (No Recoil)", false, function(state) for _, v in pairs(game:GetService("ReplicatedStorage").Weapons:GetDescendants()) do if v.Name == "RecoilControl" or v.Name == "Recoil" then if state then if not originalValues.Recoil[v] then originalValues.Recoil[v] = v.Value end v.Value = 0 else v.Value = originalValues.Recoil[v] or 1 end end end end) -- Bổ sung: Vết đạn vẽ bằng laser Neon createCustomToggle(GunPage, "Ars_BulletTracers", "Kích hoạt Vết đạn vẽ Neon rực rỡ", false, function(state) bulletTracersEnabled = state end) -- [ TAB 4: MÀU SẮC & THẾ GIỚI ] local SkinsPage = registerTab("Skins", "Tab_Skins", "Màu sắc & Thế giới", 4) createSectionHeader(SkinsPage, "Sec_ArsArmCos", "HAND ARM THEMES") local armMat = "Plastic" local armCol = Color3.fromRGB(50,50,50) local armCharmsActive = false createCustomDropdown(SkinsPage, "Ars_ArmMat", "Chất liệu sơn cánh tay", {"Plastic", "ForceField", "Wood", "Grass"}, "Plastic", function(selected) armMat = selected end) local colorsList = {"Dark Gray", "Soft Pink", "Red", "Green", "Blue", "Yellow", "White"} local customColors = { ["Dark Gray"] = Color3.fromRGB(50, 50, 50), ["Soft Pink"] = Color3.fromRGB(255, 128, 128), ["Red"] = Color3.fromRGB(255, 0, 0), ["Green"] = Color3.fromRGB(0, 255, 0), ["Blue"] = Color3.fromRGB(0, 0, 255), ["Yellow"] = Color3.fromRGB(255, 255, 0), ["White"] = Color3.fromRGB(255, 255, 255) } createCustomDropdown(SkinsPage, "Ars_ArmColor", "Màu sắc cánh tay", colorsList, "Dark Gray", function(selected) armCol = customColors[selected] or Color3.fromRGB(50,50,50) end) createCustomToggle(SkinsPage, "Ars_ArmCharms", "Áp dụng sơn cánh tay tùy chỉnh", false, function(state) armCharmsActive = state if armCharmsActive then task.spawn(function() while armCharmsActive do task.wait(0.05) local cameraArms = workspace.Camera:FindFirstChild("Arms") if cameraArms then for _, O in pairs(cameraArms:GetDescendants()) do if O.Name == 'Right Arm' or O.Name == 'Left Arm' then if O:IsA("BasePart") then O.Material = Enum.Material[armMat] O.Color = armCol end elseif O:IsA("SpecialMesh") then if O.TextureId == '' then O.TextureId = 'rbxassetid://0' O.VertexColor = Vector3.new(armCol.R, armCol.G, armCol.B) end elseif O.Name == 'L' or O.Name == 'R' then O:Destroy() end end end end end) end end) createSectionHeader(SkinsPage, "Sec_ArsGunCos", "GUN COSMETIC THEMES") local gunMat = "Plastic" local gunCol = Color3.fromRGB(50,50,50) local gunCharmsActive = false createCustomDropdown(SkinsPage, "Ars_GunMat", "Chất liệu thân súng", {"Plastic", "ForceField", "Wood", "Grass"}, "Plastic", function(selected) gunMat = selected end) createCustomDropdown(SkinsPage, "Ars_GunCol", "Màu sắc thân súng", colorsList, "Dark Gray", function(selected) gunCol = customColors[selected] or Color3.fromRGB(50,50,50) end) createCustomToggle(SkinsPage, "Ars_GunCharms", "Áp dụng sơn súng tùy chỉnh", false, function(state) gunCharmsActive = state if gunCharmsActive then task.spawn(function() while gunCharmsActive do task.wait(0.05) local cameraArms = workspace.Camera:FindFirstChild("Arms") if cameraArms then for _, O in pairs(cameraArms:GetDescendants()) do if O:IsA("MeshPart") then O.Material = Enum.Material[gunMat] O.Color = gunCol end end end end end) end end) local rainbowActive1 = false local rainbowActive2 = false local rainbowVal1 = 1 local rainbowVal2 = 0 createCustomToggle(SkinsPage, "Ars_RainbowGun1", "Súng màu chuyển động vòng lặp chậm (Rainbow v1)", false, function(state) rainbowActive1 = state end) createCustomToggle(SkinsPage, "Ars_RainbowGun2", "Súng màu chuyển động cực nhanh (Rainbow v2)", false, function(state) rainbowActive2 = state end) -- Bổ sung: Thay đổi Bầu trời, Xóa Sương Mù (Skybox & Environmental Effects) createSectionHeader(SkinsPage, "Sec_ArsSkybox", "WORLD ENVIRONMENT EFFECTS") createCustomDropdown(SkinsPage, "Ars_Skybox", "Chọn kiểu bầu trời mới", {"Default", "Space Purple", "Retro Night"}, "Default", function(selected) pcall(function() local lighting = game:GetService("Lighting") local sky = lighting:FindFirstChildOfClass("Sky") if not sky then sky = Instance.new("Sky") sky.Parent = lighting end if selected == "Default" then sky:Destroy() elseif selected == "Space Purple" then sky.SkyboxBk = "rbxassetid://510645435" sky.SkyboxDn = "rbxassetid://510644301" sky.SkyboxFt = "rbxassetid://510645227" sky.SkyboxLf = "rbxassetid://510645003" sky.SkyboxRt = "rbxassetid://510644837" sky.SkyboxUp = "rbxassetid://510644615" elseif selected == "Retro Night" then sky.SkyboxBk = "rbxassetid://12064107" sky.SkyboxDn = "rbxassetid://12064152" sky.SkyboxFt = "rbxassetid://12064131" sky.SkyboxLf = "rbxassetid://12064115" sky.SkyboxRt = "rbxassetid://12064124" sky.SkyboxUp = "rbxassetid://12064142" end end) end) createCustomToggle(SkinsPage, "Ars_NoFog", "Xóa sương mù bản đồ (No Fog View)", false, function(enabled) pcall(function() local lighting = game:GetService("Lighting") if enabled then lighting.FogEnd = 9e9 else lighting.FogEnd = originalLightingSettings.FogEnd end end) end) game:GetService("RunService").RenderStepped:Connect(function() local cam = workspace.Camera if cam:FindFirstChild('Arms') then if rainbowActive1 then for _, v in pairs(cam.Arms:GetDescendants()) do if v:IsA('MeshPart') then v.Color = Color3.fromHSV(math.acos(math.cos(rainbowVal1 * math.pi)) / math.pi, 1, 1) rainbowVal1 = rainbowVal1 + .0001 end end elseif rainbowActive2 then rainbowVal2 = (rainbowVal2 + 0.1) % 1 for _, v in pairs(cam.Arms:GetDescendants()) do if v:IsA('MeshPart') then v.Color = Color3.fromHSV(rainbowVal2, 1, 1) end end end end end) -- [ TAB 5: TÍNH NĂNG PHỤ HỖ TRỢ ] local MiscPage = registerTab("Misc", "Tab_Misc", "Misc Hacks", 5) createSectionHeader(MiscPage, "Sec_ArsMiscMove", "MOVEMENT & SURVIVAL TOOLS") createCustomToggle(MiscPage, "Ars_FlyMod", "Kích hoạt chế độ Bay (Fly)", false, function(state) if state then startFly() else endFly() end end) createCustomToggleWithInput(MiscPage, "Ars_FlySpeedVal", "Tốc độ bay lơ lửng", true, 50, function() end, function(s) flySettings.flyspeed = tonumber(s) or 50 end) createCustomToggleWithInput(MiscPage, "Player_WalkSpeed", "Tốc độ chạy bộ tùy biến", false, 16, function(state) wsEnabled = state end, function(val) wsValue = val end) createCustomToggleWithInput(MiscPage, "Player_JumpPower", "Lực bật cao tùy biến", false, 50, function(state) jpEnabled = state end, function(val) jpValue = val end) createCustomToggle(MiscPage, "Util_InfJump", "Kích hoạt Nhảy vô hạn", false, function(state) getgenv().infjumpactive = state game:GetService("UserInputService").JumpRequest:Connect(function() if getgenv().infjumpactive then local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass('Humanoid') if hum then hum:ChangeState("Jumping") end end end) end) createCustomToggle(MiscPage, "Ars_NoClip", "Đi xuyên tường (NoClip)", false, function(enabled) getgenv().noclip = enabled task.spawn(function() while getgenv().noclip do local char = LocalPlayer.Character if char then for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end game:GetService("RunService").Stepped:Wait() end end) end) createCustomToggle(MiscPage, "Ars_ToggleXray", "Bật X-Ray nhìn xuyên tường", false, function(enabled) if enabled then for _, descendant in pairs(workspace:GetDescendants()) do if descendant:IsA("BasePart") then if not descendant:FindFirstChild("OriginalTransparency") then local originalTransparency = Instance.new("NumberValue", descendant) originalTransparency.Name = "OriginalTransparency" originalTransparency.Value = descendant.Transparency end descendant.Transparency = 0.5 end end else for _, descendant in pairs(workspace:GetDescendants()) do if descendant:IsA("BasePart") then if descendant:FindFirstChild("OriginalTransparency") then descendant.Transparency = descendant.OriginalTransparency.Value descendant.OriginalTransparency:Destroy() end end end end end) -- Bổ sung: Điều chỉnh trọng lực và thời gian thế giới cục bộ createSectionHeader(MiscPage, "Sec_ArsMoveValue", "WORLD GRAVITY & TIME CONTROL") createCustomSlider(MiscPage, "Player_Gravity", "Điều chỉnh Trọng Lực game", 0, 400, 196, function(val) gravityEnabled = true gravityValue = val end) createCustomSlider(MiscPage, "Player_Time", "Thời gian trong ngày (Giờ)", 0, 24, 12, function(val) timeEnabled = true timeValue = val end) createCustomToggle(MiscPage, "Player_ThirdPerson", "Kích hoạt góc nhìn thứ ba", false, function(state) thirdPersonEnabled = state end) createSectionHeader(MiscPage, "Sec_ArsMiscManip", "OBJECT & PERSPECTIVE MANIPULATION") createCustomToggle(MiscPage, "Ars_SpinAntiAim", "Bật xoay nhân vật (Spin Anti-Aim)", false, function(value) local root = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if value and root then local spin = Instance.new("BodyAngularVelocity") spin.Name = "AntiAimSpin" spin.AngularVelocity = Vector3.new(0, spinSpeed, 0) spin.MaxTorque = Vector3.new(0, math.huge, 0) spin.P = 500000 spin.Parent = root gyro = Instance.new("BodyGyro") gyro.Name = "AntiAimGyro" gyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) gyro.CFrame = root.CFrame gyro.P = 3000 gyro.Parent = root else if root then local s = root:FindFirstChild("AntiAimSpin") if s then s:Destroy() end if gyro then gyro:Destroy() gyro = nil end end end end) createCustomToggleWithInput(MiscPage, "Ars_SpinSpeed", "Tốc độ tự động xoay vòng", true, 10, function() end, function(value) spinSpeed = tonumber(value) or 10 local root = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if root then local s = root:FindFirstChild("AntiAimSpin") if s then s.AngularVelocity = Vector3.new(0, spinSpeed, 0) end end end) createCustomToggle(MiscPage, "Ars_CollectDebris", "Tự hút hạt rơi (Hồi Máu / Đạn)", false, function(enabled) isCollecting = enabled if enabled then task.spawn(function() while isCollecting do task.wait(0.1) pcall(function() local root = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if root then for _, v in pairs(workspace.Debris:GetChildren()) do if (debris_selected == "DeadHP" and v.Name == "DeadHP") or (debris_selected == "DeadAmmo" and v.Name == "DeadAmmo") or (debris_selected == "Both" and (v.Name == "DeadHP" or v.Name == "DeadAmmo")) then v.CFrame = root.CFrame * CFrame.new(0, 0.2, 0) end end end end) end end) end end) createCustomDropdown(MiscPage, "Ars_DebrisType", "Loại hạt rơi muốn ưu tiên", {"DeadHP", "DeadAmmo", "Both"}, "Both", function(selection) debris_selected = selection end) createCustomToggle(MiscPage, "Ars_MaxLevel", "Thay đổi cấp độ hiển thị (Visual level max)", false, function(bool) local stats = LocalPlayer:FindFirstChild("CareerStatsCache") if stats then if bool then stats.Score.Value = 1e18 stats.Kills.Value = 1e14 else stats.Score.Value = 0 stats.Kills.Value = 0 end end end) createSectionHeader(MiscPage, "Sec_ArsMiscTags", "CHAT BADGES SPOOFER") createCustomToggle(MiscPage, "Ars_Chad", "Danh hiệu IsChad vàng", false, function(x) applyTag("IsChad", x) end) createCustomToggle(MiscPage, "Ars_VIP", "Danh hiệu VIP danh giá", false, function(x) applyTag("VIP", x) end) createCustomToggle(MiscPage, "Ars_OldVIP", "Danh hiệu VIP Cổ điển", false, function(x) applyTag("OldVIP", x) end) createCustomToggle(MiscPage, "Ars_Romin", "Danh hiệu Romin Quản trị viên", false, function(x) applyTag("Romin", x) end) createCustomToggle(MiscPage, "Ars_IsAdmin", "Nhãn Admin quyền lực", false, function(x) applyTag("IsAdmin", x) end) -- [ TAB 6: TỰ ĐỘNG FARM EXP VÀ DIỆT ĐỊCH ] local FarmPage = registerTab("Farm", "Tab_Farm", "Auto Farm", 6) createSectionHeader(FarmPage, "Sec_ArsFarm", "AUTOMATIC KILL & EXP FARM") createCustomToggle(FarmPage, "Ars_FarmActive", "Kích hoạt chế độ Tự động Farm", false, function(enabled) farmEnabled = enabled if not enabled then getgenv().triggerb = false end end) createCustomToggle(FarmPage, "Ars_FarmTeamCheck", "Kiểm tra Đội địch (Không giết đồng đội)", true, function(enabled) farmTeamCheck = enabled end) createCustomToggle(FarmPage, "Ars_FarmLockCam", "Ghim chặt Camera vào đầu đối phương", true, function(enabled) farmLockCam = enabled end) createCustomSlider(FarmPage, "Ars_FarmHeight", "Khoảng cách đứng trên đầu đối thủ", 3, 20, 8, function(val) farmHeightOffset = val end) createCustomToggle(FarmPage, "Ars_AutoRespawn", "Tự động xuất trận ngay lập tức khi chết", false, function(enabled) autoRespawnEnabled = enabled end) createCustomToggle(FarmPage, "Ars_AutoShoot", "Tự xả đạn khi khóa đối mục tiêu", false, function(enabled) autoShootFarm = enabled end) -- [ TAB 7: CÀI ĐẶT HỆ THỐNG & TỐI ƯU HÓA ] local OptimizePage = registerTab("Optimize", "Tab_Optimize", "Optimize & Sys", 7) createSectionHeader(OptimizePage, "Sec_ArsOptLag", "PERFORMANCE OPTIMIZATION") createCustomButton(OptimizePage, "Opt_Memory", "Giải phóng rác bộ nhớ (Dọn dẹp RAM)", function() pcall(function() collectgarbage("collect") Notify("Hệ Thống", "Đã giải phóng rác bộ nhớ game thành công!") end) end) createCustomToggle(OptimizePage, "Opt_AntiLag", "Tải mượt vật liệu bản đồ (Smooth Plastic)", false, function(state) if state then for _, O in pairs(workspace:GetDescendants()) do if O:IsA("BasePart") and not O.Parent:FindFirstChild("Humanoid") then originalMaterials[O] = O.Material O.Material = Enum.Material.SmoothPlastic if O:IsA("Texture") then table.insert(originalDecalsTextures, O) O:Destroy() end end end else for O, material in pairs(originalMaterials) do if O and O:IsA("BasePart") then O.Material = material end end originalMaterials = {} end end) createCustomToggle(OptimizePage, "Opt_FPSBoost", "Bật chế độ Tối ưu khung hình (FPS Booster)", false, function(state) local l = game:GetService("Lighting") local t = workspace.Terrain if state then originalTerrainSettings.WaterWaterWaveSize = t.WaterWaveSize originalTerrainSettings.WaterWaveSpeed = t.WaterWaveSpeed originalTerrainSettings.WaterReflectance = t.WaterReflectance originalTerrainSettings.WaterTransparency = t.WaterTransparency t.WaterWaveSize = 0 t.WaterWaveSpeed = 0 t.WaterReflectance = 0 t.WaterTransparency = 0 l.GlobalShadows = false l.FogEnd = 9e9 l.Brightness = 0 pcall(function() settings().Rendering.QualityLevel = "Level01" end) for _, v in pairs(game:GetDescendants()) do if v:IsA("Part") or v:IsA("Union") or v:IsA("CornerWedgePart") or v:IsA("TrussPart") then originalMaterials[v] = v.Material v.Material = "Plastic" v.Reflectance = 0 elseif v:IsA("Decal") or v:IsA("Texture") then table.insert(originalDecalsTextures, v) v.Transparency = 1 elseif v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Lifetime = NumberRange.new(0) elseif v:IsA("Explosion") then v.BlastPressure = 1 v.BlastRadius = 1 elseif v:IsA("Fire") or v:IsA("SpotLight") or v:IsA("Smoke") then v.Enabled = false elseif v:IsA("MeshPart") then originalMaterials[v] = v.Material v.Material = "Plastic" v.Reflectance = 0 v.TextureID = "" end end for _, e in pairs(l:GetChildren()) do if e:IsA("BlurEffect") or e:IsA("SunRaysEffect") or e:IsA("ColorCorrectionEffect") or e:IsA("BloomEffect") or e:IsA("DepthOfFieldEffect") then originalEffects[e] = e.Enabled e.Enabled = false end end else t.WaterWaveSize = originalTerrainSettings.WaterWaterWaveSize t.WaterWaveSpeed = originalTerrainSettings.WaterWaveSpeed t.WaterReflectance = originalTerrainSettings.WaterReflectance t.WaterTransparency = originalTerrainSettings.WaterTransparency l.GlobalShadows = originalLightingSettings.GlobalShadows l.FogEnd = originalLightingSettings.FogEnd l.Brightness = originalLightingSettings.Brightness pcall(function() settings().Rendering.QualityLevel = "Automatic" end) for v, material in pairs(originalMaterials) do if v and v:IsA("BasePart") then v.Material = material v.Reflectance = 0 end end originalMaterials = {} for e, enabled in pairs(originalEffects) do if e then e.Enabled = enabled end end originalEffects = {} for _, v in pairs(originalDecalsTextures) do if v and v.Parent then v.Transparency = 0 end end originalDecalsTextures = {} end end) createCustomToggle(OptimizePage, "Opt_FullBright", "Khóa sáng toàn bản đồ (Full Bright)", false, function(enabled) fullBrightEnabled = enabled local function doFullBright() local Light = game:GetService("Lighting") if fullBrightEnabled then Light.Ambient = Color3.new(1, 1, 1) Light.ColorShift_Bottom = Color3.new(1, 1, 1) Light.ColorShift_Top = Color3.new(1, 1, 1) else Light.Ambient = Color3.new(0.5, 0.5, 0.5) Light.ColorShift_Bottom = Color3.new(0, 0, 0) Light.ColorShift_Top = Color3.new(0, 0, 0) end end doFullBright() game:GetService("Lighting").LightingChanged:Connect(doFullBright) end) createSectionHeader(OptimizePage, "Sec_ArsOptServer", "SERVER DIRECT CONNS") createCustomButton(OptimizePage, "Opt_ServerHop", "Chuyển đổi Server khác nhanh (Server Hop)", function() local placeID = game.PlaceId local allIDs = {} local foundAnything = "" local actualHour = os.date("!*t").hour pcall(function() allIDs = game:GetService("HttpService"):JSONDecode(readfile("NotSameServers.json")) end) table.insert(allIDs, actualHour) writefile("NotSameServers.json", game:GetService("HttpService"):JSONEncode(allIDs)) local function teleportReturner() local url = "https://games.roblox.com/v1/games/" .. placeID .. "/servers/Public?sortOrder=Asc&limit=100" if foundAnything ~= "" then url = url .. "&cursor=" .. foundAnything end local site = game.HttpService:JSONDecode(game:HttpGet(url)) if site.nextPageCursor and site.nextPageCursor ~= "null" and site.nextPageCursor ~= nil then foundAnything = site.nextPageCursor end for _, v in pairs(site.data) do local possible = true local serverID = tostring(v.id) if tonumber(v.maxPlayers) > tonumber(v.playing) then for _, existing in pairs(allIDs) do if serverID == tostring(existing) then possible = false end end if possible then table.insert(allIDs, serverID) writefile("NotSameServers.json", game:GetService("HttpService"):JSONEncode(allIDs)) game:GetService("TeleportService"):TeleportToPlaceInstance(placeID, serverID, LocalPlayer) break end end end end task.spawn(function() while task.wait(1) do teleportReturner() end end) end) createCustomButton(OptimizePage, "Opt_Rejoin", "Rejoin lại Server hiện tại ngay lập tức", function() game:GetService("TeleportService"):Teleport(game.PlaceId, LocalPlayer) end) createSectionHeader(OptimizePage, "Sec_OptSettings", "SYSTEM INTERFACE CONTROL") createCustomToggle(OptimizePage, "Settings_Blur", "Bật tính năng Làm mờ nền Kính phía sau", true, function(state) local targetVal = state and 1 or 0 MainFrame:SetAttribute("BlurIntensity", targetVal) end) createCustomDropdown(OptimizePage, "Settings_Lang", "Ngôn ngữ / Language", {"English", "Tiếng Việt"}, "English", function(selected) if selected == "English" then SetLanguage("English") elseif selected == "Tiếng Việt" then SetLanguage("Vietnamese") end end) createCustomButton(OptimizePage, "Settings_Destroy", "Tắt hoàn toàn bảng điều khiển Hack", function() pcall(function() if _G.FOVring then _G.FOVring:Remove() _G.FOVring = nil end end) MainFrame.Visible = false MainFrame.Parent:Destroy() end) -- ============================================================================= -- LOGIC KIỂM SOÁT CÁC THÀNH PHẦN GUI ĐẶC BIỆT (CROSSHAIR, FOV CIRCLE, PERFORMANCE) -- ============================================================================= -- 1. Tâm Ngắm Ảo Tự Chế (Gui Custom Crosshair) local Crosshair = Instance.new("Frame") Crosshair.Name = "CustomCrosshair" Crosshair.Size = UDim2.new(0, 6, 0, 6) Crosshair.AnchorPoint = Vector2.new(0.5, 0.5) Crosshair.BackgroundColor3 = Color3.fromRGB(255, 0, 0) Crosshair.BorderSizePixel = 0 Crosshair.Visible = false Crosshair.ZIndex = 999999 Crosshair.Parent = MainFrame.Parent -- Nhét cùng ScreenGui của thư viện UI local CrosshairCorner = Instance.new("UICorner") CrosshairCorner.CornerRadius = UDim.new(1, 0) CrosshairCorner.Parent = Crosshair -- 2. Vòng Tròn Giới Hạn ngắm (Gui FOV Circle) local FOVFrame = Instance.new("Frame") FOVFrame.Name = "FOVCircle" FOVFrame.AnchorPoint = Vector2.new(0.5, 0.5) FOVFrame.BackgroundTransparency = 1 FOVFrame.Visible = false FOVFrame.ZIndex = 999998 FOVFrame.Parent = MainFrame.Parent local FOVCorner = Instance.new("UICorner") FOVCorner.CornerRadius = UDim.new(1, 0) FOVCorner.Parent = FOVFrame local FOVStroke = Instance.new("UIStroke") FOVStroke.Color = Color3.fromRGB(0, 120, 215) FOVStroke.Thickness = 1.5 FOVStroke.Parent = FOVFrame -- 3. Chỉ Số Hiệu Năng Thời Gian Thực (FPS & Ping Ticker) local PerfLabel = Instance.new("TextLabel") PerfLabel.Size = UDim2.new(0, 180, 0, 22) PerfLabel.Position = UDim2.new(1, -210, 0, 0) PerfLabel.BackgroundTransparency = 1 PerfLabel.TextColor3 = Color3.fromRGB(150, 155, 165) PerfLabel.TextSize = 11 PerfLabel.Font = Enum.Font.SourceSansBold PerfLabel.TextXAlignment = Enum.TextXAlignment.Right PerfLabel.TextYAlignment = Enum.TextYAlignment.Center PerfLabel.Parent = MainFrame:FindFirstChild("Topbar") -- ============================================================================= -- LOGIC VẬN HÀNH THỜI GIAN THỰC (CORE LOOP & PHYSICAL LISTENERS) -- ============================================================================= -- Mở mặc định trang thứ nhất là Hitbox & ESP tabBtn = TabList:GetChildren()[3] if tabBtn and tabBtn:IsA("TextButton") then tabBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 215) tabBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ContentArea:GetChildren()[1].Visible = true activeTabBtn = tabBtn activeTabPage = ContentArea:GetChildren()[1] end -- Vòng lặp duy trì các chỉ số vật lý, tâm ảo, FOV, góc nhìn và đo đạc hiệu năng FPS local lastTime = os.clock() local fps = 60 RunService.RenderStepped:Connect(function() -- Đo lường FPS thời gian thực local now = os.clock() fps = math.floor(1 / (now - lastTime)) lastTime = now if PerfLabel then local pingVal = math.floor(LocalPlayer:GetNetworkPing() * 1000) PerfLabel.Text = "FPS: " .. tostring(fps) .. " | PING: " .. tostring(pingVal) .. "ms" end -- Cập nhật vị trí và kích cỡ Crosshair & FOV local mousePos = UserInputService:GetMouseLocation() if Crosshair then Crosshair.Visible = customCrosshairActive Crosshair.Position = UDim2.new(0, mousePos.X, 0, mousePos.Y) end if FOVFrame then FOVFrame.Visible = showFOVCircle FOVFrame.Size = UDim2.new(0, aimbotFOV * 2, 0, aimbotFOV * 2) FOVFrame.Position = UDim2.new(0, mousePos.X, 0, mousePos.Y) end -- Chế độ góc nhìn thứ ba (Third Person View) pcall(function() if thirdPersonEnabled then LocalPlayer.CameraMaxZoomDistance = 12 LocalPlayer.CameraMinZoomDistance = 12 else LocalPlayer.CameraMaxZoomDistance = 128 LocalPlayer.CameraMinZoomDistance = 0.5 end end) end) -- Vòng lặp duy trì Walkspeed & JumpPower ổn định task.spawn(function() while task.wait(0.02) do pcall(function() local char = LocalPlayer.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if hum then if wsEnabled then hum.WalkSpeed = wsValue end if jpEnabled then hum.UseJumpPower = true hum.JumpPower = jpValue end end if gravityEnabled then workspace.Gravity = gravityValue end if timeEnabled then game.Lighting.TimeOfDay = timeValue end end) end end) -- Luồng xử lý ESP Highlight (Xuyên tường phát quang) local function applyHighlight(player) pcall(function() if player == LocalPlayer then return end local char = player.Character if char then local highlight = char:FindFirstChild("ESPHighlight") if not espHighlightEnabled then if highlight then highlight:Destroy() end return end if not highlight then highlight = Instance.new("Highlight") highlight.Name = "ESPHighlight" highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.OutlineTransparency = 0.2 highlight.FillTransparency = 0.5 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = char end -- Thay đổi màu sắc theo cài đặt Tông màu ESP if espColorTheme == "Red vs Green" then highlight.FillColor = (player.Team == LocalPlayer.Team) and Color3.fromRGB(0, 255, 128) or Color3.fromRGB(255, 50, 50) elseif espColorTheme == "Cyan vs Pink" then highlight.FillColor = (player.Team == LocalPlayer.Team) and Color3.fromRGB(0, 240, 255) or Color3.fromRGB(255, 0, 150) elseif espColorTheme == "Yellow vs Purple" then highlight.FillColor = (player.Team == LocalPlayer.Team) and Color3.fromRGB(255, 255, 0) or Color3.fromRGB(150, 0, 255) end end end) end task.spawn(function() while task.wait(0.5) do if espHighlightEnabled then for _, player in ipairs(Players:GetPlayers()) do applyHighlight(player) end else for _, player in ipairs(Players:GetPlayers()) do pcall(function() local char = player.Character if char then local hl = char:FindFirstChild("ESPHighlight") if hl then hl:Destroy() end end end) end end end end) -- Thiết lập vẽ Vết đạn Neon rực rỡ (Bullet Tracers) local function createBulletTracer(startPos, endPos) if not bulletTracersEnabled then return end pcall(function() local distance = (endPos - startPos).Magnitude local laser = Instance.new("Part") laser.Name = "BulletTracer" laser.Anchored = true laser.CanCollide = false laser.Material = Enum.Material.Neon laser.Color = Color3.fromRGB(0, 120, 215) laser.Size = Vector3.new(0.08, 0.08, distance) laser.CFrame = CFrame.new(startPos:Lerp(endPos, 0.5), endPos) laser.Parent = workspace task.spawn(function() for i = 1, 8 do task.wait(0.04) laser.Transparency = i / 8 end laser:Destroy() end) end) end UserInputService.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 and bulletTracersEnabled then pcall(function() local char = LocalPlayer.Character local cameraArms = workspace.Camera:FindFirstChild("Arms") local barrel = char and char:FindFirstChild("Head") -- mặc định vẽ tia từ vị trí của mắt người chơi local mouse = LocalPlayer:GetMouse() if barrel and mouse.Hit then createBulletTracer(barrel.Position - Vector3.new(0, 1, 0), mouse.Hit.Position) end end) end end) -- Tìm đối thủ gần tâm chuột nhất phục vụ Aim Assist local camera = workspace.CurrentCamera local function getClosestPlayerToCursor() local closestTarget = nil local shortestDistance = math.huge local mousePos = UserInputService:GetMouseLocation() for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then local targetPartName = aimbotTargetPart if targetPartName == "Random" then local parts = {"Head", "UpperTorso", "HumanoidRootPart"} targetPartName = parts[math.random(1, #parts)] end local lockPart = player.Character:FindFirstChild(targetPartName) if lockPart then local humanoid = player.Character:FindFirstChildOfClass("Humanoid") if humanoid and humanoid.Health > 0 then if not aimbotTeamCheck or player.Team ~= LocalPlayer.Team then local screenPos, onScreen = camera:WorldToViewportPoint(lockPart.Position) if onScreen then local screenVector = Vector2.new(screenPos.X, screenPos.Y) local dist = (screenVector - mousePos).Magnitude if dist < aimbotFOV and dist < shortestDistance then shortestDistance = dist closestTarget = lockPart end end end end end end end return closestTarget end local isHoldingAimKey = false UserInputService.InputBegan:Connect(function(input) if input.UserInputType == aimbotKey then isHoldingAimKey = true end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == aimbotKey then isHoldingAimKey = false end end) -- Vận hành Aim Assist (Smooth Camera Lock) khi giữ Chuột Phải RunService.RenderStepped:Connect(function() if aimbotEnabled and isHoldingAimKey then local target = getClosestPlayerToCursor() if target then local currentCamLook = camera.CFrame.LookVector local targetDir = (target.Position - camera.CFrame.Position).Unit local nextLook = currentCamLook:Lerp(targetDir, aimbotSmoothness) camera.CFrame = CFrame.new(camera.CFrame.Position, camera.CFrame.Position + nextLook) end end end) -- Lắng nghe các phím bấm để di chuyển Bay lượn (Fly) UserInputService.InputBegan:Connect(function(input, GPE) if GPE then return end local codeName = input.KeyCode.Name if fly_buttons[codeName] ~= nil then fly_buttons[codeName] = true fly_buttons.Moving = true end end) UserInputService.InputEnded:Connect(function(input, GPE) if GPE then return end local codeName = input.KeyCode.Name if fly_buttons[codeName] ~= nil then fly_buttons[codeName] = false end local isMoving = false for k, v in pairs(fly_buttons) do if k ~= "Moving" and v == true then isMoving = true break end end fly_buttons.Moving = isMoving end) RunService.Heartbeat:Connect(function(step) if fly_flying and fly_c and fly_c.PrimaryPart then local rootPos = fly_c.PrimaryPart.Position local cf = fly_cam.CFrame local ax, ay, az = cf:ToEulerAnglesXYZ() fly_c:SetPrimaryPartCFrame(CFrame.new(rootPos.X, rootPos.Y, rootPos.Z) * CFrame.Angles(ax, ay, az)) if fly_buttons.Moving then local t = Vector3.new() if fly_buttons.W then t = t + (cf.LookVector * (flySettings.flyspeed / cf.LookVector.Magnitude)) end if fly_buttons.S then t = t - (cf.LookVector * (flySettings.flyspeed / cf.LookVector.Magnitude)) end if fly_buttons.A then t = t - (cf.RightVector * (flySettings.flyspeed / cf.RightVector.Magnitude)) end if fly_buttons.D then t = t + (cf.RightVector * (flySettings.flyspeed / cf.RightVector.Magnitude)) end fly_c:TranslateBy(t * step) end end end) -- Lắng nghe bắn Triggerbot tự động local function isEnemyBot(targetPlayer) if teamcheck_bot == "FFA" then return true elseif teamcheck_bot == "Everyone" then return targetPlayer ~= LocalPlayer elseif teamcheck_bot == "Team-Based" then return targetPlayer.Team ~= LocalPlayer.Team end return false end local function checkHealthLoop() local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local hum = char:WaitForChild("Humanoid") hum.HealthChanged:Connect(function(health) isAlive_bot = health > 0 end) end LocalPlayer.CharacterAdded:Connect(checkHealthLoop) task.spawn(checkHealthLoop) RunService.RenderStepped:Connect(function() if getgenv().triggerb and isAlive_bot then local mouse = LocalPlayer:GetMouse() local target = mouse.Target if target and target.Parent and target.Parent:FindFirstChild("Humanoid") and target.Parent.Name ~= LocalPlayer.Name then local targetPlayer = Players:FindFirstChild(target.Parent.Name) if targetPlayer and isEnemyBot(targetPlayer) then mouse1press() task.wait(delay_bot) mouse1release() end end end end) -- Luồng thời gian thực xử lý xuất trận tự động task.spawn(function() while task.wait(0.5) do if autoRespawnEnabled then pcall(function() local playGui = LocalPlayer:WaitForChild("PlayerGui", 5) if playGui then local menugui = playGui:FindFirstChild("Menugui") if menugui and menugui:FindFirstChild("Main") and menugui.Main:FindFirstChild("Deploy") then if menugui.Main.Deploy.Visible then local deployRemote = game:GetService("ReplicatedStorage"):FindFirstChild("Events"):FindFirstChild("JoinTeam") if deployRemote then deployRemote:FireServer("Random") end end end end end) end end end) -- Luồng thời gian thực xử lý dịch chuyển Auto Farm task.spawn(function() while task.wait(0.01) do if farmEnabled then pcall(function() local char = LocalPlayer.Character local root = char and char:FindFirstChild("HumanoidRootPart") if root then getgenv().triggerb = true local targetPlayer = nil local shortestDistance = math.huge for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local humanoid = player.Character:FindFirstChildOfClass("Humanoid") if humanoid and humanoid.Health > 0 then local isEnemyTarget = false if not farmTeamCheck then isEnemyTarget = true else isEnemyTarget = player.Team ~= LocalPlayer.Team end if isEnemyTarget then local dist = (player.Character.HumanoidRootPart.Position - root.Position).Magnitude if dist < shortestDistance then shortestDistance = dist targetPlayer = player end end end end end if targetPlayer and targetPlayer.Character then local enemyRoot = targetPlayer.Character:FindFirstChild("HumanoidRootPart") local enemyHead = targetPlayer.Character:FindFirstChild("Head") if enemyRoot and enemyHead then local targetPos = enemyRoot.Position root.CFrame = CFrame.new(targetPos + Vector3.new(0, farmHeightOffset, 0), targetPos) if farmLockCam then local camera = workspace.CurrentCamera if camera then camera.CFrame = CFrame.new(camera.CFrame.Position, enemyHead.Position) end end if autoShootFarm then mouse1press() task.wait(0.05) mouse1release() end end end end end) end end end) -- Dọn dẹp hạt vật lý khi nhân vật chết hoặc respawn LocalPlayer.CharacterRemoving:Connect(function() pcall(function() if fly_bv then fly_bv:Destroy() fly_bv = nil end if fly_bav then fly_bav:Destroy() fly_bav = nil end end) end)