PHSGSECRETHUB
Key RequiredUniversal

PHSGSECRETHUB

Universal ScriptCYA_STUDIOSCYA_STUDIOS 1K views 2 executesUpdated Jul 11, 2025
Unrated
00
Lua Script•539 lines (19740 chars)
local Players = game:GetService("Players")
local player = Players.LocalPlayer

-- Key System GUI
local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
gui.Name = "HOKALAZA_KeySystem"
gui.ResetOnSpawn = false

local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 360, 0, 230)
frame.Position = UDim2.new(0.5, 0, 0.5, 0)
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
frame.BorderSizePixel = 0
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 12)

-- Title
local title = Instance.new("TextLabel", frame)
title.Text = "🔐 Digite ou cole a key aqui!"
title.Size = UDim2.new(1, -20, 0, 40)
title.Position = UDim2.new(0, 10, 0, 14)
title.BackgroundTransparency = 1
title.TextColor3 = Color3.fromRGB(0, 255, 200)
title.Font = Enum.Font.GothamBlack
title.TextSize = 20

-- Input Box
local input = Instance.new("TextBox", frame)
input.PlaceholderText = "digite a chave aqui"
input.Size = UDim2.new(1, -40, 0, 36)
input.Position = UDim2.new(0, 20, 0, 68)
input.BackgroundColor3 = Color3.fromRGB(40, 45, 60)
input.TextColor3 = Color3.fromRGB(255, 255, 255)
input.Font = Enum.Font.Gotham
input.TextSize = 18
input.ClearTextOnFocus = false
Instance.new("UICorner", input).CornerRadius = UDim.new(0, 8)

-- Submit Button
local submit = Instance.new("TextButton", frame)
submit.Text = "Verificar"
submit.Size = UDim2.new(1, -40, 0, 36)
submit.Position = UDim2.new(0, 20, 0, 122)
submit.BackgroundColor3 = Color3.fromRGB(0, 255, 200)
submit.TextColor3 = Color3.fromRGB(18, 22, 28)
submit.Font = Enum.Font.GothamBold
submit.TextSize = 20
Instance.new("UICorner", submit).CornerRadius = UDim.new(0, 8)

-- Discord Copy Button
local getKey = Instance.new("TextButton", frame)
getKey.Text = "pegue a chave"
getKey.Size = UDim2.new(1, -40, 0, 32)
getKey.Position = UDim2.new(0, 20, 0, 172)
getKey.BackgroundColor3 = Color3.fromRGB(0, 175, 255)
getKey.TextColor3 = Color3.fromRGB(0, 0, 0)
getKey.Font = Enum.Font.GothamBold
getKey.TextSize = 18
Instance.new("UICorner", getKey).CornerRadius = UDim.new(0, 8)

-- Discord Link Copy Function
local function CopyDiscord()
    if setclipboard then
        setclipboard("PHGSUNIVERSALKEY")
    elseif toclipboard then
        toclipboard("PHGSUNIVERSALKEY")
    elseif syn and syn.clipboard then
        syn.clipboard.set("PHGSUNIVERSALKEY")
    end
    getKey.Text = "Chave Copiada para sua area de transferencia!"
    task.wait(1.4)
    getKey.Text = "Pegar a chave"
end
getKey.MouseButton1Click:Connect(CopyDiscord)

