-- Jol Hub Vtest🛠 By JolScript🤓 -- LocalScript (paste vào StarterGui hoặc StarterPlayerScripts) local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") -- GUI local screenGui = Instance.new("ScreenGui") screenGui.Name = "JolHubVtest" screenGui.ResetOnSpawn = false screenGui.Parent = PlayerGui local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 300, 0, 280) mainFrame.Position = UDim2.new(0.5, -150, 0.5, -140) mainFrame.AnchorPoint = Vector2.new(0.5, 0.5) mainFrame.BackgroundColor3 = Color3.fromRGB(88, 24, 163) mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = screenGui Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 12) local title = Instance.new("TextLabel") title.Parent = mainFrame title.Size = UDim2.new(1, -20, 0, 36) title.Position = UDim2.new(0, 10, 0, 8) title.BackgroundTransparency = 1 title.Text = "Jol Hub V1 By JolScript 🤓" title.Font = Enum.Font.GothamBold title.TextSize = 18 title.TextColor3 = Color3.fromRGB(245, 245, 245) title.TextXAlignment = Enum.TextXAlignment.Left local function createButton(name, text, posY) local btn = Instance.new("TextButton") btn.Name = name btn.Parent = mainFrame btn.Size = UDim2.new(1, -20, 0, 36) btn.Position = UDim2.new(0, 10, 0, posY) btn.BackgroundColor3 = Color3.fromRGB(120, 70, 200) btn.BorderSizePixel = 0 btn.Text = text btn.Font = Enum.Font.GothamBold btn.TextSize = 16 btn.TextColor3 = Color3.fromRGB(255,255,255) Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8) return btn end -- Buttons local floatBtn = createButton("FloatBtn", "Float: OFF", 54) local speedLabel = Instance.new("TextLabel", mainFrame) speedLabel.Size = UDim2.new(1, -20, 0, 18) speedLabel.Position = UDim2.new(0,10,0,96) speedLabel.BackgroundTransparency = 1 speedLabel.Text = "Speed: 16" speedLabel.Font = Enum.Font.Gotham speedLabel.TextSize = 14 speedLabel.TextColor3 = Color3.fromRGB(240,240,240) speedLabel.TextXAlignment = Enum.TextXAlignment.Left local speedUpBtn = createButton("SpeedUp", "Speed +", 118) local speedDownBtn = createButton("SpeedDown", "Speed -", 158) local noclipBtn = createButton("NoclipBtn", "Noclip: OFF", 198 - 36) local socLoBtn = createButton("SocLoBtn", "sóc lọ", 198) local espBtn = createButton("ESPBtn", "ESP: OFF", 238) local tpBtn = createButton("TPBtn", "TP nearest", 278) -- State local noclipEnabled = false local speedCurrent = 16 local espEnabled = false local spinEnabled = true local floatEnabled = false local floatHeight = 5 local function getChar() return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() end -- ☁️ Float (giữ nhân vật lơ lửng) local function startFloat() local char = getChar() local hrp = char:WaitForChild("HumanoidRootPart") local floatForce = Instance.new("BodyVelocity") floatForce.Name = "FloatForce" floatForce.MaxForce = Vector3.new(0, 9e4, 0) floatForce.Velocity = Vector3.new(0, 0, 0) floatForce.Parent = hrp RunService.Heartbeat:Connect(function() if not floatEnabled then return end if hrp then floatForce.Velocity = Vector3.new(0, (floatHeight - (hrp.Position.Y % floatHeight)) * 3, 0) end end) end local function stopFloat() local char = getChar() local hrp = char:FindFirstChild("HumanoidRootPart") if hrp then local f = hrp:FindFirstChild("FloatForce") if f then f:Destroy() end end end -- 🌀 Noclip RunService.Stepped:Connect(function() if noclipEnabled and LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) -- Speed local function setWalkSpeed(val) local char = getChar() local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = val speedCurrent = val speedLabel.Text = "Speed: " .. val end end -- 🧠 ESP Name local function createESP(player) if player == LocalPlayer then return end local highlight = Instance.new("BillboardGui") highlight.Name = "ESPName" highlight.AlwaysOnTop = true highlight.Size = UDim2.new(0,200,0,50) local text = Instance.new("TextLabel", highlight) text.Size = UDim2.new(1,0,1,0) text.BackgroundTransparency = 1 text.Text = player.Name text.TextColor3 = Color3.new(1,1,0) text.TextStrokeTransparency = 0.5 text.Font = Enum.Font.GothamBold text.TextSize = 14 highlight.Adornee = player.Character and player.Character:FindFirstChild("Head") highlight.Parent = PlayerGui player.CharacterAdded:Connect(function(char) task.wait(1) if highlight then highlight.Adornee = char:FindFirstChild("Head") end end) end local function enableESP() for _, p in pairs(Players:GetPlayers()) do createESP(p) end Players.PlayerAdded:Connect(createESP) end local function disableESP() for _, gui in pairs(PlayerGui:GetChildren()) do if gui.Name == "ESPName" then gui:Destroy() end end end -- ⚡ Teleport nearest player local function tpNearest() local char = getChar() local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end local closest, dist = nil, math.huge for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then local d = (p.Character.HumanoidRootPart.Position - hrp.Position).Magnitude if d < dist then dist = d closest = p end end end if closest then hrp.CFrame = closest.Character.HumanoidRootPart.CFrame * CFrame.new(0, 2, 0) end end -- 🧩 Buttons floatBtn.MouseButton1Click:Connect(function() floatEnabled = not floatEnabled floatBtn.Text = "Float: " .. (floatEnabled and "ON" or "OFF") if floatEnabled then startFloat() else stopFloat() end end) speedUpBtn.MouseButton1Click:Connect(function() setWalkSpeed(math.clamp(speedCurrent + 8, 6, 500)) end) speedDownBtn.MouseButton1Click:Connect(function() setWalkSpeed(math.clamp(speedCurrent - 8, 6, 500)) end) noclipBtn.MouseButton1Click:Connect(function() noclipEnabled = not noclipEnabled noclipBtn.Text = "Noclip: " .. (noclipEnabled and "ON" or "OFF") end) espBtn.MouseButton1Click:Connect(function() espEnabled = not espEnabled espBtn.Text = "ESP: " .. (espEnabled and "ON" or "OFF") if espEnabled then enableESP() else disableESP() end end) tpBtn.MouseButton1Click:Connect(function() tpNearest() end) socLoBtn.MouseButton1Click:Connect(function() local url = "https://rawscripts.net/raw/Universal-Script-Jerk-off-tool-28241" local ok, err = pcall(function() loadstring(game:HttpGet(url))() end) if not ok then warn("Load lỗi: "..tostring(err)) end end) -- Close local closeBtn = Instance.new("TextButton", mainFrame) closeBtn.Size = UDim2.new(0, 28, 0, 20) closeBtn.Position = UDim2.new(1, -34, 0, 8) closeBtn.BackgroundTransparency = 0.2 closeBtn.Text = "X" closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 14 closeBtn.TextColor3 = Color3.fromRGB(255,255,255) closeBtn.BorderSizePixel = 0 Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0,6) closeBtn.MouseButton1Click:Connect(function() screenGui:Destroy() end)