Advertisement
kooggy

torndooo

May 1st, 2022
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 55.54 KB | None | 0 0
  1. if game.PlaceId == 9300344892 then
  2.  
  3. getgenv().dark = true
  4.  
  5. getgenv().theme = {
  6. main = Color3.fromRGB(250, 250, 250),
  7. secondary = Color3.fromRGB(230, 230, 230),
  8. accent = Color3.fromRGB(69, 90, 220),
  9. accent2 = Color3.fromRGB(40, 40, 40)
  10. }
  11.  
  12. if dark then
  13. getgenv().theme = {
  14. main = Color3.fromRGB(32, 32, 32),
  15. secondary = Color3.fromRGB(44, 55, 158),
  16. accent = Color3.fromRGB(198, 198, 198),
  17. accent2 = Color3.fromRGB(65, 80, 211)
  18. }
  19. end
  20.  
  21. local services = setmetatable({}, {
  22. __index = function(index, service)
  23. return game:GetService(service)
  24. end,
  25. __newindex = function(index, value)
  26. index[value] = nil
  27. return
  28. end
  29. })
  30.  
  31. local players = services.Players
  32. local player = players.LocalPlayer
  33. local mouse = player:GetMouse()
  34.  
  35. local library = {
  36. flags = {};
  37. binds = {};
  38. objstorage = {};
  39. funcstorage = {};
  40. binding = false;
  41. tabinfo = {button = nil, tab = nil};
  42. destroyed = false;
  43. ui = nil,
  44. toggleui = function() end
  45. }
  46.  
  47. function library.destroy()
  48. library.ui:Destroy()
  49. library.destroyed = true
  50. end
  51.  
  52. local function isreallypressed(bind, inp)
  53. local key = bind
  54. if typeof(key) == "Instance" then
  55. if key.UserInputType == Enum.UserInputType.Keyboard and inp.KeyCode == key.KeyCode then
  56. return true;
  57. elseif tostring(key.UserInputType):find('MouseButton') and inp.UserInputType == key.UserInputType then
  58. return true
  59. end
  60. end
  61. if tostring(key):find'MouseButton1' then
  62. return key == inp.UserInputType
  63. else
  64. return key == inp.KeyCode
  65. end
  66. end
  67.  
  68. pcall(function()
  69. services.UserInputService.InputBegan:Connect(function(input, gp)
  70. if library.destroyed then return end
  71. if gp then else
  72. if (not library.binding) then
  73. for idx, binds in next, library.binds do
  74. local real_binding = binds.location[idx];
  75. if real_binding and isreallypressed(real_binding, input) then
  76. binds.callback()
  77. end
  78. end
  79. end
  80. end
  81. end)
  82. end)
  83.  
  84. local utils = {};
  85.  
  86. function utils:Tween(obj, t, data)
  87. services.TweenService:Create(obj, TweenInfo.new(t[1], Enum.EasingStyle[t[2]], Enum.EasingDirection[t[3]]), data):Play()
  88. return true
  89. end
  90.  
  91. function utils:HoverEffect(obj)
  92. Btn.MouseEnter:Connect(function()
  93. self:Tween(Btn, {0.15, 'Sine', 'InOut'}, {
  94. BackgroundTransparency = 0.3
  95. })
  96. end)
  97.  
  98. Btn.MouseLeave:Connect(function()
  99. self:Tween(Btn, {0.15, 'Sine', 'InOut'}, {
  100. BackgroundTransparency = 0
  101. })
  102. end)
  103. end
  104.  
  105. function utils:Ripple(obj)
  106. spawn(function()
  107. if obj.ClipsDescendants ~= true then
  108. obj.ClipsDescendants = true
  109. end
  110. local Ripple = Instance.new("ImageLabel")
  111. Ripple.Name = "Ripple"
  112. Ripple.Parent = obj
  113. Ripple.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  114. Ripple.BackgroundTransparency = 1.000
  115. Ripple.ZIndex = 8
  116. Ripple.Image = "rbxassetid://2708891598"
  117. Ripple.ImageTransparency = 0.800
  118. Ripple.ScaleType = Enum.ScaleType.Fit
  119. Ripple.ImageColor3 = theme.accent
  120. Ripple.Position = UDim2.new((mouse.X - Ripple.AbsolutePosition.X) / obj.AbsoluteSize.X, 0, (mouse.Y - Ripple.AbsolutePosition.Y) / obj.AbsoluteSize.Y, 0)
  121. self:Tween(Ripple, {.3, 'Linear', 'InOut'}, {Position = UDim2.new(-5.5, 0, -5.5, 0), Size = UDim2.new(12, 0, 12, 0)})
  122. wait(0.15)
  123. self:Tween(Ripple, {.3, 'Linear', 'InOut'}, {ImageTransparency = 1})
  124. wait(.3)
  125. Ripple:Destroy()
  126. end)
  127. end
  128.  
  129. function utils:Drag(frame, hold)
  130. if not hold then
  131. hold = frame
  132. end
  133. local dragging
  134. local dragInput
  135. local dragStart
  136. local startPos
  137.  
  138. local function update(input)
  139. local delta = input.Position - dragStart
  140. frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  141. end
  142.  
  143. hold.InputBegan:Connect(function(input)
  144. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  145. dragging = true
  146. dragStart = input.Position
  147. startPos = frame.Position
  148.  
  149. input.Changed:Connect(function()
  150. if input.UserInputState == Enum.UserInputState.End then
  151. dragging = false
  152. end
  153. end)
  154. end
  155. end)
  156.  
  157. frame.InputChanged:Connect(function(input)
  158. if input.UserInputType == Enum.UserInputType.MouseMovement then
  159. dragInput = input
  160. end
  161. end)
  162.  
  163. services.UserInputService.InputChanged:Connect(function(input)
  164. if input == dragInput and dragging then
  165. update(input)
  166. end
  167. end)
  168. end
  169.  
  170. local changingTab = false
  171. function utils:ChangeTab(newData)
  172. if changingTab then return end
  173. local btn, tab = newData[1], newData[2]
  174. if not btn or not tab then return end
  175. if library.tabinfo.button == btn then return end
  176. changingTab = true
  177. local oldbtn, oldtab = library.tabinfo.button, library.tabinfo.tab
  178. local oldicon, newicon = oldbtn.TabIcon, btn.TabIcon
  179. library.tabinfo = {button = btn, tab = tab}
  180. local container = tab.Parent
  181. if container.ClipsDescendants == false then container.ClipsDescendants = true end
  182. local beforeSize = container.Size
  183.  
  184. self:Tween(container, {0.3, 'Sine', 'InOut'}, {Size = UDim2.new(beforeSize.X.Scale, beforeSize.X.Offset, 0, 0)})
  185. self:Tween(oldbtn, {0.3, 'Sine', 'InOut'}, {TextColor3 = theme.accent2})
  186. self:Tween(oldicon, {0.3, 'Sine', 'InOut'}, {ImageColor3 = theme.accent2})
  187. wait(0.3)
  188. oldtab.Visible = false
  189. tab.Visible = true
  190. self:Tween(container, {0.3, 'Sine', 'InOut'}, {Size = beforeSize})
  191. self:Tween(btn, {0.3, 'Sine', 'InOut'}, {TextColor3 = theme.accent})
  192. self:Tween(newicon, {0.3, 'Sine', 'InOut'}, {ImageColor3 = theme.accent})
  193. wait(0.3)
  194. changingTab = false
  195. end
  196.  
  197. function library:UpdateSlider(flag, value, min, max)
  198. local slider = self.objstorage[flag]
  199. local bar = slider.SliderBar
  200. local box = slider.SliderValHolder.SliderVal
  201.  
  202. local percent = (mouse.X - bar.AbsolutePosition.X) / bar.AbsoluteSize.X
  203.  
  204. if value then
  205. percent = (value - min) / (max - min)
  206. end
  207.  
  208. percent = math.clamp(percent, 0, 1)
  209. value = value or math.floor(min + (max - min) * percent)
  210.  
  211. box.Text = tostring(value)
  212.  
  213. utils:Tween(bar.SliderFill, {0.05, 'Linear', 'InOut'}, {Size = UDim2.new(percent, 0, 1, 0)})
  214.  
  215. self.flags[flag] = tonumber(value)
  216.  
  217. self.funcstorage[flag](tonumber(value))
  218. end
  219.  
  220. function library:UpdateToggle(flag, value)
  221. if not library.objstorage[flag] then return end
  222. local oldval = library.flags[flag]
  223. local obj = library.objstorage[flag]
  224. local func = library.funcstorage[flag]
  225. if oldval == value then return end
  226. if not value then value = not oldval end
  227. library.flags[flag] = value
  228. local fill = obj.ToggleDisplay.ToggleDisplayFill
  229. local toggleoff = UDim2.new(0, 3, 0.5, 0)
  230. local toggleon = UDim2.new(0, 17, 0.5, 0)
  231. spawn(function()
  232. utils:Tween(fill, {0.15, 'Sine', 'InOut'}, {Size = UDim2.new(0, 24, 0, 16)})
  233. wait(.15)
  234. utils:Tween(fill, {0.15, 'Sine', 'InOut'}, {Size = UDim2.new(0, 24, 0, 20)})
  235. end)
  236. utils:Tween(fill, {0.3,'Sine', 'InOut'}, {Position = value and toggleon or toggleoff, BackgroundColor3 = value and theme.accent or theme.main})
  237. spawn(function()
  238. func(value)
  239. end)
  240. end
  241.  
  242. function library:Init(title)
  243. local Library = Instance.new("ScreenGui")
  244. local Main = Instance.new("Frame")
  245. local MainC = Instance.new("UICorner")
  246. local Top = Instance.new("Frame")
  247. local TopC = Instance.new("UICorner")
  248. local Title = Instance.new("TextLabel")
  249. local Side = Instance.new("Frame")
  250. local SideC = Instance.new("UICorner")
  251. local BtnHolder = Instance.new("ScrollingFrame")
  252. local BtnHolderL = Instance.new("UIListLayout")
  253. local BtnHolderP = Instance.new("UIPadding")
  254. local TabHolder = Instance.new("Frame")
  255. local TabHolderC = Instance.new("UICorner")
  256. if syn and syn.protect_gui then
  257. syn.protect_gui(Library)
  258. end
  259. Library.Name = services.HttpService:GenerateGUID()
  260. Library.Parent = (gethui and gethui()) or (get_hidden_gui and get_hidden_gui()) or services.CoreGui
  261. Library.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  262.  
  263. library.ui = Library
  264.  
  265. Main.Name = "Main"
  266. Main.Parent = Library
  267. Main.BackgroundColor3 = theme.secondary
  268. Main.BorderSizePixel = 0
  269. Main.Position = UDim2.new(0.297788322, 0, 0.0769230798, 0)
  270. Main.Size = UDim2.new(0, 609, 0, 505)
  271. Main.ClipsDescendants = true
  272. local toggled = true
  273. function library.toggleui()
  274. toggled = not toggled
  275. spawn(function()
  276. if toggled then wait(0.3) end
  277. end)
  278. utils:Tween(Main, {0.3, 'Sine', 'InOut'}, {
  279. Size = UDim2.new(0, 609, 0, (toggled and 505 or 0))
  280. })
  281. end
  282.  
  283. MainC.CornerRadius = UDim.new(0, 4)
  284. MainC.Name = "MainC"
  285. MainC.Parent = Main
  286.  
  287. Top.Name = "Top"
  288. Top.Parent = Main
  289. Top.BackgroundColor3 = theme.main
  290. Top.BorderSizePixel = 0
  291. Top.Position = UDim2.new(0, 6, 0, 6)
  292. Top.Size = UDim2.new(0, 597, 0, 46)
  293.  
  294. utils:Drag(Main, Top)
  295.  
  296. TopC.CornerRadius = UDim.new(0, 4)
  297. TopC.Name = "TopC"
  298. TopC.Parent = Top
  299.  
  300. Title.Name = "Title"
  301. Title.Parent = Top
  302. Title.BackgroundColor3 = theme.accent
  303. Title.BackgroundTransparency = 1.000
  304. Title.BorderSizePixel = 0
  305. Title.Position = UDim2.new(0.0234505869, 0, 0, 0)
  306. Title.Size = UDim2.new(0, 186, 0, 46)
  307. Title.Font = Enum.Font.GothamSemibold
  308. Title.Text = title
  309. Title.TextColor3 = theme.accent
  310. Title.TextSize = 16.000
  311. Title.TextXAlignment = Enum.TextXAlignment.Left
  312.  
  313. Side.Name = "Side"
  314. Side.Parent = Main
  315. Side.BackgroundColor3 = theme.main
  316. Side.BorderSizePixel = 0
  317. Side.Position = UDim2.new(0, 6, 0, 58)
  318. Side.Size = UDim2.new(0, 180, 0, 441)
  319.  
  320. SideC.CornerRadius = UDim.new(0, 4)
  321. SideC.Name = "SideC"
  322. SideC.Parent = Side
  323.  
  324. BtnHolder.Name = "BtnHolder"
  325. BtnHolder.Parent = Side
  326. BtnHolder.Active = true
  327. BtnHolder.BackgroundColor3 = theme.accent
  328. BtnHolder.BackgroundTransparency = 1.000
  329. BtnHolder.BorderSizePixel = 0
  330. BtnHolder.Size = UDim2.new(0, 180, 0, 441)
  331. BtnHolder.ScrollBarThickness = 2
  332.  
  333. BtnHolderL.Name = "BtnHolderL"
  334. BtnHolderL.Parent = BtnHolder
  335. BtnHolderL.HorizontalAlignment = Enum.HorizontalAlignment.Center
  336. BtnHolderL.SortOrder = Enum.SortOrder.LayoutOrder
  337. BtnHolderL.Padding = UDim.new(0, 4)
  338.  
  339. BtnHolderP.Name = "BtnHolderP"
  340. BtnHolderP.Parent = BtnHolder
  341. BtnHolderP.PaddingTop = UDim.new(0, 4)
  342.  
  343. TabHolder.Name = "TabHolder"
  344. TabHolder.Parent = Main
  345. TabHolder.BackgroundColor3 = theme.main
  346. TabHolder.BorderSizePixel = 0
  347. TabHolder.Position = UDim2.new(0, 192, 0, 58)
  348. TabHolder.Size = UDim2.new(0, 411, 0, 441)
  349.  
  350. TabHolderC.CornerRadius = UDim.new(0, 4)
  351. TabHolderC.Name = "TabHolderC"
  352. TabHolderC.Parent = TabHolder
  353.  
  354. BtnHolderL:GetPropertyChangedSignal('AbsoluteContentSize'):Connect(function()
  355. BtnHolder.CanvasSize = UDim2.new(0, 0, 0, BtnHolderL.AbsoluteContentSize.Y + 6) -- 1
  356. end)
  357.  
  358. local tabs = {}
  359. function tabs:Tab(tabName, icon)
  360. local TabOpen = Instance.new("TextButton")
  361. local TabOpenC = Instance.new("UICorner")
  362. local TabIcon = Instance.new("ImageLabel")
  363. local Tab = Instance.new("ScrollingFrame")
  364. local TabL = Instance.new("UIListLayout")
  365. local TabP = Instance.new("UIPadding")
  366.  
  367. TabOpen.Name = "TabOpen"
  368. TabOpen.Parent = BtnHolder
  369. TabOpen.BackgroundColor3 = theme.secondary
  370. TabOpen.BackgroundTransparency = 1.000
  371. TabOpen.BorderSizePixel = 0
  372. TabOpen.Position = UDim2.new(-0.00277777785, 0, 0.00907029491, 0)
  373. TabOpen.Size = UDim2.new(0, 164, 0, 30)
  374. TabOpen.AutoButtonColor = false
  375. TabOpen.Font = Enum.Font.GothamSemibold
  376. TabOpen.Text = (" %s"):format(tabName)
  377. TabOpen.TextColor3 = (library.tabinfo.button == nil and theme.accent) or theme.accent2
  378. TabOpen.TextSize = 14.000
  379. TabOpen.TextXAlignment = Enum.TextXAlignment.Left
  380.  
  381. TabOpenC.CornerRadius = UDim.new(0, 4)
  382. TabOpenC.Name = "TabOpenC"
  383. TabOpenC.Parent = TabOpen
  384.  
  385. TabIcon.Name = "TabIcon"
  386. TabIcon.Parent = TabOpen
  387. TabIcon.BackgroundTransparency = 1.000
  388. TabIcon.Position = UDim2.new(0, 0, 0.166666672, 0)
  389. TabIcon.Size = UDim2.new(0, 20, 0, 20)
  390. TabIcon.Image = ("rbxassetid://%s"):format((icon or 4370341699))
  391. TabIcon.ScaleType = Enum.ScaleType.Fit
  392. TabIcon.ImageColor3 = (library.tabinfo.button == nil and theme.accent) or theme.accent2
  393.  
  394. Tab.Name = "Tab"
  395. Tab.Parent = TabHolder
  396. Tab.Active = true
  397. Tab.BackgroundColor3 = theme.accent
  398. Tab.BackgroundTransparency = 1.000
  399. Tab.BorderSizePixel = 0
  400. Tab.Size = UDim2.new(0, 411, 0, 441)
  401. Tab.ScrollBarThickness = 2
  402. Tab.Visible = (library.tabinfo.button == nil)
  403.  
  404. TabL.Name = "TabL"
  405. TabL.Parent = Tab
  406. TabL.HorizontalAlignment = Enum.HorizontalAlignment.Center
  407. TabL.SortOrder = Enum.SortOrder.LayoutOrder
  408. TabL.Padding = UDim.new(0, 8)
  409.  
  410. TabP.Name = "TabP"
  411. TabP.Parent = Tab
  412. TabP.PaddingTop = UDim.new(0, 8)
  413.  
  414. if library.tabinfo.button == nil then
  415. library.tabinfo.button = TabOpen
  416. library.tabinfo.tab = Tab
  417. end
  418.  
  419. TabOpen.MouseButton1Click:Connect(function()
  420. spawn(function()
  421. utils:Ripple(TabOpen)
  422. end)
  423. utils:ChangeTab({TabOpen, Tab})
  424. end)
  425.  
  426. TabL:GetPropertyChangedSignal('AbsoluteContentSize'):Connect(function()
  427. Tab.CanvasSize = UDim2.new(0, 0, 0, TabL.AbsoluteContentSize.Y + 16)
  428. end)
  429.  
  430. local sections = {}
  431.  
  432. function sections:Section(name)
  433. local Section = Instance.new("Frame")
  434. local SectionC = Instance.new("UICorner")
  435. local SectionP = Instance.new("UIPadding")
  436. local SectionL = Instance.new("UIListLayout")
  437. local SectionTitle = Instance.new("TextLabel")
  438.  
  439. Section.Name = "Section"
  440. Section.Parent = Tab
  441. Section.BackgroundColor3 = theme.secondary
  442. Section.BorderSizePixel = 0
  443. Section.Position = UDim2.new(0.0231143553, 0, -0.981859386, 0)
  444. Section.Size = UDim2.new(0, 392, 0, 568)
  445.  
  446. SectionC.CornerRadius = UDim.new(0, 4)
  447. SectionC.Name = "SectionC"
  448. SectionC.Parent = Section
  449.  
  450. SectionP.Name = "SectionP"
  451. SectionP.Parent = Section
  452. SectionP.PaddingTop = UDim.new(0, 8)
  453.  
  454. SectionL.Name = "SectionL"
  455. SectionL.Parent = Section
  456. SectionL.HorizontalAlignment = Enum.HorizontalAlignment.Center
  457. SectionL.SortOrder = Enum.SortOrder.LayoutOrder
  458. SectionL.Padding = UDim.new(0, 8)
  459.  
  460. SectionTitle.Name = "SectionTitle"
  461. SectionTitle.Parent = Section
  462. SectionTitle.BackgroundColor3 = theme.accent
  463. SectionTitle.BackgroundTransparency = 1.000
  464. SectionTitle.BorderSizePixel = 0
  465. SectionTitle.Position = UDim2.new(0.00255102036, 0, 0.0355555564, 0)
  466. SectionTitle.Size = UDim2.new(0, 390, 0, 18)
  467. SectionTitle.Font = Enum.Font.GothamSemibold
  468. SectionTitle.Text = (" %s"):format(name)
  469. SectionTitle.TextColor3 = theme.accent
  470. SectionTitle.TextSize = 14.000
  471. SectionTitle.TextXAlignment = Enum.TextXAlignment.Left
  472.  
  473. SectionL:GetPropertyChangedSignal('AbsoluteContentSize'):Connect(function()
  474. Section.Size = UDim2.new(0, 392, 0, SectionL.AbsoluteContentSize.Y + 13)
  475. end)
  476.  
  477. local modules = {}
  478.  
  479. function modules:Button(text, callback)
  480. assert(text, 'text is a required arg')
  481. local callback = callback or function() end
  482.  
  483. local Btn = Instance.new("TextButton")
  484. local BtnC = Instance.new("UICorner")
  485.  
  486. Btn.Name = "Btn"
  487. Btn.Parent = Section
  488. Btn.BackgroundColor3 = theme.main
  489. Btn.BorderSizePixel = 0
  490. Btn.Position = UDim2.new(-0.00382653065, 0, 0.568888903, 0)
  491. Btn.Size = UDim2.new(0, 382, 0, 42)
  492. Btn.AutoButtonColor = false
  493. Btn.Font = Enum.Font.GothamSemibold
  494. Btn.Text = (" %s"):format(text)
  495. Btn.TextColor3 = theme.accent
  496. Btn.TextSize = 14.000
  497. Btn.TextXAlignment = Enum.TextXAlignment.Left
  498.  
  499. BtnC.CornerRadius = UDim.new(0, 4)
  500. BtnC.Name = "BtnC"
  501. BtnC.Parent = Btn
  502.  
  503. Btn.MouseButton1Click:Connect(function()
  504. spawn(function()
  505. utils:Ripple(Btn)
  506. end)
  507. spawn(callback)
  508. end)
  509. end
  510.  
  511. function modules:Label(text)
  512. local Label = Instance.new("TextLabel")
  513. local LabelC = Instance.new("UICorner")
  514.  
  515. Label.Name = "Label"
  516. Label.Parent = Section
  517. Label.BackgroundColor3 = theme.main
  518. Label.BackgroundTransparency = 0
  519. Label.BorderSizePixel = 0
  520. Label.Position = UDim2.new(0.00255102036, 0, 0.0355555564, 0)
  521. Label.Size = UDim2.new(0, 382, 0, 26)
  522. Label.Font = Enum.Font.GothamSemibold
  523. Label.TextColor3 = theme.accent
  524. Label.TextSize = 14.000
  525. Label.Text = text
  526.  
  527. LabelC.Name = "LabelC"
  528. LabelC.Parent = Label
  529. LabelC.CornerRadius = UDim.new(0, 4)
  530. return Label
  531. end
  532.  
  533. function modules:Toggle(text, flag, enabled, callback)
  534. assert(text, 'text is a required arg')
  535. assert(flag, 'flag is a required arg')
  536.  
  537. local enabled = enabled or false
  538. local callback = callback or function() end
  539.  
  540. local Toggle = Instance.new("TextButton")
  541. local ToggleC = Instance.new("UICorner")
  542. local ToggleDisplay = Instance.new("Frame")
  543. local ToggleDisplayC = Instance.new("UICorner")
  544. local ToggleDisplayFill = Instance.new("Frame")
  545. local ToggleDisplayFillC = Instance.new("UICorner")
  546.  
  547. Toggle.Name = "Toggle"
  548. Toggle.Parent = Section
  549. Toggle.BackgroundColor3 = theme.main
  550. Toggle.BorderSizePixel = 0
  551. Toggle.Position = UDim2.new(-0.00382653065, 0, 0.346666664, 0)
  552. Toggle.Size = UDim2.new(0, 382, 0, 42)
  553. Toggle.AutoButtonColor = false
  554. Toggle.Font = Enum.Font.GothamSemibold
  555. Toggle.Text = (" %s"):format(text)
  556. Toggle.TextColor3 = theme.accent
  557. Toggle.TextSize = 14.000
  558. Toggle.TextXAlignment = Enum.TextXAlignment.Left
  559.  
  560. ToggleC.CornerRadius = UDim.new(0, 4)
  561. ToggleC.Name = "ToggleC"
  562. ToggleC.Parent = Toggle
  563.  
  564. ToggleDisplay.Name = "ToggleDisplay"
  565. ToggleDisplay.Parent = Toggle
  566. ToggleDisplay.BackgroundColor3 = theme.secondary
  567. ToggleDisplay.BorderSizePixel = 0
  568. ToggleDisplay.Position = UDim2.new(0.846311867, 0, 0.190476194, 0)
  569. ToggleDisplay.Size = UDim2.new(0, 45, 0, 26)
  570.  
  571. ToggleDisplayC.CornerRadius = UDim.new(0, 4)
  572. ToggleDisplayC.Name = "ToggleDisplayC"
  573. ToggleDisplayC.Parent = ToggleDisplay
  574.  
  575. ToggleDisplayFill.Name = "ToggleDisplayFill"
  576. ToggleDisplayFill.Parent = ToggleDisplay
  577. ToggleDisplayFill.AnchorPoint = Vector2.new(0, 0.5)
  578. ToggleDisplayFill.BackgroundColor3 = theme.main
  579. ToggleDisplayFill.BorderSizePixel = 0
  580. ToggleDisplayFill.Position = UDim2.new(0, 3, 0.5, 0)
  581. ToggleDisplayFill.Size = UDim2.new(0, 24, 0, 20)
  582.  
  583. ToggleDisplayFillC.CornerRadius = UDim.new(0, 4)
  584. ToggleDisplayFillC.Name = "ToggleDisplayFillC"
  585. ToggleDisplayFillC.Parent = ToggleDisplayFill
  586.  
  587. library.flags[flag] = false
  588. library.funcstorage[flag] = callback
  589. library.objstorage[flag] = Toggle
  590.  
  591. if enabled ~= false then
  592. library:UpdateToggle(flag, true)
  593. end
  594.  
  595. ToggleDisplay.InputBegan:Connect(function(inp)
  596. if inp.UserInputType == Enum.UserInputType.MouseButton1 then
  597. library:UpdateToggle(flag)
  598. end
  599. end)
  600. end
  601.  
  602. function modules:Textbox(text, flag, default, callback)
  603. assert(text, 'text is a required arg')
  604. assert(flag, 'flag is a required arg')
  605.  
  606. local default = default or ''
  607. local callback = callback or function() end
  608.  
  609. library.flags[flag] = default
  610.  
  611. local Textbox = Instance.new("TextButton")
  612. local TextboxC = Instance.new("UICorner")
  613. local TextboxValHolder = Instance.new("Frame")
  614. local TextboxValHolderL = Instance.new("UIListLayout")
  615. local TextInp = Instance.new("TextBox")
  616. local TextInpC = Instance.new("UICorner")
  617.  
  618. Textbox.Name = "Textbox"
  619. Textbox.Parent = Section
  620. Textbox.BackgroundColor3 = theme.main
  621. Textbox.BorderSizePixel = 0
  622. Textbox.Position = UDim2.new(-0.0382653065, 0, 0.903660059, 0)
  623. Textbox.Size = UDim2.new(0, 382, 0, 42)
  624. Textbox.AutoButtonColor = false
  625. Textbox.Font = Enum.Font.GothamSemibold
  626. Textbox.Text = (" %s"):format(text)
  627. Textbox.TextColor3 = theme.accent
  628. Textbox.TextSize = 14.000
  629. Textbox.TextXAlignment = Enum.TextXAlignment.Left
  630.  
  631. TextboxC.CornerRadius = UDim.new(0, 4)
  632. TextboxC.Name = "TextboxC"
  633. TextboxC.Parent = Textbox
  634.  
  635. TextboxValHolder.Name = "TextboxValHolder"
  636. TextboxValHolder.Parent = Textbox
  637. TextboxValHolder.BackgroundColor3 = theme.accent
  638. TextboxValHolder.BackgroundTransparency = 1.000
  639. TextboxValHolder.BorderSizePixel = 0
  640. TextboxValHolder.Position = UDim2.new(0.746835411, 0, 0, 0)
  641. TextboxValHolder.Size = UDim2.new(0, 84, 0, 42)
  642.  
  643. TextboxValHolderL.Name = "TextboxValHolderL"
  644. TextboxValHolderL.Parent = TextboxValHolder
  645. TextboxValHolderL.FillDirection = Enum.FillDirection.Horizontal
  646. TextboxValHolderL.HorizontalAlignment = Enum.HorizontalAlignment.Right
  647. TextboxValHolderL.SortOrder = Enum.SortOrder.LayoutOrder
  648. TextboxValHolderL.VerticalAlignment = Enum.VerticalAlignment.Center
  649.  
  650. TextInp.Name = "TextInp"
  651. TextInp.Parent = TextboxValHolder
  652. TextInp.BackgroundColor3 = theme.secondary
  653. TextInp.BorderSizePixel = 0
  654. TextInp.Position = UDim2.new(-0.190476194, 0, 0.190476194, 0)
  655. TextInp.Size = UDim2.new(0, 100, 0, 26)
  656. TextInp.Font = Enum.Font.Gotham
  657. TextInp.Text = default
  658. TextInp.TextColor3 = theme.accent
  659. TextInp.TextSize = 14.000
  660.  
  661. TextInp.Size = UDim2.new(0, TextInp.TextBounds.X + 14, 0, 26)
  662.  
  663. TextInpC.CornerRadius = UDim.new(0, 4)
  664. TextInpC.Name = "TextInpC"
  665. TextInpC.Parent = TextInp
  666.  
  667. TextInp.FocusLost:Connect(function()
  668. if TextInp.Text == "" then
  669. TextInp.Text = library.flags[flag]
  670. end
  671. library.flags[flag] = TextInp.Text
  672. callback(TextInp.Text)
  673. end)
  674.  
  675. TextInp:GetPropertyChangedSignal('TextBounds'):Connect(function()
  676. utils:Tween(TextInp, {0.1, 'Linear', 'InOut'}, {
  677. Size = UDim2.new(0, TextInp.TextBounds.X + 14, 0, 26)
  678. })
  679. end)
  680. end
  681.  
  682. function modules:Slider(text, flag, default, min, max, callback)
  683. assert(text, 'text is a required arg')
  684. assert(flag, 'flag is a required arg')
  685. assert(default, 'default is a required arg')
  686. assert(min, 'min is a required arg')
  687. assert(max, 'min is a required arg')
  688.  
  689. local value = default or min
  690. library.flags[flag] = value
  691.  
  692. local callback = callback or function() end
  693.  
  694. local Slider = Instance.new("TextButton")
  695. local SliderC = Instance.new("UICorner")
  696. local SliderText = Instance.new("TextLabel")
  697. local SliderBar = Instance.new("Frame")
  698. local SliderBarC = Instance.new("UICorner")
  699. local SliderFill = Instance.new("Frame")
  700. local SliderFillC = Instance.new("UICorner")
  701. local SliderValHolder = Instance.new("Frame")
  702. local SliderValHolderL = Instance.new("UIListLayout")
  703. local SliderVal = Instance.new("TextBox")
  704. local SliderValC = Instance.new("UICorner")
  705.  
  706. Slider.Name = "Slider"
  707. Slider.Parent = Section
  708. Slider.BackgroundColor3 = theme.main
  709. Slider.BorderSizePixel = 0
  710. Slider.Position = UDim2.new(-0.00382653065, 0, 0.0355555564, 0)
  711. Slider.Size = UDim2.new(0, 382, 0, 62)
  712. Slider.AutoButtonColor = false
  713. Slider.Font = Enum.Font.GothamSemibold
  714. Slider.Text = ""
  715. Slider.TextColor3 = theme.accent
  716. Slider.TextSize = 14.000
  717. Slider.TextXAlignment = Enum.TextXAlignment.Left
  718.  
  719. library.objstorage[flag] = Slider
  720. library.funcstorage[flag] = callback
  721.  
  722. SliderC.CornerRadius = UDim.new(0, 4)
  723. SliderC.Name = "SliderC"
  724. SliderC.Parent = Slider
  725.  
  726. SliderText.Name = "SliderText"
  727. SliderText.Parent = Slider
  728. SliderText.BackgroundColor3 = theme.accent
  729. SliderText.BackgroundTransparency = 1.000
  730. SliderText.BorderSizePixel = 0
  731. SliderText.Size = UDim2.new(0, 200, 0, 42)
  732. SliderText.Font = Enum.Font.GothamSemibold
  733. SliderText.Text = (" %s"):format(text)
  734. SliderText.TextColor3 = theme.accent
  735. SliderText.TextSize = 14.000
  736. SliderText.TextXAlignment = Enum.TextXAlignment.Left
  737.  
  738. SliderBar.Name = "SliderBar"
  739. SliderBar.Parent = Slider
  740. SliderBar.BackgroundColor3 = theme.secondary
  741. SliderBar.BorderSizePixel = 0
  742. SliderBar.Position = UDim2.new(0, 9, 0, 42)
  743. SliderBar.Size = UDim2.new(0, 363, 0, 10)
  744.  
  745. SliderBarC.CornerRadius = UDim.new(0, 4)
  746. SliderBarC.Name = "SliderBarC"
  747. SliderBarC.Parent = SliderBar
  748.  
  749. SliderFill.Name = "SliderFill"
  750. SliderFill.Parent = SliderBar
  751. SliderFill.BackgroundColor3 = theme.accent
  752. SliderFill.BorderSizePixel = 0
  753. SliderFill.Size = UDim2.new(0, 0, 0, 10)
  754.  
  755. SliderFillC.CornerRadius = UDim.new(0, 4)
  756. SliderFillC.Name = "SliderFillC"
  757. SliderFillC.Parent = SliderFill
  758.  
  759. SliderValHolder.Name = "SliderValHolder"
  760. SliderValHolder.Parent = Slider
  761. SliderValHolder.BackgroundColor3 = theme.accent
  762. SliderValHolder.BackgroundTransparency = 1.000
  763. SliderValHolder.BorderSizePixel = 0
  764. SliderValHolder.Position = UDim2.new(0.746835411, 0, 0, 0)
  765. SliderValHolder.Size = UDim2.new(0, 84, 0, 42)
  766.  
  767. SliderValHolderL.Name = "SliderValHolderL"
  768. SliderValHolderL.Parent = SliderValHolder
  769. SliderValHolderL.FillDirection = Enum.FillDirection.Horizontal
  770. SliderValHolderL.HorizontalAlignment = Enum.HorizontalAlignment.Right
  771. SliderValHolderL.SortOrder = Enum.SortOrder.LayoutOrder
  772. SliderValHolderL.VerticalAlignment = Enum.VerticalAlignment.Center
  773.  
  774. SliderVal.Name = "SliderVal"
  775. SliderVal.Parent = SliderValHolder
  776. SliderVal.BackgroundColor3 = theme.secondary
  777. SliderVal.BorderSizePixel = 0
  778. SliderVal.Position = UDim2.new(0.452380955, 0, 0.142857149, 0)
  779. SliderVal.Size = UDim2.new(0, 46, 0, 26)
  780. SliderVal.Font = Enum.Font.Gotham
  781. SliderVal.Text = value
  782. SliderVal.TextColor3 = theme.accent
  783. SliderVal.TextSize = 14.000
  784.  
  785. SliderValC.CornerRadius = UDim.new(0, 4)
  786. SliderValC.Name = "SliderValC"
  787. SliderValC.Parent = SliderVal
  788.  
  789. SliderVal.Size = UDim2.new(0, SliderVal.TextBounds.X + 14, 0, 26)
  790.  
  791. SliderVal:GetPropertyChangedSignal('TextBounds'):Connect(function()
  792. utils:Tween(SliderVal, {0.1, 'Linear', 'InOut'}, {
  793. Size = UDim2.new(0, SliderVal.TextBounds.X + 14, 0, 26)
  794. })
  795. end)
  796.  
  797. library:UpdateSlider(flag, value, min, max)
  798. local dragging = false
  799.  
  800. SliderBar.InputBegan:Connect(function(input)
  801. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  802. library:UpdateSlider(flag, nil, min, max)
  803. dragging = true
  804. end
  805. end)
  806.  
  807. SliderBar.InputEnded:Connect(function(input)
  808. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  809. dragging = false
  810. end
  811. end)
  812.  
  813. services.UserInputService.InputChanged:Connect(function(input)
  814. if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
  815. library:UpdateSlider(flag, nil, min, max)
  816. end
  817. end)
  818.  
  819. local boxFocused = false
  820. local allowed = {
  821. [""] = true,
  822. ["-"] = true
  823. }
  824.  
  825. SliderVal.Focused:Connect(function()
  826. boxFocused = true
  827. end)
  828.  
  829. SliderVal.FocusLost:Connect(function()
  830. boxFocused = false
  831. if not tonumber(SliderVal.Text) then
  832. library:UpdateSlider(flag, default or min, min, max)
  833. end
  834. end)
  835.  
  836. SliderVal:GetPropertyChangedSignal('Text'):Connect(function()
  837. if not boxFocused then return end
  838. SliderVal.Text = SliderVal.Text:gsub('%D+', '')
  839. local text = SliderVal.Text
  840.  
  841. if not tonumber(text) then
  842. SliderVal.Text = SliderVal.Text:gsub('%D+', '')
  843. elseif not allowed[text] then
  844. if tonumber(text) > max then
  845. text = max
  846. SliderVal.Text = tostring(max)
  847. end
  848. library:UpdateSlider(flag, tonumber(text) or value, min, max)
  849. end
  850. end)
  851. end
  852.  
  853. function modules:Keybind(text, flag, default, callback)
  854. assert(text, 'text is a required arg')
  855. assert(flag, 'flag is a required arg')
  856. assert(default, 'default is a required arg')
  857.  
  858. local callback = callback or function() end
  859.  
  860. local banned = {
  861. Return = true;
  862. Space = true;
  863. Tab = true;
  864. Unknown = true;
  865. }
  866.  
  867. local shortNames = {
  868. RightControl = 'Right Ctrl',
  869. LeftControl = 'Left Ctrl',
  870. LeftShift = 'Left Shift',
  871. RightShift = 'Right Shift',
  872. Semicolon = ";",
  873. Quote = '"',
  874. LeftBracket = '[',
  875. RightBracket = ']',
  876. Equals = '=',
  877. Minus = '-',
  878. RightAlt = 'Right Alt',
  879. LeftAlt = 'Left Alt'
  880. }
  881.  
  882. local allowed = {
  883. MouseButton1 = false,
  884. MouseButton2 = false
  885. }
  886.  
  887. local nm = (default and (shortNames[default.Name] or default.Name) or "None")
  888. library.flags[flag] = default or "None"
  889.  
  890. local Keybind = Instance.new("TextButton")
  891. local KeybindC = Instance.new("UICorner")
  892. local KeybindHolder = Instance.new("Frame")
  893. local KeybindHolderL = Instance.new("UIListLayout")
  894. local KeybindVal = Instance.new("TextButton")
  895. local KeybindValC = Instance.new("UICorner")
  896.  
  897. Keybind.Name = "Keybind"
  898. Keybind.Parent = Section
  899. Keybind.BackgroundColor3 = theme.main
  900. Keybind.BorderSizePixel = 0
  901. Keybind.Position = UDim2.new(-0.00382653065, 0, 0.346666664, 0)
  902. Keybind.Size = UDim2.new(0, 382, 0, 42)
  903. Keybind.AutoButtonColor = false
  904. Keybind.Font = Enum.Font.GothamSemibold
  905. Keybind.Text = (" %s"):format(text)
  906. Keybind.TextColor3 = theme.accent
  907. Keybind.TextSize = 14.000
  908. Keybind.TextXAlignment = Enum.TextXAlignment.Left
  909.  
  910. KeybindC.CornerRadius = UDim.new(0, 4)
  911. KeybindC.Name = "KeybindC"
  912. KeybindC.Parent = Keybind
  913.  
  914. KeybindHolder.Name = "SliderValHolder"
  915. KeybindHolder.Parent = Keybind
  916. KeybindHolder.BackgroundColor3 = theme.accent
  917. KeybindHolder.BackgroundTransparency = 1.000
  918. KeybindHolder.BorderSizePixel = 0
  919. KeybindHolder.Position = UDim2.new(0.746835411, 0, 0, 0)
  920. KeybindHolder.Size = UDim2.new(0, 84, 0, 42)
  921.  
  922. KeybindHolderL.Name = "SliderValHolderL"
  923. KeybindHolderL.Parent = KeybindHolder
  924. KeybindHolderL.FillDirection = Enum.FillDirection.Horizontal
  925. KeybindHolderL.HorizontalAlignment = Enum.HorizontalAlignment.Right
  926. KeybindHolderL.SortOrder = Enum.SortOrder.LayoutOrder
  927. KeybindHolderL.VerticalAlignment = Enum.VerticalAlignment.Center
  928.  
  929. KeybindVal.Parent = KeybindHolder
  930. KeybindVal.BackgroundColor3 = theme.secondary
  931. KeybindVal.BorderSizePixel = 0
  932. KeybindVal.Position = UDim2.new(0.357142866, 0, 0.190476194, 0)
  933. KeybindVal.Size = UDim2.new(0, 0, 0, 26)
  934. KeybindVal.AutoButtonColor = false
  935. KeybindVal.Font = Enum.Font.Gotham
  936. KeybindVal.Text = nm
  937. KeybindVal.TextColor3 = theme.accent
  938. KeybindVal.TextSize = 14.000
  939.  
  940. KeybindValC.CornerRadius = UDim.new(0, 4)
  941. KeybindValC.Name = "SliderValC"
  942. KeybindValC.Parent = Bind
  943.  
  944. KeybindVal.Size = UDim2.new(0, KeybindVal.TextBounds.X + 14, 0, 26)
  945.  
  946. KeybindVal:GetPropertyChangedSignal('TextBounds'):Connect(function()
  947. utils:Tween(KeybindVal, {0.1, 'Linear', 'InOut'}, {
  948. Size = UDim2.new(0, KeybindVal.TextBounds.X + 14, 0, 26)
  949. })
  950. end)
  951.  
  952. KeybindVal.MouseButton1Click:Connect(function()
  953. library.binding = true
  954. KeybindVal.Text = "..."
  955. local a, b = services.UserInputService.InputBegan:wait()
  956. local name = tostring(a.KeyCode.Name)
  957. local typeName = tostring(a.UserInputType.Name)
  958. if (a.UserInputType ~= Enum.UserInputType.Keyboard and (allowed[a.UserInputType.Name]) and (not data.KbOnly)) or (a.KeyCode and (not banned[a.KeyCode.Name])) then
  959. local name = (a.UserInputType ~= Enum.UserInputType.Keyboard and a.UserInputType.Name or a.KeyCode.Name)
  960. library.flags[flag] = (a)
  961. KeybindVal.Text = shortNames[name] or name
  962. else
  963. if (library.flags[flag]) then
  964. if (not pcall(function()
  965. return library.flags[flag].UserInputType
  966. end)) then
  967. local name = tostring(library.flags[flag])
  968. KeybindVal.Text = shortNames[name] or name
  969. else
  970. local name = (library.flags[flag].UserInputType ~= Enum.UserInputType.Keyboard and library.flags[flag].UserInputType.Name or library.flags[flag].KeyCode.Name)
  971. KeybindVal.Text = shortNames[name] or name
  972. end
  973. end
  974. end
  975. wait(0.1)
  976. library.binding = false
  977. end)
  978. if library.flags[flag] then
  979. KeybindVal.Text = shortNames[tostring(library.flags[flag].Name)] or tostring(library.flags[flag].Name)
  980. end
  981. library.binds[flag] = {
  982. location = library.flags,
  983. callback = function()
  984. callback()
  985. end
  986. }
  987. end
  988.  
  989. function modules:Dropdown(text, flag, options, callback)
  990. assert(text, 'text is a required arg')
  991. assert(flag, 'flag is a required arg')
  992. assert(options, 'options is a required arg')
  993.  
  994. if type(options) ~= 'table' then
  995. options = {'No Options Found'}
  996. end
  997. if #options < 1 then
  998. options = {'No Options Found'}
  999. end
  1000.  
  1001. local optionStorage = {}
  1002. local callback = callback or function() end
  1003. library.flags[flag] = options[1]
  1004.  
  1005. local DropdownTop = Instance.new("TextButton")
  1006. local DropdownTopC = Instance.new("UICorner")
  1007. local Back = Instance.new("ImageLabel")
  1008. local DropdownBottom = Instance.new("TextButton")
  1009. local DropdownBottomC = Instance.new("UICorner")
  1010. local DropdownObjects = Instance.new("ScrollingFrame")
  1011. local DropdownObjectsList = Instance.new("UIListLayout")
  1012. local DropdownObjectsPadding = Instance.new("UIPadding")
  1013.  
  1014. DropdownTop.Name = "DropdownTop"
  1015. DropdownTop.Parent = Section
  1016. DropdownTop.BackgroundColor3 = theme.main
  1017. DropdownTop.BorderSizePixel = 0
  1018. DropdownTop.Position = UDim2.new(-0.00382653065, 0, 0.346666664, 0)
  1019. DropdownTop.Size = UDim2.new(0, 382, 0, 42)
  1020. DropdownTop.AutoButtonColor = false
  1021. DropdownTop.Font = Enum.Font.GothamSemibold
  1022. DropdownTop.Text = (" %s"):format(library.flags[flag])
  1023. DropdownTop.TextColor3 = theme.accent
  1024. DropdownTop.TextSize = 14.000
  1025. DropdownTop.TextXAlignment = Enum.TextXAlignment.Left
  1026.  
  1027. DropdownTopC.CornerRadius = UDim.new(0, 4)
  1028. DropdownTopC.Name = "DropdownTopC"
  1029. DropdownTopC.Parent = DropdownTop
  1030.  
  1031. Back.Name = "Back"
  1032. Back.Parent = DropdownTop
  1033. Back.BackgroundTransparency = 1.000
  1034. Back.Position = UDim2.new(0.887434542, 0, 0.142857149, 0)
  1035. Back.Rotation = -90.000
  1036. Back.Size = UDim2.new(0, 30, 0, 30)
  1037. Back.Image = "rbxassetid://4370337241"
  1038. Back.ScaleType = Enum.ScaleType.Fit
  1039. Back.ImageColor3 = theme.accent
  1040.  
  1041. DropdownBottom.Name = "DropdownBottom"
  1042. DropdownBottom.Parent = Section
  1043. DropdownBottom.BackgroundColor3 = theme.main
  1044. DropdownBottom.BorderSizePixel = 0
  1045. DropdownBottom.Position = UDim2.new(0.0127551025, 0, 0.616632879, 0)
  1046. DropdownBottom.Size = UDim2.new(0, 382, 0, 0)
  1047. DropdownBottom.AutoButtonColor = false
  1048. DropdownBottom.Font = Enum.Font.GothamSemibold
  1049. DropdownBottom.Text = ""
  1050. DropdownBottom.TextColor3 = theme.accent
  1051. DropdownBottom.TextSize = 14.000
  1052. DropdownBottom.TextXAlignment = Enum.TextXAlignment.Left
  1053. DropdownBottom.Visible = false
  1054.  
  1055. DropdownBottomC.CornerRadius = UDim.new(0, 4)
  1056. DropdownBottomC.Name = "DropdownBottomC"
  1057. DropdownBottomC.Parent = DropdownBottom
  1058.  
  1059. DropdownObjects.Name = "DropdownObjects"
  1060. DropdownObjects.Parent = DropdownBottom
  1061. DropdownObjects.Active = true
  1062. DropdownObjects.BackgroundColor3 = theme.accent
  1063. DropdownObjects.BackgroundTransparency = 1.000
  1064. DropdownObjects.BorderSizePixel = 0
  1065. DropdownObjects.Size = UDim2.new(1, 0, 1, 0)
  1066. DropdownObjects.ScrollBarThickness = 2
  1067.  
  1068. DropdownObjectsList.Name = "DropdownObjectsList"
  1069. DropdownObjectsList.Parent = DropdownObjects
  1070. DropdownObjectsList.HorizontalAlignment = Enum.HorizontalAlignment.Center
  1071. DropdownObjectsList.SortOrder = Enum.SortOrder.LayoutOrder
  1072. DropdownObjectsList.Padding = UDim.new(0, 4)
  1073.  
  1074. DropdownObjectsPadding.Name = "DropdownObjectsPadding"
  1075. DropdownObjectsPadding.Parent = DropdownObjects
  1076. DropdownObjectsPadding.PaddingTop = UDim.new(0, 4)
  1077.  
  1078. DropdownObjectsList:GetPropertyChangedSignal('AbsoluteContentSize'):Connect(function()
  1079. DropdownObjects.CanvasSize = UDim2.new(0, 0, 0, DropdownObjectsList.AbsoluteContentSize.Y + 7)
  1080. end)
  1081.  
  1082. local isOpen = false
  1083. local function toggleDropdown()
  1084. isOpen = not isOpen
  1085. if not isOpen then
  1086. spawn(function()
  1087. wait(.3)
  1088. DropdownBottom.Visible = false
  1089. end)
  1090. else
  1091. DropdownBottom.Visible = true
  1092. end
  1093. local openTo = 183
  1094. if DropdownObjectsList.AbsoluteContentSize.Y < openTo then
  1095. openTo = DropdownObjectsList.AbsoluteContentSize.Y
  1096. end
  1097. DropdownTop.Text = (' %s'):format(isOpen and text or library.flags[flag])
  1098. utils:Tween(Back, {0.3, 'Sine', 'InOut'}, {
  1099. Rotation = (isOpen and 90) or -90
  1100. })
  1101. utils:Tween(DropdownBottom, {0.3, 'Sine', 'InOut'}, {
  1102. Size = UDim2.new(0, 382, 0, isOpen and openTo + 3 or 0)
  1103. })
  1104. end
  1105.  
  1106. DropdownObjectsList:GetPropertyChangedSignal('AbsoluteContentSize'):Connect(function()
  1107. if not isOpen then return end
  1108. local openTo = 183
  1109. if DropdownObjectsList.AbsoluteContentSize.Y < openTo then
  1110. openTo = DropdownObjectsList.AbsoluteContentSize.Y
  1111. end
  1112. DropdownTop.Text = (' %s'):format(isOpen and text or library.flags[flag])
  1113. utils:Tween(Back, {0.3, 'Sine', 'InOut'}, {
  1114. Rotation = (isOpen and 90) or -90
  1115. })
  1116. utils:Tween(DropdownBottom, {0.3, 'Sine', 'InOut'}, {
  1117. Size = UDim2.new(0, 382, 0, isOpen and openTo + 3 or 0)
  1118. })
  1119. end)
  1120.  
  1121. Back.InputEnded:Connect(function(inp)
  1122. if inp.UserInputType == Enum.UserInputType.MouseButton1 then
  1123. toggleDropdown()
  1124. end
  1125. end)
  1126.  
  1127. local cnt = 0
  1128. local selectedOption = nil
  1129. for _, v in pairs(options) do
  1130. cnt = cnt + 1
  1131. local Option = Instance.new("TextButton")
  1132. table.insert(optionStorage, Option)
  1133. if cnt == 1 then selectedOption = Option end
  1134.  
  1135. Option.Name = "Option"
  1136. Option.Parent = DropdownObjects
  1137. Option.BackgroundColor3 = theme.secondary
  1138. Option.BackgroundTransparency = 1.000
  1139. Option.BorderSizePixel = 0
  1140. Option.Position = UDim2.new(0.285340309, 0, 0.0218579229, 0)
  1141. Option.Size = UDim2.new(0, 372, 0, 26)
  1142. Option.AutoButtonColor = false
  1143. Option.Font = Enum.Font.GothamSemibold
  1144. Option.Text = v
  1145. Option.TextColor3 = (Option == selectedOption and theme.accent) or theme.accent2
  1146. Option.TextSize = 14.000
  1147.  
  1148. Option.MouseButton1Click:Connect(function()
  1149. if Option ~= selectedOption then
  1150. selectedOption.TextColor3 = theme.accent2
  1151. Option.TextColor3 = theme.accent
  1152. selectedOption = Option
  1153. end
  1154. library.flags[flag] = v
  1155. spawn(toggleDropdown)
  1156. spawn(function()
  1157. callback(v)
  1158. end)
  1159. end)
  1160. end
  1161. local eee = {}
  1162. function eee:refresh(new)
  1163. for _, v in pairs(optionStorage) do
  1164. v:Destroy()
  1165. end
  1166. optionStorage = {}
  1167. selectedOption = nil
  1168. cnt = 0
  1169. for _, v in pairs(new) do
  1170. cnt = cnt + 1
  1171. local Option = Instance.new("TextButton")
  1172. table.insert(optionStorage, Option)
  1173. if cnt == 1 then selectedOption = Option end
  1174.  
  1175. Option.Name = "Option"
  1176. Option.Parent = DropdownObjects
  1177. Option.BackgroundColor3 = theme.secondary
  1178. Option.BackgroundTransparency = 1.000
  1179. Option.BorderSizePixel = 0
  1180. Option.Position = UDim2.new(0.285340309, 0, 0.0218579229, 0)
  1181. Option.Size = UDim2.new(0, 372, 0, 26)
  1182. Option.AutoButtonColor = false
  1183. Option.Font = Enum.Font.GothamSemibold
  1184. Option.Text = v
  1185. Option.TextColor3 = (Option == selectedOption and theme.accent) or theme.accent2
  1186. Option.TextSize = 14.000
  1187.  
  1188. Option.MouseButton1Click:Connect(function()
  1189. if Option ~= selectedOption then
  1190. selectedOption.TextColor3 = theme.accent2
  1191. Option.TextColor3 = theme.accent
  1192. selectedOption = Option
  1193. end
  1194. library.flags[flag] = v
  1195. spawn(toggleDropdown)
  1196. spawn(function()
  1197. callback(v)
  1198. end)
  1199. end)
  1200. end
  1201. end
  1202. return eee
  1203. end
  1204.  
  1205. return modules
  1206. end
  1207. return sections
  1208. end
  1209. return tabs
  1210. end
  1211. local autocollectToggle = false;
  1212. function collecting()
  1213. spawn(function()
  1214. while autocollectToggle == true do
  1215. wait(0.8)
  1216. for _,v in next, game:GetService("Workspace").Maps.City.Interactables:GetDescendants() do
  1217. if v.ClassName == "Part" then
  1218. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = v.CFrame
  1219. end
  1220. end
  1221. if not autocollectToggle then break end
  1222. end
  1223. end)
  1224. end
  1225.  
  1226. local autoselltoggle = false;
  1227. function selling()
  1228. spawn(function()
  1229. while autoselltoggle == true do
  1230. wait()
  1231. game:GetService("ReplicatedStorage").rbxts_include.node_modules.net.out._NetManaged:FindFirstChild("Player:Sell"):FireServer()
  1232. if not autoselltoggle then break end
  1233. end
  1234. end)
  1235. end
  1236.  
  1237. local autoupgradealltoggle = false;
  1238. function upgradingall()
  1239. spawn(function()
  1240. while autoupgradealltoggle == true do
  1241. wait()
  1242. local args = {
  1243. [1] = 0
  1244. }
  1245.  
  1246. game:GetService("ReplicatedStorage").rbxts_include.node_modules.net.out._NetManaged:FindFirstChild("Player:Upgrade"):FireServer(unpack(args))
  1247. local args = {
  1248. [1] = 1
  1249. }
  1250.  
  1251. game:GetService("ReplicatedStorage").rbxts_include.node_modules.net.out._NetManaged:FindFirstChild("Player:Upgrade"):FireServer(unpack(args))
  1252. local args = {
  1253. [1] = 2
  1254. }
  1255.  
  1256. game:GetService("ReplicatedStorage").rbxts_include.node_modules.net.out._NetManaged:FindFirstChild("Player:Upgrade"):FireServer(unpack(args))
  1257. if not autoupgradealltoggle then break end
  1258. end
  1259. end)
  1260. end
  1261.  
  1262. local maxsizetoggle = false;
  1263. function maxsize()
  1264. spawn(function()
  1265. while maxsizetoggle == true do
  1266. wait()
  1267. local args = {
  1268. [1] = 1
  1269. }
  1270.  
  1271. game:GetService("ReplicatedStorage").rbxts_include.node_modules.net.out._NetManaged:FindFirstChild("Player:Upgrade"):FireServer(unpack(args))
  1272. if not maxsizetoggle then break end
  1273. end
  1274. end)
  1275. end
  1276. local sellvaluetoggle = false;
  1277. function sellvalue()
  1278. spawn(function()
  1279. while sellvaluetoggle == true do
  1280. wait()
  1281. local args = {
  1282. [1] = 0
  1283. }
  1284.  
  1285. game:GetService("ReplicatedStorage").rbxts_include.node_modules.net.out._NetManaged:FindFirstChild("Player:Upgrade"):FireServer(unpack(args))
  1286. if not sellvaluetoggle then break end
  1287. end
  1288. end)
  1289. end
  1290.  
  1291. local speedtoggle = false;
  1292. function speed()
  1293. spawn(function()
  1294. while speedtoggle == true do
  1295. wait()
  1296. local args = {
  1297. [1] = 2
  1298. }
  1299.  
  1300. game:GetService("ReplicatedStorage").rbxts_include.node_modules.net.out._NetManaged:FindFirstChild("Player:Upgrade"):FireServer(unpack(args))
  1301. if not speedtoggle then break end
  1302. end
  1303. end)
  1304. end
  1305. local ui = library:Init('Tornado Simulator | Soggy Hub')
  1306.  
  1307. local farm = ui:Tab('Auto Farm', '9509665287')
  1308. local upgrad = ui:Tab('Auto Upgrade', '9509665287')
  1309. local misc = ui:Tab('Misc', '9509665287')
  1310. local credits = ui:Tab('Credits', 9509665287)
  1311.  
  1312. local autocollect = farm:Section('Auto Collect')
  1313. local sellls = farm:Section('Auto Sell')
  1314. local upgrd = upgrad:Section("Auto Upgrade")
  1315. local plyr = misc:Section('Local Player')
  1316. local sets = misc:Section('Settings')
  1317. local creds = credits:Section('Credits')
  1318.  
  1319. autocollect:Toggle('Auto Collect', 'Auto Collect', false, function(state)
  1320.  
  1321. autocollectToggle = state;
  1322. if autocollectToggle then
  1323.  
  1324. collecting()
  1325. end
  1326. end)
  1327.  
  1328. sellls:Toggle('Auto Sell', 'Auto Sell', false, function(state)
  1329.  
  1330. autoselltoggle = state;
  1331. if autoselltoggle then
  1332. selling()
  1333. end
  1334. end)
  1335.  
  1336. upgrd:Toggle('Auto Upgrade Max Size', 'Auto Upgrade Max Size', false, function(state)
  1337. maxsizetoggle = state;
  1338. if maxsizetoggle then
  1339. maxsize()
  1340. end
  1341. end)
  1342.  
  1343. upgrd:Toggle('Auto Upgrade Speed', 'Auto Upgrade Speed', false, function(state)
  1344. speedtoggle = state;
  1345. if speedtoggle then
  1346. speed()
  1347. end
  1348. end)
  1349. upgrd:Toggle('Auto Upgrade Sell Value', 'Auto Upgrade Sell Value', false, function(state)
  1350. sellvaluetoggle = state;
  1351. if sellvaluetoggle then
  1352. sellvalue()
  1353. end
  1354. end)
  1355.  
  1356. upgrd:Toggle('Auto Upgrade All', 'Auto Upgrade All', false, function(state)
  1357. autoupgradealltoggle = state;
  1358. if autoupgradealltoggle then
  1359. upgradingall()
  1360. end
  1361. end)
  1362.  
  1363.  
  1364. plyr:Slider('WalkSpeed', 'ws', 16, 16, 500, function(value)
  1365. game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = value
  1366. end)
  1367. plyr:Slider('JumpPower', 'jp', 50, 50, 500, function(value)
  1368. game.Players.LocalPlayer.Character.Humanoid.JumpPower = value
  1369. end)
  1370.  
  1371. sets:Button('Destroy UI', library.destroy)
  1372. sets:Keybind('Toggle UI', 'toggleUi', Enum.KeyCode.F, library.toggleui)
  1373.  
  1374. creds:Button('Scripter: kooggy | Click To Copy Discord Link', function()
  1375. setclipboard('https://discord.gg/soggy')
  1376. end)
  1377. pcall(function()
  1378. local http = game:GetService('HttpService')
  1379. if toClipboard then
  1380. toClipboard('https://discord.gg/soggy')
  1381. else
  1382. end
  1383. local req = syn and syn.request or http and http.request or http_request or fluxus and fluxus.request or getgenv().request or request
  1384. if req then
  1385. req({
  1386. Url = 'http://127.0.0.1:6463/rpc?v=1',
  1387. Method = 'POST',
  1388. Headers = {
  1389. ['Content-Type'] = 'application/json',
  1390. Origin = 'https://discord.com'
  1391. },
  1392. Body = http:JSONEncode({
  1393. cmd = 'INVITE_BROWSER',
  1394. nonce = http:GenerateGUID(false),
  1395. args = {code = 'soggy'}
  1396. })
  1397. })
  1398. end
  1399. end)pcall(function()
  1400. local http = game:GetService('HttpService')
  1401. if toClipboard then
  1402. toClipboard('https://discord.gg/soggy')
  1403. else
  1404. end
  1405. local req = syn and syn.request or http and http.request or http_request or fluxus and fluxus.request or getgenv().request or request
  1406. if req then
  1407. req({
  1408. Url = 'http://127.0.0.1:6463/rpc?v=1',
  1409. Method = 'POST',
  1410. Headers = {
  1411. ['Content-Type'] = 'application/json',
  1412. Origin = 'https://discord.com'
  1413. },
  1414. Body = http:JSONEncode({
  1415. cmd = 'INVITE_BROWSER',
  1416. nonce = http:GenerateGUID(false),
  1417. args = {code = 'soggy'}
  1418. })
  1419. })
  1420. end
  1421. end)
  1422. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement