
KeylessUniversal

-- // Developer Script Hub (Mobile-Friendly)
-- Place in StarterGui > ScreenGui > LocalScript
-- Safe for developer/admin use only (not exploits)
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
-- ⚙️ Admin List
local ADMINS = {
["YourUsernameHere"] = true, -- Replace with your Roblox username(s)
["OtherDevName"] = true
}
-- GUI Setup
local ScreenGui = Instance.new("ScreenGui", LocalPlayer:WaitForChild("PlayerGui"))
ScreenGui.Name = "DevHub"
local Frame = Instance.new("Frame", ScreenGui)
Frame.Size = UDim2.new(0, 360, 0, 420)
Frame.Position = UDim2.new(0.5, -180, 0.5, -210)
Frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
Frame.Active = true
Frame.Draggable = true
Frame.BorderSizePixel = 0
local Title = Instance.new("TextLabel", Frame)
Title.Size = UDim2.new(1, 0, 0, 40)
Title.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
Title.Text = "Developer Hub"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 18
-- Section Tabs
local tabUniversal = Instance.new("TextButton", Frame)
tabUniversal.Size = UDim2.new(0.5, 0, 0, 35)
tabUniversal.Position = UDim2.new(0, 0, 0, 45)
tabUniversal.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
tabUniversal.Text = "Universal"
tabUniversal.TextColor3 = Color3.new(1,1,1)
tabUniversal.Font = Enum.Font.Gotham
local tabAdmin = Instance.new("TextButton", Frame)
tabAdmin.Size = UDim2.new(0.5, 0, 0, 35)
tabAdmin.Position = UDim2.new(0.5, 0, 0, 45)
tabAdmin.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
tabAdmin.Text = "Admin Tools"
tabAdmin.TextColor3 = Color3.new(1,1,1)
tabAdmin.Font = Enum.Font.Gotham
-- Containers
local UniversalFrame = Instance.new("Frame", Frame)
UniversalFrame.Size = UDim2.new(1, 0, 1, -80)
UniversalFrame.Position = UDim2.new(0, 0, 0, 80)
UniversalFrame.BackgroundTransparency = 1
local AdminFrame = Instance.new("Frame", Frame)
AdminFrame.Size = UDim2.new(1, 0, 1, -80)
AdminFrame.Position = UDim2.new(0, 0, 0, 80)
AdminFrame.BackgroundTransparency = 1
AdminFrame.Visible = false
-- Tab Switching
tabUniversal.MouseButton1Click:Connect(function()
tabUniversal.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
tabAdmin.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
UniversalFrame.Visible = true
AdminFrame.Visible = false
end)
tabAdmin.MouseButton1Click:Connect(function()
tabUniversal.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
tabAdmin.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
UniversalFrame.Visible = false
AdminFrame.Visible = true
end)
---------------------------------------------------------------
-- 🧩 Universal Tools
---------------------------------------------------------------
local flying = false
local infiniteJump = false
local flyGyro, flyVel
local function createButton(parent, text, yPos, callback)
local btn = Instance.new("TextButton", parent)
btn.Size = UDim2.new(0.9, 0, 0, 40)
btn.Position = UDim2.new(0.05, 0, 0, yPos)
btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
btn.Text = text
btn.TextColor3 = Color3.new(1,1,1)
btn.Font = Enum.Font.Gotham
btn.TextSize = 16
btn.BorderSizePixel = 0
btn.AutoButtonColor = true
btn.MouseButton1Click:Connect(callback)
end
-- Fly
createButton(UniversalFrame, "Toggle Fly", 0, function()
flying = not flying
local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart")
if flying then
flyGyro = Instance.new("BodyGyro", hrp)
flyVel = Instance.new("BodyVelocity", hrp)
flyGyro.MaxTorque = Vector3.new(400000,400000,400000)
flyVel.MaxForce = Vector3.new(400000,400000,400000)
RunService.RenderStepped:Connect(function()
if flying then
local cam = workspace.CurrentCamera
flyGyro.CFrame = cam.CFrame
local move = Vector3.zero
if UIS:IsKeyDown(Enum.KeyCode.W) then move += cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then move -= cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then move -= cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then move += cam.CFrame.RightVector end
flyVel.Velocity = move * 60
end
end)
else
if flyGyro then flyGyro:Destroy() end
if flyVel then flyVel:Destroy() end
end
end)
-- Infinite Jump
createButton(UniversalFrame, "Toggle Infinite Jump", 50, function()
infiniteJump = not infiniteJump
UIS.JumpRequest:Connect(function()
if infiniteJump then
local char = LocalPlayer.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end
end
end
end)
end)
-- Reveal usernames
createButton(UniversalFrame, "Show Usernames", 100, function()
local names = "Players:\n"
for _, plr in ipairs(Players:GetPlayers()) do
names = names .. plr.Name .. "\n"
end
game.StarterGui:SetCore("SendNotification", {
Title = "Player List",
Text = names,
Duration = 5
})
end)
---------------------------------------------------------------
-- 🛠️ Admin Tools (for authorized devs only)
---------------------------------------------------------------
local function isAdmin()
return ADMINS[LocalPlayer.Name] == true
end
local function adminNotice(msg)
game.StarterGui:SetCore("SendNotification", {
Title = "Admin Hub",
Text = msg,
Duration = 3
})
end
createButton(AdminFrame, "Teleport To Player", 0, function()
if not isAdmin() then return adminNotice("Not authorized.") end
local target = Players:FindFirstChild(prompt("Enter Player Name:"))
if target and target.Character then
LocalPlayer.Character:MoveTo(target.Character.HumanoidRootPart.Position)
end
end)
createButton(AdminFrame, "Bring Player To You", 50, function()
if not isAdmin() then return adminNotice("Not authorized.") end
local target = Players:FindFirstChild(prompt("Enter Player Name:"))
if target and target.Character and LocalPlayer.Character then
target.Character:MoveTo(LocalPlayer.Character.HumanoidRootPart.Position)
end
end)
createButton(AdminFrame, "Heal Player", 100, function()
if not isAdmin() then return adminNotice("Not authorized.") end
local char = LocalPlayer.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then hum.Health = hum.MaxHealth end
adminNotice("You have been healed.")
end
end)
createButton(AdminFrame, "Toggle Day/Night", 150, function()
if not isAdmin() then return adminNotice("Not authorized.") end
local lighting = game:GetService("Lighting")
if lighting.ClockTime >= 18 then
lighting.ClockTime = 12
else
lighting.ClockTime = 20
end
end)
createButton(AdminFrame, "Announce Message", 200, function()
if not isAdmin() then return adminNotice("Not authorized.") end
game.StarterGui:SetCore("SendNotification", {
Title = "Announcement",
Text = "Hello from the Developer!",
Duration = 5
})
end)
createButton(Frame, "Close Hub", 380, function()
ScreenGui:Destroy()
end)No comments yet for this script.



