local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer
local KEY = "teamDelta"
--==================================================
-- GUI
--==================================================
local gui = Instance.new("ScreenGui")
gui.Name = "Deltahub"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local function corner(x, radius)
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, radius or 10)
c.Parent = x
end
local function makeButton(parent, text, pos, size, color)
local b = Instance.new("TextButton")
b.Text = text
b.Position = pos
b.Size = size
b.BackgroundColor3 = color
b.TextColor3 = Color3.new(1,1,1)
b.Font = Enum.Font.GothamBold
b.TextSize = 14
b.BorderSizePixel = 0
b.Parent = parent
corner(b)
return b
end
--==================================================
-- LOGGER
--==================================================
local logs = {}
local MAX_LOGS = 150
local function getTime()
return os.date("%H:%M:%S")
end
local function addLog(message, logColor)
local entry = {
time = getTime(),
message = tostring(message),
color = logColor or Color3.fromRGB(210,210,220)
}
table.insert(logs, entry)
if #logs > MAX_LOGS then
table.remove(logs, 1)
end
print("[Deltahub][" .. entry.time .. "] " .. entry.message)
end
--==================================================
-- KEY WINDOW
--==================================================
local keyWindow = Instance.new("Frame")
keyWindow.Size = UDim2.new(0, 360, 0, 220)
keyWindow.Position = UDim2.new(.5, -180, .5, -110)
keyWindow.BackgroundColor3 = Color3.fromRGB(25,25,32)
keyWindow.BorderSizePixel = 0
keyWindow.Parent = gui
corner(keyWindow)
local title = Instance.new("TextLabel")
title.Text = "Deltahub"
title.Size = UDim2.new(1,-30,0,45)
title.Position = UDim2.new(0,15,0,10)
title.BackgroundTransparency = 1
title.TextColor3 = Color3.new(1,1,1)
title.Font = Enum.Font.GothamBold
title.TextSize = 27
title.Parent = keyWindow
local keyBox = Instance.new("TextBox")
keyBox.Size = UDim2.new(1,-30,0,40)
keyBox.Position = UDim2.new(0,15,0,65)
keyBox.PlaceholderText = "Enter Key"
keyBox.Text = ""
keyBox.TextColor3 = Color3.new(1,1,1)
keyBox.BackgroundColor3 = Color3.fromRGB(40,40,50)
keyBox.BorderSizePixel = 0
keyBox.Font = Enum.Font.Gotham
keyBox.TextSize = 14
keyBox.Parent = keyWindow
corner(keyBox)
local getKey = makeButton(
keyWindow,
"GET KEY",
UDim2.new(0,15,0,120),
UDim2.new(0,160,0,40),
Color3.fromRGB(55,55,70)
)
local verify = makeButton(
keyWindow,
"VERIFY",
UDim2.new(0,185,0,120),
UDim2.new(0,160,0,40),
Color3.fromRGB(70,110,220)
)
local keyStatus = Instance.new("TextLabel")
keyStatus.Text = "Key required"
keyStatus.Size = UDim2.new(1,-30,0,30)
keyStatus.Position = UDim2.new(0,15,0,175)
keyStatus.BackgroundTransparency = 1
keyStatus.TextColor3 = Color3.fromRGB(180,180,190)
keyStatus.Font = Enum.Font.Gotham
keyStatus.TextSize = 13
keyStatus.Parent = keyWindow
getKey.MouseButton1Click:Connect(function()
keyStatus.Text = "https://line.me/ti/g/9mGWesCjf_"
keyStatus.TextColor3 = Color3.fromRGB(100,220,140)
addLog("GET KEY clicked", Color3.fromRGB(180,180,190))
end)
--==================================================
-- MAIN WINDOW
--==================================================
local main = Instance.new("Frame")
main.Size = UDim2.new(0,390,0,400)
main.Position = UDim2.new(.5,-195,.5,-200)
main.BackgroundColor3 = Color3.fromRGB(25,25,32)
main.BorderSizePixel = 0
main.Visible = false
main.Parent = gui
corner(main)
local mainTitle = Instance.new("TextLabel")
mainTitle.Text = "Deltahub"
mainTitle.Size = UDim2.new(1,-120,0,45)
mainTitle.Position = UDim2.new(0,15,0,5)
mainTitle.BackgroundTransparency = 1
mainTitle.TextColor3 = Color3.new(1,1,1)
mainTitle.Font = Enum.Font.GothamBold
mainTitle.TextSize = 27
mainTitle.TextXAlignment = Enum.TextXAlignment.Left
mainTitle.Parent = main
local minimize = makeButton(
main,
"−",
UDim2.new(1,-105,0,10),
UDim2.new(0,40,0,32),
Color3.fromRGB(55,55,70)
)
local logButton = makeButton(
main,
"LOG",
UDim2.new(1,-55,0,10),
UDim2.new(0,40,0,32),
Color3.fromRGB(70,110,220)
)
--==================================================
-- PLAYER INFO
--==================================================
local info = Instance.new("TextLabel")
info.Size = UDim2.new(1,-30,0,65)
info.Position = UDim2.new(0,15,0,55)
info.BackgroundTransparency = 1
info.TextColor3 = Color3.fromRGB(180,180,190)
info.Font = Enum.Font.Gotham
info.TextSize = 13
info.TextXAlignment = Enum.TextXAlignment.Left
info.Parent = main
--==================================================
-- SPEED
--==================================================
local speedBox = Instance.new("TextBox")
speedBox.Text = "16"
speedBox.Size = UDim2.new(0,120,0,38)
speedBox.Position = UDim2.new(0,15,0,135)
speedBox.BackgroundColor3 = Color3.fromRGB(40,40,50)
speedBox.TextColor3 = Color3.new(1,1,1)
speedBox.BorderSizePixel = 0
speedBox.Font = Enum.Font.Gotham
speedBox.TextSize = 14
speedBox.Parent = main
corner(speedBox)
local speedApply = makeButton(
main,
"WALKSPEED",
UDim2.new(0,145,0,135),
UDim2.new(0,105,0,38),
Color3.fromRGB(70,110,220)
)
--==================================================
-- JUMP
--==================================================
local jumpBox = Instance.new("TextBox")
jumpBox.Text = "50"
jumpBox.Size = UDim2.new(0,120,0,38)
jumpBox.Position = UDim2.new(0,15,0,185)
jumpBox.BackgroundColor3 = Color3.fromRGB(40,40,50)
jumpBox.TextColor3 = Color3.new(1,1,1)
jumpBox.BorderSizePixel = 0
jumpBox.Font = Enum.Font.Gotham
jumpBox.TextSize = 14
jumpBox.Parent = main
corner(jumpBox)
local jumpApply = makeButton(
main,
"JUMPPOWER",
UDim2.new(0,145,0,185),
UDim2.new(0,105,0,38),
Color3.fromRGB(70,110,220)
)
--==================================================
-- OTHER BUTTONS
--==================================================
local respawn = makeButton(
main,
"RESPAWN",
UDim2.new(0,15,0,240),
UDim2.new(0,170,0,40),
Color3.fromRGB(180,70,70)
)
local third = makeButton(
main,
"3RD PERSON",
UDim2.new(0,195,0,240),
UDim2.new(0,180,0,40),
Color3.fromRGB(70,110,220)
)
local infJump = makeButton(
main,
"INF JUMP: OFF",
UDim2.new(0,15,0,290),
UDim2.new(0,170,0,40),
Color3.fromRGB(55,55,70)
)
local hide = makeButton(
main,
"HIDE [RightShift]",
UDim2.new(0,195,0,290),
UDim2.new(0,180,0,40),
Color3.fromRGB(55,55,70)
)
local status = Instance.new("TextLabel")
status.Text = "Deltahub"
status.Size = UDim2.new(1,-30,0,30)
status.Position = UDim2.new(0,15,0,345)
status.BackgroundTransparency = 1
status.TextColor3 = Color3.fromRGB(100,220,140)
status.Font = Enum.Font.Gotham
status.TextSize = 13
status.TextXAlignment = Enum.TextXAlignment.Left
status.Parent = main
--==================================================
-- LOG WINDOW
--==================================================
local logWindow = Instance.new("Frame")
logWindow.Size = UDim2.new(0,430,0,430)
logWindow.Position = UDim2.new(.5,-215,.5,-215)
logWindow.BackgroundColor3 = Color3.fromRGB(20,20,27)
logWindow.BorderSizePixel = 0
logWindow.Visible = false
logWindow.Parent = gui
corner(logWindow)
local logTitle = Instance.new("TextLabel")
logTitle.Text = "Deltahub • Logger"
logTitle.Size = UDim2.new(1,-120,0,45)
logTitle.Position = UDim2.new(0,15,0,5)
logTitle.BackgroundTransparency = 1
logTitle.TextColor3 = Color3.new(1,1,1)
logTitle.Font = Enum.Font.GothamBold
logTitle.TextSize = 22
logTitle.TextXAlignment = Enum.TextXAlignment.Left
logTitle.Parent = logWindow
local closeLog = makeButton(
logWindow,
"CLOSE",
UDim2.new(1,-95,0,10),
UDim2.new(0,80,0,32),
Color3.fromRGB(55,55,70)
)
local clearLog = makeButton(
logWindow,
"CLEAR",
UDim2.new(0,15,1,-48),
UDim2.new(0,100,0,35),
Color3.fromRGB(160,65,65)
)
local logCount = Instance.new("TextLabel")
logCount.Size = UDim2.new(1,-130,0,35)
logCount.Position = UDim2.new(0,125,1,-48)
logCount.BackgroundTransparency = 1
logCount.Text = "Logs: 0"
logCount.TextColor3 = Color3.fromRGB(150,150,160)
logCount.Font = Enum.Font.Gotham
logCount.TextSize = 13
logCount.TextXAlignment = Enum.TextXAlignment.Right
logCount.Parent = logWindow
local logScroll = Instance.new("ScrollingFrame")
logScroll.Size = UDim2.new(1,-30,1,-105)
logScroll.Position = UDim2.new(0,15,0,55)
logScroll.BackgroundColor3 = Color3.fromRGB(30,30,38)
logScroll.BorderSizePixel = 0
logScroll.ScrollBarThickness = 5
logScroll.CanvasSize = UDim2.new(0,0,0,0)
logScroll.Parent = logWindow
corner(logScroll, 8)
local logLayout = Instance.new("UIListLayout")
logLayout.Padding = UDim.new(0,4)
logLayout.SortOrder = Enum.SortOrder.LayoutOrder
logLayout.Parent = logScroll
local function refreshLogs()
for _, child in ipairs(logScroll:GetChildren()) do
if child:IsA("TextLabel") then
child:Destroy()
end
end
for i, entry in ipairs(logs) do
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1,-10,0,30)
label.BackgroundTransparency = 1
label.Text =
"[" .. entry.time .. "] " .. entry.message
label.TextColor3 = entry.color
label.Font = Enum.Font.Code
label.TextSize = 13
label.TextXAlignment = Enum.TextXAlignment.Left
label.TextWrapped = false
label.LayoutOrder = i
label.Parent = logScroll
end
logCount.Text = "Logs: " .. #logs
task.wait()
logScroll.CanvasSize = UDim2.new(
0,
0,
0,
logLayout.AbsoluteContentSize.Y + 10
)
logScroll.CanvasPosition = Vector2.new(
0,
math.max(0, logLayout.AbsoluteContentSize.Y)
)
end
logButton.MouseButton1Click:Connect(function()
logWindow.Visible = true
main.Visible = false
refreshLogs()
addLog("Logger opened", Color3.fromRGB(100,180,255))
end)
closeLog.MouseButton1Click:Connect(function()
logWindow.Visible = false
main.Visible = true
addLog("Logger closed", Color3.fromRGB(180,180,190))
end)
clearLog.MouseButton1Click:Connect(function()
table.clear(logs)
refreshLogs()
print("[Deltahub] Logs cleared")
end)
--==================================================
-- KEY CHECK
--==================================================
verify.MouseButton1Click:Connect(function()
if keyBox.Text == KEY then
keyStatus.Text = "Deltahub"
keyStatus.TextColor3 = Color3.fromRGB(100,220,140)
addLog("Key verification successful", Color3.fromRGB(100,220,140))
task.wait(.3)
keyWindow.Visible = false
main.Visible = true
else
keyStatus.Text = "Invalid Key"
keyStatus.TextColor3 = Color3.fromRGB(255,80,80)
addLog("Key verification failed", Color3.fromRGB(255,80,80))
end
end)
--==================================================
-- CHARACTER
--==================================================
local humanoid
local infiniteJump = false
local function characterAdded(char)
humanoid = char:WaitForChild("Humanoid")
addLog(
"Character spawned • Health " ..
math.floor(humanoid.Health) ..
"/" ..
math.floor(humanoid.MaxHealth),
Color3.fromRGB(100,220,140)
)
end
if player.Character then
characterAdded(player.Character)
end
player.CharacterAdded:Connect(characterAdded)
player.CharacterRemoving:Connect(function()
addLog("Character removing", Color3.fromRGB(255,180,100))
end)
--==================================================
-- WALKSPEED
--==================================================
speedApply.MouseButton1Click:Connect(function()
if humanoid then
local value = tonumber(speedBox.Text)
if value then
value = math.clamp(value,0,200)
humanoid.WalkSpeed = value
status.Text = "Deltahub • WalkSpeed " .. value
addLog(
"WalkSpeed changed → " .. value,
Color3.fromRGB(100,180,255)
)
else
addLog(
"Invalid WalkSpeed value: " .. speedBox.Text,
Color3.fromRGB(255,80,80)
)
end
end
end)
--==================================================
-- JUMPPOWER
--==================================================
jumpApply.MouseButton1Click:Connect(function()
if humanoid then
local value = tonumber(jumpBox.Text)
if value then
value = math.clamp(value,0,200)
humanoid.JumpPower = value
status.Text = "Deltahub • JumpPower " .. value
addLog(
"JumpPower changed → " .. value,
Color3.fromRGB(100,180,255)
)
else
addLog(
"Invalid JumpPower value: " .. jumpBox.Text,
Color3.fromRGB(255,80,80)
)
end
end
end)
--==================================================
-- RESPAWN
--==================================================
respawn.MouseButton1Click:Connect(function()
addLog(
"Respawn requested",
Color3.fromRGB(255,180,100)
)
player:LoadCharacter()
end)
--==================================================
-- THIRD PERSON
--==================================================
local isThird = true
third.MouseButton1Click:Connect(function()
isThird = not isThird
if isThird then
player.CameraMode = Enum.CameraMode.Classic
player.CameraMinZoomDistance = 8
player.CameraMaxZoomDistance = 8
third.Text = "3RD PERSON"
addLog(
"Camera mode → 3RD PERSON",
Color3.fromRGB(100,180,255)
)
else
player.CameraMode = Enum.CameraMode.LockFirstPerson
third.Text = "1ST PERSON"
addLog(
"Camera mode → 1ST PERSON",
Color3.fromRGB(100,180,255)
)
end
end)
--==================================================
-- INFINITE JUMP
--==================================================
infJump.MouseButton1Click:Connect(function()
infiniteJump = not infiniteJump
if infiniteJump then
infJump.Text = "INF JUMP: ON"
infJump.BackgroundColor3 = Color3.fromRGB(70,170,100)
addLog(
"Infinite Jump → ON",
Color3.fromRGB(100,220,140)
)
else
infJump.Text = "INF JUMP: OFF"
infJump.BackgroundColor3 = Color3.fromRGB(55,55,70)
addLog(
"Infinite Jump → OFF",
Color3.fromRGB(180,180,190)
)
end
end)
UIS.JumpRequest:Connect(function()
if infiniteJump and humanoid then
humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
end)
--==================================================
-- GUI DRAG
--==================================================
local dragging = false
local dragStart
local startPos
mainTitle.Active = true
mainTitle.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = main.Position
end
end)
UIS.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - dragStart
main.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
--==================================================
-- MINIMIZE
--==================================================
local minimized = false
minimize.MouseButton1Click:Connect(function()
minimized = not minimized
if minimized then
main.Size = UDim2.new(0,390,0,60)
minimize.Text = "+"
info.Visible = false
speedBox.Visible = false
speedApply.Visible = false
jumpBox.Visible = false
jumpApply.Visible = false
respawn.Visible = false
third.Visible = false
infJump.Visible = false
hide.Visible = false
status.Visible = false
logButton.Visible = false
addLog(
"Main window minimized",
Color3.fromRGB(180,180,190)
)
else
main.Size = UDim2.new(0,390,0,400)
minimize.Text = "−"
info.Visible = true
speedBox.Visible = true
speedApply.Visible = true
jumpBox.Visible = true
jumpApply.Visible = true
respawn.Visible = true
third.Visible = true
infJump.Visible = true
hide.Visible = true
status.Visible = true
logButton.Visible = true
addLog(
"Main window restored",
Color3.fromRGB(180,180,190)
)
end
end)
--==================================================
-- HIDE
--==================================================
local function toggle()
main.Visible = not main.Visible
if main.Visible then
addLog(
"Main GUI → visible",
Color3.fromRGB(100,220,140)
)
else
addLog(
"Main GUI → hidden",
Color3.fromRGB(180,180,190)
)
end
end
hide.MouseButton1Click:Connect(function()
toggle()
end)
UIS.InputBegan:Connect(function(input, processed)
if processed then
return
end
if input.KeyCode == Enum.KeyCode.RightShift then
toggle()
end
end)
--==================================================
-- INFO UPDATE
--==================================================
task.spawn(function()
while gui.Parent do
if humanoid then
info.Text =
"Name: " .. player.Name ..
"\nUserId: " .. player.UserId ..
"\nHealth: " .. math.floor(humanoid.Health) ..
" / " .. math.floor(humanoid.MaxHealth)
end
task.wait(.2)
end
end)
--==================================================
-- HEALTH LOGGER
--==================================================
task.spawn(function()
local lastHealth = nil
while gui.Parent do
if humanoid then
local health = math.floor(humanoid.Health)
if lastHealth ~= nil and health ~= lastHealth then
addLog(
"Health → " .. health ..
"/" .. math.floor(humanoid.MaxHealth),
health <= 0
and Color3.fromRGB(255,80,80)
or Color3.fromRGB(255,200,100)
)
end
lastHealth = health
end
task.wait(.2)
end
end)
--==================================================
-- INITIAL LOG
--==================================================
addLog(
"Deltahub initialized • Player: " .. player.Name,
Color3.fromRGB(100,220,140)
)3 views