Sufferrrrrr

Bob Universal

May 3rd, 2026
111,191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 56.10 KB | None | 0 0
  1. -- Universal Bob v1.0
  2. -- Made by @indonesiangamer777 in scriptblox
  3.  
  4. -- Services
  5. local TweenService = game:GetService("TweenService")
  6. local UserInputService = game:GetService("UserInputService")
  7. local RunService = game:GetService("RunService")
  8. local Players = game:GetService("Players")
  9. local TeleportService = game:GetService("TeleportService")
  10. local StarterGui = game:GetService("StarterGui")
  11. local Lighting = game:GetService("Lighting")
  12.  
  13. local LocalPlayer = Players.LocalPlayer
  14.  
  15. -- Copy website to clipboard on execute
  16. pcall(function()
  17. setclipboard("universalbob.xo.je")
  18. end)
  19.  
  20. -- Welcome notification
  21. pcall(function()
  22. StarterGui:SetCore("SendNotification", {
  23. Title = "Universal Bob v1.0",
  24. Text = "Successfully loaded! Made by @indonesiangamer777",
  25. Duration = 5
  26. })
  27. end)
  28.  
  29. -- Notification helper
  30. local function notify(title, text, duration)
  31. pcall(function()
  32. StarterGui:SetCore("SendNotification", {
  33. Title = title or "Universal Bob",
  34. Text = text or "",
  35. Duration = duration or 3
  36. })
  37. end)
  38. end
  39.  
  40. -- Instances:
  41.  
  42. local UniversalBob = Instance.new("ScreenGui")
  43. local Shadow = Instance.new("ImageLabel")
  44. local Main = Instance.new("Frame")
  45. local MainCorner = Instance.new("UICorner")
  46. local Header = Instance.new("Frame")
  47. local HeaderCorner = Instance.new("UICorner")
  48. local Title = Instance.new("TextLabel")
  49. local SubTitle = Instance.new("TextLabel")
  50. local CloseButton = Instance.new("TextButton")
  51. local CloseCorner = Instance.new("UICorner")
  52. local Divider = Instance.new("Frame")
  53. local Inside = Instance.new("Frame")
  54. local SearchBar = Instance.new("Frame")
  55. local SearchBarCorner = Instance.new("UICorner")
  56. local SearchIcon = Instance.new("TextLabel")
  57. local SearchInput = Instance.new("TextBox")
  58. local Inside_ScrollingFrame = Instance.new("ScrollingFrame")
  59. local UIListLayout = Instance.new("UIListLayout")
  60. local ListPadding = Instance.new("UIPadding")
  61.  
  62. --Properties:
  63.  
  64. UniversalBob.Name = "UniversalBob"
  65. UniversalBob.Parent = LocalPlayer:WaitForChild("PlayerGui")
  66. UniversalBob.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  67. UniversalBob.ResetOnSpawn = false
  68.  
  69. Shadow.Name = "Shadow"
  70. Shadow.Parent = UniversalBob
  71. Shadow.AnchorPoint = Vector2.new(0.5, 0.5)
  72. Shadow.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  73. Shadow.BackgroundTransparency = 0.85
  74. Shadow.BorderSizePixel = 0
  75. Shadow.Position = UDim2.new(0.5, 3, 0.5, 3)
  76. Shadow.Size = UDim2.new(0, 435, 0, 475)
  77. Shadow.Image = ""
  78. Shadow.ScaleType = Enum.ScaleType.Slice
  79. do
  80. local sc = Instance.new("UICorner")
  81. sc.CornerRadius = UDim.new(0, 12)
  82. sc.Parent = Shadow
  83. end
  84.  
  85. Main.Name = "Main"
  86. Main.Parent = UniversalBob
  87. Main.AnchorPoint = Vector2.new(0.5, 0.5)
  88. Main.BackgroundColor3 = Color3.fromRGB(250, 250, 250)
  89. Main.BorderSizePixel = 0
  90. Main.Position = UDim2.new(0.5, 0, 0.5, 0)
  91. Main.Size = UDim2.new(0, 430, 0, 470)
  92. Main.ClipsDescendants = true
  93.  
  94. MainCorner.CornerRadius = UDim.new(0, 10)
  95. MainCorner.Parent = Main
  96.  
  97. Header.Name = "Header"
  98. Header.Parent = Main
  99. Header.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  100. Header.BorderSizePixel = 0
  101. Header.Size = UDim2.new(1, 0, 0, 70)
  102.  
  103. HeaderCorner.CornerRadius = UDim.new(0, 10)
  104. HeaderCorner.Parent = Header
  105.  
  106. Title.Name = "Title"
  107. Title.Parent = Header
  108. Title.BackgroundTransparency = 1
  109. Title.BorderSizePixel = 0
  110. Title.Position = UDim2.new(0, 18, 0, 4)
  111. Title.Size = UDim2.new(0, 300, 0, 34)
  112. Title.Font = Enum.Font.GothamBold
  113. Title.Text = "Universal Bob v1.0"
  114. Title.TextColor3 = Color3.fromRGB(30, 30, 30)
  115. Title.TextSize = 20
  116. Title.TextXAlignment = Enum.TextXAlignment.Left
  117.  
  118. SubTitle.Name = "SubTitle"
  119. SubTitle.Parent = Header
  120. SubTitle.BackgroundTransparency = 1
  121. SubTitle.BorderSizePixel = 0
  122. SubTitle.Position = UDim2.new(0, 18, 0, 36)
  123. SubTitle.Size = UDim2.new(0, 300, 0, 24)
  124. SubTitle.Font = Enum.Font.Gotham
  125. SubTitle.Text = "Made by @indonesiangamer777 in scriptblox"
  126. SubTitle.TextColor3 = Color3.fromRGB(140, 140, 140)
  127. SubTitle.TextSize = 12
  128. SubTitle.TextXAlignment = Enum.TextXAlignment.Left
  129.  
  130. CloseButton.Name = "CloseButton"
  131. CloseButton.Parent = Header
  132. CloseButton.AnchorPoint = Vector2.new(1, 0.5)
  133. CloseButton.BackgroundColor3 = Color3.fromRGB(255, 60, 60)
  134. CloseButton.BorderSizePixel = 0
  135. CloseButton.Position = UDim2.new(1, -14, 0.5, 0)
  136. CloseButton.Size = UDim2.new(0, 36, 0, 36)
  137. CloseButton.Font = Enum.Font.GothamBold
  138. CloseButton.Text = "X"
  139. CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
  140. CloseButton.TextSize = 18
  141. CloseButton.AutoButtonColor = true
  142.  
  143. CloseCorner.CornerRadius = UDim.new(0, 8)
  144. CloseCorner.Parent = CloseButton
  145.  
  146. Divider.Name = "Divider"
  147. Divider.Parent = Main
  148. Divider.BackgroundColor3 = Color3.fromRGB(225, 225, 225)
  149. Divider.BorderSizePixel = 0
  150. Divider.Position = UDim2.new(0.05, 0, 0, 70)
  151. Divider.Size = UDim2.new(0.9, 0, 0, 1)
  152.  
  153. Inside.Name = "Inside"
  154. Inside.Parent = Main
  155. Inside.BackgroundTransparency = 1
  156. Inside.BorderSizePixel = 0
  157. Inside.Position = UDim2.new(0, 0, 0, 76)
  158. Inside.Size = UDim2.new(1, 0, 1, -76)
  159.  
  160. SearchBar.Name = "SearchBar"
  161. SearchBar.Parent = Inside
  162. SearchBar.AnchorPoint = Vector2.new(0.5, 0)
  163. SearchBar.BackgroundColor3 = Color3.fromRGB(235, 235, 235)
  164. SearchBar.BorderSizePixel = 0
  165. SearchBar.Position = UDim2.new(0.5, 0, 0, 12)
  166. SearchBar.Size = UDim2.new(0.88, 0, 0, 42)
  167.  
  168. SearchBarCorner.CornerRadius = UDim.new(0, 10)
  169. SearchBarCorner.Parent = SearchBar
  170.  
  171. SearchIcon.Name = "SearchIcon"
  172. SearchIcon.Parent = SearchBar
  173. SearchIcon.BackgroundTransparency = 1
  174. SearchIcon.Position = UDim2.new(0, 10, 0, 0)
  175. SearchIcon.Size = UDim2.new(0, 30, 1, 0)
  176. SearchIcon.Font = Enum.Font.GothamBold
  177. SearchIcon.Text = "Q"
  178. SearchIcon.TextColor3 = Color3.fromRGB(160, 160, 160)
  179. SearchIcon.TextSize = 16
  180.  
  181. SearchInput.Name = "SearchInput"
  182. SearchInput.Parent = SearchBar
  183. SearchInput.BackgroundTransparency = 1
  184. SearchInput.BorderSizePixel = 0
  185. SearchInput.Position = UDim2.new(0, 42, 0, 0)
  186. SearchInput.Size = UDim2.new(1, -52, 1, 0)
  187. SearchInput.Font = Enum.Font.Gotham
  188. SearchInput.PlaceholderColor3 = Color3.fromRGB(175, 175, 175)
  189. SearchInput.PlaceholderText = "Search features..."
  190. SearchInput.Text = ""
  191. SearchInput.TextColor3 = Color3.fromRGB(40, 40, 40)
  192. SearchInput.TextSize = 16
  193. SearchInput.TextXAlignment = Enum.TextXAlignment.Left
  194. SearchInput.ClearTextOnFocus = false
  195.  
  196. Inside_ScrollingFrame.Name = "Inside_ScrollingFrame"
  197. Inside_ScrollingFrame.Parent = Inside
  198. Inside_ScrollingFrame.Active = true
  199. Inside_ScrollingFrame.AnchorPoint = Vector2.new(0.5, 0)
  200. Inside_ScrollingFrame.BackgroundTransparency = 1
  201. Inside_ScrollingFrame.BorderSizePixel = 0
  202. Inside_ScrollingFrame.Position = UDim2.new(0.5, 0, 0, 64)
  203. Inside_ScrollingFrame.Size = UDim2.new(0.92, 0, 1, -74)
  204. Inside_ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
  205. Inside_ScrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
  206. Inside_ScrollingFrame.ScrollBarThickness = 3
  207. Inside_ScrollingFrame.ScrollBarImageColor3 = Color3.fromRGB(180, 180, 180)
  208. Inside_ScrollingFrame.ScrollingDirection = Enum.ScrollingDirection.Y
  209.  
  210. UIListLayout.Parent = Inside_ScrollingFrame
  211. UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  212. UIListLayout.Padding = UDim.new(0, 8)
  213. UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
  214.  
  215. ListPadding.Parent = Inside_ScrollingFrame
  216. ListPadding.PaddingTop = UDim.new(0, 4)
  217. ListPadding.PaddingBottom = UDim.new(0, 4)
  218.  
  219. -- =======================================
  220. -- UI CREATION HELPERS
  221. -- =======================================
  222.  
  223. local layoutOrder = 0
  224.  
  225. local function nextOrder()
  226. layoutOrder = layoutOrder + 1
  227. return layoutOrder
  228. end
  229.  
  230. local function createToggle(name, labelText)
  231. local frame = Instance.new("Frame")
  232. frame.Name = name
  233. frame.Parent = Inside_ScrollingFrame
  234. frame.BackgroundColor3 = Color3.fromRGB(240, 240, 240)
  235. frame.BorderSizePixel = 0
  236. frame.Size = UDim2.new(1, 0, 0, 50)
  237. frame.LayoutOrder = nextOrder()
  238.  
  239. local corner = Instance.new("UICorner")
  240. corner.CornerRadius = UDim.new(0, 10)
  241. corner.Parent = frame
  242.  
  243. local label = Instance.new("TextLabel")
  244. label.Name = "Label"
  245. label.Parent = frame
  246. label.BackgroundTransparency = 1
  247. label.BorderSizePixel = 0
  248. label.Position = UDim2.new(0, 16, 0, 0)
  249. label.Size = UDim2.new(0.6, 0, 1, 0)
  250. label.Font = Enum.Font.GothamMedium
  251. label.Text = labelText
  252. label.TextColor3 = Color3.fromRGB(40, 40, 40)
  253. label.TextSize = 16
  254. label.TextXAlignment = Enum.TextXAlignment.Left
  255.  
  256. local btn = Instance.new("TextButton")
  257. btn.Name = "ToggleButton"
  258. btn.Parent = frame
  259. btn.AnchorPoint = Vector2.new(1, 0.5)
  260. btn.BackgroundColor3 = Color3.fromRGB(255, 70, 70)
  261. btn.BorderSizePixel = 0
  262. btn.Position = UDim2.new(1, -12, 0.5, 0)
  263. btn.Size = UDim2.new(0, 80, 0, 32)
  264. btn.Font = Enum.Font.GothamBold
  265. btn.Text = "OFF"
  266. btn.TextColor3 = Color3.fromRGB(255, 255, 255)
  267. btn.TextSize = 14
  268. btn.AutoButtonColor = true
  269.  
  270. local btnCorner = Instance.new("UICorner")
  271. btnCorner.CornerRadius = UDim.new(0, 8)
  272. btnCorner.Parent = btn
  273.  
  274. frame.MouseEnter:Connect(function()
  275. TweenService:Create(frame, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(230, 230, 230)}):Play()
  276. end)
  277. frame.MouseLeave:Connect(function()
  278. TweenService:Create(frame, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(240, 240, 240)}):Play()
  279. end)
  280.  
  281. return frame, btn
  282. end
  283.  
  284. local function createButton(name, labelText)
  285. local frame = Instance.new("Frame")
  286. frame.Name = name
  287. frame.Parent = Inside_ScrollingFrame
  288. frame.BackgroundColor3 = Color3.fromRGB(240, 240, 240)
  289. frame.BorderSizePixel = 0
  290. frame.Size = UDim2.new(1, 0, 0, 50)
  291. frame.LayoutOrder = nextOrder()
  292.  
  293. local corner = Instance.new("UICorner")
  294. corner.CornerRadius = UDim.new(0, 10)
  295. corner.Parent = frame
  296.  
  297. local btn = Instance.new("TextButton")
  298. btn.Name = "ActionButton"
  299. btn.Parent = frame
  300. btn.BackgroundTransparency = 1
  301. btn.BorderSizePixel = 0
  302. btn.Position = UDim2.new(0, 16, 0, 0)
  303. btn.Size = UDim2.new(1, -16, 1, 0)
  304. btn.Font = Enum.Font.GothamMedium
  305. btn.Text = labelText
  306. btn.TextColor3 = Color3.fromRGB(40, 40, 40)
  307. btn.TextSize = 16
  308. btn.TextXAlignment = Enum.TextXAlignment.Left
  309. btn.AutoButtonColor = true
  310.  
  311. local btnCorner = Instance.new("UICorner")
  312. btnCorner.CornerRadius = UDim.new(0, 10)
  313. btnCorner.Parent = btn
  314.  
  315. frame.MouseEnter:Connect(function()
  316. TweenService:Create(frame, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(230, 230, 230)}):Play()
  317. end)
  318. frame.MouseLeave:Connect(function()
  319. TweenService:Create(frame, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(240, 240, 240)}):Play()
  320. end)
  321.  
  322. return frame, btn
  323. end
  324.  
  325. local function createTextBox(name, labelText, placeholder)
  326. local frame = Instance.new("Frame")
  327. frame.Name = name
  328. frame.Parent = Inside_ScrollingFrame
  329. frame.BackgroundColor3 = Color3.fromRGB(240, 240, 240)
  330. frame.BorderSizePixel = 0
  331. frame.Size = UDim2.new(1, 0, 0, 50)
  332. frame.LayoutOrder = nextOrder()
  333.  
  334. local corner = Instance.new("UICorner")
  335. corner.CornerRadius = UDim.new(0, 10)
  336. corner.Parent = frame
  337.  
  338. local label = Instance.new("TextLabel")
  339. label.Name = "Label"
  340. label.Parent = frame
  341. label.BackgroundTransparency = 1
  342. label.BorderSizePixel = 0
  343. label.Position = UDim2.new(0, 16, 0, 0)
  344. label.Size = UDim2.new(0.55, 0, 1, 0)
  345. label.Font = Enum.Font.GothamMedium
  346. label.Text = labelText
  347. label.TextColor3 = Color3.fromRGB(40, 40, 40)
  348. label.TextSize = 16
  349. label.TextXAlignment = Enum.TextXAlignment.Left
  350.  
  351. local input = Instance.new("TextBox")
  352. input.Name = "InputBox"
  353. input.Parent = frame
  354. input.AnchorPoint = Vector2.new(1, 0.5)
  355. input.BackgroundColor3 = Color3.fromRGB(220, 220, 220)
  356. input.BorderSizePixel = 0
  357. input.Position = UDim2.new(1, -12, 0.5, 0)
  358. input.Size = UDim2.new(0, 100, 0, 32)
  359. input.Font = Enum.Font.Gotham
  360. input.PlaceholderColor3 = Color3.fromRGB(160, 160, 160)
  361. input.PlaceholderText = placeholder or "..."
  362. input.Text = ""
  363. input.TextColor3 = Color3.fromRGB(40, 40, 40)
  364. input.TextSize = 14
  365. input.ClearTextOnFocus = false
  366.  
  367. local inputCorner = Instance.new("UICorner")
  368. inputCorner.CornerRadius = UDim.new(0, 8)
  369. inputCorner.Parent = input
  370.  
  371. frame.MouseEnter:Connect(function()
  372. TweenService:Create(frame, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(230, 230, 230)}):Play()
  373. end)
  374. frame.MouseLeave:Connect(function()
  375. TweenService:Create(frame, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(240, 240, 240)}):Play()
  376. end)
  377.  
  378. return frame, input
  379. end
  380.  
  381. local function flashInput(input, success)
  382. local color = success and Color3.fromRGB(75, 200, 100) or Color3.fromRGB(255, 100, 100)
  383. TweenService:Create(input, TweenInfo.new(0.15), {BackgroundColor3 = color}):Play()
  384. task.delay(0.3, function()
  385. TweenService:Create(input, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(220, 220, 220)}):Play()
  386. end)
  387. end
  388.  
  389. local function flashButton(frame)
  390. TweenService:Create(frame, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(75, 200, 100)}):Play()
  391. task.delay(0.3, function()
  392. TweenService:Create(frame, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(240, 240, 240)}):Play()
  393. end)
  394. end
  395.  
  396. local function setupToggleVisual(button, state)
  397. if state then
  398. TweenService:Create(button, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(75, 200, 100)}):Play()
  399. button.Text = "ON"
  400. else
  401. TweenService:Create(button, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(255, 70, 70)}):Play()
  402. button.Text = "OFF"
  403. end
  404. end
  405.  
  406. -- =======================================
  407. -- CREATE ALL ELEMENTS
  408. -- =======================================
  409.  
  410. -- Toggles
  411. local flyFrame, flyBtn = createToggle("FlyToggle", "Fly")
  412. local infJumpFrame, infJumpBtn = createToggle("InfJumpToggle", "Infinite Jump")
  413. local floatFrame, floatBtn = createToggle("FloatToggle", "Float")
  414. local swimFrame, swimBtn = createToggle("SwimToggle", "Swim")
  415. local espFrame, espBtn = createToggle("ESPToggle", "ESP")
  416. local xrayFrame, xrayBtn = createToggle("XRayToggle", "X-Ray")
  417. local dayFrame, dayBtn = createToggle("DayToggle", "Day (Client)")
  418. local nightFrame, nightBtn = createToggle("NightToggle", "Night (Client)")
  419. local shadowsFrame, shadowsBtn = createToggle("ShadowsToggle", "Shadows")
  420. local nakedFrame, nakedBtn = createToggle("NakedToggle", "Naked (Client)")
  421. local autoJumpFrame, autoJumpBtn = createToggle("AutoJumpToggle", "Auto Jump")
  422. local noFogFrame, noFogBtn = createToggle("NoFogToggle", "No Fog (Client)")
  423.  
  424. -- Buttons
  425. local consoleFrame, consoleBtn = createButton("ConsoleButton", "Console")
  426. local rejoinFrame, rejoinBtn = createButton("RejoinButton", "Rejoin")
  427. local tpToolFrame, tpToolBtn = createButton("TeleportToolButton", "Teleport Tool")
  428. local resetFrame, resetBtn = createButton("ResetButton", "Reset")
  429. local sitFrame, sitBtn = createButton("SitButton", "Sit")
  430. local danceFrame, danceBtn = createButton("DanceButton", "Dance")
  431. local jumpBtnFrame, jumpBtnBtn = createButton("JumpButton", "Jump")
  432.  
  433. -- TextBoxes
  434. local speedFrame, speedInput = createTextBox("SpeedTextBox", "Walk Speed", "16")
  435. local jumpFrame, jumpInput = createTextBox("JumpTextBox", "Jump Power", "50")
  436. local gravityFrame, gravityInput = createTextBox("GravityTextBox", "Gravity", "196.2")
  437. local volumeFrame, volumeInput = createTextBox("VolumeTextBox", "Volume (0-10)", "10")
  438. local maxZoomFrame, maxZoomInput = createTextBox("MaxZoomTextBox", "Max Zoom", "128")
  439. local minZoomFrame, minZoomInput = createTextBox("MinZoomTextBox", "Min Zoom", "0.5")
  440. local fovFrame, fovInput = createTextBox("FOVTextBox", "FOV", "70")
  441. local brightnessFrame, brightnessInput = createTextBox("BrightnessTextBox", "Brightness (Client)", "1")
  442. local loopSpeedFrame, loopSpeedInput = createTextBox("LoopSpeedTextBox", "Loop Speed", "16")
  443. local loopJumpFrame, loopJumpInput = createTextBox("LoopJumpTextBox", "Loop Jump Power", "50")
  444. local spinFrame, spinInput = createTextBox("SpinTextBox", "Spin Speed", "10")
  445. local reachFrame, reachInput = createTextBox("ReachTextBox", "Reach", "10")
  446. local dynLightFrame, dynLightInput = createTextBox("DynLightTextBox", "Dynamic Light", "30, 2")
  447.  
  448. -- =======================================
  449. -- DRAGGING
  450. -- =======================================
  451.  
  452. local dragging, dragInput, dragStart, startPos
  453.  
  454. Header.InputBegan:Connect(function(input)
  455. if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  456. dragging = true
  457. dragStart = input.Position
  458. startPos = Main.Position
  459. input.Changed:Connect(function()
  460. if input.UserInputState == Enum.UserInputState.End then
  461. dragging = false
  462. end
  463. end)
  464. end
  465. end)
  466.  
  467. Header.InputChanged:Connect(function(input)
  468. if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
  469. dragInput = input
  470. end
  471. end)
  472.  
  473. UserInputService.InputChanged:Connect(function(input)
  474. if input == dragInput and dragging then
  475. local delta = input.Position - dragStart
  476. local newPos = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  477. Main.Position = newPos
  478. Shadow.Position = UDim2.new(newPos.X.Scale, newPos.X.Offset + 3, newPos.Y.Scale, newPos.Y.Offset + 3)
  479. end
  480. end)
  481.  
  482. CloseButton.MouseEnter:Connect(function()
  483. TweenService:Create(CloseButton, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(220, 40, 40)}):Play()
  484. end)
  485. CloseButton.MouseLeave:Connect(function()
  486. TweenService:Create(CloseButton, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(255, 60, 60)}):Play()
  487. end)
  488.  
  489. -- =======================================
  490. -- CLOSE BUTTON
  491. -- =======================================
  492.  
  493. local flyEnabled = false
  494.  
  495. CloseButton.MouseButton1Click:Connect(function()
  496. flyEnabled = false
  497. notify("Universal Bob", "GUI closed. Goodbye!", 2)
  498. TweenService:Create(Main, TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
  499. Size = UDim2.new(0, 430, 0, 0),
  500. BackgroundTransparency = 1
  501. }):Play()
  502. TweenService:Create(Shadow, TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
  503. Size = UDim2.new(0, 435, 0, 0),
  504. BackgroundTransparency = 1
  505. }):Play()
  506. task.delay(0.3, function()
  507. UniversalBob:Destroy()
  508. end)
  509. end)
  510.  
  511. -- =======================================
  512. -- FLY SYSTEM
  513. -- =======================================
  514.  
  515. local flySpeed = 50
  516. local flyBodyVelocity = nil
  517. local flyBodyGyro = nil
  518.  
  519. local function startFly()
  520. local character = LocalPlayer.Character
  521. if not character then return end
  522. local hrp = character:FindFirstChild("HumanoidRootPart")
  523. local humanoid = character:FindFirstChildOfClass("Humanoid")
  524. if not hrp or not humanoid then return end
  525.  
  526. flyBodyVelocity = Instance.new("BodyVelocity")
  527. flyBodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  528. flyBodyVelocity.Velocity = Vector3.new(0, 0, 0)
  529. flyBodyVelocity.Parent = hrp
  530.  
  531. flyBodyGyro = Instance.new("BodyGyro")
  532. flyBodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
  533. flyBodyGyro.D = 200
  534. flyBodyGyro.P = 10000
  535. flyBodyGyro.Parent = hrp
  536.  
  537. humanoid.PlatformStand = true
  538.  
  539. RunService:BindToRenderStep("FlyUpdate", Enum.RenderPriority.Character.Value + 1, function()
  540. if not flyEnabled then return end
  541. local char = LocalPlayer.Character
  542. if not char then return end
  543. local root = char:FindFirstChild("HumanoidRootPart")
  544. if not root or not flyBodyVelocity or not flyBodyGyro then return end
  545.  
  546. local camera = workspace.CurrentCamera
  547. local moveDir = Vector3.new(0, 0, 0)
  548.  
  549. if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + camera.CFrame.LookVector end
  550. if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - camera.CFrame.LookVector end
  551. if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - camera.CFrame.RightVector end
  552. if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + camera.CFrame.RightVector end
  553. if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0, 1, 0) end
  554. if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir = moveDir - Vector3.new(0, 1, 0) end
  555.  
  556. if moveDir.Magnitude > 0 then moveDir = moveDir.Unit end
  557. flyBodyVelocity.Velocity = moveDir * flySpeed
  558. flyBodyGyro.CFrame = camera.CFrame
  559. end)
  560. end
  561.  
  562. local function stopFly()
  563. pcall(function() RunService:UnbindFromRenderStep("FlyUpdate") end)
  564. local character = LocalPlayer.Character
  565. if character then
  566. local humanoid = character:FindFirstChildOfClass("Humanoid")
  567. if humanoid then humanoid.PlatformStand = false end
  568. end
  569. if flyBodyVelocity then flyBodyVelocity:Destroy() flyBodyVelocity = nil end
  570. if flyBodyGyro then flyBodyGyro:Destroy() flyBodyGyro = nil end
  571. end
  572.  
  573. flyBtn.MouseButton1Click:Connect(function()
  574. flyEnabled = not flyEnabled
  575. setupToggleVisual(flyBtn, flyEnabled)
  576. if flyEnabled then
  577. startFly()
  578. notify("Fly", "Fly enabled! Use WASD + Space/Shift", 3)
  579. else
  580. stopFly()
  581. notify("Fly", "Fly disabled", 2)
  582. end
  583. end)
  584.  
  585. LocalPlayer.CharacterAdded:Connect(function()
  586. if flyEnabled then
  587. flyEnabled = false
  588. setupToggleVisual(flyBtn, false)
  589. pcall(function() RunService:UnbindFromRenderStep("FlyUpdate") end)
  590. flyBodyVelocity = nil
  591. flyBodyGyro = nil
  592. end
  593. end)
  594.  
  595. -- =======================================
  596. -- INFINITE JUMP SYSTEM
  597. -- =======================================
  598.  
  599. local infJumpEnabled = false
  600. local infJumpConnection = nil
  601.  
  602. infJumpBtn.MouseButton1Click:Connect(function()
  603. infJumpEnabled = not infJumpEnabled
  604. setupToggleVisual(infJumpBtn, infJumpEnabled)
  605.  
  606. if infJumpEnabled then
  607. infJumpConnection = UserInputService.JumpRequest:Connect(function()
  608. if not infJumpEnabled then return end
  609. local char = LocalPlayer.Character
  610. if not char then return end
  611. local humanoid = char:FindFirstChildOfClass("Humanoid")
  612. if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end
  613. end)
  614. notify("Infinite Jump", "Infinite jump enabled", 2)
  615. else
  616. if infJumpConnection then infJumpConnection:Disconnect() infJumpConnection = nil end
  617. notify("Infinite Jump", "Infinite jump disabled", 2)
  618. end
  619. end)
  620.  
  621. -- =======================================
  622. -- FLOAT SYSTEM
  623. -- =======================================
  624.  
  625. local floatEnabled = false
  626. local floatPart = nil
  627.  
  628. local function startFloat()
  629. local char = LocalPlayer.Character
  630. if not char then return end
  631. local hrp = char:FindFirstChild("HumanoidRootPart")
  632. if not hrp then return end
  633.  
  634. if floatPart then floatPart:Destroy() end
  635.  
  636. floatPart = Instance.new("Part")
  637. floatPart.Name = "FloatPlatform"
  638. floatPart.Size = Vector3.new(6, 1, 6)
  639. floatPart.Position = hrp.Position - Vector3.new(0, 3.5, 0)
  640. floatPart.Anchored = true
  641. floatPart.CanCollide = true
  642. floatPart.Transparency = 0.7
  643. floatPart.Color = Color3.fromRGB(200, 200, 200)
  644. floatPart.Material = Enum.Material.SmoothPlastic
  645. floatPart.Parent = workspace
  646.  
  647. RunService:BindToRenderStep("FloatUpdate", Enum.RenderPriority.Character.Value, function()
  648. if not floatEnabled or not floatPart then return end
  649. local c = LocalPlayer.Character
  650. if not c then return end
  651. local r = c:FindFirstChild("HumanoidRootPart")
  652. if r then floatPart.Position = r.Position - Vector3.new(0, 3.5, 0) end
  653. end)
  654. end
  655.  
  656. local function stopFloat()
  657. pcall(function() RunService:UnbindFromRenderStep("FloatUpdate") end)
  658. if floatPart then floatPart:Destroy() floatPart = nil end
  659. end
  660.  
  661. floatBtn.MouseButton1Click:Connect(function()
  662. floatEnabled = not floatEnabled
  663. setupToggleVisual(floatBtn, floatEnabled)
  664. if floatEnabled then
  665. startFloat()
  666. notify("Float", "Float platform enabled", 2)
  667. else
  668. stopFloat()
  669. notify("Float", "Float platform disabled", 2)
  670. end
  671. end)
  672.  
  673. LocalPlayer.CharacterAdded:Connect(function()
  674. if floatEnabled then
  675. task.wait(1)
  676. startFloat()
  677. end
  678. end)
  679.  
  680. -- =======================================
  681. -- SWIM SYSTEM
  682. -- =======================================
  683.  
  684. local swimEnabled = false
  685. local swimConnection = nil
  686.  
  687. swimBtn.MouseButton1Click:Connect(function()
  688. swimEnabled = not swimEnabled
  689. setupToggleVisual(swimBtn, swimEnabled)
  690.  
  691. if swimEnabled then
  692. swimConnection = RunService.Heartbeat:Connect(function()
  693. if not swimEnabled then return end
  694. local char = LocalPlayer.Character
  695. if not char then return end
  696. local humanoid = char:FindFirstChildOfClass("Humanoid")
  697. if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Swimming) end
  698. end)
  699. notify("Swim", "Air swimming enabled", 2)
  700. else
  701. if swimConnection then swimConnection:Disconnect() swimConnection = nil end
  702. notify("Swim", "Air swimming disabled", 2)
  703. end
  704. end)
  705.  
  706. -- =======================================
  707. -- ESP SYSTEM
  708. -- =======================================
  709.  
  710. local espEnabled = false
  711. local espFolder = nil
  712. local espConnections = {}
  713.  
  714. local function getTeamColor(player)
  715. if player.Team then return player.TeamColor.Color end
  716. return Color3.fromRGB(255, 255, 255)
  717. end
  718.  
  719. local function createESPForPlayer(player)
  720. if player == LocalPlayer then return end
  721.  
  722. local function setupESP(character)
  723. if not espEnabled then return end
  724. if not character then return end
  725.  
  726. local hrp = character:WaitForChild("HumanoidRootPart", 5)
  727. local humanoid = character:WaitForChild("Humanoid", 5)
  728. local head = character:WaitForChild("Head", 5)
  729. if not hrp or not humanoid or not head then return end
  730.  
  731. if espFolder then
  732. local old = espFolder:FindFirstChild(player.Name .. "_ESP")
  733. if old then old:Destroy() end
  734. end
  735.  
  736. local espGui = Instance.new("BillboardGui")
  737. espGui.Name = player.Name .. "_ESP"
  738. espGui.Parent = espFolder
  739. espGui.Adornee = head
  740. espGui.Size = UDim2.new(0, 200, 0, 50)
  741. espGui.StudsOffset = Vector3.new(0, 3, 0)
  742. espGui.AlwaysOnTop = true
  743. espGui.MaxDistance = 10000
  744.  
  745. local nameLabel = Instance.new("TextLabel")
  746. nameLabel.Parent = espGui
  747. nameLabel.BackgroundTransparency = 1
  748. nameLabel.Size = UDim2.new(1, 0, 0.5, 0)
  749. nameLabel.Font = Enum.Font.GothamBold
  750. nameLabel.TextColor3 = getTeamColor(player)
  751. nameLabel.TextStrokeTransparency = 0.5
  752. nameLabel.TextSize = 14
  753. nameLabel.Text = player.Name
  754.  
  755. local healthLabel = Instance.new("TextLabel")
  756. healthLabel.Parent = espGui
  757. healthLabel.BackgroundTransparency = 1
  758. healthLabel.Position = UDim2.new(0, 0, 0.5, 0)
  759. healthLabel.Size = UDim2.new(1, 0, 0.3, 0)
  760. healthLabel.Font = Enum.Font.Gotham
  761. healthLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
  762. healthLabel.TextStrokeTransparency = 0.5
  763. healthLabel.TextSize = 12
  764. healthLabel.Text = "HP: " .. math.floor(humanoid.Health) .. "/" .. math.floor(humanoid.MaxHealth)
  765.  
  766. local distLabel = Instance.new("TextLabel")
  767. distLabel.Parent = espGui
  768. distLabel.BackgroundTransparency = 1
  769. distLabel.Position = UDim2.new(0, 0, 0.75, 0)
  770. distLabel.Size = UDim2.new(1, 0, 0.25, 0)
  771. distLabel.Font = Enum.Font.Gotham
  772. distLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
  773. distLabel.TextStrokeTransparency = 0.5
  774. distLabel.TextSize = 11
  775. distLabel.Text = ""
  776.  
  777. local highlight = Instance.new("Highlight")
  778. highlight.Name = player.Name .. "_Highlight"
  779. highlight.Parent = character
  780. highlight.FillColor = getTeamColor(player)
  781. highlight.FillTransparency = 0.7
  782. highlight.OutlineColor = getTeamColor(player)
  783. highlight.OutlineTransparency = 0.3
  784.  
  785. local updateConn
  786. updateConn = RunService.Heartbeat:Connect(function()
  787. if not espEnabled or not character or not character.Parent then
  788. if updateConn then updateConn:Disconnect() end
  789. return
  790. end
  791. local h = character:FindFirstChildOfClass("Humanoid")
  792. if h then
  793. healthLabel.Text = "HP: " .. math.floor(h.Health) .. "/" .. math.floor(h.MaxHealth)
  794. local healthPercent = h.Health / h.MaxHealth
  795. if healthPercent > 0.5 then
  796. healthLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
  797. elseif healthPercent > 0.25 then
  798. healthLabel.TextColor3 = Color3.fromRGB(255, 255, 50)
  799. else
  800. healthLabel.TextColor3 = Color3.fromRGB(255, 50, 50)
  801. end
  802. end
  803. local myChar = LocalPlayer.Character
  804. if myChar and myChar:FindFirstChild("HumanoidRootPart") and hrp and hrp.Parent then
  805. local dist = (myChar.HumanoidRootPart.Position - hrp.Position).Magnitude
  806. distLabel.Text = math.floor(dist) .. " studs"
  807. end
  808. local tc = getTeamColor(player)
  809. nameLabel.TextColor3 = tc
  810. if highlight and highlight.Parent then
  811. highlight.FillColor = tc
  812. highlight.OutlineColor = tc
  813. end
  814. end)
  815. table.insert(espConnections, updateConn)
  816. end
  817.  
  818. if player.Character then setupESP(player.Character) end
  819.  
  820. local charConn = player.CharacterAdded:Connect(function(char)
  821. task.wait(1)
  822. if espEnabled then setupESP(char) end
  823. end)
  824. table.insert(espConnections, charConn)
  825. end
  826.  
  827. local function enableESP()
  828. espFolder = Instance.new("Folder")
  829. espFolder.Name = "ESPFolder"
  830. espFolder.Parent = workspace.CurrentCamera
  831.  
  832. for _, player in ipairs(Players:GetPlayers()) do
  833. createESPForPlayer(player)
  834. end
  835.  
  836. local joinConn = Players.PlayerAdded:Connect(function(player)
  837. if espEnabled then createESPForPlayer(player) end
  838. end)
  839. table.insert(espConnections, joinConn)
  840. end
  841.  
  842. local function disableESP()
  843. for _, conn in ipairs(espConnections) do
  844. if conn then pcall(function() conn:Disconnect() end) end
  845. end
  846. espConnections = {}
  847. if espFolder then espFolder:Destroy() espFolder = nil end
  848. for _, player in ipairs(Players:GetPlayers()) do
  849. if player.Character then
  850. local hl = player.Character:FindFirstChild(player.Name .. "_Highlight")
  851. if hl then hl:Destroy() end
  852. end
  853. end
  854. end
  855.  
  856. espBtn.MouseButton1Click:Connect(function()
  857. espEnabled = not espEnabled
  858. setupToggleVisual(espBtn, espEnabled)
  859. if espEnabled then
  860. enableESP()
  861. notify("ESP", "ESP enabled for all players", 2)
  862. else
  863. disableESP()
  864. notify("ESP", "ESP disabled", 2)
  865. end
  866. end)
  867.  
  868. -- =======================================
  869. -- X-RAY SYSTEM
  870. -- =======================================
  871.  
  872. local xrayEnabled = false
  873. local originalTransparencies = {}
  874.  
  875. local function enableXray()
  876. originalTransparencies = {}
  877. for _, part in ipairs(workspace:GetDescendants()) do
  878. if part:IsA("BasePart") and not part:IsDescendantOf(LocalPlayer.Character or Instance.new("Folder")) then
  879. local isPlayerPart = false
  880. for _, player in ipairs(Players:GetPlayers()) do
  881. if player.Character and part:IsDescendantOf(player.Character) then
  882. isPlayerPart = true
  883. break
  884. end
  885. end
  886. if not isPlayerPart then
  887. originalTransparencies[part] = part.Transparency
  888. part.Transparency = 0.8
  889. end
  890. end
  891. end
  892. end
  893.  
  894. local function disableXray()
  895. for part, transparency in pairs(originalTransparencies) do
  896. if part and part.Parent then part.Transparency = transparency end
  897. end
  898. originalTransparencies = {}
  899. end
  900.  
  901. xrayBtn.MouseButton1Click:Connect(function()
  902. xrayEnabled = not xrayEnabled
  903. setupToggleVisual(xrayBtn, xrayEnabled)
  904. if xrayEnabled then
  905. enableXray()
  906. notify("X-Ray", "X-Ray enabled", 2)
  907. else
  908. disableXray()
  909. notify("X-Ray", "X-Ray disabled", 2)
  910. end
  911. end)
  912.  
  913. -- =======================================
  914. -- DAY TOGGLE (CLIENT)
  915. -- =======================================
  916.  
  917. local dayEnabled = false
  918. local originalTimeOfDay = nil
  919. local dayConnection = nil
  920. local nightEnabled = false
  921. local nightConnection = nil
  922.  
  923. dayBtn.MouseButton1Click:Connect(function()
  924. dayEnabled = not dayEnabled
  925. setupToggleVisual(dayBtn, dayEnabled)
  926.  
  927. if dayEnabled and nightEnabled then
  928. nightEnabled = false
  929. setupToggleVisual(nightBtn, false)
  930. if nightConnection then nightConnection:Disconnect() nightConnection = nil end
  931. end
  932.  
  933. if dayEnabled then
  934. originalTimeOfDay = originalTimeOfDay or Lighting.ClockTime
  935. dayConnection = RunService.Heartbeat:Connect(function()
  936. if not dayEnabled then return end
  937. Lighting.ClockTime = 14
  938. end)
  939. notify("Day", "Day time enabled (Client)", 2)
  940. else
  941. if dayConnection then dayConnection:Disconnect() dayConnection = nil end
  942. if originalTimeOfDay then Lighting.ClockTime = originalTimeOfDay end
  943. notify("Day", "Day time disabled", 2)
  944. end
  945. end)
  946.  
  947. -- =======================================
  948. -- NIGHT TOGGLE (CLIENT)
  949. -- =======================================
  950.  
  951. nightBtn.MouseButton1Click:Connect(function()
  952. nightEnabled = not nightEnabled
  953. setupToggleVisual(nightBtn, nightEnabled)
  954.  
  955. if nightEnabled and dayEnabled then
  956. dayEnabled = false
  957. setupToggleVisual(dayBtn, false)
  958. if dayConnection then dayConnection:Disconnect() dayConnection = nil end
  959. end
  960.  
  961. if nightEnabled then
  962. originalTimeOfDay = originalTimeOfDay or Lighting.ClockTime
  963. nightConnection = RunService.Heartbeat:Connect(function()
  964. if not nightEnabled then return end
  965. Lighting.ClockTime = 0
  966. end)
  967. notify("Night", "Night time enabled (Client)", 2)
  968. else
  969. if nightConnection then nightConnection:Disconnect() nightConnection = nil end
  970. if originalTimeOfDay then Lighting.ClockTime = originalTimeOfDay end
  971. notify("Night", "Night time disabled", 2)
  972. end
  973. end)
  974.  
  975. -- =======================================
  976. -- SHADOWS TOGGLE
  977. -- =======================================
  978.  
  979. local shadowsEnabled = true
  980.  
  981. shadowsBtn.MouseButton1Click:Connect(function()
  982. shadowsEnabled = not shadowsEnabled
  983. setupToggleVisual(shadowsBtn, shadowsEnabled)
  984. Lighting.GlobalShadows = shadowsEnabled
  985. notify("Shadows", shadowsEnabled and "Shadows enabled" or "Shadows disabled", 2)
  986. end)
  987.  
  988. setupToggleVisual(shadowsBtn, true)
  989.  
  990. -- =======================================
  991. -- NAKED TOGGLE (CLIENT)
  992. -- =======================================
  993.  
  994. local nakedEnabled = false
  995. local savedClothing = {}
  996.  
  997. nakedBtn.MouseButton1Click:Connect(function()
  998. nakedEnabled = not nakedEnabled
  999. setupToggleVisual(nakedBtn, nakedEnabled)
  1000.  
  1001. local char = LocalPlayer.Character
  1002. if not char then return end
  1003.  
  1004. if nakedEnabled then
  1005. savedClothing = {}
  1006. for _, item in ipairs(char:GetChildren()) do
  1007. if item:IsA("Shirt") or item:IsA("Pants") or item:IsA("ShirtGraphic") then
  1008. table.insert(savedClothing, {Type = item.ClassName, Parent = item.Parent})
  1009. if item:IsA("Shirt") then
  1010. item.ShirtTemplate = ""
  1011. elseif item:IsA("Pants") then
  1012. item.PantsTemplate = ""
  1013. elseif item:IsA("ShirtGraphic") then
  1014. item.Graphic = ""
  1015. end
  1016. end
  1017. end
  1018. -- Remove accessories (hats etc)
  1019. for _, item in ipairs(char:GetChildren()) do
  1020. if item:IsA("Accessory") then
  1021. item.Parent = nil
  1022. end
  1023. end
  1024. -- Remove body colors face
  1025. local head = char:FindFirstChild("Head")
  1026. if head then
  1027. local face = head:FindFirstChildOfClass("Decal")
  1028. if face then face.Transparency = 1 end
  1029. end
  1030. notify("Naked", "Clothing removed (Client)", 2)
  1031. else
  1032. -- Restore by re-applying character appearance
  1033. local humanoid = char:FindFirstChildOfClass("Humanoid")
  1034. if humanoid then
  1035. pcall(function()
  1036. local desc = Players:GetHumanoidDescriptionFromUserId(LocalPlayer.UserId)
  1037. humanoid:ApplyDescription(desc)
  1038. end)
  1039. end
  1040. notify("Naked", "Clothing restored", 2)
  1041. end
  1042. end)
  1043.  
  1044. -- =======================================
  1045. -- AUTO JUMP TOGGLE
  1046. -- =======================================
  1047.  
  1048. local autoJumpEnabled = false
  1049.  
  1050. autoJumpBtn.MouseButton1Click:Connect(function()
  1051. autoJumpEnabled = not autoJumpEnabled
  1052. setupToggleVisual(autoJumpBtn, autoJumpEnabled)
  1053.  
  1054. local char = LocalPlayer.Character
  1055. if char then
  1056. local humanoid = char:FindFirstChildOfClass("Humanoid")
  1057. if humanoid then
  1058. humanoid.AutoJumpEnabled = autoJumpEnabled
  1059. end
  1060. end
  1061.  
  1062. notify("Auto Jump", autoJumpEnabled and "Auto jump enabled" or "Auto jump disabled", 2)
  1063. end)
  1064.  
  1065. -- Persist auto jump on respawn
  1066. LocalPlayer.CharacterAdded:Connect(function(char)
  1067. if autoJumpEnabled then
  1068. local humanoid = char:WaitForChild("Humanoid", 5)
  1069. if humanoid then
  1070. humanoid.AutoJumpEnabled = true
  1071. end
  1072. end
  1073. end)
  1074.  
  1075. -- =======================================
  1076. -- NO FOG TOGGLE (CLIENT)
  1077. -- =======================================
  1078.  
  1079. local noFogEnabled = false
  1080. local originalFogStart = Lighting.FogStart
  1081. local originalFogEnd = Lighting.FogEnd
  1082. local originalFogColor = Lighting.FogColor
  1083. local noFogConnection = nil
  1084.  
  1085. noFogBtn.MouseButton1Click:Connect(function()
  1086. noFogEnabled = not noFogEnabled
  1087. setupToggleVisual(noFogBtn, noFogEnabled)
  1088.  
  1089. if noFogEnabled then
  1090. originalFogStart = Lighting.FogStart
  1091. originalFogEnd = Lighting.FogEnd
  1092. originalFogColor = Lighting.FogColor
  1093. noFogConnection = RunService.Heartbeat:Connect(function()
  1094. if not noFogEnabled then return end
  1095. Lighting.FogStart = 100000
  1096. Lighting.FogEnd = 100000
  1097. end)
  1098. notify("No Fog", "Fog removed (Client)", 2)
  1099. else
  1100. if noFogConnection then noFogConnection:Disconnect() noFogConnection = nil end
  1101. Lighting.FogStart = originalFogStart
  1102. Lighting.FogEnd = originalFogEnd
  1103. Lighting.FogColor = originalFogColor
  1104. notify("No Fog", "Fog restored", 2)
  1105. end
  1106. end)
  1107.  
  1108. -- =======================================
  1109. -- CONSOLE BUTTON
  1110. -- =======================================
  1111.  
  1112. consoleBtn.MouseButton1Click:Connect(function()
  1113. flashButton(consoleFrame)
  1114. StarterGui:SetCore("DevConsoleVisible", true)
  1115. notify("Console", "Developer console opened", 2)
  1116. end)
  1117.  
  1118. -- =======================================
  1119. -- REJOIN BUTTON
  1120. -- =======================================
  1121.  
  1122. rejoinBtn.MouseButton1Click:Connect(function()
  1123. flashButton(rejoinFrame)
  1124. notify("Rejoin", "Rejoining server...", 2)
  1125. task.wait(0.5)
  1126. local gameId = game.PlaceId
  1127. local jobId = game.JobId
  1128. TeleportService:TeleportToPlaceInstance(gameId, jobId, LocalPlayer)
  1129. end)
  1130.  
  1131. -- =======================================
  1132. -- TELEPORT TOOL
  1133. -- =======================================
  1134.  
  1135. tpToolBtn.MouseButton1Click:Connect(function()
  1136. flashButton(tpToolFrame)
  1137.  
  1138. local char = LocalPlayer.Character
  1139. if not char then return end
  1140. local backpack = LocalPlayer:FindFirstChildOfClass("Backpack")
  1141. if not backpack then return end
  1142.  
  1143. for _, tool in ipairs(backpack:GetChildren()) do
  1144. if tool.Name == "Teleport Tool" then
  1145. notify("Teleport Tool", "You already have a teleport tool!", 2)
  1146. return
  1147. end
  1148. end
  1149. if char:FindFirstChild("Teleport Tool") then
  1150. notify("Teleport Tool", "You already have a teleport tool!", 2)
  1151. return
  1152. end
  1153.  
  1154. local tool = Instance.new("Tool")
  1155. tool.Name = "Teleport Tool"
  1156. tool.RequiresHandle = true
  1157. tool.CanBeDropped = true
  1158.  
  1159. local handle = Instance.new("Part")
  1160. handle.Name = "Handle"
  1161. handle.Size = Vector3.new(1, 1, 4)
  1162. handle.Color = Color3.fromRGB(75, 150, 255)
  1163. handle.Material = Enum.Material.Neon
  1164. handle.Parent = tool
  1165.  
  1166. local mesh = Instance.new("SpecialMesh")
  1167. mesh.MeshType = Enum.MeshType.Brick
  1168. mesh.Scale = Vector3.new(0.3, 0.3, 1)
  1169. mesh.Parent = handle
  1170.  
  1171. tool.Parent = backpack
  1172.  
  1173. tool.Activated:Connect(function()
  1174. local mouse = LocalPlayer:GetMouse()
  1175. local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
  1176. if hrp and mouse.Hit then
  1177. hrp.CFrame = mouse.Hit + Vector3.new(0, 3, 0)
  1178. end
  1179. end)
  1180.  
  1181. notify("Teleport Tool", "Teleport tool added to backpack!", 2)
  1182. end)
  1183.  
  1184. -- =======================================
  1185. -- RESET BUTTON
  1186. -- =======================================
  1187.  
  1188. resetBtn.MouseButton1Click:Connect(function()
  1189. flashButton(resetFrame)
  1190. local char = LocalPlayer.Character
  1191. if char then
  1192. local humanoid = char:FindFirstChildOfClass("Humanoid")
  1193. if humanoid then humanoid.Health = 0 end
  1194. end
  1195. notify("Reset", "Character reset", 2)
  1196. end)
  1197.  
  1198. -- =======================================
  1199. -- SIT BUTTON
  1200. -- =======================================
  1201.  
  1202. sitBtn.MouseButton1Click:Connect(function()
  1203. flashButton(sitFrame)
  1204. local char = LocalPlayer.Character
  1205. if char then
  1206. local humanoid = char:FindFirstChildOfClass("Humanoid")
  1207. if humanoid then humanoid.Sit = true end
  1208. end
  1209. notify("Sit", "Character is now sitting", 2)
  1210. end)
  1211.  
  1212. -- =======================================
  1213. -- DANCE BUTTON
  1214. -- =======================================
  1215.  
  1216. danceBtn.MouseButton1Click:Connect(function()
  1217. flashButton(danceFrame)
  1218.  
  1219. local char = LocalPlayer.Character
  1220. if not char then return end
  1221. local humanoid = char:FindFirstChildOfClass("Humanoid")
  1222. if not humanoid then return end
  1223.  
  1224. -- Load dance animation
  1225. local danceAnim = Instance.new("Animation")
  1226. local danceIds = {
  1227. "rbxassetid://182435998", -- Dance1
  1228. "rbxassetid://182491277", -- Dance2
  1229. "rbxassetid://182491423", -- Dance3
  1230. }
  1231. danceAnim.AnimationId = danceIds[math.random(1, #danceIds)]
  1232.  
  1233. local animator = humanoid:FindFirstChildOfClass("Animator")
  1234. if not animator then
  1235. animator = Instance.new("Animator")
  1236. animator.Parent = humanoid
  1237. end
  1238.  
  1239. local track = animator:LoadAnimation(danceAnim)
  1240. track:Play()
  1241. track.Looped = true
  1242.  
  1243. notify("Dance", "Dancing! Move to stop", 3)
  1244. end)
  1245.  
  1246. -- =======================================
  1247. -- JUMP BUTTON
  1248. -- =======================================
  1249.  
  1250. jumpBtnBtn.MouseButton1Click:Connect(function()
  1251. flashButton(jumpBtnFrame)
  1252. local char = LocalPlayer.Character
  1253. if char then
  1254. local humanoid = char:FindFirstChildOfClass("Humanoid")
  1255. if humanoid then
  1256. humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
  1257. end
  1258. end
  1259. end)
  1260.  
  1261. -- =======================================
  1262. -- WALK SPEED
  1263. -- =======================================
  1264.  
  1265. local speedRespawnConn = nil
  1266.  
  1267. speedInput.FocusLost:Connect(function()
  1268. local value = tonumber(speedInput.Text)
  1269. if value then
  1270. value = math.clamp(value, 0, 500)
  1271. speedInput.Text = tostring(value)
  1272. local char = LocalPlayer.Character
  1273. if char then
  1274. local humanoid = char:FindFirstChildOfClass("Humanoid")
  1275. if humanoid then humanoid.WalkSpeed = value end
  1276. end
  1277. if speedRespawnConn then speedRespawnConn:Disconnect() end
  1278. speedRespawnConn = LocalPlayer.CharacterAdded:Connect(function(c)
  1279. local h = c:WaitForChild("Humanoid", 5)
  1280. if h and speedInput.Text ~= "" then
  1281. local v = tonumber(speedInput.Text)
  1282. if v then h.WalkSpeed = v end
  1283. end
  1284. end)
  1285. flashInput(speedInput, true)
  1286. notify("Walk Speed", "Speed set to " .. value, 2)
  1287. else
  1288. if speedInput.Text ~= "" then
  1289. flashInput(speedInput, false)
  1290. notify("Walk Speed", "Invalid number!", 2)
  1291. speedInput.Text = ""
  1292. end
  1293. end
  1294. end)
  1295.  
  1296. -- =======================================
  1297. -- JUMP POWER
  1298. -- =======================================
  1299.  
  1300. local jumpRespawnConn = nil
  1301.  
  1302. jumpInput.FocusLost:Connect(function()
  1303. local value = tonumber(jumpInput.Text)
  1304. if value then
  1305. value = math.clamp(value, 0, 500)
  1306. jumpInput.Text = tostring(value)
  1307. local char = LocalPlayer.Character
  1308. if char then
  1309. local humanoid = char:FindFirstChildOfClass("Humanoid")
  1310. if humanoid then
  1311. humanoid.UseJumpPower = true
  1312. humanoid.JumpPower = value
  1313. end
  1314. end
  1315. if jumpRespawnConn then jumpRespawnConn:Disconnect() end
  1316. jumpRespawnConn = LocalPlayer.CharacterAdded:Connect(function(c)
  1317. local h = c:WaitForChild("Humanoid", 5)
  1318. if h and jumpInput.Text ~= "" then
  1319. local v = tonumber(jumpInput.Text)
  1320. if v then
  1321. h.UseJumpPower = true
  1322. h.JumpPower = v
  1323. end
  1324. end
  1325. end)
  1326. flashInput(jumpInput, true)
  1327. notify("Jump Power", "Jump power set to " .. value, 2)
  1328. else
  1329. if jumpInput.Text ~= "" then
  1330. flashInput(jumpInput, false)
  1331. notify("Jump Power", "Invalid number!", 2)
  1332. jumpInput.Text = ""
  1333. end
  1334. end
  1335. end)
  1336.  
  1337. -- =======================================
  1338. -- GRAVITY
  1339. -- =======================================
  1340.  
  1341. gravityInput.FocusLost:Connect(function()
  1342. local value = tonumber(gravityInput.Text)
  1343. if value then
  1344. value = math.clamp(value, 0, 1000)
  1345. gravityInput.Text = tostring(value)
  1346. workspace.Gravity = value
  1347. flashInput(gravityInput, true)
  1348. notify("Gravity", "Gravity set to " .. value, 2)
  1349. else
  1350. if gravityInput.Text ~= "" then
  1351. flashInput(gravityInput, false)
  1352. notify("Gravity", "Invalid number!", 2)
  1353. gravityInput.Text = ""
  1354. end
  1355. end
  1356. end)
  1357.  
  1358. -- =======================================
  1359. -- VOLUME
  1360. -- =======================================
  1361.  
  1362. volumeInput.FocusLost:Connect(function()
  1363. local value = tonumber(volumeInput.Text)
  1364. if value then
  1365. value = math.clamp(value, 0, 10)
  1366. volumeInput.Text = tostring(value)
  1367. local vol = value / 10
  1368. pcall(function()
  1369. UserSettings():GetService("UserGameSettings").MasterVolume = vol
  1370. end)
  1371. flashInput(volumeInput, true)
  1372. notify("Volume", "Volume set to " .. value .. "/10", 2)
  1373. else
  1374. if volumeInput.Text ~= "" then
  1375. flashInput(volumeInput, false)
  1376. notify("Volume", "Invalid number! (0-10)", 2)
  1377. volumeInput.Text = ""
  1378. end
  1379. end
  1380. end)
  1381.  
  1382. -- =======================================
  1383. -- MAX ZOOM
  1384. -- =======================================
  1385.  
  1386. maxZoomInput.FocusLost:Connect(function()
  1387. local value = tonumber(maxZoomInput.Text)
  1388. if value then
  1389. value = math.clamp(value, 0, 10000)
  1390. maxZoomInput.Text = tostring(value)
  1391. LocalPlayer.CameraMaxZoomDistance = value
  1392. flashInput(maxZoomInput, true)
  1393. notify("Max Zoom", "Max zoom set to " .. value, 2)
  1394. else
  1395. if maxZoomInput.Text ~= "" then
  1396. flashInput(maxZoomInput, false)
  1397. notify("Max Zoom", "Invalid number!", 2)
  1398. maxZoomInput.Text = ""
  1399. end
  1400. end
  1401. end)
  1402.  
  1403. -- =======================================
  1404. -- MIN ZOOM
  1405. -- =======================================
  1406.  
  1407. minZoomInput.FocusLost:Connect(function()
  1408. local value = tonumber(minZoomInput.Text)
  1409. if value then
  1410. value = math.clamp(value, 0, 10000)
  1411. minZoomInput.Text = tostring(value)
  1412. LocalPlayer.CameraMinZoomDistance = value
  1413. flashInput(minZoomInput, true)
  1414. notify("Min Zoom", "Min zoom set to " .. value, 2)
  1415. else
  1416. if minZoomInput.Text ~= "" then
  1417. flashInput(minZoomInput, false)
  1418. notify("Min Zoom", "Invalid number!", 2)
  1419. minZoomInput.Text = ""
  1420. end
  1421. end
  1422. end)
  1423.  
  1424. -- =======================================
  1425. -- FOV
  1426. -- =======================================
  1427.  
  1428. fovInput.FocusLost:Connect(function()
  1429. local value = tonumber(fovInput.Text)
  1430. if value then
  1431. value = math.clamp(value, 1, 120)
  1432. fovInput.Text = tostring(value)
  1433. workspace.CurrentCamera.FieldOfView = value
  1434. flashInput(fovInput, true)
  1435. notify("FOV", "FOV set to " .. value, 2)
  1436. else
  1437. if fovInput.Text ~= "" then
  1438. flashInput(fovInput, false)
  1439. notify("FOV", "Invalid number! (1-120)", 2)
  1440. fovInput.Text = ""
  1441. end
  1442. end
  1443. end)
  1444.  
  1445. -- =======================================
  1446. -- BRIGHTNESS (CLIENT)
  1447. -- =======================================
  1448.  
  1449. brightnessInput.FocusLost:Connect(function()
  1450. local value = tonumber(brightnessInput.Text)
  1451. if value then
  1452. value = math.clamp(value, 0, 10)
  1453. brightnessInput.Text = tostring(value)
  1454. Lighting.Brightness = value
  1455. flashInput(brightnessInput, true)
  1456. notify("Brightness", "Brightness set to " .. value, 2)
  1457. else
  1458. if brightnessInput.Text ~= "" then
  1459. flashInput(brightnessInput, false)
  1460. notify("Brightness", "Invalid number! (0-10)", 2)
  1461. brightnessInput.Text = ""
  1462. end
  1463. end
  1464. end)
  1465.  
  1466. -- =======================================
  1467. -- LOOP SPEED
  1468. -- =======================================
  1469.  
  1470. local loopSpeedEnabled = false
  1471. local loopSpeedConnection = nil
  1472. local loopSpeedValue = 16
  1473.  
  1474. loopSpeedInput.FocusLost:Connect(function()
  1475. local value = tonumber(loopSpeedInput.Text)
  1476. if value then
  1477. value = math.clamp(value, 0, 500)
  1478. loopSpeedInput.Text = tostring(value)
  1479. loopSpeedValue = value
  1480.  
  1481. if not loopSpeedEnabled then
  1482. loopSpeedEnabled = true
  1483. loopSpeedConnection = RunService.Heartbeat:Connect(function()
  1484. if not loopSpeedEnabled then return end
  1485. local char = LocalPlayer.Character
  1486. if char then
  1487. local humanoid = char:FindFirstChildOfClass("Humanoid")
  1488. if humanoid then humanoid.WalkSpeed = loopSpeedValue end
  1489. end
  1490. end)
  1491. end
  1492.  
  1493. flashInput(loopSpeedInput, true)
  1494. notify("Loop Speed", "Looping speed at " .. value, 2)
  1495. else
  1496. if loopSpeedInput.Text ~= "" then
  1497. flashInput(loopSpeedInput, false)
  1498. notify("Loop Speed", "Invalid number!", 2)
  1499. loopSpeedInput.Text = ""
  1500. else
  1501. loopSpeedEnabled = false
  1502. if loopSpeedConnection then
  1503. loopSpeedConnection:Disconnect()
  1504. loopSpeedConnection = nil
  1505. end
  1506. notify("Loop Speed", "Loop speed stopped", 2)
  1507. end
  1508. end
  1509. end)
  1510.  
  1511. -- =======================================
  1512. -- LOOP JUMP POWER
  1513. -- =======================================
  1514.  
  1515. local loopJumpEnabled = false
  1516. local loopJumpConnection = nil
  1517. local loopJumpValue = 50
  1518.  
  1519. loopJumpInput.FocusLost:Connect(function()
  1520. local value = tonumber(loopJumpInput.Text)
  1521. if value then
  1522. value = math.clamp(value, 0, 500)
  1523. loopJumpInput.Text = tostring(value)
  1524. loopJumpValue = value
  1525.  
  1526. if not loopJumpEnabled then
  1527. loopJumpEnabled = true
  1528. loopJumpConnection = RunService.Heartbeat:Connect(function()
  1529. if not loopJumpEnabled then return end
  1530. local char = LocalPlayer.Character
  1531. if char then
  1532. local humanoid = char:FindFirstChildOfClass("Humanoid")
  1533. if humanoid then
  1534. humanoid.UseJumpPower = true
  1535. humanoid.JumpPower = loopJumpValue
  1536. end
  1537. end
  1538. end)
  1539. end
  1540.  
  1541. flashInput(loopJumpInput, true)
  1542. notify("Loop Jump", "Looping jump power at " .. value, 2)
  1543. else
  1544. if loopJumpInput.Text ~= "" then
  1545. flashInput(loopJumpInput, false)
  1546. notify("Loop Jump", "Invalid number!", 2)
  1547. loopJumpInput.Text = ""
  1548. else
  1549. loopJumpEnabled = false
  1550. if loopJumpConnection then
  1551. loopJumpConnection:Disconnect()
  1552. loopJumpConnection = nil
  1553. end
  1554. notify("Loop Jump", "Loop jump stopped", 2)
  1555. end
  1556. end
  1557. end)
  1558.  
  1559. -- =======================================
  1560. -- SPIN SYSTEM
  1561. -- =======================================
  1562.  
  1563. local spinEnabled = false
  1564. local spinConnection = nil
  1565. local spinSpeed = 10
  1566. local spinBodyAngularVelocity = nil
  1567.  
  1568. local function applySpinToCharacter(char)
  1569. if not char then return end
  1570. local hrp = char:FindFirstChild("HumanoidRootPart")
  1571. if not hrp then return end
  1572.  
  1573. local oldSpin = hrp:FindFirstChild("SpinVelocity")
  1574. if oldSpin then oldSpin:Destroy() end
  1575.  
  1576. spinBodyAngularVelocity = Instance.new("BodyAngularVelocity")
  1577. spinBodyAngularVelocity.Name = "SpinVelocity"
  1578. spinBodyAngularVelocity.MaxTorque = Vector3.new(0, math.huge, 0)
  1579. spinBodyAngularVelocity.AngularVelocity = Vector3.new(0, spinSpeed, 0)
  1580. spinBodyAngularVelocity.Parent = hrp
  1581. end
  1582.  
  1583. spinInput.FocusLost:Connect(function()
  1584. local value = tonumber(spinInput.Text)
  1585. if value then
  1586. value = math.clamp(value, 0, 500)
  1587. spinInput.Text = tostring(value)
  1588. spinSpeed = value
  1589.  
  1590. if not spinEnabled then
  1591. spinEnabled = true
  1592. applySpinToCharacter(LocalPlayer.Character)
  1593.  
  1594. spinConnection = RunService.Heartbeat:Connect(function()
  1595. if not spinEnabled then return end
  1596. if spinBodyAngularVelocity and spinBodyAngularVelocity.Parent then
  1597. spinBodyAngularVelocity.AngularVelocity = Vector3.new(0, spinSpeed, 0)
  1598. end
  1599. end)
  1600. else
  1601. if spinBodyAngularVelocity and spinBodyAngularVelocity.Parent then
  1602. spinBodyAngularVelocity.AngularVelocity = Vector3.new(0, spinSpeed, 0)
  1603. end
  1604. end
  1605.  
  1606. flashInput(spinInput, true)
  1607. notify("Spin", "Spinning at speed " .. value, 2)
  1608. else
  1609. if spinInput.Text ~= "" then
  1610. flashInput(spinInput, false)
  1611. notify("Spin", "Invalid number!", 2)
  1612. spinInput.Text = ""
  1613. else
  1614. spinEnabled = false
  1615. if spinConnection then
  1616. spinConnection:Disconnect()
  1617. spinConnection = nil
  1618. end
  1619. if spinBodyAngularVelocity then
  1620. spinBodyAngularVelocity:Destroy()
  1621. spinBodyAngularVelocity = nil
  1622. end
  1623. notify("Spin", "Spin stopped", 2)
  1624. end
  1625. end
  1626. end)
  1627.  
  1628. LocalPlayer.CharacterAdded:Connect(function(char)
  1629. if spinEnabled then
  1630. task.wait(0.5)
  1631. applySpinToCharacter(char)
  1632. end
  1633. end)
  1634.  
  1635. -- =======================================
  1636. -- REACH SYSTEM
  1637. -- =======================================
  1638.  
  1639. local reachEnabled = false
  1640. local reachConnection = nil
  1641. local reachValue = 10
  1642.  
  1643. reachInput.FocusLost:Connect(function()
  1644. local value = tonumber(reachInput.Text)
  1645. if value then
  1646. value = math.clamp(value, 1, 100)
  1647. reachInput.Text = tostring(value)
  1648. reachValue = value
  1649.  
  1650. if reachConnection then reachConnection:Disconnect() end
  1651.  
  1652. reachEnabled = true
  1653. reachConnection = RunService.Heartbeat:Connect(function()
  1654. if not reachEnabled then return end
  1655. local char = LocalPlayer.Character
  1656. if not char then return end
  1657.  
  1658. -- Find equipped tool
  1659. local tool = char:FindFirstChildOfClass("Tool")
  1660. if not tool then return end
  1661.  
  1662. local handle = tool:FindFirstChild("Handle")
  1663. if not handle then return end
  1664.  
  1665. -- Expand handle hitbox
  1666. handle.Size = Vector3.new(reachValue, reachValue, reachValue)
  1667. handle.Transparency = 1
  1668. handle.CanCollide = false
  1669. handle.Massless = true
  1670. end)
  1671.  
  1672. flashInput(reachInput, true)
  1673. notify("Reach", "Reach set to " .. value .. " studs", 2)
  1674. else
  1675. if reachInput.Text ~= "" then
  1676. flashInput(reachInput, false)
  1677. notify("Reach", "Invalid number! (1-100)", 2)
  1678. reachInput.Text = ""
  1679. else
  1680. reachEnabled = false
  1681. if reachConnection then
  1682. reachConnection:Disconnect()
  1683. reachConnection = nil
  1684. end
  1685. notify("Reach", "Reach disabled", 2)
  1686. end
  1687. end
  1688. end)
  1689.  
  1690. -- =======================================
  1691. -- DYNAMIC LIGHT SYSTEM (CLIENT)
  1692. -- =======================================
  1693.  
  1694. local dynLightEnabled = false
  1695. local dynLightPart = nil
  1696.  
  1697. dynLightInput.FocusLost:Connect(function()
  1698. local text = dynLightInput.Text
  1699.  
  1700. if text == "" then
  1701. -- Remove light
  1702. dynLightEnabled = false
  1703. if dynLightPart then dynLightPart:Destroy() dynLightPart = nil end
  1704. notify("Dynamic Light", "Dynamic light removed", 2)
  1705. return
  1706. end
  1707.  
  1708. -- Parse "radius, brightness" or just "radius"
  1709. local parts = string.split(text, ",")
  1710. local radius = tonumber(parts[1])
  1711. local brightness = tonumber(parts[2]) or 2
  1712.  
  1713. if radius then
  1714. radius = math.clamp(radius, 1, 120)
  1715. brightness = math.clamp(brightness, 0.1, 10)
  1716. dynLightInput.Text = radius .. ", " .. brightness
  1717.  
  1718. local char = LocalPlayer.Character
  1719. if not char then
  1720. flashInput(dynLightInput, false)
  1721. return
  1722. end
  1723. local hrp = char:FindFirstChild("HumanoidRootPart")
  1724. if not hrp then
  1725. flashInput(dynLightInput, false)
  1726. return
  1727. end
  1728.  
  1729. -- Remove old light
  1730. if dynLightPart then dynLightPart:Destroy() end
  1731.  
  1732. -- Create point light attached to character
  1733. local existingLight = hrp:FindFirstChild("DynLight")
  1734. if existingLight then existingLight:Destroy() end
  1735.  
  1736. local light = Instance.new("PointLight")
  1737. light.Name = "DynLight"
  1738. light.Range = radius
  1739. light.Brightness = brightness
  1740. light.Color = Color3.fromRGB(255, 255, 255)
  1741. light.Shadows = true
  1742. light.Parent = hrp
  1743.  
  1744. dynLightEnabled = true
  1745.  
  1746. flashInput(dynLightInput, true)
  1747. notify("Dynamic Light", "Light: Range=" .. radius .. " Brightness=" .. brightness, 3)
  1748. else
  1749. flashInput(dynLightInput, false)
  1750. notify("Dynamic Light", "Format: radius, brightness (e.g. 30, 2)", 3)
  1751. dynLightInput.Text = ""
  1752. end
  1753. end)
  1754.  
  1755. -- Persist dynamic light on respawn
  1756. LocalPlayer.CharacterAdded:Connect(function(char)
  1757. if dynLightEnabled and dynLightInput.Text ~= "" then
  1758. task.wait(0.5)
  1759. local parts = string.split(dynLightInput.Text, ",")
  1760. local radius = tonumber(parts[1])
  1761. local brightness = tonumber(parts[2]) or 2
  1762. if radius then
  1763. local hrp = char:WaitForChild("HumanoidRootPart", 5)
  1764. if hrp then
  1765. local light = Instance.new("PointLight")
  1766. light.Name = "DynLight"
  1767. light.Range = math.clamp(radius, 1, 120)
  1768. light.Brightness = math.clamp(brightness, 0.1, 10)
  1769. light.Color = Color3.fromRGB(255, 255, 255)
  1770. light.Shadows = true
  1771. light.Parent = hrp
  1772. end
  1773. end
  1774. end
  1775. end)
  1776.  
  1777. -- =======================================
  1778. -- SEARCH FUNCTIONALITY
  1779. -- =======================================
  1780.  
  1781. local function getSearchableName(item)
  1782. local label = item:FindFirstChild("Label")
  1783. if label and label:IsA("TextLabel") then
  1784. return label.Text:lower()
  1785. end
  1786. local actionBtn = item:FindFirstChild("ActionButton")
  1787. if actionBtn and actionBtn:IsA("TextButton") then
  1788. return actionBtn.Text:lower()
  1789. end
  1790. return item.Name:lower()
  1791. end
  1792.  
  1793. SearchInput:GetPropertyChangedSignal("Text"):Connect(function()
  1794. local searchText = SearchInput.Text:lower()
  1795.  
  1796. for _, child in ipairs(Inside_ScrollingFrame:GetChildren()) do
  1797. if child:IsA("Frame") then
  1798. if searchText == "" then
  1799. if not child.Visible then
  1800. child.Visible = true
  1801. child.BackgroundTransparency = 0
  1802. end
  1803. else
  1804. local itemName = getSearchableName(child)
  1805. if string.find(itemName, searchText, 1, true) then
  1806. if not child.Visible then
  1807. child.Visible = true
  1808. child.BackgroundTransparency = 0
  1809. end
  1810. else
  1811. child.Visible = false
  1812. end
  1813. end
  1814. end
  1815. end
  1816. end)
  1817.  
  1818. -- =======================================
  1819. -- OPEN ANIMATION
  1820. -- =======================================
  1821.  
  1822. Main.Size = UDim2.new(0, 430, 0, 0)
  1823. Main.BackgroundTransparency = 1
  1824. Shadow.Size = UDim2.new(0, 435, 0, 0)
  1825. Shadow.BackgroundTransparency = 1
  1826.  
  1827. TweenService:Create(Main, TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
  1828. Size = UDim2.new(0, 430, 0, 470),
  1829. BackgroundTransparency = 0
  1830. }):Play()
  1831. TweenService:Create(Shadow, TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
  1832. Size = UDim2.new(0, 435, 0, 475),
  1833. BackgroundTransparency = 0.85
  1834. }):Play()
Advertisement
Add Comment
Please, Sign In to add comment