
Key RequiredUniversal

--// SERVICES
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
--// PLAYER
local lp = Players.LocalPlayer
local char = lp.Character or lp.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
local root = char:WaitForChild("HumanoidRootPart")
lp.CharacterAdded:Connect(function(c)
char = c
hum = c:WaitForChild("Humanoid")
root = c:WaitForChild("HumanoidRootPart")
end)
--// STATE
local flying=false; local noclip=false; local invis=false
local spectating=false; local spin=false; local fakeLag=false
local spinSpeed=5; local flySpeed=60
local bv,bg; local spectateTarget=nil
local ctrl={F=0,B=0,L=0,R=0,U=0,D=0}
--// UI BASE
local gui=Instance.new("ScreenGui",lp.PlayerGui)
gui.Name="NeonHub"; gui.ResetOnSpawn=false
local main=Instance.new("Frame",gui)
main.Size=UDim2.fromScale(0.28,0.45)
main.Position=UDim2.fromScale(0.05,0.28)
main.BackgroundColor3=Color3.fromRGB(14,16,26)
main.Active=true; main.Draggable=true
Instance.new("UICorner",main).CornerRadius=UDim.new(0,14)
local stroke=Instance.new("UIStroke",main)
stroke.Color=Color3.fromRGB(0,170,255); stroke.Thickness=2
local title=Instance.new("TextLabel",main)
title.Size=UDim2.fromScale(1,0.12)
title.BackgroundTransparency=1
title.Text="NEON CONTROL HUB"
title.Font=Enum.Font.GothamBold
title.TextScaled=true
title.TextColor3=Color3.fromRGB(0,200,255)
local list=Instance.new("UIListLayout",main)
list.Padding=UDim.new(0,8)
list.HorizontalAlignment=Enum.HorizontalAlignment.Center
list.VerticalAlignment=Enum.VerticalAlignment.Top
list.FillDirection=Enum.FillDirection.Vertical
list.SortOrder=Enum.SortOrder.LayoutOrder
list:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
main.CanvasSize=UDim2.fromOffset(0,list.AbsoluteContentSize.Y+20)
end)
-- spacer
local function spacer(h)
local f=Instance.new("Frame",main)
f.Size=UDim2.fromScale(1,h)
f.BackgroundTransparency=1
end
spacer(0.14)
--// BUTTON MAKER
local function btn(txt)
local b=Instance.new("TextButton",main)
b.Size=UDim2.fromScale(0.9,0.08)
b.Text=txt
b.Font=Enum.Font.GothamBold
b.TextScaled=true
b.BackgroundColor3=Color3.fromRGB(24,28,44)
b.TextColor3=Color3.fromRGB(230,230,230)
Instance.new("UICorner",b).CornerRadius=UDim.new(0,10)
return b
end
--// DROPDOWN
local function dropdown()
local f=Instance.new("Frame",main)
f.Size=UDim2.fromScale(0.9,0.08)
f.BackgroundColor3=Color3.fromRGB(24,28,44)
Instance.new("UICorner",f).CornerRadius=UDim.new(0,10)
local t=Instance.new("TextLabel",f)
t.Size=UDim2.fromScale(0.7,1)
t.BackgroundTransparency=1
t.Text="Select Player"
t.Font=Enum.Font.Gotham
t.TextScaled=true
t.TextColor3=Color3.fromRGB(200,200,200)
local b=Instance.new("TextButton",f)
b.Position=UDim2.fromScale(0.7,0)
b.Size=UDim2.fromScale(0.3,1)
b.Text=">"
b.Font=Enum.Font.GothamBold
b.TextScaled=true
b.BackgroundTransparency=1
return f,t,b
end
--// SLIDER
local function slider(label,min,max,default,cb)
local f=Instance.new("Frame",main)
f.Size=UDim2.fromScale(0.9,0.1)
f.BackgroundColor3=Color3.fromRGB(24,28,44)
Instance.new("UICorner",f).CornerRadius=UDim.new(0,10)
local t=Instance.new("TextLabel",f)
t.Size=UDim2.fromScale(1,0.45)
t.BackgroundTransparency=1
t.Text=label..": "..default
t.Font=Enum.Font.Gotham
t.TextScaled=true
t.TextColor3=Color3.fromRGB(200,200,200)
local bar=Instance.new("Frame",f)
bar.Position=UDim2.fromScale(0.05,0.6)
bar.Size=UDim2.fromScale(0.9,0.15)
bar.BackgroundColor3=Color3.fromRGB(40,40,60)
Instance.new("UICorner",bar).CornerRadius=UDim.new(1,0)
local fill=Instance.new("Frame",bar)
fill.Size=UDim2.fromScale((default-min)/(max-min),1)
fill.BackgroundColor3=Color3.fromRGB(0,170,255)
Instance.new("UICorner",fill).CornerRadius=UDim.new(1,0)
local drag=false
bar.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then drag=true end end)
bar.InputEnded:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then drag=false end end)
UIS.InputChanged:Connect(function(i)
if drag and i.UserInputType==Enum.UserInputType.MouseMovement then
local x=math.clamp((i.Position.X-bar.AbsolutePosition.X)/bar.AbsoluteSize.X,0,1)
fill.Size=UDim2.fromScale(x,1)
local v=math.floor(min+(max-min)*x)
t.Text=label..": "..v
cb(v)
end
end)
end
--// FLY
local function flyOn()
flying=true; hum.PlatformStand=true
bv=Instance.new("BodyVelocity",root); bv.MaxForce=Vector3.new(9e9,9e9,9e9)
bg=Instance.new("BodyGyro",root); bg.MaxTorque=Vector3.new(9e9,9e9,9e9); bg.P=9e4
end
local function flyOff()
flying=false; hum.PlatformStand=false
if bv then bv:Destroy() end; if bg then bg:Destroy() end
end
--// CONTROLS
UIS.InputBegan:Connect(function(i,g)
if g then return end
if i.KeyCode==Enum.KeyCode.W then ctrl.F=1 end
if i.KeyCode==Enum.KeyCode.S then ctrl.B=-1 end
if i.KeyCode==Enum.KeyCode.A then ctrl.L=-1 end
if i.KeyCode==Enum.KeyCode.D then ctrl.R=1 end
if i.KeyCode==Enum.KeyCode.Space then ctrl.U=1 end
if i.KeyCode==Enum.KeyCode.LeftShift then ctrl.D=-1 end
end)
UIS.InputEnded:Connect(function(i)
if i.KeyCode==Enum.KeyCode.W then ctrl.F=0 end
if i.KeyCode==Enum.KeyCode.S then ctrl.B=0 end
if i.KeyCode==Enum.KeyCode.A then ctrl.L=0 end
if i.KeyCode==Enum.KeyCode.D then ctrl.R=0 end
if i.KeyCode==Enum.KeyCode.Space then ctrl.U=0 end
if i.KeyCode==Enum.KeyCode.LeftShift then ctrl.D=0 end
end)
RunService.RenderStepped:Connect(function(dt)
if flying and bv and bg then
local cam=workspace.CurrentCamera
bg.CFrame=cam.CFrame
bv.Velocity=(cam.CFrame.LookVector*(ctrl.F+ctrl.B)
+cam.CFrame.RightVector*(ctrl.R+ctrl.L)
+Vector3.new(0,ctrl.U+ctrl.D,0))*flySpeed
end
if noclip then
for _,p in ipairs(char:GetDescendants()) do
if p:IsA("BasePart") then p.CanCollide=false end
end
end
if spin then root.CFrame=root.CFrame*CFrame.Angles(0,math.rad(spinSpeed),0) end
end)
--// FAKE LAG (visual)
task.spawn(function()
while true do
if fakeLag then task.wait(0.12) else task.wait() end
end
end)
--// UI ELEMENTS
local flyBtn=btn("Fly : OFF")
flyBtn.MouseButton1Click:Connect(function()
if flying then flyOff(); flyBtn.Text="Fly : OFF" else flyOn(); flyBtn.Text="Fly : ON" end
end)
local ncBtn=btn("Noclip : OFF")
ncBtn.MouseButton1Click:Connect(function()
noclip=not noclip; ncBtn.Text="Noclip : "..(noclip and "ON" or "OFF")
end)
local invBtn=btn("Invisible : OFF")
invBtn.MouseButton1Click:Connect(function()
invis=not invis
for _,p in ipairs(char:GetDescendants()) do
if p:IsA("BasePart") or p:IsA("Decal") then
p.LocalTransparencyModifier=invis and 1 or 0
end
end
invBtn.Text="Invisible : "..(invis and "ON" or "OFF")
end)
local dd,ddText,ddBtn=dropdown()
local idx=1
local function getPlayers()
local t={}
for _,pl in ipairs(Players:GetPlayers()) do
if pl~=lp then table.insert(t,pl) end
end
return t
end
ddBtn.MouseButton1Click:Connect(function()
local p=getPlayers()
if #p==0 then ddText.Text="No players"; return end
idx=idx%#p+1
spectateTarget=p[idx]
ddText.Text=spectateTarget.Name
end)
local specBtn=btn("Spectate : OFF")
specBtn.MouseButton1Click:Connect(function()
if spectating then
workspace.CurrentCamera.CameraSubject=hum
spectating=false; specBtn.Text="Spectate : OFF"
elseif spectateTarget and spectateTarget.Character then
workspace.CurrentCamera.CameraSubject=spectateTarget.Character:FindFirstChildOfClass("Humanoid")
spectating=true; specBtn.Text="Spectate : ON"
end
end)
local tpBtn=btn("TP To Player")
tpBtn.MouseButton1Click:Connect(function()
if spectateTarget and spectateTarget.Character and spectateTarget.Character:FindFirstChild("HumanoidRootPart") then
root.CFrame=spectateTarget.Character.HumanoidRootPart.CFrame*CFrame.new(0,0,-3)
end
end)
local flingBtn=btn("TP Fling")
flingBtn.MouseButton1Click:Connect(function()
if spectateTarget and spectateTarget.Character and spectateTarget.Character:FindFirstChild("HumanoidRootPart") then
root.CFrame=spectateTarget.Character.HumanoidRootPart.CFrame
root.Velocity=Vector3.new(0,120,0)
end
end)
local spinBtn=btn("Spin : OFF")
spinBtn.MouseButton1Click:Connect(function()
spin=not spin; spinBtn.Text="Spin : "..(spin and "ON" or "OFF")
end)
slider("Spin Speed",1,25,spinSpeed,function(v) spinSpeed=v end)
local lagBtn=btn("Fake Lag : OFF")
lagBtn.MouseButton1Click:Connect(function()
fakeLag=not fakeLag; lagBtn.Text="Fake Lag : "..(fakeLag and "ON" or "OFF")
end)
--// MINIMIZE
local min=btn("MINIMIZE")
local mini=Instance.new("TextButton",gui)
mini.Size=UDim2.fromScale(0.12,0.07)
mini.Position=UDim2.fromScale(0.05,0.28)
mini.Text="NEON"
mini.Font=Enum.Font.GothamBold
mini.TextScaled=true
mini.BackgroundColor3=Color3.fromRGB(14,16,26)
mini.TextColor3=Color3.fromRGB(0,200,255)
mini.Visible=false
Instance.new("UICorner",mini).CornerRadius=UDim.new(0,14)
Instance.new("UIStroke",mini).Color=Color3.fromRGB(0,170,255)
min.MouseButton1Click:Connect(function()
main.Visible=false; mini.Visible=true
end)
mini.MouseButton1Click:Connect(function()
main.Visible=true; mini.Visible=false
end)



pls tell me if it works and if it has bugs i will fix it
oke
What in the script open