--// 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)