- 📅 2026-06-30T05:42:39.899Z
- 👁️ 198 katselukertaa
- 🔓 Julkinen
-- 1. Định nghĩa các dịch vụ hệ thống cốt lõi của Roblox
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local UserInputService = game:GetService("UserInputService")
local Camera = Workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
-- 2. Khởi tạo bảng trạng thái tính năng toàn cục
local State = {
TP_Closest = false,
TP_4Far = false,
TP_Mid = false,
Fly_Hack = false, -- Tính năng bay mới thay thế WalkFling
Speed_Hack = false,
Jump_Hack = false,
Lock_Player = false,
Lock_NPC = false,
AIM = false,
AIM_Player = false,
Aim_VatCan_S2 = false,
ESP_1 = false,
ESP_2 = false,
ESP_3 = false
}
-- 3. Các biến cấu hình thông số kỹ thuật mặc định
local TargetHeight, LoopDistance = 0, 15
local Target_Speed, Target_Jump = 16, 50
local Fly_Speed = 50 -- Tốc độ bay mặc định ban đầu
local ESPDrawings, ButtonsList = {}, {}
local LockedTPTarget = nil
local currentOrder = 1
-- 4. Ép buộc Menu cài vào CoreGui để tăng độ bảo mật và chống đè UI
local CoreGui = game:GetService("CoreGui")
if CoreGui:FindFirstChild("SuperMultiMenuV6") then CoreGui:FindFirstChild("SuperMultiMenuV6"):Destroy() end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "SuperMultiMenuV6"
ScreenGui.ResetOnSpawn = false
ScreenGui.DisplayOrder = 999999
ScreenGui.Parent = CoreGui
-- Khung hiển thị chính (Main Frame) - Tăng chiều cao lên 280 để vừa ô nhập dữ liệu mới
local MainFrame = Instance.new("Frame", ScreenGui)
MainFrame.Name = "MainFrame"; MainFrame.Size = UDim2.new(0, 180, 0, 280); MainFrame.Position = UDim2.new(0.05, 0, 0.2, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15); MainFrame.BackgroundTransparency = 0.1
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 8)
-- Khung cuộn chứa nút bấm (Scrolling Frame)
local ScrollFrame = Instance.new("ScrollingFrame", MainFrame)
ScrollFrame.Name = "ScrollFrame"; ScrollFrame.Size = UDim2.new(1, 0, 1, -35); ScrollFrame.Position = UDim2.new(0, 0, 0, 35)
ScrollFrame.BackgroundTransparency = 1; ScrollFrame.ScrollBarThickness = 3; ScrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
local ListLayout = Instance.new("UIListLayout", ScrollFrame)
ListLayout.SortOrder = Enum.SortOrder.LayoutOrder; ListLayout.Padding = UDim.new(0, 5)
Instance.new("UIPadding", ScrollFrame).PaddingTop = UDim.new(0, 5)
-- Tiêu đề Menu
local MenuTitle = Instance.new("TextLabel", MainFrame)
MenuTitle.Size = UDim2.new(0, 130, 0, 30); MenuTitle.Position = UDim2.new(0, 10, 0, 2)
MenuTitle.Text = "SUPER MULTI MENU V6"; MenuTitle.TextColor3 = Color3.new(1, 1, 1); MenuTitle.Font = Enum.Font.SourceSansBold; MenuTitle.TextSize = 11; MenuTitle.BackgroundTransparency = 1
-- NÚT THU NHỎ / PHÓNG TO GIAO DIỆN
local MinimizeBtn = Instance.new("TextButton", MainFrame)
MinimizeBtn.Size = UDim2.new(0, 25, 0, 25); MinimizeBtn.Position = UDim2.new(1, -30, 0, 2); MinimizeBtn.BackgroundTransparency = 1; MinimizeBtn.Text = "[-]"; MinimizeBtn.TextColor3 = Color3.fromRGB(255, 50, 50); MinimizeBtn.Font = Enum.Font.SourceSansBold
local MaximizeBtn = Instance.new("TextButton", ScreenGui)
MaximizeBtn.Size = UDim2.new(0, 40, 0, 40); MaximizeBtn.Position = MainFrame.Position; MaximizeBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30); MaximizeBtn.Text = "[+]"; MaximizeBtn.TextColor3 = Color3.fromRGB(50, 255, 50); MaximizeBtn.Font = Enum.Font.SourceSansBold; MaximizeBtn.Visible = false
Instance.new("UICorner", MaximizeBtn).CornerRadius = UDim.new(0, 20)
MinimizeBtn.MouseButton1Click:Connect(function() MaximizeBtn.Position = MainFrame.Position; MainFrame.Visible = false; MaximizeBtn.Visible = true end)
MaximizeBtn.MouseButton1Click:Connect(function() MainFrame.Position = MaximizeBtn.Position; MainFrame.Visible = false; MainFrame.Visible = true end)
-- 5. Hàm mẫu khởi tạo nút bấm tự động đồng bộ trạng thái logic
local function AddMenuButton(name, displayName)
local btn = Instance.new("TextButton", ScrollFrame)
btn.Size = UDim2.new(1, -16, 0, 24); btn.LayoutOrder = currentOrder; currentOrder = currentOrder + 1
btn.BackgroundColor3 = Color3.fromRGB(35, 35, 35); btn.Text = displayName .. ": OFF"; btn.TextColor3 = Color3.new(1, 1, 1); btn.Font = Enum.Font.SourceSansBold; btn.TextSize = 10
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 4)
btn.MouseButton1Click:Connect(function()
State[name] = not State[name]
btn.Text = displayName .. (State[name] and ": ON" or ": OFF")
btn.BackgroundColor3 = State[name] and Color3.fromRGB(0, 120, 0) or Color3.fromRGB(35, 35, 35)
end)
end
-- 6. Đăng ký nút Bay (Fly) và Ô nhập tốc độ bay chuyên dụng
AddMenuButton("Fly_Hack", "✈️ KÍCH HOẠT BAY (FLY)")
local FlySpeedInput = Instance.new("TextBox", ScrollFrame)
FlySpeedInput.Size = UDim2.new(1, -16, 0, 24); FlySpeedInput.LayoutOrder = currentOrder; currentOrder = currentOrder + 1
FlySpeedInput.BackgroundColor3 = Color3.fromRGB(45, 45, 45); FlySpeedInput.Text = "Tốc độ bay: " .. tostring(Fly_Speed)
FlySpeedInput.TextColor3 = Color3.fromRGB(0, 255, 255); FlySpeedInput.Font = Enum.Font.SourceSansBold; FlySpeedInput.TextSize = 10
Instance.new("UICorner", FlySpeedInput).CornerRadius = UDim.new(0, 4)
FlySpeedInput.FocusLost:Connect(function()
local num = tonumber(FlySpeedInput.Text:match("%d+")) or tonumber(FlySpeedInput.Text)
if num then
Fly_Speed = math.clamp(num, 1, 1000)
FlySpeedInput.Text = "Tốc độ bay: " .. tostring(Fly_Speed)
else
FlySpeedInput.Text = "Tốc độ bay: " .. tostring(Fly_Speed)
end
end)
-- Đăng ký các nút bổ trợ còn lại
AddMenuButton("TP_Closest", "TP SÁT SAU LƯNG")
AddMenuButton("TP_4Far", "TP 4 FAR (S1)")
AddMenuButton("TP_Mid", "TP MID (S1)")
AddMenuButton("Speed_Hack", "CHẠY NHANH (SPEED)")
AddMenuButton("Jump_Hack", "NHẢY CAO (JP)")
-- 7. Khởi tạo cấu trúc kiểm soát lực lượng bay
local FlyBV = nil
local FlyBG = nil
local FlyConnection = nil
local function StartFlying()
local Ch = LocalPlayer.Character; if not Ch then return end
local Root = Ch:FindFirstChild("HumanoidRootPart")
local Hum = Ch:FindFirstChild("Humanoid"); if not Root or not Hum then return end
-- Thiết lập gyro để giữ nhân vật thẳng đứng khi bay
FlyBG = Instance.new("BodyGyro")
FlyBG.Name = "Fly_Gyro"
FlyBG.P = 9e4
FlyBG.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
FlyBG.CFrame = Root.CFrame
FlyBG.Parent = Root
-- Thiết lập velocity kiểm soát hướng bay tịnh tiến
FlyBV = Instance.new("BodyVelocity")
FlyBV.Name = "Fly_Velocity"
FlyBV.MaxForce = Vector3.new(9e9, 9e9, 9e9)
FlyBV.Velocity = Vector3.new(0, 0, 0)
FlyBV.Parent = Root
-- Ngắt trạng thái đứng trên mặt đất để không bị giật hoạt ảnh rơi
Hum.PlatformStand = true
-- Luồng điều khiển hướng di chuyển thời gian thực dựa vào Camera góc nhìn
FlyConnection = RunService.Heartbeat:Connect(function()
if not State.Fly_Hack or not Root or not Root.Parent then return end
FlyBG.CFrame = Camera.CFrame
local moveDirection = Hum.MoveDirection
if moveDirection.Magnitude > 0 then
-- Tính toán vector hướng di chuyển tương ứng theo góc quay Camera toàn cục
local camCFrame = Camera.CFrame
local lookVector = camCFrame.LookVector
local rightVector = camCFrame.RightVector
-- Chuyển đổi phím bấm di chuyển cục bộ của người dùng sang Vector không gian
local customVelocity = Vector3.new(0, 0, 0)
-- Ép di chuyển bay tới/lùi/trái/phải
if UserInputService:IsKeyDown(Enum.KeyCode.W) then customVelocity = customVelocity + lookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then customVelocity = customVelocity - lookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then customVelocity = customVelocity - rightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then customVelocity = customVelocity + rightVector end
-- Đồng bộ hóa tốc độ bay thay đổi từ hộp văn bản input
if customVelocity.Magnitude > 0 then
FlyBV.Velocity = customVelocity.Unit * Fly_Speed
else
FlyBV.Velocity = Vector3.new(0, 0, 0)
end
else
FlyBV.Velocity = Vector3.new(0, 0, 0)
end
end)
end
local function StopFlying()
if FlyConnection then FlyConnection:Disconnect(); FlyConnection = nil end
if FlyBV then pcall(function() FlyBV:Destroy() end) FlyBV = nil end
if FlyBG then pcall(function() FlyBG:Destroy() end) FlyBG = nil end
local Ch = LocalPlayer.Character
if Ch then
local Hum = Ch:FindFirstChild("Humanoid")
if Hum then Hum.PlatformStand = false end
end
end
-- Trình giám sát Daemon lắng nghe hành vi Toggle Fly
task.spawn(function()
while true do task.wait(0.1)
if State.Fly_Hack then
if not FlyConnection then StartFlying() end
else
if FlyConnection then StopFlying() end
end
end
end)
-- 8. Vòng lặp đồng bộ hóa tất cả các chức năng bổ trợ còn lại trong Menu
RunService.Heartbeat:Connect(function()
local myChar = LocalPlayer.Character; if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then return end
local rootPart = myChar.HumanoidRootPart
local humanoid = myChar:FindFirstChild("Humanoid")
-- Áp dụng thông số hack tốc độ và độ cao khi không bật trạng thái bay Fly
if State.Speed_Hack and not State.Fly_Hack and humanoid then humanoid.WalkSpeed = Target_Speed end
if State.Jump_Hack and humanoid then humanoid.UseJumpPower = true; humanoid.JumpPower = Target_Jump end
-- Bộ lọc xử lý tọa độ dịch chuyển áp sát mục tiêu (TP Logic)
local isTPEnabled = (State.TP_Closest or State.TP_4Far or State.TP_Mid)
if not isTPEnabled then LockedTPTarget = nil return end
-- Tự động tìm kiếm mục tiêu có khoảng cách ngắn nhất để khóa vị trí (Lock Target)
if not LockedTPTarget or not LockedTPTarget.Character or not LockedTPTarget.Character:FindFirstChild("HumanoidRootPart") then
local closest, shortestDist = nil, math.huge
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
local dist = (rootPart.Position - p.Character.HumanoidRootPart.Position).Magnitude
if dist < shortestDist then closest = p; shortestDist = dist end
end
end
LockedTPTarget = closest
end
-- Thực thi các trạng thái ép dịch chuyển CFrame theo các chế độ Menu
if LockedTPTarget and LockedTPTarget.Character and LockedTPTarget.Character:FindFirstChild("HumanoidRootPart") then
local targetRoot = LockedTPTarget.Character.HumanoidRootPart
if State.TP_Closest then
rootPart.CFrame = CFrame.new(targetRoot.Position - (targetRoot.CFrame.LookVector * 3.5), targetRoot.Position)
elseif State.TP_4Far then
rootPart.CFrame = CFrame.new(targetRoot.Position + (targetRoot.CFrame.LookVector * -LoopDistance), targetRoot.Position)
elseif State.TP_Mid then
rootPart.CFrame = targetRoot.CFrame
end
end
end)