-- Submit Logic (Key Check)
submit.MouseButton1Click:Connect(function()
    if input.Text == "PHGSUNIVERSALKEY" then
        gui:Destroy()
       

if game.CoreGui:FindFirstChild("hokalaza") then
    game.CoreGui.hokalaza:Destroy()
end

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TeleportService = game:GetService("TeleportService")
local HttpService = game:GetService("HttpService")
local Camera = workspace.CurrentCamera

-- GUI Setup
local ScreenGui = Instance.new("ScreenGui", game.CoreGui)
ScreenGui.Name = "PHGS Secret Hub"
ScreenGui.ResetOnSpawn = false

local MainFrame = Instance.new("Frame", ScreenGui)
MainFrame.Size = UDim2.new(0, 330, 0, 470)
MainFrame.Position = UDim2.new(0, 10, 0.5, -235)
MainFrame.BackgroundColor3 = Color3.fromRGB(28, 28, 33)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true

local TabFrame = Instance.new("Frame", MainFrame)
TabFrame.Size = UDim2.new(0, 62, 1, 0)
TabFrame.Position = UDim2.new(0, 0, 0, 0)
TabFrame.BackgroundColor3 = Color3.fromRGB(38, 38, 50)
TabFrame.BorderSizePixel = 0

local ContentFrame = Instance.new("Frame", MainFrame)
ContentFrame.Size = UDim2.new(1, -62, 1, 0)
ContentFrame.Position = UDim2.new(0, 62, 0, 0)
ContentFrame.BackgroundColor3 = Color3.fromRGB(33, 33, 40)
ContentFrame.BorderSizePixel = 0

-- Tab Buttons
local function makeTabButton(text, order)
    local btn = Instance.new("TextButton", TabFrame)
    btn.Size = UDim2.new(1, 0, 0, 40)
    btn.Position = UDim2.new(0, 0, 0, 20 + 50 * order)
    btn.BackgroundColor3 = Color3.fromRGB(47, 47, 59)
    btn.TextColor3 = Color3.new(1,1,1)
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 16
    btn.Text = text
    btn.AutoButtonColor = true
    return btn
end

local mainTab = makeTabButton("Main", 0)
local visualTab = makeTabButton("Visuals", 1)
local creditTab = makeTabButton("Credit", 2)

-- Pages
local Pages = {}
for i, name in ipairs({"Main", "Visuals", "Credit"}) do
    local page = Instance.new("Frame", ContentFrame)
    page.Name = name.."Page"
    page.Size = UDim2.new(1,0,1,0)
    page.Position = UDim2.new(0,0,0,0)
    page.BackgroundTransparency = 1
    page.Visible = i == 1
    Pages[name] = page
end

local function showPage(name)
    for n, page in pairs(Pages) do
        page.Visible = (n == name)
    end
end

mainTab.MouseButton1Click:Connect(function() showPage("Main") end)
visualTab.MouseButton1Click:Connect(function() showPage("Visuals") end)
creditTab.MouseButton1Click:Connect(function() showPage("Credit") end)

-- Main Page: Aimbot (BIG, TOP), Speed, Jump, Noclip, Infinite Jump, Bhop
local function makeToggleBtn(parent, label, posY, default, callback, optSize)
    local toggle = Instance.new("TextButton", parent)
    toggle.Size = optSize or UDim2.new(0, 200, 0, 60)
    toggle.Position = UDim2.new(0.5, -toggle.Size.X.Offset/2, 0, posY)
    toggle.BackgroundColor3 = Color3.fromRGB(70, 80, 120)
    toggle.TextColor3 = Color3.new(1,1,1)
    toggle.Font = Enum.Font.GothamBlack
    toggle.TextSize = optSize and 16 or 30
    toggle.Text = label .. ": " .. (default and "ON" or "OFF")
    toggle.BorderSizePixel = 0
    local state = default
    toggle.MouseButton1Click:Connect(function()
        state = not state
        toggle.Text = label .. ": " .. (state and "ON" or "OFF")
        callback(state)
        if state then
            toggle.BackgroundColor3 = Color3.fromRGB(100,180,80)
        else
            toggle.BackgroundColor3 = Color3.fromRGB(70, 80, 120)
        end
    end)
    return toggle
end

local aimbotEnabled, speedEnabled, jumpEnabled = false, false, false
local noclipEnabled, infJumpEnabled, bhopEnabled = false, false, false
local speedValue, jumpValue = 70, 100
local humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid")

-- BIG AIMBOT BUTTON - TOP
local aimbotBtn = makeToggleBtn(Pages.Main, "AIMBOT (HEAD)", 18, false, function(v) aimbotEnabled = v end, UDim2.new(0, 240, 0, 65))
aimbotBtn.Position = UDim2.new(0.5, -120, 0, 18)
aimbotBtn.TextSize = 30
aimbotBtn.Font = Enum.Font.GothamBlack

-- Other toggles (smaller)
makeToggleBtn(Pages.Main, "Speed Boost", 100, false, function(v)
    speedEnabled = v
    if humanoid then
        humanoid.WalkSpeed = v and speedValue or 16
    end
end, UDim2.new(0, 170, 0, 36))

makeToggleBtn(Pages.Main, "Jump Boost", 150, false, function(v)
    jumpEnabled = v
    if humanoid then
        humanoid.JumpPower = v and jumpValue or 50
    end
end, UDim2.new(0, 170, 0, 36))

makeToggleBtn(Pages.Main, "Noclip", 200, false, function(v) noclipEnabled = v end, UDim2.new(0, 170, 0, 36))
makeToggleBtn(Pages.Main, "Infinite Jump", 250, false, function(v) infJumpEnabled = v end, UDim2.new(0, 170, 0, 36))
makeToggleBtn(Pages.Main, "Bunny Hop", 300, false, function(v) bhopEnabled = v end, UDim2.new(0, 170, 0, 36))

-- Aimbot Logic (Head only)
local function getNearestTarget()
    local nearest, dist, partObj
    for _,plr in pairs(Players:GetPlayers()) do
        if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("Head") then
            local part = plr.Character.Head
            local d = (Camera.CFrame.Position - part.Position).Magnitude
            if not dist or d < dist then
                dist = d
                nearest = plr
                partObj = part
            end
        end
    end
    return partObj
end

RunService.RenderStepped:Connect(function()
    local c = LocalPlayer.Character
    humanoid = c and c:FindFirstChild("Humanoid")
    if speedEnabled and humanoid and humanoid.WalkSpeed ~= speedValue then
        humanoid.WalkSpeed = speedValue
    elseif not speedEnabled and humanoid and humanoid.WalkSpeed ~= 16 then
        humanoid.WalkSpeed = 16
    end
    if jumpEnabled and humanoid and humanoid.JumpPower ~= jumpValue then
        humanoid.JumpPower = jumpValue
    elseif not jumpEnabled and humanoid and humanoid.JumpPower ~= 50 then
        humanoid.JumpPower = 50
    end
    if aimbotEnabled then
        local part = getNearestTarget()
        if part then Camera.CFrame = CFrame.new(Camera.CFrame.Position, part.Position) end
    end
    if noclipEnabled and c then
        for _,v in pairs(c:GetDescendants()) do
            if v:IsA("BasePart") and v.CanCollide then v.CanCollide = false end
        end
    end
    if bhopEnabled and humanoid then
        if humanoid.FloorMaterial ~= Enum.Material.Air then
            humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
        end
    end
end)

-- Infinite Jump
UIS.JumpRequest:Connect(function()
    if infJumpEnabled then
        local c = LocalPlayer.Character
        if c and c:FindFirstChildOfClass("Humanoid") then
            c:FindFirstChildOfClass("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping)
        end
    end
end)

-- Visuals Tab: Fly + All ESP (master toggle and feature toggles) + Rejoin/Server Hop
local flyBtn = Instance.new("TextButton", Pages.Visuals)
flyBtn.Size = UDim2.new(0, 170, 0, 36)
flyBtn.Position = UDim2.new(0, 30, 0, 20)
flyBtn.BackgroundColor3 = Color3.fromRGB(50,50,60)
flyBtn.TextColor3 = Color3.new(1,1,1)
flyBtn.Font = Enum.Font.GothamSemibold
flyBtn.TextSize = 15
flyBtn.Text = "Enable Fly"
flyBtn.MouseButton1Click:Connect(function()
    pcall(function()
        loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-fly-v3-44404"))()
    end)
end)

-- Rejoin Button
local rejoinBtn = Instance.new("TextButton", Pages.Visuals)
rejoinBtn.Size = UDim2.new(0, 80, 0, 28)
rejoinBtn.Position = UDim2.new(0, 30, 0, 65)
rejoinBtn.BackgroundColor3 = Color3.fromRGB(66, 120, 66)
rejoinBtn.TextColor3 = Color3.new(1,1,1)
rejoinBtn.Font = Enum.Font.Gotham
rejoinBtn.TextSize = 14
rejoinBtn.Text = "Rejoin"
rejoinBtn.AutoButtonColor = true
rejoinBtn.MouseButton1Click:Connect(function()
    TeleportService:Teleport(game.PlaceId, LocalPlayer)
end)

-- Server Hop Button
local serverhopBtn = Instance.new("TextButton", Pages.Visuals)
serverhopBtn.Size = UDim2.new(0, 80, 0, 28)
serverhopBtn.Position = UDim2.new(0, 120, 0, 65)
serverhopBtn.BackgroundColor3 = Color3.fromRGB(120, 66, 66)
serverhopBtn.TextColor3 = Color3.new(1,1,1)
serverhopBtn.Font = Enum.Font.Gotham
serverhopBtn.TextSize = 14
serverhopBtn.Text = "Server Hop"
serverhopBtn.AutoButtonColor = true
serverhopBtn.MouseButton1Click:Connect(function()
    -- ServerHop: Join a random public server that's not current
    local servers = {}
    local req = syn and syn.request or http_request or request
    local function getServers(cursor)
        local url = "https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100"
        if cursor then url = url.."&cursor="..cursor end
        local data
        pcall(function()
            data = game:HttpGet(url)
        end)
        if data then
            data = HttpService:JSONDecode(data)
            for _, server in ipairs(data.data) do
                if server.playing < server.maxPlayers and server.id ~= game.JobId then
                    table.insert(servers, server.id)
                end
            end
            if data.nextPageCursor then
                getServers(data.nextPageCursor)
            end
        end
    end
    getServers()
    if #servers > 0 then
        TeleportService:TeleportToPlaceInstance(game.PlaceId, servers[math.random(1,#servers)], LocalPlayer)
    else
        TeleportService:Teleport(game.PlaceId, LocalPlayer)
    end
end)

local masterEspEnabled = false
local playerEspEnabled, userEspEnabled, healthEspEnabled = false, false, false
-- More ESP features
local boxEspEnabled, tracersEnabled, nameEspEnabled = false, false, false

local function makeVisualToggle(txt, y, callback)
    local btn = Instance.new("TextButton", Pages.Visuals)
    btn.Size = UDim2.new(0, 140, 0, 28)
    btn.Position = UDim2.new(0, 40, 0, y)
    btn.BackgroundColor3 = Color3.fromRGB(45,55,65)
    btn.TextColor3 = Color3.new(1,1,1)
    btn.Font = Enum.Font.Gotham
    btn.TextSize = 14
    btn.Text = txt..": OFF"
    local state = false
    btn.MouseButton1Click:Connect(function()
        state = not state
        btn.Text = txt..": "..(state and "ON" or "OFF")
        callback(state)
    end)
    return btn
end

makeVisualToggle("ESP (use this first)", 110, function(v) masterEspEnabled = v end)
makeVisualToggle("Player ESP", 150, function(v) playerEspEnabled = v end)
makeVisualToggle("User ESP", 190, function(v) userEspEnabled = v end)
makeVisualToggle("Health ESP", 230, function(v) healthEspEnabled = v end)
makeVisualToggle("Box ESP", 270, function(v) boxEspEnabled = v end)
makeVisualToggle("Tracers", 310, function(v) tracersEnabled = v end)
makeVisualToggle("Name ESP", 350, function(v) nameEspEnabled = v end)

-- ESP Logic (with proper tracers using Drawing API)
local espFolder = Instance.new("Folder", workspace)
espFolder.Name = "hokalaza_ESP"

-- Drawing Tracers Table
local tracerDrawings = {}

local function clearESP()
    for _,v in pairs(espFolder:GetChildren()) do
        v:Destroy()
    end
    -- Clear tracers
    for _,drawing in pairs(tracerDrawings) do
        if drawing then
            drawing.Visible = false
            drawing:Remove()
        end
    end
    tracerDrawings = {}
end

RunService.RenderStepped:Connect(function()
    clearESP()
    if not masterEspEnabled then return end
    for _,plr in pairs(Players:GetPlayers()) do
        if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("Head") then
            local head = plr.Character.Head

            -- Player ESP
            if playerEspEnabled then
                local adorn = Instance.new("BillboardGui", espFolder)
                adorn.Adornee = head
                adorn.Size = UDim2.new(0,100,0,40)
                adorn.StudsOffset = Vector3.new(0,2,0)
                adorn.AlwaysOnTop = true
                local txt = Instance.new("TextLabel", adorn)
                txt.Size = UDim2.new(1,0,1,0)
                txt.BackgroundTransparency = 1
                txt.TextColor3 = Color3.new(1,1,0)
                txt.TextStrokeTransparency = 0.5
                txt.Text = plr.Name
                txt.Font = Enum.Font.GothamBold
                txt.TextScaled = true
            end
            -- User ESP
            if userEspEnabled then
                local adorn = Instance.new("BillboardGui", espFolder)
                adorn.Adornee = head
                adorn.Size = UDim2.new(0,100,0,40)
                adorn.StudsOffset = Vector3.new(0,3,0)
                adorn.AlwaysOnTop = true
                local txt = Instance.new("TextLabel", adorn)
                txt.Size = UDim2.new(1,0,1,0)
                txt.BackgroundTransparency = 1
                txt.TextColor3 = Color3.new(0.8,0.8,1)
                txt.TextStrokeTransparency = 0.5
                txt.Text = plr.DisplayName
                txt.Font = Enum.Font.GothamBold
                txt.TextScaled = true
            end
            -- Health ESP
            if healthEspEnabled and plr.Character:FindFirstChildOfClass("Humanoid") then
                local health = plr.Character:FindFirstChildOfClass("Humanoid").Health
                local adorn = Instance.new("BillboardGui", espFolder)
                adorn.Adornee = head
                adorn.Size = UDim2.new(0,100,0,40)
                adorn.StudsOffset = Vector3.new(0,4,0)
                adorn.AlwaysOnTop = true
                local txt = Instance.new("TextLabel", adorn)
                txt.Size = UDim2.new(1,0,1,0)
                txt.BackgroundTransparency = 1
                txt.TextColor3 = Color3.new(0,1,0)
                txt.TextStrokeTransparency = 0.5
                txt.Text = "HP: "..math.floor(health)
                txt.Font = Enum.Font.GothamBold
                txt.TextScaled = true
            end
            -- Box ESP (simple square)
            if boxEspEnabled then
                local adorn = Instance.new("BoxHandleAdornment", espFolder)
                adorn.Adornee = plr.Character:FindFirstChild("HumanoidRootPart") or head
                adorn.Size = Vector3.new(4,7,2)
                adorn.Color3 = Color3.new(1,1,1)
                adorn.Transparency = 0.7
                adorn.AlwaysOnTop = true
                adorn.ZIndex = 10
            end
            -- Tracers (Drawing API)
            if tracersEnabled and Drawing then
                local headPos, onscreen = Camera:WorldToViewportPoint(head.Position)
                if onscreen then
                    local tracer = Drawing.new("Line")
                    tracer.From = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y)
                    tracer.To = Vector2.new(headPos.X, headPos.Y)
                    tracer.Color = Color3.new(1,0,0)
                    tracer.Thickness = 2
                    tracer.Transparency = 1
                    tracer.Visible = true
                    table.insert(tracerDrawings, tracer)
                end
            end
            -- Name ESP (above head)
            if nameEspEnabled then
                local adorn = Instance.new("BillboardGui", espFolder)
                adorn.Adornee = head
                adorn.Size = UDim2.new(0,100,0,20)
                adorn.StudsOffset = Vector3.new(0,5,0)
                adorn.AlwaysOnTop = true
                local txt = Instance.new("TextLabel", adorn)
                txt.Size = UDim2.new(1,0,1,0)
                txt.BackgroundTransparency = 1
                txt.TextColor3 = Color3.new(0.6,1,1)
                txt.TextStrokeTransparency = 0.5
                txt.Text = plr.Name
                txt.Font = Enum.Font.Gotham
                txt.TextScaled = true
            end
        end
    end
end)

-- Credit Page
local creditTitle = Instance.new("TextLabel", Pages.Credit)
creditTitle.Size = UDim2.new(1, -20, 0, 40)
creditTitle.Position = UDim2.new(0, 10, 0, 30)
creditTitle.BackgroundTransparency = 1
creditTitle.TextColor3 = Color3.new(1,1,1)
creditTitle.Font = Enum.Font.GothamBold
creditTitle.TextSize = 20
creditTitle.Text = "PHGS SECRET HUB⚡"

local creditOwner = Instance.new("TextLabel", Pages.Credit)
creditOwner.Size = UDim2.new(1, -20, 0, 30)
creditOwner.Position = UDim2.new(0, 10, 0, 70)
creditOwner.BackgroundTransparency = 1
creditOwner.TextColor3 = Color3.new(0.8,1,1)
creditOwner.Font = Enum.Font.Gotham
creditOwner.TextSize = 15
creditOwner.Text = "CRIADOR: PHGS"

local creditFeatures = Instance.new("TextLabel", Pages.Credit)
creditFeatures.Size = UDim2.new(1, -20, 0, 220)
creditFeatures.Position = UDim2.new(0, 10, 0, 110)
creditFeatures.BackgroundTransparency = 1
creditFeatures.TextColor3 = Color3.new(1,1,1)
creditFeatures.Font = Enum.Font.Gotham
creditFeatures.TextSize = 14
creditFeatures.TextWrapped = true
creditFeatures.Text = [[
Features:
- Aimbot (Head only)
- Speed Boost
- Jump Boost
- Noclip
- Infinite Jump
- Bunny Hop
- Fly (v3)
- ESP: Player, User, Health, Box, Tracers, Name
- Rejoin, Server Hop
- Mobile & PC Support
- Cool GUI with Tava
]]

    else
        submit.Text = "KEY INVALIDA!"
        task.wait(1.4)
        submit.Text = "desblokear"
    end
end)

Features & Information

Trollllllll

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts