
Key RequiredUniversal

-- =============================================================================
-- 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)No comments yet for this script.



