
KeylessUniversal

-- JolHub V2 💜
-- By JolScript 🤓
-- GUI màu tím | Kéo thả mượt | Nhiều chức năng hot
-- ⚠️ Dành cho môi trường exploit hỗ trợ loadstring + HttpGet
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
repeat task.wait() until LocalPlayer and LocalPlayer:FindFirstChild("PlayerGui")
-- Hàm lấy nhân vật
local function getCharacter()
return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
end
-- ========== GUI ==========
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "JolHubV2"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = LocalPlayer.PlayerGui
-- Khung chính
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 330, 0, 390)
mainFrame.Position = UDim2.new(0.5, -165, 0.5, -195)
mainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
mainFrame.BackgroundColor3 = Color3.fromRGB(122, 64, 182)
mainFrame.BorderSizePixel = 0
mainFrame.BackgroundTransparency = 0.05
mainFrame.Parent = screenGui
local UICorner = Instance.new("UICorner", mainFrame)
UICorner.CornerRadius = UDim.new(0, 12)
local title = Instance.new("TextLabel")
title.Text = "💜 JolHub V2 - By JolScript 🤓"
title.Size = UDim2.new(1, 0, 0, 36)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.TextColor3 = Color3.fromRGB(255,255,255)
title.Parent = mainFrame
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 28, 0, 24)
closeBtn.Position = UDim2.new(1, -32, 0, 6)
closeBtn.Text = "X"
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 16
closeBtn.BackgroundColor3 = Color3.fromRGB(90,40,130)
closeBtn.TextColor3 = Color3.fromRGB(255,255,255)
closeBtn.Parent = mainFrame
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 80, 0, 28)
toggleBtn.Position = UDim2.new(0, 8, 0, 40)
toggleBtn.Text = "Ẩn GUI"
toggleBtn.Font = Enum.Font.Gotham
toggleBtn.TextSize = 14
toggleBtn.BackgroundColor3 = Color3.fromRGB(100,50,160)
toggleBtn.TextColor3 = Color3.new(1,1,1)
toggleBtn.Parent = mainFrame
local content = Instance.new("Frame")
content.Size = UDim2.new(1, -16, 1, -88)
content.Position = UDim2.new(0, 8, 0, 76)
content.BackgroundTransparency = 1
content.Parent = mainFrame
local UIList = Instance.new("UIListLayout")
UIList.Padding = UDim.new(0,8)
UIList.FillDirection = Enum.FillDirection.Vertical
UIList.HorizontalAlignment = Enum.HorizontalAlignment.Center
UIList.Parent = content
-- Tạo nút helper
local function createButton(txt)
local b = Instance.new("TextButton")
b.Size = UDim2.new(1, 0, 0, 36)
b.BackgroundColor3 = Color3.fromRGB(90,40,130)
b.BackgroundTransparency = 0.15
b.Font = Enum.Font.Gotham
b.TextSize = 15
b.TextColor3 = Color3.new(1,1,1)
b.Text = txt
b.Parent = content
local corner = Instance.new("UICorner", b)
corner.CornerRadius = UDim.new(0, 8)
return b
end
-- Nút chức năng
local speedBtn = createButton("⚡ Speed Hack: OFF")
local highBtn = createButton("🦘 High Jump: OFF")
local noclipBtn = createButton("🚪 Noclip: OFF")
local ghostBtn = createButton("👻 Ghost Mode: OFF")
local tpBtn = createButton("🖱 Click-to-TP: OFF")
local flyBtn = createButton("🕊 Simple Fly: OFF")
local flyV3Btn = createButton("🚀 Open Fly GUI V3")
-- ========== Kéo GUI mượt ==========
do
local dragging, dragInput, dragStart, startPos
local function update(input)
local delta = input.Position - dragStart
mainFrame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
mainFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
mainFrame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)
end
-- ========== Toggle GUI ==========
toggleBtn.MouseButton1Click:Connect(function()
screenGui.Enabled = not screenGui.Enabled
end)
closeBtn.MouseButton1Click:Connect(function()
screenGui.Enabled = false
end)
UserInputService.InputBegan:Connect(function(i,gp)
if gp then return end
if i.KeyCode == Enum.KeyCode.RightControl then
screenGui.Enabled = not screenGui.Enabled
end
end)
-- ========== Các chức năng ==========
local states = {speed=false, jump=false, noclip=false, ghost=false, tp=false, fly=false}
local saved = {speed=16, jump=50}
local char, hum, root = nil,nil,nil
local function refresh()
char = getCharacter()
hum = char:FindFirstChildOfClass("Humanoid")
root = char:FindFirstChild("HumanoidRootPart")
end
refresh()
LocalPlayer.CharacterAdded:Connect(function()
task.wait(1)
refresh()
end)
-- Speed
speedBtn.MouseButton1Click:Connect(function()
refresh()
if not hum then return end
states.speed = not states.speed
if states.speed then
saved.speed = hum.WalkSpeed
hum.WalkSpeed = 100
speedBtn.Text = "⚡ Speed Hack: ON"
else
hum.WalkSpeed = saved.speed
speedBtn.Text = "⚡ Speed Hack: OFF"
end
end)
-- High Jump
highBtn.MouseButton1Click:Connect(function()
refresh()
if not hum then return end
states.jump = not states.jump
if states.jump then
saved.jump = hum.JumpPower
hum.JumpPower = 200
highBtn.Text = "🦘 High Jump: ON"
else
hum.JumpPower = saved.jump
highBtn.Text = "🦘 High Jump: OFF"
end
end)
-- Noclip
local noclipConn
noclipBtn.MouseButton1Click:Connect(function()
refresh()
states.noclip = not states.noclip
noclipBtn.Text = states.noclip and "🚪 Noclip: ON" or "🚪 Noclip: OFF"
if states.noclip then
noclipConn = RunService.Stepped:Connect(function()
for _,v in pairs(char:GetDescendants()) do
if v:IsA("BasePart") then v.CanCollide = false end
end
end)
else
if noclipConn then noclipConn:Disconnect() end
end
end)
-- Ghost
ghostBtn.MouseButton1Click:Connect(function()
refresh()
states.ghost = not states.ghost
ghostBtn.Text = states.ghost and "👻 Ghost Mode: ON" or "👻 Ghost Mode: OFF"
for _,v in pairs(char:GetDescendants()) do
if v:IsA("BasePart") then
if states.ghost then
v.Transparency = 0.5
v.CanCollide = false
else
v.Transparency = 0
v.CanCollide = true
end
end
end
end)
-- Click TP
local clickConn
tpBtn.MouseButton1Click:Connect(function()
refresh()
states.tp = not states.tp
tpBtn.Text = states.tp and "🖱 Click-to-TP: ON" or "🖱 Click-to-TP: OFF"
if states.tp then
local mouse = LocalPlayer:GetMouse()
clickConn = mouse.Button1Down:Connect(function()
if mouse.Target and root then
root.CFrame = CFrame.new(mouse.Hit.p + Vector3.new(0,3,0))
end
end)
else
if clickConn then clickConn:Disconnect() end
end
end)
-- Simple Fly
local BV, BG
local flyKeys = {W=false,S=false,A=false,D=false,Space=false,Shift=false}
local function flyVector()
local cam = workspace.CurrentCamera
local look = cam.CFrame
local dir = Vector3.new()
if flyKeys.W then dir += look.LookVector end
if flyKeys.S then dir -= look.LookVector end
if flyKeys.A then dir -= look.RightVector end
if flyKeys.D then dir += look.RightVector end
if flyKeys.Space then dir += Vector3.new(0,1,0) end
if flyKeys.Shift then dir -= Vector3.new(0,1,0) end
return dir.Unit == dir.Unit and dir.Unit or Vector3.zero
end
flyBtn.MouseButton1Click:Connect(function()
refresh()
states.fly = not states.fly
flyBtn.Text = states.fly and "🕊 Simple Fly: ON" or "🕊 Simple Fly: OFF"
if states.fly and root then
BV = Instance.new("BodyVelocity", root)
BV.MaxForce = Vector3.new(1e5,1e5,1e5)
BV.Velocity = Vector3.zero
BG = Instance.new("BodyGyro", root)
BG.MaxTorque = Vector3.new(1e5,1e5,1e5)
BG.CFrame = root.CFrame
UserInputService.InputBegan:Connect(function(i,gp)
if gp then return end
if i.KeyCode == Enum.KeyCode.W then flyKeys.W = true end
if i.KeyCode == Enum.KeyCode.S then flyKeys.S = true end
if i.KeyCode == Enum.KeyCode.A then flyKeys.A = true end
if i.KeyCode == Enum.KeyCode.D then flyKeys.D = true end
if i.KeyCode == Enum.KeyCode.Space then flyKeys.Space = true end
if i.KeyCode == Enum.KeyCode.LeftShift then flyKeys.Shift = true end
end)
UserInputService.InputEnded:Connect(function(i)
if i.KeyCode == Enum.KeyCode.W then flyKeys.W = false end
if i.KeyCode == Enum.KeyCode.S then flyKeys.S = false end
if i.KeyCode == Enum.KeyCode.A then flyKeys.A = false end
if i.KeyCode == Enum.KeyCode.D then flyKeys.D = false end
if i.KeyCode == Enum.KeyCode.Space then flyKeys.Space = false end
if i.KeyCode == Enum.KeyCode.LeftShift then flyKeys.Shift = false end
end)
RunService.RenderStepped:Connect(function()
if BV and root then
BV.Velocity = flyVector() * 100
BG.CFrame = CFrame.new(root.Position, root.Position + workspace.CurrentCamera.CFrame.LookVector)
end
end)
else
if BV then BV:Destroy() BV = nil end
if BG then BG:Destroy() BG = nil end
end
end)
-- Fly GUI V3
flyV3Btn.MouseButton1Click:Connect(function()
loadstring(game:HttpGet("https://raw.githubusercontent.com/XNEOFF/FlyGuiV3/main/FlyGuiV3.txt"))()
end)
print("✅ JolHub V2 Loaded successfully!")No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

