Advertisement
XxBoomer

Aloha Source Island

Sep 11th, 2020
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 206.64 KB | None | 0 0
  1. local library = {};
  2.  
  3. if game:GetService("CoreGui"):FindFirstChild("LibraryUI") then
  4. game:GetService("CoreGui"):FindFirstChild("LibraryUI"):Destroy()
  5. end
  6.  
  7. local AlohaUI = Instance.new("ScreenGui")
  8.  
  9. AlohaUI.Name = "LibraryUI"
  10. AlohaUI.Parent = game:GetService("CoreGui")
  11. AlohaUI.ResetOnSpawn = false
  12. AlohaUI.DisplayOrder = 1
  13.  
  14. game:GetService("UserInputService").InputBegan:Connect(function(I)
  15. if I.KeyCode == Enum.KeyCode.RightShift then
  16. local LibraryUI = game:GetService("CoreGui"):FindFirstChild("LibraryUI")
  17. LibraryUI.Enabled = not LibraryUI.Enabled
  18. end
  19. end)
  20.  
  21. function library.new(name)
  22. local UI = {};
  23. local Main = Instance.new("ImageLabel")
  24. local Holder = Instance.new("Frame")
  25. local UIGradient = Instance.new("UIGradient")
  26. local TabHolder = Instance.new("Frame")
  27. local UIListLayout = Instance.new("UIListLayout")
  28. local UIPadding = Instance.new("UIPadding")
  29. local underline = Instance.new("Frame")
  30. local UIGradient_2 = Instance.new("UIGradient")
  31. local Title = Instance.new("TextLabel")
  32. local UIPadding_2 = Instance.new("UIPadding")
  33.  
  34. Main.Name = "Main"
  35. Main.Parent = AlohaUI
  36. Main.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  37. Main.BackgroundTransparency = 1.000
  38. Main.Position = UDim2.new(0.106694564, 0, 0.270889491, 0)
  39. Main.Size = UDim2.new(0, 577, 0, 32)
  40. Main.Image = "rbxassetid://3570695787"
  41. Main.ScaleType = Enum.ScaleType.Slice
  42. Main.SliceCenter = Rect.new(100, 100, 100, 100)
  43. Main.SliceScale = 0.030
  44.  
  45. Holder.Name = "Holder"
  46. Holder.Parent = Main
  47. Holder.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  48. Holder.BackgroundTransparency = 0.080
  49. Holder.BorderSizePixel = 0
  50. Holder.Position = UDim2.new(0, 0, 1.03125, 0)
  51. Holder.Size = UDim2.new(0, 577, 0, 343)
  52.  
  53. UIGradient.Color = ColorSequence.new{
  54. ColorSequenceKeypoint.new(0.00, Color3.fromRGB(30, 30, 30)),
  55. ColorSequenceKeypoint.new(1.00, Color3.fromRGB(26, 26, 26))
  56. }
  57. UIGradient.Parent = Main
  58.  
  59. TabHolder.Name = "TabHolder"
  60. TabHolder.Parent = Main
  61. TabHolder.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  62. TabHolder.BackgroundTransparency = 1.000
  63. TabHolder.BorderSizePixel = 0
  64. TabHolder.Position = UDim2.new(0.211438477, 0, -4.76837158e-07, 0)
  65. TabHolder.Size = UDim2.new(0, 455, 0, 32)
  66. TabHolder.Visible = true
  67. TabHolder.ZIndex = 2
  68.  
  69. UIPadding.Parent = TabHolder
  70. UIPadding.PaddingLeft = UDim.new(0, 3)
  71. UIPadding.PaddingTop = UDim.new(0, 7)
  72.  
  73. UIListLayout.Parent = TabHolder
  74. UIListLayout.FillDirection = Enum.FillDirection.Horizontal
  75. UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  76. UIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
  77. UIListLayout.Padding = UDim.new(0, 5)
  78.  
  79. underline.Name = "underline"
  80. underline.Parent = Main
  81. underline.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  82. underline.BorderSizePixel = 0
  83. underline.Position = UDim2.new(0, 0, 0.8125, 0)
  84. underline.Size = UDim2.new(0, 577, 0, 7)
  85.  
  86. UIGradient_2.Color = ColorSequence.new{
  87. ColorSequenceKeypoint.new(0.00, Color3.fromRGB(30, 30, 30)),
  88. ColorSequenceKeypoint.new(1.00, Color3.fromRGB(26, 26, 26))
  89. }
  90. UIGradient_2.Parent = underline
  91.  
  92. Title.Name = "Title"
  93. Title.Parent = Main
  94. Title.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  95. Title.BackgroundTransparency = 1.000
  96. Title.BorderSizePixel = 0
  97. Title.Size = UDim2.new(0, 122, 0, 33)
  98. Title.ZIndex = 8
  99. Title.Font = Enum.Font.SourceSansSemibold
  100. Title.Text = name
  101. Title.TextColor3 = Color3.fromRGB(252, 252, 252)
  102. Title.TextSize = 15.000
  103. Title.TextXAlignment = Enum.TextXAlignment.Left
  104.  
  105. UIPadding_2.Parent = Title
  106. UIPadding_2.PaddingBottom = UDim.new(0, 1)
  107. UIPadding_2.PaddingLeft = UDim.new(0, 6)
  108.  
  109. local players = game:service('Players');
  110. local player = players.LocalPlayer;
  111. local mouse = player:GetMouse();
  112. local run = game:service('RunService');
  113. local stepped = run.Stepped;
  114. draggable = function(obj)
  115. spawn(function()
  116. obj.Active = true;
  117. local minitial;
  118. local initial;
  119. local isdragging;
  120. obj.InputBegan:Connect(function(input)
  121. if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  122. isdragging = true;
  123. minitial = input.Position;
  124. initial = obj.Position;
  125. local con;
  126. con = stepped:Connect(function()
  127. if isdragging then
  128. local delta = Vector3.new(mouse.X, mouse.Y, 0) - minitial;
  129. obj.Position = UDim2.new(initial.X.Scale, initial.X.Offset + delta.X, initial.Y.Scale, initial.Y.Offset + delta.Y);
  130. else
  131. con:Disconnect();
  132. end;
  133. end);
  134. input.Changed:Connect(function()
  135. if input.UserInputState == Enum.UserInputState.End then
  136. isdragging = false;
  137. end;
  138. end);
  139. end;
  140. end);
  141. end)
  142. end;
  143.  
  144. draggable(Main)
  145.  
  146. function UI.WindowTab(name)
  147. local UITabs = {};
  148. local Window = Instance.new("TextButton")
  149. local Container = Instance.new("Frame")
  150. local SideTabs = Instance.new("Frame")
  151. local UIPadding = Instance.new("UIPadding")
  152. local UIListLayout = Instance.new("UIListLayout")
  153.  
  154. Window.Name = name
  155. Window.Parent = TabHolder
  156. Window.BackgroundColor3 = Color3.fromRGB(102, 0, 204)
  157. Window.BackgroundTransparency = 0.500
  158. Window.BorderColor3 = Color3.fromRGB(90, 44, 144)
  159. Window.Position = UDim2.new(0.00659340667, 0, 0.296875, 0)
  160. Window.Size = UDim2.new(0, 108, 0, 20)
  161. Window.ZIndex = 2
  162. Window.AutoButtonColor = false
  163. Window.Font = Enum.Font.SourceSans
  164. Window.Text = name
  165. Window.TextColor3 = Color3.fromRGB(240, 240, 240)
  166. Window.TextSize = 14.000
  167.  
  168. Container.Name = "Container"
  169. Container.Parent = Holder
  170. Container.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  171. Container.BackgroundTransparency = 0.080
  172. Container.BorderSizePixel = 0
  173. Container.Size = UDim2.new(0, 577, 0, 343)
  174. Container.Visible = false
  175.  
  176. SideTabs.Name = "SideTabs"
  177. SideTabs.Parent = Container
  178. SideTabs.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  179. SideTabs.BackgroundTransparency = 0.700
  180. SideTabs.BorderSizePixel = 0
  181. SideTabs.Position = UDim2.new(0.00173310225, 0, 0, 0)
  182. SideTabs.Size = UDim2.new(0, 122, 0, 342)
  183. SideTabs.ZIndex = 2
  184. SideTabs.Visible = false
  185.  
  186. UIPadding.Parent = SideTabs
  187. UIPadding.PaddingLeft = UDim.new(0, 6)
  188. UIPadding.PaddingTop = UDim.new(0, 5)
  189.  
  190. UIListLayout.Parent = SideTabs
  191. UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  192. UIListLayout.Padding = UDim.new(0, 4)
  193.  
  194. function UITabs.ShowWindow()
  195. Container.Visible = true
  196. SideTabs.Visible = true
  197. Window.BackgroundTransparency = .32
  198. Window.Size = UDim2.new(0, 108, 0, 23)
  199. Window.TextSize = 15
  200. end
  201.  
  202. local NewHolder = Holder
  203.  
  204. Window.MouseButton1Click:Connect(function()
  205. for i, v in pairs(NewHolder:GetChildren()) do
  206. if v:IsA("Frame") then
  207. v.Visible = false
  208. end
  209. end
  210. for i, v in pairs(TabHolder:GetChildren()) do
  211. if v:IsA('TextButton') then
  212. v.BackgroundTransparency = .5
  213. v.Size = UDim2.new(0, 108, 0, 20)
  214. v.TextSize = 14
  215. end
  216. end
  217. Container.Visible = true
  218. SideTabs.Visible = true
  219. Window.BackgroundTransparency = .32
  220. Window.Size = UDim2.new(0, 108, 0, 23)
  221. Window.TextSize = 15
  222. end)
  223.  
  224. function UITabs.SideTab(name)
  225. local SideTabUI = {};
  226. local TabButton = Instance.new("TextButton")
  227. local Frame = Instance.new("Frame")
  228. local Tab = Instance.new("ScrollingFrame")
  229. local UIListLayout = Instance.new("UIListLayout")
  230. local UIPadding = Instance.new("UIPadding")
  231.  
  232. TabButton.Name = name
  233. TabButton.Parent = SideTabs
  234. TabButton.BackgroundColor3 = Color3.fromRGB(48, 48, 48)
  235. TabButton.BackgroundTransparency = 1.000
  236. TabButton.BorderColor3 = Color3.fromRGB(63, 63, 63)
  237. TabButton.LayoutOrder = 1
  238. TabButton.Position = UDim2.new(0, 0, 0.171875, 0)
  239. TabButton.Size = UDim2.new(0, 110, 0, 20)
  240. TabButton.ZIndex = 2
  241. TabButton.AutoButtonColor = false
  242. TabButton.Font = Enum.Font.SourceSans
  243. TabButton.Text = name
  244. TabButton.TextColor3 = Color3.fromRGB(240, 240, 240)
  245. TabButton.TextSize = 14.000
  246.  
  247. Frame.Parent = TabButton
  248. Frame.BackgroundColor3 = Color3.fromRGB(127, 0, 255)
  249. Frame.BorderSizePixel = 0
  250. Frame.Size = UDim2.new(0.0350000001, 0, 0, 20)
  251. Frame.Visible = false
  252.  
  253. function SideTabUI.ShowTab()
  254. TabButton.TextSize = 15
  255. TabButton.BackgroundTransparency = .5
  256. Frame.Visible = true
  257. Tab.Visible = true
  258. end
  259.  
  260. Tab.Name = "Tabs"
  261. Tab.Parent = Container
  262. Tab.Active = true
  263. Tab.BackgroundColor3 = Color3.fromRGB(31, 35, 37)
  264. Tab.BackgroundTransparency = 1.000
  265. Tab.BorderColor3 = Color3.fromRGB(27, 42, 53)
  266. Tab.BorderSizePixel = 0
  267. Tab.Position = UDim2.new(0.216637775, 0, 0.00290708849, 0)
  268. Tab.Size = UDim2.new(0, 450, 0, 342)
  269. Tab.ZIndex = 2
  270. Tab.CanvasSize = UDim2.new(0, 0, 3, 0)
  271. Tab.ScrollBarThickness = 5
  272. Tab.Visible = false
  273.  
  274. UIListLayout.Parent = Tab
  275. UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  276. UIListLayout.Padding = UDim.new(0, 5)
  277.  
  278. UIPadding.Parent = Tab
  279. UIPadding.PaddingBottom = UDim.new(0, 2)
  280. UIPadding.PaddingLeft = UDim.new(0, 2)
  281. UIPadding.PaddingTop = UDim.new(0, 5)
  282.  
  283. TabButton.MouseButton1Click:Connect(function()
  284. for i, v in pairs(Container:GetChildren()) do
  285. if v.Name == "Tabs" then
  286. v.Visible = false
  287. end
  288. end
  289. for i, v in pairs(SideTabs:GetChildren()) do
  290. if v:IsA("TextButton") then
  291. v.TextSize = 14
  292. v.BackgroundTransparency = 1
  293. v.Frame.Visible = false
  294. end
  295. end
  296. Tab.Visible = true
  297. TabButton.TextSize = 15
  298. TabButton.BackgroundTransparency = .5
  299. TabButton.Frame.Visible = true
  300. end)
  301.  
  302. function SideTabUI.Section(name)
  303. local SectionUI = {};
  304. local Section = Instance.new("Frame")
  305. local SectionTitle = Instance.new("TextLabel")
  306. local Underline = Instance.new("ImageLabel")
  307.  
  308. Section.Name = name
  309. Section.Parent = Tab
  310. Section.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
  311. Section.BorderSizePixel = 0
  312. Section.Position = UDim2.new(0.00447427295, 0, 0.0146198831, 0)
  313. Section.Size = UDim2.new(0, 438, 0, 200)
  314.  
  315. SectionTitle.Name = "SectionName"
  316. SectionTitle.Parent = Section
  317. SectionTitle.Active = true
  318. SectionTitle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  319. SectionTitle.BackgroundTransparency = 1.000
  320. SectionTitle.BorderSizePixel = 0
  321. SectionTitle.LayoutOrder = 1
  322. SectionTitle.Size = UDim2.new(0, 442, 0, 23)
  323. SectionTitle.ZIndex = 3
  324. SectionTitle.Font = Enum.Font.SourceSans
  325. SectionTitle.Text = name
  326. SectionTitle.TextColor3 = Color3.fromRGB(198, 198, 198)
  327. SectionTitle.TextSize = 22.000
  328. SectionTitle.TextXAlignment = Enum.TextXAlignment.Left
  329.  
  330. local UIPadding = Instance.new("UIPadding")
  331. UIPadding.Parent = SectionTitle
  332. UIPadding.PaddingBottom = UDim.new(0, 2)
  333. UIPadding.PaddingLeft = UDim.new(0, 5)
  334.  
  335. Underline.Name = "Underline"
  336. Underline.Parent = Section
  337. Underline.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  338. Underline.BackgroundTransparency = 1.000
  339. Underline.LayoutOrder = 2
  340. Underline.Position = UDim2.new(0.00894965976, 0, 0.100877196, 0)
  341. Underline.Size = UDim2.new(0, 433, 0, 3)
  342. Underline.ZIndex = 4
  343. Underline.Image = "rbxassetid://3570695787"
  344. Underline.ImageColor3 = Color3.fromRGB(59, 59, 59)
  345. Underline.ScaleType = Enum.ScaleType.Slice
  346. Underline.SliceCenter = Rect.new(100, 100, 100, 100)
  347. Underline.SliceScale = 0.120
  348.  
  349. local UIListLayout2 = Instance.new("UIListLayout")
  350. UIListLayout2.Parent = Section
  351. UIListLayout2.HorizontalAlignment = Enum.HorizontalAlignment.Center
  352. UIListLayout2.SortOrder = Enum.SortOrder.LayoutOrder
  353. UIListLayout2.Padding = UDim.new(0, 2)
  354.  
  355. local y = 0
  356. for i, v in pairs(Section:GetChildren()) do
  357. if (not v:IsA("UIListLayout") and not v:IsA("UIPadding")) then
  358. y = y + v.AbsoluteSize.Y + 2;
  359. end
  360. end
  361. Section.Size = UDim2.new(0, 438, 0, y)
  362.  
  363. function SectionUI:Resize()
  364. local y = 0
  365. for i, v in pairs(Section:GetChildren()) do
  366. if (not v:IsA("UIListLayout") and not v:IsA("UIPadding")) then
  367. y = y + v.AbsoluteSize.Y + 2;
  368. end
  369. end
  370. Section.Size = UDim2.new(0, 438, 0, y)
  371. end
  372.  
  373. SectionUI:Resize()
  374. function SectionUI.Label(name)
  375. local label = {}
  376. local LabelHolder = Instance.new("Frame")
  377. local Label = Instance.new("TextLabel")
  378.  
  379. LabelHolder.Name = "LabelHolder"
  380. LabelHolder.Parent = Section
  381. LabelHolder.BackgroundColor3 = Color3.fromRGB(44, 44, 44)
  382. LabelHolder.BackgroundTransparency = 1.000
  383. LabelHolder.BorderSizePixel = 0
  384. LabelHolder.LayoutOrder = 3
  385. LabelHolder.Position = UDim2.new(0.00570776267, 0, 0.220588237, 0)
  386. LabelHolder.Size = UDim2.new(0, 432, 0, 30)
  387.  
  388. Label.Name = "Label"
  389. Label.Parent = LabelHolder
  390. Label.AnchorPoint = Vector2.new(0, 0.00999999978)
  391. Label.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
  392. Label.BorderColor3 = Color3.fromRGB(58, 58, 58)
  393. Label.Position = UDim2.new(0.00499999989, 0, 0.0700000003, 0)
  394. Label.Size = UDim2.new(0.987999976, 1, 0.829999983, 1)
  395. Label.Font = Enum.Font.SourceSans
  396. Label.LineHeight = 1.1
  397. Label.Text = name
  398. Label.TextColor3 = Color3.fromRGB(194, 194, 194)
  399. Label.TextSize = 20.000
  400. SectionUI:Resize()
  401. function label:Delete()
  402. Label:Destroy()
  403. LabelHolder:Destroy()
  404. end
  405. return label
  406. end
  407.  
  408. function SectionUI.Button(name, callback)
  409. local ButtonHolder = Instance.new("Frame")
  410. local Button = Instance.new("TextButton")
  411. local Circle = Instance.new("ImageLabel")
  412.  
  413. ButtonHolder.Name = "ButtonHolder"
  414. ButtonHolder.Parent = Section
  415. ButtonHolder.BackgroundColor3 = Color3.fromRGB(44, 44, 44)
  416. ButtonHolder.BorderSizePixel = 0
  417. ButtonHolder.LayoutOrder = 3
  418. ButtonHolder.Position = UDim2.new(0.008, 0, 0.221, 0)
  419. ButtonHolder.Size = UDim2.new(0, 432, 0, 30)
  420.  
  421. Button.Name = "Button"
  422. Button.Parent = ButtonHolder
  423. Button.AnchorPoint = Vector2.new(0, 0.01)
  424. Button.BackgroundColor3 = Color3.fromRGB(52, 52, 52)
  425. Button.BorderSizePixel = 0
  426. Button.ClipsDescendants = true
  427. Button.Position = UDim2.new(0.004, 0, 0.08, 0)
  428. Button.Size = UDim2.new(0.989, 1, 0.83, 1)
  429. Button.AutoButtonColor = false
  430. Button.Text = name
  431. Button.Font = Enum.Font.SourceSans
  432. Button.TextColor3 = Color3.fromRGB(166, 166, 166)
  433. Button.TextSize = 20.000
  434.  
  435. Circle.Name = "Circle"
  436. Circle.Parent = game:GetService("CoreGui")
  437. Circle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  438. Circle.BackgroundTransparency = 1.000
  439. Circle.ZIndex = 10
  440. Circle.Image = "http://www.roblox.com/asset/?id=33112574"
  441. Circle.ImageColor3 = Color3.fromRGB(126, 126, 126)
  442. Circle.ImageTransparency = 0.700
  443.  
  444. function CircleClick(Button, X, Y)
  445. coroutine.resume(coroutine.create(function()
  446. local Circle = game:GetService("CoreGui"):WaitForChild("Circle"):Clone()
  447. Circle.Parent = Button
  448. local NewX = X - Circle.AbsolutePosition.X
  449. local NewY = Y - Circle.AbsolutePosition.Y
  450. Circle.Position = UDim2.new(0, NewX, 0, NewY)
  451. local Size = 0
  452. if Button.AbsoluteSize.X > Button.AbsoluteSize.Y then
  453. Size = Button.AbsoluteSize.X * 1.5
  454. elseif Button.AbsoluteSize.X < Button.AbsoluteSize.Y then
  455. Size = Button.AbsoluteSize.Y * 1.5
  456. elseif Button.AbsoluteSize.X == Button.AbsoluteSize.Y then
  457. Size = Button.AbsoluteSize.X * 1.5
  458. end
  459. local Time = 0.5
  460. Circle:TweenSizeAndPosition(UDim2.new(0, Size, 0, Size), UDim2.new(0.5, -Size / 2, 0.5, -Size / 2), "Out", "Quad", Time, false, nil)
  461. for i = 1, 10 do
  462. Circle.ImageTransparency = Circle.ImageTransparency + 0.03
  463. wait(Time / 10)
  464. end
  465. Circle:Destroy()
  466. end))
  467. end
  468.  
  469. local Mouse = game:GetService("Players").LocalPlayer:GetMouse()
  470. Button.MouseButton1Click:Connect(function()
  471. callback()
  472. CircleClick(Button, Mouse.X, Mouse.Y)
  473. end)
  474. SectionUI:Resize()
  475. end
  476.  
  477. function SectionUI.KeyBind(name, callback)
  478. local KeybindHolder = Instance.new("Frame")
  479. local KeyBindText = Instance.new("TextLabel")
  480. local UIPadding = Instance.new("UIPadding")
  481. local KeybindButton = Instance.new("TextButton")
  482.  
  483. KeybindHolder.Name = "KeybindHolder"
  484. KeybindHolder.Parent = Section
  485. KeybindHolder.BackgroundColor3 = Color3.fromRGB(44, 44, 44)
  486. KeybindHolder.BorderSizePixel = 0
  487. KeybindHolder.LayoutOrder = 3
  488. KeybindHolder.Position = UDim2.new(0.00570776267, 0, 0.220588237, 0)
  489. KeybindHolder.Size = UDim2.new(0, 432, 0, 30)
  490.  
  491. KeyBindText.Name = "KeyBindText"
  492. KeyBindText.Parent = KeybindHolder
  493. KeyBindText.Active = true
  494. KeyBindText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  495. KeyBindText.BackgroundTransparency = 1.000
  496. KeyBindText.BorderSizePixel = 0
  497. KeyBindText.Size = UDim2.new(0, 431, 0, 30)
  498. KeyBindText.Font = Enum.Font.SourceSans
  499. KeyBindText.Text = name
  500. KeyBindText.TextColor3 = Color3.fromRGB(198, 198, 198)
  501. KeyBindText.TextSize = 18.000
  502. KeyBindText.TextXAlignment = Enum.TextXAlignment.Left
  503.  
  504. UIPadding.Parent = KeyBindText
  505. UIPadding.PaddingBottom = UDim.new(0, 3)
  506. UIPadding.PaddingLeft = UDim.new(0, 5)
  507.  
  508. KeybindButton.Name = "KeybindButton"
  509. KeybindButton.Parent = KeybindHolder
  510. KeybindButton.BackgroundColor3 = Color3.fromRGB(52, 52, 52)
  511. KeybindButton.BorderSizePixel = 0
  512. KeybindButton.Position = UDim2.new(0.810000002, 0, 0.100000001, 0)
  513. KeybindButton.Size = UDim2.new(0, 79, 0, 24)
  514. KeybindButton.AutoButtonColor = false
  515. KeybindButton.Font = Enum.Font.SourceSans
  516. KeybindButton.Text = ""
  517. KeybindButton.TextColor3 = Color3.fromRGB(166, 166, 166)
  518. KeybindButton.TextSize = 15.000
  519.  
  520. local userInputService = game:GetService("UserInputService")
  521. local waitingForKeyPress, currentKey
  522. KeybindButton.Text = "Set Bind"
  523.  
  524. KeybindButton.MouseButton1Click:Connect(function()
  525. KeybindButton.Text = "..."
  526. waitingForKeyPress = true
  527. end)
  528.  
  529. local Blacklisted = {[Enum.KeyCode.Space] = "Space";[Enum.KeyCode.RightShift] = "RightShift";[Enum.KeyCode.F1] = "F1";[Enum.KeyCode.F2] = "F2";[Enum.KeyCode.F3] = "F3";[Enum.KeyCode.F4] = "F4";[Enum.KeyCode.F5] = "F5";[Enum.KeyCode.F6] = "F6";[Enum.KeyCode.F7] = "F7";[Enum.KeyCode.F8] = "F8";[Enum.KeyCode.F9] = "F9";[Enum.KeyCode.F10] = "F10";[Enum.KeyCode.F11] = "F11";[Enum.KeyCode.F12] = "F12";[Enum.KeyCode.Escape] = "Escape";[Enum.KeyCode.CapsLock] = "CapsLock";[Enum.KeyCode.Print] = "Print";[Enum.KeyCode.Tab] = "Tab";[Enum.KeyCode.NumLock] = "NumLock";[Enum.KeyCode.PageDown] = "PageDown";[Enum.KeyCode.PageUp] = "PageUp";[Enum.KeyCode.Home] = "Home";[Enum.KeyCode.End] = "End";[Enum.KeyCode.Delete] = "Delete";[Enum.KeyCode.Insert] = "Insert";[Enum.KeyCode.Backquote] = "Backquote";[Enum.KeyCode.Pause] = "Pause";[Enum.KeyCode.ScrollLock] = "ScrollLock";[Enum.KeyCode.Up] = "Up";[Enum.KeyCode.Right] = "Right";[Enum.KeyCode.Left] = "Left";[Enum.KeyCode.Down] = "Down";[Enum.KeyCode.W] = "W";[Enum.KeyCode.A] = "A";[Enum.KeyCode.S] = "S";[Enum.KeyCode.D] = "D";}
  530.  
  531. userInputService.InputBegan:Connect(function(Input)
  532. local keyName = string.split(tostring(Input.KeyCode), ".")[3]
  533. local BlacklistedKeys = Blacklisted[Input.KeyCode]
  534. if waitingForKeyPress and keyName ~= "Unknown" and keyName ~= BlacklistedKeys then
  535. KeybindButton.Text = keyName
  536. currentKey = Input.KeyCode
  537. waitingForKeyPress = false
  538. end
  539. if not waitingForKeyPress and currentKey and Input.KeyCode == currentKey then
  540. callback(keyName)
  541. end
  542. end)
  543. SectionUI:Resize()
  544. end
  545.  
  546. function SectionUI.Toggle(name, callback, default)
  547. local ToggleHolder = Instance.new("Frame")
  548. local ToggleText = Instance.new("TextLabel")
  549. local UIPadding = Instance.new("UIPadding")
  550. local ToggleButton = Instance.new("TextButton")
  551.  
  552. ToggleHolder.Name = "ToggleHolder"
  553. ToggleHolder.Parent = Section
  554. ToggleHolder.BackgroundColor3 = Color3.fromRGB(44, 44, 44)
  555. ToggleHolder.BorderSizePixel = 0
  556. ToggleHolder.LayoutOrder = 3
  557. ToggleHolder.Position = UDim2.new(0.00570776267, 0, 0.220588237, 0)
  558. ToggleHolder.Size = UDim2.new(0, 432, 0, 30)
  559.  
  560. ToggleText.Name = "ToggleText"
  561. ToggleText.Parent = ToggleHolder
  562. ToggleText.Active = true
  563. ToggleText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  564. ToggleText.BackgroundTransparency = 1.000
  565. ToggleText.BorderSizePixel = 0
  566. ToggleText.Size = UDim2.new(0, 431, 0, 30)
  567. ToggleText.Font = Enum.Font.SourceSans
  568. ToggleText.Text = name
  569. ToggleText.TextColor3 = Color3.fromRGB(198, 198, 198)
  570. ToggleText.TextSize = 18.000
  571. ToggleText.TextXAlignment = Enum.TextXAlignment.Left
  572.  
  573. UIPadding.Parent = ToggleText
  574. UIPadding.PaddingBottom = UDim.new(0, 3)
  575. UIPadding.PaddingLeft = UDim.new(0, 5)
  576.  
  577. ToggleButton.Name = "ToggleButton"
  578. ToggleButton.Parent = ToggleHolder
  579. ToggleButton.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
  580. ToggleButton.BorderColor3 = Color3.fromRGB(40, 40, 40)
  581. ToggleButton.Position = UDim2.new(0.935000002, 0, 0.100000001, 0)
  582. ToggleButton.Size = UDim2.new(0, 24, 0, 24)
  583. ToggleButton.AutoButtonColor = false
  584. ToggleButton.Font = Enum.Font.SourceSans
  585. ToggleButton.Text = "X"
  586. ToggleButton.TextColor3 = Color3.fromRGB(197, 197, 197)
  587. ToggleButton.TextSize = 25.000
  588. ToggleButton.TextTransparency = 1.000
  589.  
  590. local Toggled = false;
  591.  
  592. if default ~= nil then
  593. Toggled = default
  594. local Transparency = default and 0 or 1
  595. ToggleButton.TextTransparency = Transparency
  596. end
  597.  
  598. local tweenInfo = TweenInfo.new(.15, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, 0, false, 0)
  599.  
  600. ToggleButton.MouseButton1Click:Connect(function()
  601. Toggled = not Toggled
  602. callback(Toggled)
  603. local Transparency = Toggled and 0 or 1
  604. game:GetService("TweenService"):Create(ToggleButton, tweenInfo, {
  605. TextTransparency = Transparency
  606. }):Play()
  607. end)
  608. SectionUI:Resize()
  609. end
  610.  
  611. function SectionUI.Slider(name, min, max, default, callback)
  612. local SliderHolder = Instance.new("Frame")
  613. local Slider = Instance.new("TextButton")
  614. local Fill = Instance.new("Frame")
  615. local UIGradient = Instance.new("UIGradient")
  616. local ValueSlider = Instance.new("TextLabel")
  617. local UIPadding = Instance.new("UIPadding")
  618. local SliderText = Instance.new("TextLabel")
  619. local UIPadding_2 = Instance.new("UIPadding")
  620. local SetSlider = Instance.new("TextBox")
  621.  
  622. SliderHolder.Name = "SliderHolder"
  623. SliderHolder.Parent = Section
  624. SliderHolder.BackgroundColor3 = Color3.fromRGB(44, 44, 44)
  625. SliderHolder.BorderSizePixel = 0
  626. SliderHolder.LayoutOrder = 3
  627. SliderHolder.Position = UDim2.new(0.00570776267, 0, 0.455882341, 0)
  628. SliderHolder.Size = UDim2.new(0, 432, 0, 40)
  629.  
  630. Slider.Name = "Slider"
  631. Slider.Parent = SliderHolder
  632. Slider.BackgroundColor3 = Color3.fromRGB(79, 79, 79)
  633. Slider.BorderSizePixel = 0
  634. Slider.Position = UDim2.new(0.0189999994, 0, 0.680000007, 0)
  635. Slider.Size = UDim2.new(0, 415, 0, 4)
  636. Slider.AutoButtonColor = false
  637. Slider.Font = Enum.Font.SourceSans
  638. Slider.Text = ""
  639. Slider.TextColor3 = Color3.fromRGB(0, 0, 0)
  640. Slider.TextSize = 14.000
  641.  
  642. Fill.Name = "Fill"
  643. Fill.Parent = Slider
  644. Fill.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  645. Fill.BorderSizePixel = 0
  646. Fill.LayoutOrder = 3
  647. Fill.Size = UDim2.new(0, 0, 0, 4)
  648.  
  649. UIGradient.Color = ColorSequence.new{
  650. ColorSequenceKeypoint.new(0.00, Color3.fromRGB(74, 32, 159)),
  651. ColorSequenceKeypoint.new(1.00, Color3.fromRGB(143, 42, 164))
  652. }
  653. UIGradient.Parent = Fill
  654.  
  655. ValueSlider.Name = "ValueSlider"
  656. ValueSlider.Parent = Slider
  657. ValueSlider.Active = true
  658. ValueSlider.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  659. ValueSlider.BackgroundTransparency = 1.000
  660. ValueSlider.BorderSizePixel = 0
  661. ValueSlider.Position = UDim2.new(-0.0186192524, 0, -6.80000305, 0)
  662. ValueSlider.Size = UDim2.new(0, 431, 0, 22)
  663. ValueSlider.Font = Enum.Font.SourceSans
  664. ValueSlider.Text = "Minimum/Maximum"
  665. ValueSlider.TextColor3 = Color3.fromRGB(198, 198, 198)
  666. ValueSlider.TextSize = 14.000
  667.  
  668. UIPadding.Parent = ValueSlider
  669. UIPadding.PaddingBottom = UDim.new(0, 4)
  670.  
  671. SliderText.Name = "SliderText"
  672. SliderText.Parent = SliderHolder
  673. SliderText.Active = true
  674. SliderText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  675. SliderText.BackgroundTransparency = 1.000
  676. SliderText.BorderSizePixel = 0
  677. SliderText.Position = UDim2.new(0.018999977, 0, 0, 0)
  678. SliderText.Size = UDim2.new(0, 415, 0, 22)
  679. SliderText.Font = Enum.Font.SourceSans
  680. SliderText.Text = name
  681. SliderText.TextColor3 = Color3.fromRGB(198, 198, 198)
  682. SliderText.TextSize = 16.000
  683. SliderText.TextXAlignment = Enum.TextXAlignment.Left
  684.  
  685. UIPadding_2.Parent = SliderText
  686. UIPadding_2.PaddingBottom = UDim.new(0, 2)
  687.  
  688. SetSlider.Name = "SetSlider"
  689. SetSlider.Parent = SliderHolder
  690. SetSlider.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  691. SetSlider.BackgroundTransparency = 1.000
  692. SetSlider.BorderColor3 = Color3.fromRGB(58, 58, 58)
  693. SetSlider.Position = UDim2.new(0.858524144, 0, 0.0500000007, 0)
  694. SetSlider.Size = UDim2.new(0, 51, 0, 16)
  695. SetSlider.Font = Enum.Font.SourceSans
  696. SetSlider.PlaceholderColor3 = Color3.fromRGB(178, 178, 178)
  697. SetSlider.PlaceholderText = "Slider Int"
  698. SetSlider.Text = ""
  699. SetSlider.TextColor3 = Color3.fromRGB(178, 178, 178)
  700. SetSlider.TextSize = 14.000
  701. SetSlider.TextXAlignment = Enum.TextXAlignment.Right
  702.  
  703. local Connection;
  704. local RunService = game:GetService("RunService");
  705. local UIS = game:GetService("UserInputService");
  706.  
  707. local tweenInfo = TweenInfo.new(.05, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, 0, false, 0)
  708.  
  709. local function Fade(Object, Number)
  710. game:GetService("TweenService"):Create(Object, tweenInfo, {
  711. TextTransparency = tonumber(Number)
  712. }):Play()
  713. end
  714.  
  715. UIS.InputEnded:Connect(function(Input)
  716. if Input.UserInputType == Enum.UserInputType.MouseButton1 then
  717. if (Connection) then
  718. Connection:Disconnect();
  719. Connection = nil;
  720. Fade(ValueSlider, 1)
  721. end;
  722. end;
  723. end);
  724.  
  725. local Vals = {
  726. ["Minimum"] = min,
  727. ["Maximum"] = max
  728. }
  729.  
  730. ValueSlider.Text = Vals.Minimum .. "/" .. Vals.Maximum
  731.  
  732. Slider.MouseButton1Down:Connect(function()
  733. if (Connection) then
  734. Connection:Disconnect();
  735. end;
  736.  
  737. Connection = RunService.Stepped:Connect(function()
  738. local Mouse = UIS:GetMouseLocation();
  739. local Percentage = math.clamp((Mouse.X - Slider.AbsolutePosition.X) / (Slider.AbsoluteSize.X), 0, 1)
  740. local ValueToNumber = Vals.Minimum + (Vals.Maximum - Vals.Minimum) * Percentage
  741.  
  742. ValueToNumber = math.floor(ValueToNumber)
  743.  
  744. ValueSlider.Text = ValueToNumber .. "/" .. Vals.Maximum
  745.  
  746. game:GetService("TweenService"):Create(Fill, tweenInfo, {
  747. Size = UDim2.new(Percentage, 0, 0, 4)
  748. }):Play()
  749. Fade(ValueSlider, 0)
  750. callback(tonumber(ValueToNumber))
  751. SetSlider.Text = ValueToNumber
  752. end);
  753. end);
  754.  
  755. local function SetValue(value)
  756. local percent = 1 - ((Vals.Maximum - value) / (Vals.Maximum - Vals.Minimum))
  757. local Number = value
  758.  
  759. Number = math.floor(Number)
  760.  
  761. game:GetService("TweenService"):Create(Fill, tweenInfo, {
  762. Size = UDim2.new(percent, 0, 0, 4)
  763. }):Play()
  764. ValueSlider.Text = Number .. "/" .. Vals.Maximum
  765. end
  766.  
  767. SetValue(default or Vals.Minimum)
  768.  
  769. SetSlider.Changed:Connect(function()
  770. pcall(function()
  771. local Value = tonumber(SetSlider.Text)
  772. if Value >= Vals.Minimum and Value <= Vals.Maximum then
  773. SetValue(tonumber(SetSlider.Text))
  774. callback(tonumber(SetSlider.Text))
  775. end
  776. end)
  777. end)
  778.  
  779. SetSlider.FocusLost:Connect(function()
  780. SetSlider.Text = tonumber(SetSlider.Text)
  781. end)
  782. SectionUI:Resize()
  783. end
  784. function SectionUI.Dropdown(name, list, callback)
  785. local DropFrame = Instance.new("Frame")
  786. local Dropdown = Instance.new("Frame")
  787. local DropdownText = Instance.new("TextLabel")
  788. local UIPadding = Instance.new("UIPadding")
  789. local ToggleButton = Instance.new("ImageButton")
  790. local DropdownObjects = Instance.new("Frame")
  791. local UIPadding_2 = Instance.new("UIPadding")
  792. local UIListLayout = Instance.new("UIListLayout")
  793.  
  794. DropFrame.Name = "DropFrame"
  795. DropFrame.Parent = Section
  796. DropFrame.BackgroundColor3 = Color3.fromRGB(44, 44, 44)
  797. DropFrame.BorderSizePixel = 0
  798. DropFrame.LayoutOrder = 3
  799. DropFrame.Position = UDim2.new(0.00570776267, 0, 0.519999981, 0)
  800. DropFrame.Size = UDim2.new(0, 432, 0, 30)
  801. DropFrame.ZIndex = 4
  802.  
  803. Dropdown.Name = "Dropdown"
  804. Dropdown.Parent = DropFrame
  805. Dropdown.BackgroundColor3 = Color3.fromRGB(44, 44, 44)
  806. Dropdown.BackgroundTransparency = 0.200
  807. Dropdown.BorderSizePixel = 0
  808. Dropdown.LayoutOrder = 3
  809. Dropdown.Position = UDim2.new(0.00111346773, 0, 0, 0)
  810. Dropdown.Size = UDim2.new(0, 432, 0, 30)
  811. Dropdown.ZIndex = 4
  812.  
  813. DropdownText.Name = "DropdownText"
  814. DropdownText.Parent = Dropdown
  815. DropdownText.Active = true
  816. DropdownText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  817. DropdownText.BackgroundTransparency = 1.000
  818. DropdownText.BorderSizePixel = 0
  819. DropdownText.Position = UDim2.new(0.00337645644, 0, 0, 0)
  820. DropdownText.Size = UDim2.new(0, 431, 0, 30)
  821. DropdownText.ZIndex = 4
  822. DropdownText.Font = Enum.Font.SourceSans
  823. DropdownText.Text = name
  824. DropdownText.TextColor3 = Color3.fromRGB(198, 198, 198)
  825. DropdownText.TextSize = 18.000
  826. DropdownText.TextXAlignment = Enum.TextXAlignment.Left
  827.  
  828. UIPadding.Parent = DropdownText
  829. UIPadding.PaddingBottom = UDim.new(0, 3)
  830. UIPadding.PaddingLeft = UDim.new(0, 5)
  831.  
  832. ToggleButton.Name = "ToggleButton"
  833. ToggleButton.Parent = Dropdown
  834. ToggleButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  835. ToggleButton.BackgroundTransparency = 1.000
  836. ToggleButton.BorderSizePixel = 0
  837. ToggleButton.Position = UDim2.new(0.944999993, 0, 0.219999999, 0)
  838. ToggleButton.Rotation = 90.000
  839. ToggleButton.Size = UDim2.new(0, 15, 0, 15)
  840. ToggleButton.ZIndex = 6
  841. ToggleButton.Image = "http://www.roblox.com/asset/?id=4888315295"
  842. ToggleButton.ImageColor3 = Color3.fromRGB(80, 80, 80)
  843. ToggleButton.SliceCenter = Rect.new(100, 100, 100, 100)
  844.  
  845. DropdownObjects.Name = "DropdownObjects"
  846. DropdownObjects.BackgroundTransparency = 1
  847. DropdownObjects.Parent = Dropdown
  848. DropdownObjects.BackgroundColor3 = Color3.fromRGB(47, 47, 47)
  849. DropdownObjects.BorderSizePixel = 0
  850. DropdownObjects.ClipsDescendants = true
  851. DropdownObjects.Position = UDim2.new(-0.002, 0, 0, 0)
  852. DropdownObjects.Size = UDim2.new(0, 432, 0, 30)
  853. DropdownObjects.ZIndex = 5
  854.  
  855. UIPadding_2.Parent = DropdownObjects
  856. UIPadding_2.PaddingTop = UDim.new(0, 32)
  857.  
  858. UIListLayout.Parent = DropdownObjects
  859. UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
  860. UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  861. UIListLayout.Padding = UDim.new(0, 1)
  862.  
  863. local Toggled = false
  864.  
  865. local tweenInfo = TweenInfo.new(.15, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, 0, false, 0)
  866.  
  867. DropdownText.Text = name
  868. ToggleButton.MouseButton1Click:Connect(function()
  869. for i, v in pairs(DropdownObjects:GetChildren()) do
  870. if v:IsA("TextButton") then
  871. v:Destroy()
  872. end
  873. end
  874.  
  875. Toggled = not Toggled
  876. local TotalY = 0;
  877. for _, v in pairs(list) do
  878. local Button = Instance.new("TextButton")
  879. Button.Name = "Button"
  880. Button.Parent = DropdownObjects
  881. Button.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
  882. Button.BorderColor3 = Color3.fromRGB(44, 44, 44)
  883. Button.BorderSizePixel = 2
  884. Button.Text = v
  885. Button.ZIndex = 5
  886. Button.Position = UDim2.new(0.269, 0, 1, 0)
  887. Button.Size = UDim2.new(0, 430, 0, 30)
  888. Button.AutoButtonColor = false
  889. Button.Font = Enum.Font.SourceSans
  890. Button.TextColor3 = Color3.fromRGB(148, 148, 148)
  891. Button.TextSize = 20.000
  892. Button.MouseButton1Click:Connect(function()
  893. callback(Button.Text)
  894. DropdownText.Text = v
  895. Toggled = false
  896. DropdownObjects:TweenSize(UDim2.new(0, 432, 0, 30), "In", "Linear", .25, true)
  897. game:GetService("TweenService"):Create(ToggleButton, tweenInfo, {
  898. Rotation = 90
  899. }):Play()
  900. end)
  901. end
  902.  
  903. for i, v in next, DropdownObjects:GetChildren() do
  904. if (v:IsA("TextButton")) then
  905. TotalY = TotalY + v.AbsoluteSize.Y + 2;
  906. end
  907. end
  908.  
  909. local RotationAmount = Toggled and 0 or 90
  910. local ToggleDirection = Toggled and "Out" or "In"
  911. local GetSize = Toggled and UDim2.new(0, 432, 0, TotalY + 50) or UDim2.new(0, 432, 0, 30)
  912. DropdownObjects:TweenSize(GetSize, ToggleDirection, "Linear", .25, true)
  913. game:GetService("TweenService"):Create(ToggleButton, tweenInfo, {
  914. Rotation = RotationAmount
  915. }):Play()
  916. end)
  917. SectionUI:Resize()
  918. end
  919.  
  920. function SectionUI.Box(name, callback, matchthing)
  921. local BoxHolder = Instance.new("Frame")
  922. local BoxHolder_2 = Instance.new("TextLabel")
  923. local UIPadding = Instance.new("UIPadding")
  924. local Box = Instance.new("TextBox")
  925. local UIPadding_2 = Instance.new("UIPadding")
  926.  
  927. BoxHolder.Name = "BoxHolder"
  928. BoxHolder.Parent = Section
  929. BoxHolder.BackgroundColor3 = Color3.fromRGB(44, 44, 44)
  930. BoxHolder.BorderSizePixel = 0
  931. BoxHolder.LayoutOrder = 3
  932. BoxHolder.Position = UDim2.new(0.00228310493, 0, 1, 0)
  933. BoxHolder.Size = UDim2.new(0, 431, 0, 30)
  934.  
  935. BoxHolder_2.Name = "BoxHolder"
  936. BoxHolder_2.Parent = BoxHolder
  937. BoxHolder_2.Active = true
  938. BoxHolder_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  939. BoxHolder_2.BackgroundTransparency = 1.000
  940. BoxHolder_2.BorderSizePixel = 0
  941. BoxHolder_2.Size = UDim2.new(0, 428, 0, 30)
  942. BoxHolder_2.Font = Enum.Font.SourceSans
  943. BoxHolder_2.Text = name
  944. BoxHolder_2.TextColor3 = Color3.fromRGB(198, 198, 198)
  945. BoxHolder_2.TextSize = 18.000
  946. BoxHolder_2.TextXAlignment = Enum.TextXAlignment.Left
  947.  
  948. UIPadding.Parent = BoxHolder_2
  949. UIPadding.PaddingBottom = UDim.new(0, 3)
  950. UIPadding.PaddingLeft = UDim.new(0, 5)
  951.  
  952. Box.Name = "Box"
  953. Box.Parent = BoxHolder
  954. Box.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  955. Box.BorderColor3 = Color3.fromRGB(52, 52, 52)
  956. Box.Position = UDim2.new(0.770, 0, 0.135, 0)
  957. Box.Size = UDim2.new(0, 95, 0, 22)
  958. Box.Font = Enum.Font.SourceSans
  959. Box.PlaceholderText = "Value"
  960. Box.Text = ""
  961. Box.TextColor3 = Color3.fromRGB(255, 255, 255)
  962. Box.TextSize = 14.000
  963. Box.TextXAlignment = Enum.TextXAlignment.Left
  964. Box.ClipsDescendants = true
  965.  
  966. UIPadding_2.Parent = Box
  967. UIPadding_2.PaddingBottom = UDim.new(0, 1)
  968. UIPadding_2.PaddingLeft = UDim.new(0, 3)
  969.  
  970. Box.FocusLost:Connect(function()
  971. if Box.Text ~= nil or Box.Text ~= "" then
  972. if matchthing ~= nil then
  973. for i, v in pairs(matchthing) do
  974. if Box.Text:lower() == v:lower() then
  975. Box.Text = v
  976. callback(v)
  977. elseif string.sub(string.lower(v), 1, string.len(Box.Text)) == string.lower(Box.Text) then
  978. Box.Text = v
  979. callback(v)
  980. end
  981. end
  982. end
  983. callback(Box.Text)
  984. end
  985. end)
  986.  
  987. SectionUI:Resize()
  988. end
  989. return SectionUI
  990. end
  991. return SideTabUI
  992. end
  993. return UITabs
  994. end
  995. return UI
  996. end
  997.  
  998. if game.GameId == 245662005 then
  999. local Client
  1000. local StartNitro
  1001. local EndNitro
  1002. local EnterCar
  1003. local ExitCar
  1004. local GetGun
  1005. local TouchTriggerTable = {}
  1006. local TouchTrigger
  1007. local EquipItem
  1008. local EatDonut
  1009. local ItemSystem
  1010. local Inventory
  1011. local Donut
  1012. local Gun
  1013. local RobSmallStore
  1014. local MainFunc
  1015. local Breakout
  1016. local Guns = {}
  1017.  
  1018. for i, v in pairs(game:GetService("Workspace").GunShop:GetChildren()) do
  1019. table.insert(Guns, {
  1020. CanGrab = true,
  1021. Part = v.BoundingBox
  1022. })
  1023. end
  1024.  
  1025. ItemSystem = require(game:GetService("ReplicatedStorage").Game.ItemSystem.ItemSystem)
  1026. Inventory = require(game:GetService("ReplicatedStorage").Game.Inventory)
  1027. Donut = require(game:GetService("ReplicatedStorage").Game.Item.Donut)
  1028. Gun = require(game:GetService("ReplicatedStorage").Game.Item.Gun)
  1029. getfenv(Gun.new).require = function(module)
  1030. return require(module)
  1031. end
  1032.  
  1033. TouchTrigger = function(name)
  1034. for i, v in pairs(TouchTriggerTable) do
  1035. if v.Part and v.Part.Name == name then
  1036. v:Fun()
  1037. end
  1038. end
  1039. end
  1040.  
  1041. EquipItem = function(name)
  1042. ItemSystem.Unequip()
  1043. for i, v in pairs(Inventory.ItemStacks) do
  1044. if v.Name == name then
  1045. ItemSystem.Equip(game:GetService("Players").LocalPlayer, v)
  1046. break
  1047. end
  1048. end
  1049. end
  1050.  
  1051. getfenv(Donut.InputBegan).delay = newcclosure(function(delayTime, callback)
  1052. return callback()
  1053. end)
  1054. local FakeDonutData = {}
  1055. FakeDonutData.SpringItemRotation = {}
  1056. FakeDonutData.Config = {}
  1057. FakeDonutData.Config.Motion = {}
  1058. FakeDonutData.Config.Motion.Eat = {}
  1059. FakeDonutData.Config.Motion.Eat.Springs = {}
  1060. FakeDonutData.Config.Motion.Eat.Springs.ItemRotation = 0
  1061. FakeDonutData.Config.Motion.Hip = {}
  1062. FakeDonutData.Config.Motion.Hip.Springs = {}
  1063. FakeDonutData.Config.Motion.Hip.Springs.ItemRotation = 0
  1064. FakeDonutData.LastConsumed = -math.huge
  1065. FakeDonutData.Local = true
  1066. FakeDonutData.BroadcastInputBegan = function(...)
  1067. end
  1068. FakeDonutData.SpringItemRotation.SetTarget = function(...)
  1069. end
  1070. EatDonut = function()
  1071. FakeDonutData.LastConsumed = -math.huge
  1072. Donut.InputBegan(FakeDonutData, {
  1073. UserInputType = Enum.UserInputType.MouseButton1
  1074. }, nil)
  1075. end
  1076.  
  1077. ExitCar = function()
  1078. require(game:GetService("ReplicatedStorage").Game.CharacterUtil).OnJump(false)
  1079. end
  1080.  
  1081. for i, v in pairs(getgc(true)) do
  1082. if type(v) == "table" and getrawmetatable(v) == nil and v.MainWindowGroup and v.ScreenGui and v.ProductGui and v.Event and v.em and v.UI and v.SelectIfGamepad then
  1083. Client = v
  1084. elseif type(v) == "table" and getrawmetatable(v) == nil and v.VehiclesOwned and v.VehiclesRented and v.Nitro and v.NitroLastMax then
  1085. v.Nitro = math.huge
  1086. v.NitroLastMax = math.huge
  1087. elseif type(v) == "function" and getfenv(v).script == game:GetService("Players").LocalPlayer.PlayerScripts.LocalScript then
  1088. local constants = debug.getconstants(v)
  1089. if table.find(constants, "tick") and table.find(constants, "Passenger") and table.find(constants, "Nitro") and table.find(constants, "Nitro1") and table.find(constants, "NitroLoop") and table.find(constants, "Nitrous") and table.find(constants, "Enabled") and table.find(constants, "NitroLastMax") then
  1090. StartNitro = function()
  1091. debug.setupvalue(v, 1, 0)
  1092. debug.setupvalue(v, 2, false)
  1093. v()
  1094. end
  1095. elseif table.find(constants, "NitroLoop") and table.find(constants, "Nitro") and table.find(constants, "Nitrous") and table.find(constants, "Enabled") and table.find(constants, "FireServer") and table.find(constants, "Passenger") and not table.find(constants, "NitroLastMax") then
  1096. EndNitro = v
  1097. local func = debug.getupvalue(v, 3)
  1098. local realFunc
  1099. realFunc = hookfunction(func, function(...)
  1100. if debug.getupvalue(realFunc, 1) then
  1101. debug.setupvalue(realFunc, 1, false)
  1102. end
  1103. end)
  1104. elseif table.find(constants, "You can't drive this. Hold to hijack it.") then
  1105. EnterCar = debug.getupvalue(v, 3)
  1106. elseif table.find(constants, "Pull Open") then
  1107. TouchTriggerTable = debug.getupvalue(v, 3)
  1108. elseif table.find(constants, "Rob") then
  1109. local robSmallStoreFunc = debug.getupvalue(v, 1)
  1110. RobSmallStore = function(smallStore, rob)
  1111. return robSmallStoreFunc({
  1112. Part = smallStore
  1113. }, rob)
  1114. end
  1115. elseif table.find(constants, "Flip") then
  1116. MainFunc = v
  1117. elseif table.find(constants, "ShouldArrest") and table.find(constants, "ShouldPickpocket") and table.find(constants, "ShouldBreakout") and not table.find(constants, "GetLocalEquipped") then
  1118. Breakout = getupvalue(v, 3)
  1119. end
  1120. elseif type(v) == "function" and getfenv(v).script == game:GetService("ReplicatedStorage").Game.GunShop then
  1121. local constants = debug.getconstants(v)
  1122. if table.find(constants, "GetConfig") then
  1123. GetGun = v
  1124. end
  1125. end
  1126. end
  1127.  
  1128. for i, v in pairs(Client.em) do
  1129. if type(v) == "function" then
  1130. local constants = debug.getconstants(v)
  1131. if table.find(constants, "Nitro") and table.find(constants, "NitroLastMax") and table.find(constants, "NitroForceUIUpdate") then
  1132. hookfunction(v, function(...)
  1133. end)
  1134. end
  1135. end
  1136. end
  1137.  
  1138. function getClosestVehicle()
  1139. local vehicle = nil
  1140. local dist = math.huge
  1141. for i, v in pairs(workspace.Vehicles:GetChildren()) do
  1142. if v.Name == "Camaro" and v:FindFirstChild("Seat") and v.Seat:FindFirstChild("Player") and v.Seat.Player.Value == false and game:GetService("Players").LocalPlayer and game:GetService("Players").LocalPlayer.Character and game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid") and game:GetService("Players").LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
  1143. local mag = (v.Seat.Position - game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position).magnitude
  1144. if mag < dist then
  1145. dist = mag
  1146. vehicle = v
  1147. end
  1148. end
  1149. end
  1150. return vehicle
  1151. end
  1152.  
  1153. function getClosestSeat()
  1154. local part = nil
  1155. local dist = math.huge
  1156. for i, v in pairs(workspace:GetDescendants()) do
  1157. if v:IsA("Seat") and v.Occupant == nil and not v:IsDescendantOf(workspace.Vehicles) and game:GetService("Players").LocalPlayer and game:GetService("Players").LocalPlayer.Character and game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid") and game:GetService("Players").LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
  1158. local mag = (game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position - v.Position).magnitude
  1159. if mag < dist then
  1160. dist = mag
  1161. part = v
  1162. end
  1163. end
  1164. end
  1165. return part
  1166. end
  1167.  
  1168. function getVehicle()
  1169. if game:GetService("Players").LocalPlayer and game:GetService("Players").LocalPlayer.Character and game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid") and game:GetService("Players").LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and game:GetService("Players").LocalPlayer.Character.HumanoidRootPart:FindFirstChild("Weld") and game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Weld.Part1 and game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Weld.Part1.Parent and game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Weld.Part1.Parent.Parent and game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Weld.Part1.Parent.Parent == workspace.Vehicles and game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Weld.Part1.Name == "Seat" then
  1170. return game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Weld.Part1.Parent
  1171. end
  1172. end
  1173.  
  1174. function TP(cframe)
  1175. local vehicle = getClosestVehicle()
  1176. local seat = getClosestSeat()
  1177. if not getVehicle() and vehicle and game:GetService("Players").LocalPlayer and game:GetService("Players").LocalPlayer.Character and game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid") and game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid").SeatPart then
  1178. local part = game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid").SeatPart
  1179. local oldPos = part.CFrame
  1180. local canCollide = part.CanCollide
  1181. part.CFrame = vehicle.Seat.CFrame
  1182. part.CanCollide = false
  1183. wait(1)
  1184. game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid").Sit = false
  1185. wait(0.5)
  1186. EnterCar(vehicle.Seat)
  1187. wait(0.35)
  1188. part.CFrame = oldPos
  1189. part.CanCollide = canCollide
  1190. wait(0.35)
  1191. if getVehicle() == vehicle then
  1192. StartNitro()
  1193. vehicle:SetPrimaryPartCFrame(cframe)
  1194. EndNitro()
  1195. end
  1196. wait(0.35)
  1197. return true
  1198. elseif getVehicle() then
  1199. StartNitro()
  1200. getVehicle():SetPrimaryPartCFrame(cframe)
  1201. EndNitro()
  1202. wait(0.35)
  1203. return true
  1204. elseif seat and vehicle and game:GetService("Players").LocalPlayer and game:GetService("Players").LocalPlayer.Character and game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
  1205. seat:Sit(game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid"))
  1206. wait(1.5)
  1207. local part = game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid").SeatPart
  1208. local oldPos = part.CFrame
  1209. local canCollide = part.CanCollide
  1210. part.CFrame = vehicle.Seat.CFrame
  1211. part.CanCollide = false
  1212. wait(1)
  1213. game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid").Sit = false
  1214. wait(0.5)
  1215. EnterCar(vehicle.Seat)
  1216. wait(0.35)
  1217. part.CFrame = oldPos
  1218. part.CanCollide = canCollide
  1219. wait(0.35)
  1220. if getVehicle() == vehicle then
  1221. StartNitro()
  1222. vehicle:SetPrimaryPartCFrame(cframe)
  1223. EndNitro()
  1224. end
  1225. wait(0.35)
  1226. return true
  1227. else
  1228. return false
  1229. end
  1230. end
  1231.  
  1232. local mainShit = library.new("Jailbreak")
  1233.  
  1234. local mainWindow = mainShit.WindowTab('Main stuff')
  1235.  
  1236. local gunsTab = mainWindow.SideTab('Guns')
  1237.  
  1238. local gunsFolder = gunsTab.Section("")
  1239.  
  1240. gunsFolder.Button("Grab All Guns", function()
  1241. pcall(function()
  1242. for i, v in pairs(Guns) do
  1243. GetGun(v, true)
  1244. end
  1245. end)
  1246. end)
  1247.  
  1248. gunsFolder.Button("Gun Mod", function()
  1249. pcall(function()
  1250. local mouseDown = false
  1251. local mouse = game:GetService("Players").LocalPlayer:GetMouse()
  1252. mouse.Button1Down:connect(function()
  1253. mouseDown = true
  1254. end)
  1255. mouse.Button1Up:connect(function()
  1256. mouseDown = false
  1257. end)
  1258. for i, v in pairs(game:GetService("ReplicatedStorage").Game.ItemConfig:GetChildren()) do
  1259. if v.Name ~= "RocketLauncher" and v.Name ~= "PlasmaPistol" and v.Name ~= "Sword" then
  1260. local config = require(v)
  1261. if config.MagSize then
  1262. config.MagSize = config.MagSize
  1263. end
  1264. if config.CamShakeMagnitude then
  1265. config.CamShakeMagnitude = 0
  1266. end
  1267. if config.FireAuto then
  1268. config.FireAuto = true
  1269. end
  1270. if config.FireFreq then
  1271. config.FireFreq = 10000
  1272. end
  1273. if config.ReloadTime then
  1274. config.ReloadTime = 0
  1275. end
  1276. end
  1277. end
  1278. hookfunction(require(game:GetService("ReplicatedStorage").Game.Item.Gun).ShootCheckConditions, function(...)
  1279. return true
  1280. end)
  1281. local realGetLocalEquipped
  1282. realGetLocalEquipped = hookfunction(ItemSystem.GetLocalEquipped, function()
  1283. local realData = realGetLocalEquipped()
  1284. if realData and realData.Model and realData.Model.Name ~= "RocketLauncher" and realData.Model.Name ~= "PlasmaPistol" and realData.Model.Name ~= "Sword" then
  1285. if realData.ItemData ~= nil then
  1286. local itemDataRewrite = {}
  1287. for i, v in pairs(realData.ItemData) do
  1288. if i == "AmmoCurrent" then
  1289. itemDataRewrite[i] = v;
  1290. elseif type(v) == "table" then
  1291. itemDataRewrite[i] = {};
  1292. for i2, v2 in pairs(v) do
  1293. if i2 == "AmmoCurrent" then
  1294. itemDataRewrite[i][i2] = v2;
  1295. else
  1296. itemDataRewrite[i][i2] = v2;
  1297. end
  1298. end
  1299. else
  1300. itemDataRewrite[i] = v;
  1301. end
  1302. end
  1303. realData.ItemData = itemDataRewrite
  1304. end
  1305. if realData.IsShooting ~= nil then
  1306. realData.IsShooting = false
  1307. end
  1308. if realData.IsReloading ~= nil then
  1309. realData.IsReloading = false
  1310. end
  1311. end
  1312. return realData
  1313. end)
  1314. game:GetService("RunService").RenderStepped:Connect(function()
  1315. local data = ItemSystem:GetLocalEquipped()
  1316. if data and data.Model.Name ~= "RocketLauncher" and data.Model.Name ~= "PlasmaPistol" and data.Model.Name ~= "Sword" and mouseDown then
  1317. data:Shoot()
  1318. end
  1319. end)
  1320. end)
  1321. end)
  1322.  
  1323. local jetPackTab = mainWindow.SideTab('JetPack')
  1324.  
  1325. local jetPack = jetPackTab.Section("")
  1326.  
  1327. jetPack.Button("Grab JetPack", function()
  1328. TouchTrigger("JetPackGiver")
  1329. end)
  1330.  
  1331. jetPack.Button("Infinite JetPack Fuel", function()
  1332. for i, v in pairs(getgc(true)) do
  1333. if type(v) == "table" and getrawmetatable(v) == nil then
  1334. if rawget(v, "OpenFuel") then
  1335. spawn(function()
  1336. while wait() do
  1337. if v.SetFuelType then
  1338. v.SetFuelType("Rocket")
  1339. end
  1340. if v.Fuel then
  1341. v.Fuel = math.huge
  1342. end
  1343. if v.MaxFuel then
  1344. v.MaxFuel = math.huge
  1345. end
  1346. end
  1347. end)
  1348. elseif rawget(v, "StartThrust") and rawget(v, "StopThrust") then
  1349. spawn(function()
  1350. while wait() do
  1351. if v.LocalFuelType then
  1352. v.LocalFuelType = "Rocket"
  1353. end
  1354. if v.LocalFuel then
  1355. v.LocalFuel = math.huge
  1356. end
  1357. if v.LocalMaxFuel then
  1358. v.LocalMaxFuel = math.huge
  1359. end
  1360. end
  1361. end)
  1362. elseif rawget(v, "Fuel") and type(v.Fuel) == "table" then
  1363. spawn(function()
  1364. while wait() do
  1365. if v.Fuel.Standard and v.Fuel.Standard.MaxFuel then
  1366. v.Fuel.Standard.MaxFuel = math.huge
  1367. end
  1368. if v.Fuel.Rocket and v.Fuel.Rocket.MaxFuel then
  1369. v.Fuel.Rocket.MaxFuel = math.huge
  1370. end
  1371. end
  1372. end)
  1373. end
  1374. end
  1375. end
  1376. end)
  1377.  
  1378. local characterTab = mainWindow.SideTab('Character')
  1379.  
  1380. local character = characterTab.Section("")
  1381.  
  1382. local Clip = true
  1383. local Noclipping = nil
  1384.  
  1385. local function NoclipLoop()
  1386. if Clip == false and game:GetService("Players").LocalPlayer.Character ~= nil then
  1387. for _, child in pairs(game:GetService("Players").LocalPlayer.Character:GetDescendants()) do
  1388. if child:IsA("BasePart") and child.CanCollide == true then
  1389. child.CanCollide = false
  1390. end
  1391. end
  1392. end
  1393. end
  1394.  
  1395. character.Toggle("Noclip", function(bool)
  1396. Clip = not Clip
  1397. if not Clip then
  1398. game:GetService('RunService').Stepped:connect(NoclipLoop)
  1399. else
  1400. if Noclipping then
  1401. Noclipping:Disconnect()
  1402. end
  1403. end
  1404. end)
  1405.  
  1406. local GodMode = false
  1407. local AntiFlip = false
  1408. local AntiArrest = false
  1409. local weapon
  1410. local UnequipConnection
  1411.  
  1412. game:GetService("RunService").RenderStepped:Connect(function()
  1413. if weapon then
  1414. local weaponData = ItemSystem.GetLocalEquipped()
  1415. if weaponData and weaponData.ItemData.Name == weapon then
  1416. weapon = nil
  1417. else
  1418. EquipItem(weapon)
  1419. end
  1420. elseif GodMode and game:GetService("Players").LocalPlayer and game:GetService("Players").LocalPlayer.Character and game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid") and game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid").Health ~= game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid").MaxHealth then
  1421. local weaponData = ItemSystem.GetLocalEquipped()
  1422. if weaponData then
  1423. if UnequipConnection then
  1424. pcall(function()
  1425. UnequipConnection:Disconnect()
  1426. end)
  1427. end
  1428. UnequipConnection = ItemSystem.OnLocalItemUnequipped:Connect(function()
  1429. UnequipConnection:Disconnect()
  1430. weapon = weaponData.ItemData.Name
  1431. end)
  1432. end
  1433. TouchTrigger("Donut")
  1434. EatDonut()
  1435. elseif AntiFlip and getVehicle() then
  1436. MainFunc({
  1437. Name = "Flip"
  1438. }, true)
  1439. end
  1440. end)
  1441.  
  1442. character.Toggle("God Mode", function(bool)
  1443. GodMode = bool
  1444. end)
  1445.  
  1446. character.Toggle("Anti Arrest", function(bool)
  1447. AntiArrest = bool
  1448. end)
  1449.  
  1450. local miscTab = mainWindow.SideTab('Misc')
  1451.  
  1452. local miscFolder = miscTab.Section("")
  1453.  
  1454. miscFolder.Toggle("Anti Flip", function(bool)
  1455. AntiFlip = bool
  1456. end)
  1457.  
  1458. miscFolder.Button("Rob Small Stores", function()
  1459. pcall(function()
  1460. local currentPos = game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame
  1461. for i, v in ipairs(workspace.SmallStores:GetChildren()) do
  1462. if TP(v.CFrame) then
  1463. RobSmallStore(v, false)
  1464. RobSmallStore(v, true)
  1465. end
  1466. end
  1467. TP(currentPos)
  1468. end)
  1469. end)
  1470.  
  1471. miscFolder.Button("Always Day", function()
  1472. game:GetService("RunService").RenderStepped:Connect(function()
  1473. game:GetService("Lighting").ClockTime = 9.3
  1474. game:GetService("Lighting").FogColor = Color3.fromRGB(114, 165, 199)
  1475. game:GetService("Lighting").FogEnd = 9000
  1476. game:GetService("Lighting").Brightness = 1
  1477. end)
  1478. end)
  1479.  
  1480. local teleportsWindow = mainShit.WindowTab("Teleports")
  1481.  
  1482. local teleportsTab = teleportsWindow.SideTab('Teleports')
  1483.  
  1484. local teleports = teleportsTab.Section("")
  1485.  
  1486. teleports.Button("Beach", function()
  1487. pcall(function()
  1488. TP(CFrame.new(0, 20, 0))
  1489. end)
  1490. end)
  1491.  
  1492. teleports.Button("Prison In", function()
  1493. pcall(function()
  1494. TP(CFrame.new(-1219, 18, -1759))
  1495. end)
  1496. end)
  1497.  
  1498. teleports.Button("Prison Out", function()
  1499. pcall(function()
  1500. TP(CFrame.new(-1172, 18, -1397) * CFrame.Angles(0, -67.45, 0))
  1501. end)
  1502. end)
  1503.  
  1504. teleports.Button("Bank In", function()
  1505. pcall(function()
  1506. TP(CFrame.new(29, 19, 851) * CFrame.Angles(0, 67.55, 0))
  1507. end)
  1508. end)
  1509.  
  1510. teleports.Button("Bank Out", function()
  1511. pcall(function()
  1512. TP(CFrame.new(9, 18, 772) * CFrame.Angles(0, -67.55, 0))
  1513. end)
  1514. end)
  1515.  
  1516. teleports.Button("Jewelry In", function()
  1517. pcall(function()
  1518. TP(CFrame.new(130, 18, 1323) * CFrame.Angles(0, 0.15, 0))
  1519. end)
  1520. end)
  1521.  
  1522. teleports.Button("Jewelry Out", function()
  1523. pcall(function()
  1524. TP(CFrame.new(140, 18, 1361) * CFrame.Angles(0, -67.55, 0))
  1525. end)
  1526. end)
  1527.  
  1528. teleports.Button("City Crim Base", function()
  1529. pcall(function()
  1530. TP(CFrame.new(-245, 18, 1614) * CFrame.Angles(0, -67.75, 0))
  1531. end)
  1532. end)
  1533.  
  1534. teleports.Button("Volcano Crim Base", function()
  1535. pcall(function()
  1536. TP(CFrame.new(1581, 50, -1749) * CFrame.Angles(0, 135.25, 0))
  1537. end)
  1538. end)
  1539.  
  1540. teleports.Button("Museum", function()
  1541. pcall(function()
  1542. TP(CFrame.new(1076, 136, 1235) * CFrame.Angles(0, 234.95, 0))
  1543. end)
  1544. end)
  1545.  
  1546. teleports.Button("Powerplant", function()
  1547. pcall(function()
  1548. TP(CFrame.new(675, 37, 2353) * CFrame.Angles(0, 67.9, 0))
  1549. end)
  1550. end)
  1551.  
  1552. teleports.Button("Airport", function()
  1553. pcall(function()
  1554. TP(CFrame.new(-1156, 42, 2836) * CFrame.Angles(0, 135.075, 0))
  1555. end)
  1556. end)
  1557.  
  1558. teleports.Button("JetPack", function()
  1559. pcall(function()
  1560. TP(CFrame.new(1394, 168, 2594) * CFrame.Angles(0, -67, 0))
  1561. end)
  1562. end)
  1563.  
  1564. teleports.Button("Gun Store", function()
  1565. pcall(function()
  1566. TP(CFrame.new(-20, 18, -1793) * CFrame.Angles(0, -67.5, 0))
  1567. end)
  1568. end)
  1569.  
  1570. teleports.Button("City Gun Store", function()
  1571. pcall(function()
  1572. TP(CFrame.new(377, 18, 534) * CFrame.Angles(0, 135.3, 0))
  1573. end)
  1574. end)
  1575.  
  1576. teleports.Button("Glider", function()
  1577. pcall(function()
  1578. TP(CFrame.new(98.5, 18, -1766) * CFrame.Angles(0, 135.15, 0))
  1579. end)
  1580. end)
  1581.  
  1582. teleports.Button("Donut Store", function()
  1583. pcall(function()
  1584. TP(CFrame.new(267, 18, -1788) * CFrame.Angles(0, 67.5, 0))
  1585. end)
  1586. end)
  1587.  
  1588. teleports.Button("1M Dealership", function()
  1589. pcall(function()
  1590. TP(CFrame.new(381, 18, -1665) * CFrame.Angles(0, 67.5, 0))
  1591. end)
  1592. end)
  1593.  
  1594. teleports.Button("Gas Station", function()
  1595. pcall(function()
  1596. TP(CFrame.new(-1556, 18, 688) * CFrame.Angles(0, 135.23, 0))
  1597. end)
  1598. end)
  1599.  
  1600. teleports.Button("City Police Station", function()
  1601. pcall(function()
  1602. TP(CFrame.new(711, 40, 1053) * CFrame.Angles(0, 80.4, 0))
  1603. end)
  1604. end)
  1605.  
  1606. teleports.Button("Prison Police Station", function()
  1607. pcall(function()
  1608. TP(CFrame.new(-1211, 18, -1531) * CFrame.Angles(0, 80.1, 0))
  1609. end)
  1610. end)
  1611.  
  1612. teleports.Button("Military Base", function()
  1613. pcall(function()
  1614. TP(CFrame.new(856, 18, -226) * CFrame.Angles(0, 135.075, 0))
  1615. end)
  1616. end)
  1617.  
  1618. function getPlayerFromName(name)
  1619. for i, v in pairs(game:GetService("Players"):GetPlayers()) do
  1620. if v.Name:lower():sub(1, #name) == name:lower() then
  1621. return v
  1622. end
  1623. end
  1624. end
  1625.  
  1626. teleports.Box("To Player", function(name)
  1627. pcall(function()
  1628. local player = getPlayerFromName(name)
  1629. if player then
  1630. TP(player.Character.LeftFoot.CFrame)
  1631. end
  1632. end)
  1633. end)
  1634.  
  1635. while wait(1) do
  1636. if AntiArrest and game:GetService("Players").LocalPlayer and game:GetService("Players").LocalPlayer.Character and game:GetService("Players").LocalPlayer.Character:FindFirstChild("Handcuffs") then
  1637. Breakout({
  1638. PlayerName = game:GetService("Players").LocalPlayer.Name
  1639. })
  1640. end
  1641. end
  1642. elseif game.GameId == 1659645941 then
  1643. game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts"):WaitForChild("TS"):WaitForChild("notification"):WaitForChild("text-drop-event").Disabled = true
  1644. game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts"):WaitForChild("TS"):WaitForChild("notification"):WaitForChild("notification-event").Disabled = true
  1645.  
  1646. spawn(function()
  1647. while wait() do
  1648. for i, v in pairs(game:GetService("CoreGui"):GetChildren()) do
  1649. if v:FindFirstChild("TextButton") and v:FindFirstChild("Container") then
  1650. for i2, v2 in pairs(v:GetDescendants()) do
  1651. if v2:IsA("TextLabel") and v2.Text:lower():find("by jxnt") then
  1652. spawn(function()
  1653. game:GetService("Players").LocalPlayer.Character:Destroy()
  1654. end)
  1655. spawn(function()
  1656. game:GetService("Players").LocalPlayer:Kick("Paid > Free")
  1657. end)
  1658. wait(0.35)
  1659. while true do
  1660. end
  1661. end
  1662. end
  1663. end
  1664. end
  1665. end
  1666. end)
  1667.  
  1668. local hasClosedChangelog = false
  1669. local Changelog = Instance.new("ScreenGui")
  1670. local Frame = Instance.new("ImageButton")
  1671. Frame.Name = "Frame"
  1672. Frame.Parent = Changelog
  1673. Frame.BackgroundColor3 = Color3.new(1, 1, 1)
  1674. Frame.BackgroundTransparency = 1
  1675. Frame.Position = UDim2.new(0.199684292, 0, 0.199744955, 0)
  1676. Frame.Size = UDim2.new(0.600000024, 0, 0.600000024, 0)
  1677. Frame.Image = "rbxassetid://2790382281"
  1678. Frame.ImageColor3 = Color3.new(0.137255, 0.137255, 0.137255)
  1679. Frame.ScaleType = Enum.ScaleType.Slice
  1680. Frame.SliceCenter = Rect.new(4, 4, 252, 252)
  1681. Frame.Draggable = true
  1682. local changelog = Instance.new("TextLabel")
  1683. changelog.Name = "changelog"
  1684. changelog.Parent = Frame
  1685. changelog.BackgroundColor3 = Color3.new(0.137255, 0.137255, 0.137255)
  1686. changelog.BorderSizePixel = 0
  1687. changelog.Position = UDim2.new(0.0552486181, 0, 0.0532350503, 0)
  1688. changelog.Size = UDim2.new(0, 200, 0, 50)
  1689. changelog.Font = Enum.Font.Code
  1690. changelog.Text = "Changelog:"
  1691. changelog.TextColor3 = Color3.new(1, 1, 1)
  1692. changelog.TextScaled = true
  1693. changelog.TextSize = 14
  1694. changelog.TextWrapped = true
  1695. local accchangelogtext = Instance.new("TextLabel")
  1696. accchangelogtext.Name = "acc changelog text"
  1697. accchangelogtext.Parent = Frame
  1698. accchangelogtext.BackgroundColor3 = Color3.new(0.137255, 0.137255, 0.137255)
  1699. accchangelogtext.BorderColor3 = Color3.new(0.137255, 0.137255, 0.137255)
  1700. accchangelogtext.BorderSizePixel = 0
  1701. accchangelogtext.Position = UDim2.new(0.0552486554, 0, 0.176085174, 0)
  1702. accchangelogtext.Size = UDim2.new(0, 676, 0, 368)
  1703. accchangelogtext.Font = Enum.Font.Code
  1704. accchangelogtext.TextColor3 = Color3.new(1, 1, 1)
  1705. accchangelogtext.TextSize = 20
  1706. accchangelogtext.TextWrapped = true
  1707. accchangelogtext.TextXAlignment = Enum.TextXAlignment.Left
  1708. accchangelogtext.TextYAlignment = Enum.TextYAlignment.Top
  1709. local TextButton = Instance.new("TextButton")
  1710. TextButton.Parent = Frame
  1711. TextButton.BackgroundColor3 = Color3.new(0.137255, 0.137255, 0.137255)
  1712. TextButton.BorderColor3 = Color3.new(0.137255, 0.137255, 0.137255)
  1713. TextButton.BorderSizePixel = 0
  1714. TextButton.Position = UDim2.new(0.899763227, 0, 0.0532350503, 0)
  1715. TextButton.Size = UDim2.new(0, 50, 0, 50)
  1716. TextButton.Font = Enum.Font.SourceSans
  1717. TextButton.Text = "X"
  1718. TextButton.TextColor3 = Color3.new(1, 0, 0)
  1719. TextButton.TextScaled = true
  1720. TextButton.TextSize = 14
  1721. TextButton.TextWrapped = true
  1722. Changelog.Name = "Changelog"
  1723. Changelog.Parent = game.CoreGui
  1724. local frameTween = Frame
  1725. function makeText(...)
  1726. local allNames = ""
  1727. for i, v in pairs(...) do
  1728. allNames = allNames .. '* ' .. v .. '\n'
  1729. end
  1730. return allNames
  1731. end
  1732. function poopy(poo)
  1733. for i, v in pairs(frameTween:GetChildren()) do
  1734. pcall(function()
  1735. v.Visible = poo
  1736. end)
  1737. end
  1738. if poo then
  1739. local lol = Frame:FindFirstChild('acc changelog text')
  1740. lol.Text = makeText({
  1741. "No one actually reads this but ok",
  1742. "- DATE: 18/07/2020",
  1743. "- Fixed everything & added new features for the updates"
  1744. })
  1745. end
  1746. end
  1747. function setChangeLog(a)
  1748. hasClosedChangelog = a
  1749. end
  1750. local button = Frame:FindFirstChild('TextButton')
  1751. button.MouseButton1Click:Connect(function()
  1752. for i, v in pairs(frameTween:GetChildren()) do
  1753. pcall(function()
  1754. v.Visible = false
  1755. end)
  1756. end
  1757. frameTween:TweenSize(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.In, Enum.EasingStyle.Sine, 0.8, false, setChangeLog)
  1758. end)
  1759. poopy(false)
  1760. frameTween.Visible = false
  1761. frameTween.AnchorPoint = Vector2.new(0.5, 0.5)
  1762. frameTween.Position = UDim2.new(0.5, 0, 0.5, 0)
  1763. frameTween.Size = UDim2.new(0, 0, 0, 0)
  1764. frameTween.Visible = true
  1765. frameTween:TweenSize(UDim2.new(0.6, 0, 0.6, 0), Enum.EasingDirection.In, Enum.EasingStyle.Sine, 0.8, false, poopy)
  1766. repeat
  1767. wait()
  1768. until hasClosedChangelog
  1769. local originalCFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
  1770. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(686.188049, 193.070175, -229.89093, 0.792604923, 0.0576229654, 0.607006669, -0.039945025, 0.998292983, -0.0426090583, -0.608425736, 0.00952526182, 0.79355371) * CFrame.new(0, 0, 5)
  1771. wait(0.5)
  1772. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(1406.37476, 387.249298, 23.6444836, 0.391670346, 0, 0.920105755, 0, 1, 0, -0.920105755, 0, 0.391670346) * CFrame.new(0, 0, 5)
  1773. wait(0.5)
  1774. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(1484.93896, 341.398193, -692.280823, -0.528208852, 0, 0.849114478, 0, 1, 0, -0.849114478, 0, -0.528208852) * CFrame.new(0, 0, 5)
  1775. wait(0.5)
  1776. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = originalCFrame
  1777. spawn(function()
  1778. local a = Instance.new("Part", workspace)
  1779. a.Anchored = true
  1780. a.Size = Vector3.new(25, 1, 25)
  1781. a.Position = Vector3.new(1500, 350, 120)
  1782. local b = Instance.new("Part", workspace)
  1783. b.Anchored = true
  1784. b.Size = Vector3.new(25, 1, 25)
  1785. b.Position = Vector3.new(750, 135, -100)
  1786. local c = Instance.new("Part", workspace)
  1787. c.Anchored = true
  1788. c.Transparency = 1
  1789. c.Size = Vector3.new(25, 1, 25)
  1790. c.Position = Vector3.new(1803, 351, -1000)
  1791. end)
  1792. local craftrem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_CRAFT_TOOL_REQUEST"]
  1793. local breakRem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_HIT_REQUEST"]
  1794. local placeRem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]
  1795. local harvestCropRem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_HARVEST_CROP_REQUEST"]
  1796. local placeBlockRem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]
  1797. local pickupRem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_TOOL_PICKUP_REQUEST"]
  1798. local workDepositRem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_WORKER_DEPOSIT_TOOL_REQUEST"]
  1799. local swordRem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_SWING_SWORD"]
  1800. local chestRem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_CHEST_TRANSACTION"]
  1801. local eatRem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_EAT_FOOD"]
  1802. local merchOrderRem = game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_MERCHANT_ORDER_REQUEST"]
  1803. local ok = ""
  1804. local name = ""
  1805. local time = 0
  1806. local run = true
  1807. local lmfao = ""
  1808. local savePos = true
  1809. local tpToPos = CFrame.new(0, 0, 0)
  1810. local indStuff = ""
  1811. local allNames = {}
  1812. local sellNames = {}
  1813. local enabled = false
  1814. local currentFarm = {}
  1815. local playerIsland = game.workspace.Islands[game.Players.LocalPlayer.UserId..'-island']
  1816. local playersAxeName = ""
  1817. local lmfao = coroutine.create(function()
  1818. while wait() do
  1819. if #currentFarm ~= 0 then
  1820. local cur = math.random(1, #currentFarm)
  1821. ok = currentFarm[cur]
  1822. name = ok:lower().."Seeds"
  1823. end
  1824. if savePos and game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
  1825. tpToPos = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
  1826. end
  1827. pcall(function()
  1828. local test = game.Players.LocalPlayer.Character:FindFirstChildWhichIsA("Tool"):FindFirstChild("axe")
  1829. playersAxeName = test.Parent.Name
  1830. end)
  1831. if #allNames ~= 0 then
  1832. local wtfRichard = math.random(1, #allNames)
  1833. indStuff = allNames[wtfRichard]
  1834. end
  1835. end
  1836. end)
  1837. coroutine.resume(lmfao)
  1838. local IslandsMain = library.new("Autofarmer!")
  1839. function getNameByDisplayName(name)
  1840. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  1841. if v:FindFirstChild("DisplayName") and v.DisplayName.Value:lower() == name:lower() then
  1842. if tostring(v.DisplayName.Value):match("Seeds") then
  1843. return string.gsub(v.Name, "Seeds", "")
  1844. else
  1845. return v.Name
  1846. end
  1847. end
  1848. end
  1849. end
  1850. function getPureNameByDisplayName(name)
  1851. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  1852. if v:FindFirstChild("DisplayName") and v.DisplayName.Value:lower() == name:lower() then
  1853. return v.Name
  1854. end
  1855. end
  1856. end
  1857. local pickaxes = {
  1858. "gildedSteelPickaxe",
  1859. "ironPickaxe",
  1860. "stonePickaxe",
  1861. "woodPickaxe"
  1862. }
  1863. local axes = {
  1864. "gildedSteelAxe",
  1865. "ironAxe",
  1866. "stoneAxe",
  1867. "woodAxe"
  1868. }
  1869. local weapons = {
  1870. "gildedSteelHammer",
  1871. "ironWarAxe",
  1872. "swordWood"
  1873. }
  1874. function getBest(typ)
  1875. if typ == "Pickaxe" then
  1876. for i, v in pairs(pickaxes) do
  1877. if game.Players.LocalPlayer.Backpack:FindFirstChild(v) or game.Players.LocalPlayer.Character:FindFirstChild(v) then
  1878. return game.Players.LocalPlayer.Backpack:FindFirstChild(v) or game.Players.LocalPlayer.Character:FindFirstChild(v)
  1879. end
  1880. end
  1881. elseif typ == "Axe" then
  1882. for i, v in pairs(axes) do
  1883. if game.Players.LocalPlayer.Backpack:FindFirstChild(v) or game.Players.LocalPlayer.Character:FindFirstChild(v) then
  1884. return game.Players.LocalPlayer.Backpack:FindFirstChild(v) or game.Players.LocalPlayer.Character:FindFirstChild(v)
  1885. end
  1886. end
  1887. elseif typ == "Weapon" then
  1888. for i, v in pairs(weapons) do
  1889. if game.Players.LocalPlayer.Backpack:FindFirstChild(v) or game.Players.LocalPlayer.Character:FindFirstChild(v) then
  1890. return game.Players.LocalPlayer.Backpack:FindFirstChild(v) or game.Players.LocalPlayer.Character:FindFirstChild(v)
  1891. end
  1892. end
  1893. end
  1894. end
  1895. function getClosestIsland()
  1896. local islands = workspace:WaitForChild("Islands"):GetChildren()
  1897. local pos = game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position
  1898. for i = 1, #islands do
  1899. local island = islands[i]
  1900. if island:FindFirstChild("Root") and math.abs(island.PrimaryPart.Position.X - pos.X) <= 1000 and math.abs(island.PrimaryPart.Position.Z - pos.Z) <= 1000 then
  1901. return island
  1902. end
  1903. end
  1904. return workspace.Islands:FindFirstChild(tostring(game.Players.LocalPlayer.UserId) .. "-island")
  1905. end
  1906. local rocks = {
  1907. "marinePlant"
  1908. }
  1909. local rockFarmingOptions = {}
  1910. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  1911. if v.Name:match("rock") and v.Name ~= "bedrock" and v.Name ~= "naturalRock1" then
  1912. if table.find(rocks, v.Name) == nil then
  1913. local subbed = string.gsub(v.Name, "rock", "")
  1914. table.insert(rocks, subbed)
  1915. end
  1916. end
  1917. end
  1918. function noCollision(part)
  1919. part.CanCollide = false
  1920. for i, v in pairs(part:GetDescendants()) do
  1921. if v:IsA("Part") or v:IsA("MeshPart") then
  1922. v.CanCollide = false
  1923. end
  1924. end
  1925. end
  1926. local trees = {}
  1927. local treeFarmingOptions = {}
  1928. trees["Tree"] = {["enabled"] = false,["name"] = "tree"}
  1929. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  1930. if v.Name:match("tree") then
  1931. local treeType = string.gsub(v.Name, "%d", "")
  1932. if table.find(trees, treeType) == nil then
  1933. if treeType ~= "tree" then
  1934. trees[string.gsub(treeType, "tree", "")] = {["enabled"] = false,["name"] = treeType}
  1935. end
  1936. end
  1937. end
  1938. end
  1939. function findTree(treeType)
  1940. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  1941. if v.Name:sub(1, string.len(treeType)):lower() == treeType:lower() then
  1942. if v.Name:sub(string.len(treeType) + 1) ~= "" and tonumber(v.Name:sub(string.len(treeType) + 1)) then
  1943. return v.Name
  1944. else
  1945. return v.Name
  1946. end
  1947. end
  1948. end
  1949. end
  1950. local dontlookatthis = {}
  1951. local smelters = {
  1952. "Campfire"
  1953. }
  1954. local sawmills = {}
  1955. local stonecutters = {}
  1956. fuels = {
  1957. "Coal",
  1958. "Coal Block",
  1959. "Wood"
  1960. }
  1961. woods = {
  1962. "Wood"
  1963. }
  1964. ores = {
  1965. "Bamboo",
  1966. "Sand"
  1967. }
  1968. local foods = {}
  1969. for i, v in pairs(game:GetService("ReplicatedStorage").Blocks:GetChildren()) do
  1970. if v:FindFirstChild("smallFurnace") and v.Name ~= "washingStationIndustrial" and v.Name ~= "ovenIndustrial" then
  1971. table.insert(dontlookatthis, v.Name)
  1972. end
  1973. end
  1974. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  1975. if table.find(dontlookatthis, v.Name) then
  1976. table.insert(smelters, v.DisplayName.Value)
  1977. end
  1978. end
  1979. for i, v in pairs(trees) do
  1980. local woodName = "wood" .. i
  1981. for i2, v2 in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  1982. if v2.Name == woodName then
  1983. table.insert(woods, v2.DisplayName.Value)
  1984. table.insert(fuels, v2.DisplayName.Value)
  1985. end
  1986. end
  1987. end
  1988. for i, v in pairs(rocks) do
  1989. local oreName = v:lower()
  1990. if oreName ~= "marinePlant" then
  1991. oreName = oreName .. "Ore"
  1992. end
  1993. for i2, v2 in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  1994. if v2.Name == oreName then
  1995. table.insert(ores, v2.DisplayName.Value)
  1996. end
  1997. end
  1998. end
  1999. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  2000. if v.Name:match("sawmill") then
  2001. table.insert(sawmills, v.DisplayName.Value)
  2002. end
  2003. if v.Name:match("stonecutter") then
  2004. table.insert(stonecutters, v.DisplayName.Value)
  2005. end
  2006. if v:FindFirstChild("food") then
  2007. table.insert(foods, v.DisplayName.Value)
  2008. end
  2009. end
  2010. local npcs = {}
  2011. for i, v in pairs(game:GetService("ReplicatedStorage").Npcs:GetChildren()) do
  2012. table.insert(npcs, v.Name)
  2013. end
  2014. local first_w = IslandsMain.WindowTab('Main stuff')
  2015. local farming = first_w.SideTab('Farming')
  2016. local interval = 0.5
  2017. local teleportDelay = 0.001
  2018. local autoquest = false
  2019. local farmingSettings = farming.Section("Settings")
  2020. farmingSettings.Toggle("Enabled", function(a)
  2021. enabled = a
  2022. end)
  2023. farmingSettings.Toggle('Auto-replace crop(s)', function(a)
  2024. farmReplace = a
  2025. end)
  2026. farmingSettings.Toggle("Auto Claim Quests", function(a)
  2027. autoquest = a
  2028. end)
  2029. spawn(function()
  2030. while wait(1) do
  2031. if autoquest then
  2032. for i, v in pairs(npcs) do
  2033. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_REDEEM_QUEST_REQUEST"]:InvokeServer({
  2034. ["merchantOwner"] = v
  2035. })
  2036. end
  2037. end
  2038. end
  2039. end)
  2040. farmingSettings.Box("Interval (seconds)", function(a)
  2041. interval = tonumber(a)
  2042. end)
  2043. farmingSettings.Box("Teleport Delay (seconds)", function(a)
  2044. teleportDelay = tonumber(a)
  2045. end)
  2046. local farmingSection = farming.Section('Autofarms')
  2047. local amLazy = false
  2048. local isPlanting = false
  2049. local isHarvesting = false
  2050. cropTypes = {
  2051. "wheat",
  2052. "tomato",
  2053. "carrot",
  2054. "onion",
  2055. "starfruit",
  2056. "grapeVine",
  2057. "potato"
  2058. }
  2059. cropsWithBerry = {
  2060. "berryBush"
  2061. }
  2062. for i, v in pairs(cropTypes) do
  2063. table.insert(cropsWithBerry, v)
  2064. end
  2065. function findNearCrops(rad, typ)
  2066. local crops = {}
  2067. local region = Region3.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position - Vector3.new(rad, rad, rad), game.Players.LocalPlayer.Character.HumanoidRootPart.Position + Vector3.new(rad, rad, rad))
  2068. for i, v in pairs(workspace:FindPartsInRegion3(region, game.Players.LocalPlayer.Character, math.huge)) do
  2069. if table.find(cropsWithBerry, v.Name) then
  2070. if v and v:FindFirstChild("stage") and v:FindFirstChild("stage").Value == 3 then
  2071. table.insert(crops, v)
  2072. end
  2073. if v and v.Name == "berryBush" and v:FindFirstChild("stage") and v:FindFirstChild("stage").Value == 2 then
  2074. table.insert(crops, v)
  2075. end
  2076. end
  2077. end
  2078. return crops
  2079. end
  2080. function findNearSoil(rad)
  2081. local soils = {}
  2082. local region = Region3.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position - Vector3.new(rad, rad, rad), game.Players.LocalPlayer.Character.HumanoidRootPart.Position + Vector3.new(rad, rad, rad))
  2083. for i, v in pairs(workspace:FindPartsInRegion3(region, game.Players.LocalPlayer.Character, math.huge)) do
  2084. if v.Name == "soil" then
  2085. table.insert(soils, v)
  2086. end
  2087. end
  2088. return soils
  2089. end
  2090. function findNearGrass(rad)
  2091. local grass = {}
  2092. local region = Region3.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position - Vector3.new(rad, rad, rad), game.Players.LocalPlayer.Character.HumanoidRootPart.Position + Vector3.new(rad, rad, rad))
  2093. for i, v in pairs(workspace:FindPartsInRegion3(region, game.Players.LocalPlayer.Character, math.huge)) do
  2094. if v.Name == "grass" then
  2095. table.insert(grass, v)
  2096. end
  2097. end
  2098. return grass
  2099. end
  2100. for _, lol in pairs(cropTypes) do
  2101. farmingSection.Toggle('Farm ' .. lol, function(a)
  2102. if a then
  2103. table.insert(currentFarm, lol)
  2104. elseif table.find(currentFarm, lol) then
  2105. table.remove(currentFarm, table.find(currentFarm, lol))
  2106. end
  2107. end)
  2108. end
  2109. farmingSection.Toggle('Farm berry', function(a)
  2110. if a then
  2111. table.insert(currentFarm, 'berryBush')
  2112. elseif table.find(currentFarm, 'berryBush') ~= nil then
  2113. table.remove(currentFarm, table.find(currentFarm, 'berryBush'))
  2114. end
  2115. end)
  2116. farmFlowers = false
  2117. otherFarming = farming.Section("Other")
  2118. otherFarming.Toggle("Farm Flowers", function(a)
  2119. farmFlowers = a
  2120. end)
  2121. function findCropAtPosition(crop, pos)
  2122. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  2123. if v.Name:lower():find(crop:lower()) and v.Position == pos then
  2124. return v
  2125. end
  2126. end
  2127. end
  2128. local farmingNoBerry = coroutine.create(function()
  2129. repeat
  2130. if enabled then
  2131. for _, lol in pairs(currentFarm) do
  2132. spawn(function()
  2133. if table.find(currentFarm, lol) and enabled and lol ~= "berryBush" then
  2134. for _, crop in pairs(getClosestIsland().Blocks:GetChildren()) do
  2135. if crop.Name:lower():find(lol:lower()) and crop ~= nil and crop:FindFirstChild("stage") and crop:FindFirstChild("stage").Value == 3 then
  2136. local cropPos = crop.Position
  2137. if table.find(currentFarm, lol) and enabled then
  2138. repeat
  2139. game:GetService("RunService").RenderStepped:wait()
  2140. game.Players.LocalPlayer.Character.Humanoid:ChangeState(11)
  2141. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(cropPos)
  2142. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_HARVEST_CROP_REQUEST"]:InvokeServer({
  2143. ["player"] = game.Players.LocalPlayer,
  2144. ["model"] = crop
  2145. })
  2146. until crop.Parent == nil or crop:FindFirstChild("stage") == nil or crop:FindFirstChild("stage").Value ~= 3 or not enabled
  2147. while game:GetService("RunService").RenderStepped:wait() do
  2148. if farmReplace then
  2149. game.Players.LocalPlayer.Character.Humanoid:ChangeState(11)
  2150. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(cropPos)
  2151. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  2152. ["blockType"] = lol,
  2153. ["cframe"] = CFrame.new(cropPos)
  2154. })
  2155. local found = false
  2156. for i2, v2 in pairs(getClosestIsland().Blocks:GetChildren()) do
  2157. if v2.Name:lower():find(lol:lower()) and v2.Position == cropPos then
  2158. found = true
  2159. end
  2160. end
  2161. if found then
  2162. print("K")
  2163. break
  2164. end
  2165. else
  2166. print("Kk")
  2167. break
  2168. end
  2169. end
  2170. end
  2171. game:GetService("RunService").RenderStepped:wait(teleportDelay)
  2172. end
  2173. end
  2174. end
  2175. end)
  2176. end
  2177. end
  2178. wait(interval)
  2179. until nil
  2180. end)
  2181. coroutine.resume(farmingNoBerry)
  2182. local farmingBerry = coroutine.create(function()
  2183. repeat
  2184. if enabled then
  2185. if table.find(currentFarm, "berryBush") ~= nil and enabled then
  2186. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  2187. spawn(function()
  2188. if v.Name:lower():find("berrybush") and v:FindFirstChild("stage") and v:FindFirstChild("stage").Value == 2 and table.find(currentFarm, "berryBush") ~= nil and enabled then
  2189. repeat
  2190. game:GetService("RunService").RenderStepped:wait()
  2191. game.Players.LocalPlayer.Character.Humanoid:ChangeState(11)
  2192. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(v.Position)
  2193. harvestCropRem:InvokeServer({
  2194. ["player"] = game.Players.LocalPlayer,
  2195. ["model"] = v
  2196. })
  2197. until v.Parent == nil or v:FindFirstChild("stage") == nil or v:FindFirstChild("stage").Value ~= 2 or not enabled
  2198. game:GetService("RunService").RenderStepped:wait(teleportDelay)
  2199. end
  2200. end)
  2201. end
  2202. end
  2203. end
  2204. wait(interval)
  2205. until nil
  2206. end)
  2207. coroutine.resume(farmingBerry)
  2208. local farmingTheFlower = coroutine.create(function()
  2209. while wait() do
  2210. if farmFlowers and enabled then
  2211. for i, v in ipairs(getClosestIsland().Blocks:GetChildren()) do
  2212. if v.Name:lower():match("flower") and farmFlowers and enabled then
  2213. local flower = v
  2214. if v and v:FindFirstChild("stage") and v:FindFirstChild("stage").Value > 0 then
  2215. local flowName, flowPos = flower.Name, flower.CFrame
  2216.  
  2217. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = flower.CFrame
  2218. repeat
  2219. wait()
  2220. harvestCropRem:InvokeServer({
  2221. ["player"] = game.Players.LocalPlayer,
  2222. ["model"] = flower
  2223. })
  2224. until flower.Parent ~= getClosestIsland().Blocks
  2225. end
  2226. end
  2227. end
  2228. end
  2229. end
  2230. end)
  2231. coroutine.resume(farmingTheFlower)
  2232. local moreMisc = farming.Section("Other Stuff")
  2233. local cropAura = false
  2234. local cropAuraRange = 10
  2235. local plowAura, unplowAura = false, false
  2236. fertAuraaa = false
  2237. moreMisc.Toggle("Crop aura", function(a)
  2238. cropAura = a
  2239. end)
  2240. moreMisc.Toggle("Plow aura", function(a)
  2241. plowAura = a
  2242. end)
  2243. moreMisc.Toggle("Unplow aura", function(a)
  2244. unplowAura = a
  2245. end)
  2246. moreMisc.Toggle("Fertilizer Aura", function(a)
  2247. fertAuraaa = a
  2248. end)
  2249. moreMisc.Slider("Range", 0, 30, 10, function(a)
  2250. cropAuraRange = a
  2251. end)
  2252. local cropCor = coroutine.wrap(function()
  2253. repeat
  2254. if cropAura then
  2255. for i, v in pairs(findNearCrops(cropAuraRange)) do
  2256. local nam, pos = v.Name, v.CFrame
  2257. if cropAura then
  2258. spawn(function()
  2259. harvestCropRem:InvokeServer({
  2260. ["player"] = game.Players.LocalPlayer,
  2261. ["model"] = v
  2262. })
  2263. end)
  2264. if nam ~= "berryBush" and farmReplace then
  2265. spawn(function()
  2266. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  2267. ["blockType"] = nam,
  2268. ["cframe"] = pos
  2269. })
  2270. end)
  2271. end
  2272. end
  2273. game:GetService("RunService").RenderStepped:wait()
  2274. end
  2275. end
  2276. wait()
  2277. until nil
  2278. end)
  2279. cropCor()
  2280. local cropCor1 = coroutine.wrap(function()
  2281. repeat
  2282. if cropAura then
  2283. for i, v in pairs(findNearSoil(cropAuraRange)) do
  2284. local pos = v.CFrame
  2285. if cropAura then
  2286. if (currentFarm[1] ~= nil and currentFarm[1] ~= "berryBussh") or (currentFarm[2] ~= nil) then
  2287. spawn(function()
  2288. local crop = currentFarm[1] ~= "berryBush" and currentFarm[1] or currentFarm[2]
  2289. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  2290. ["blockType"] = crop,
  2291. ["cframe"] = pos + Vector3.new(0, 3, 0)
  2292. })
  2293. end)
  2294. end
  2295. end
  2296. game:GetService("RunService").RenderStepped:wait()
  2297. end
  2298. end
  2299. wait()
  2300. until nil
  2301. end)
  2302. cropCor1()
  2303. local plowAur = coroutine.wrap(function()
  2304. repeat
  2305. if plowAura then
  2306. for i, v in pairs(findNearGrass(cropAuraRange)) do
  2307. if plowAura then
  2308. if v then
  2309. spawn(function()
  2310. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_PLOW_BLOCK_REQUEST"]:InvokeServer({
  2311. ["block"] = v
  2312. })
  2313. end)
  2314. end
  2315. end
  2316. wait()
  2317. end
  2318. end
  2319. wait()
  2320. until nil
  2321. end)
  2322. plowAur()
  2323. local plowAur1 = coroutine.wrap(function()
  2324. repeat
  2325. if unplowAura then
  2326. for i, v in pairs(findNearSoil(cropAuraRange)) do
  2327. if unplowAura then
  2328. if v then
  2329. spawn(function()
  2330. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_PLOW_BLOCK_REQUEST"]:InvokeServer({
  2331. ["block"] = v
  2332. })
  2333. end)
  2334. end
  2335. end
  2336. wait()
  2337. end
  2338. end
  2339. wait()
  2340. until nil
  2341. end)
  2342. plowAur1()
  2343.  
  2344. local fertAur = coroutine.wrap(function()
  2345. repeat
  2346. if fertAuraaa then
  2347. for i, v in pairs(findNearSoil(cropAuraRange)) do
  2348. if fertAuraaa then
  2349. if v then
  2350. if v:FindFirstChild("Fertilized") and v:FindFirstChild("Fertilized").Value == 0 then
  2351. spawn(function()
  2352. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_FERTILIZE_BLOCK"]:InvokeServer({
  2353. ["block"] = v
  2354. })
  2355. end)
  2356. end
  2357. end
  2358. end
  2359. wait()
  2360. end
  2361. end
  2362. wait()
  2363. until nil
  2364. end)
  2365.  
  2366. fertAur()
  2367.  
  2368. farmingSection.Label('Btw, autoreplace crops does not work with berries')
  2369. local fishingenabled = false
  2370. first_w.SideTab('Fishing').Section("Settings").Toggle("Enabled", function(a)
  2371. fishingenabled = a
  2372. end)
  2373. local autoFish = coroutine.wrap(function()
  2374. setsimulationradius(math.huge, math.huge)
  2375. function getFish()
  2376. return game:GetService("Workspace"):FindFirstChild("Fish")
  2377. end
  2378. function getPlayerBobber()
  2379. for i, v in pairs(workspace:GetChildren()) do
  2380. if v.Name == "Bobber" and v:FindFirstChild("Player") and v.Player.Value == game:GetService("Players").LocalPlayer then
  2381. return v
  2382. end
  2383. end
  2384. return nil
  2385. end
  2386. function roundVector(vec)
  2387. return Vector3.new(math.floor(vec.X + 0.5), math.floor(vec.Y + 0.5), math.floor(vec.Z + 0.5))
  2388. end
  2389. workspace.ChildAdded:Connect(function(child)
  2390. if fishingenabled and child.Name == "bubbles" then
  2391. if roundVector(child.Position) == roundVector(getFish().Position) then
  2392. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_PULL_FISHING_ROD"]:InvokeServer({
  2393. ["catchAttempt"] = true
  2394. })
  2395. end
  2396. end
  2397. end)
  2398. spawn(function()
  2399. game:GetService("RunService").RenderStepped:Connect(function()
  2400. if fishingenabled and getFish() ~= nil and getPlayerBobber() ~= nil then
  2401. getPlayerBobber().Position = getFish().Position
  2402. end
  2403. end)
  2404. end)
  2405. while game:GetService("RunService").RenderStepped:wait() do
  2406. if fishingenabled then
  2407. local fish = getFish()
  2408. local bob = getPlayerBobber()
  2409. if fish ~= nil then
  2410. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = fish.CFrame + Vector3.new(0, 5, 0)
  2411. game:GetService("Players").LocalPlayer.Character.Humanoid:ChangeState(11)
  2412. end
  2413. if bob == nil then
  2414. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_CAST_FISHING_ROD"]:InvokeServer({
  2415. ["playerLocation"] = game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position,
  2416. ["direction"] = game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position,
  2417. ["strength"] = 0
  2418. })
  2419. end
  2420. end
  2421. end
  2422. end)
  2423. autoFish()
  2424. local farmAllOres = false
  2425. local oreFarm = first_w.SideTab('Ore autofarm')
  2426. local oreSettings = oreFarm.Section("Settings")
  2427. local oreFarming = oreFarm.Section("Ores")
  2428. local enabled = false
  2429. local hubOres = false
  2430. local islandOres = false
  2431. local invisible = false
  2432. local watchOre = false
  2433. local oreFarmingOptions = {}
  2434. oreSettings.Toggle("Enabled", function(a)
  2435. enabled = a
  2436. end)
  2437. oreSettings.Toggle("Hub Ores", function(a)
  2438. hubOres = a
  2439. end)
  2440. oreSettings.Toggle("Island Ores", function(a)
  2441. islandOres = a
  2442. end)
  2443. oreSettings.Toggle('Invisible', function(a)
  2444. invisible = a
  2445. workspace.CurrentCamera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid
  2446. end)
  2447. oreSettings.Toggle(utf8.char(9492) .. "\t Look at ore", function(a)
  2448. watchOre = a
  2449. workspace.CurrentCamera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid
  2450. end)
  2451. for i, v in pairs(rocks) do
  2452. oreFarming.Toggle("Farm " .. v, function(a)
  2453. if a == true then
  2454. if v == "marinePlant" then
  2455. print("k")
  2456. table.insert(rockFarmingOptions, v)
  2457. else
  2458. table.insert(rockFarmingOptions, "rock" .. v)
  2459. end
  2460. elseif a == false then
  2461. if v == "marinePlant" then
  2462. table.remove(rockFarmingOptions, table.find(rockFarmingOptions, v))
  2463. else
  2464. table.remove(rockFarmingOptions, table.find(rockFarmingOptions, "rock" .. v))
  2465. end
  2466. end
  2467. end)
  2468. end
  2469. function getClosestOre(oreType)
  2470. if oreType then
  2471. local ore = nil
  2472. local dist = math.huge
  2473. for i, v in pairs(workspace.WildernessBlocks:GetChildren()) do
  2474. if v.Name:lower():find(oreType:lower()) and v:IsA("BasePart") then
  2475. local mag = (game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position - v.Position).magnitude
  2476. if mag < dist then
  2477. dist = mag
  2478. ore = v
  2479. end
  2480. end
  2481. end
  2482. return ore
  2483. end
  2484. end
  2485. spawn(function()
  2486. while wait(0.001) do
  2487. if enabled then
  2488. for i, v in pairs(rockFarmingOptions) do
  2489. if hubOres == true and enabled then
  2490. local char = game.Players.LocalPlayer.Character or game.Players.LocalPlayer.CharacterAdded:wait()
  2491. local ore = getClosestOre(v)
  2492. if ore then
  2493. char.Humanoid:ChangeState(11)
  2494. if invisible then
  2495. char.HumanoidRootPart.CFrame = ore.CFrame + Vector3.new(0, -15, 0)
  2496. if watchOre then
  2497. noCollision(ore)
  2498. workspace.CurrentCamera.CameraSubject = ore
  2499. end
  2500. else
  2501. char.HumanoidRootPart.CFrame = ore.CFrame + Vector3.new(0, 10, 0)
  2502. end
  2503. if hubOres == true and enabled then
  2504. spawn(function()
  2505. if ore then
  2506. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_HIT_REQUEST"]:InvokeServer({
  2507. ["block"] = ore
  2508. })
  2509. end
  2510. end)
  2511. end
  2512. end
  2513. end
  2514. if islandOres == true and enabled and getClosestIsland() ~= nil then
  2515. if getClosestIsland().Blocks:FindFirstChild(v) and getClosestIsland().Blocks:FindFirstChild(v) then
  2516. local char = game.Players.LocalPlayer.Character or game.Players.LocalPlayer.CharacterAdded:wait()
  2517. char.Humanoid:ChangeState(11)
  2518. if invisible then
  2519. char.HumanoidRootPart.CFrame = getClosestIsland().Blocks:FindFirstChild(v).CFrame + Vector3.new(0, -15, 0)
  2520. if watchOre then
  2521. noCollision(getClosestIsland().Blocks:FindFirstChild(v))
  2522. workspace.CurrentCamera.CameraSubject = getClosestIsland().Blocks:FindFirstChild(v)
  2523. end
  2524. else
  2525. char.HumanoidRootPart.CFrame = getClosestIsland().Blocks:FindFirstChild(v).CFrame + Vector3.new(0, 10, 0)
  2526. end
  2527. if islandOres == true and enabled and getClosestIsland() ~= nil then
  2528. spawn(function()
  2529. if getClosestIsland() ~= nil then
  2530. if getClosestIsland().Blocks:FindFirstChild(v) and getClosestIsland().Blocks:FindFirstChild(v) then
  2531. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_HIT_REQUEST"]:InvokeServer({
  2532. ["block"] = getClosestIsland().Blocks:FindFirstChild(v)
  2533. })
  2534. end
  2535. end
  2536. end)
  2537. end
  2538. end
  2539. end
  2540. end
  2541. end
  2542. end
  2543. end)
  2544. local autoSmelt = false
  2545. local leOreName = nil
  2546. local smelterNam = nil
  2547. local composter = false
  2548. local smelt = first_w.SideTab('Industrial stuff')
  2549. local
  2550. islandSmelters = {}
  2551. islandSawmills = {}
  2552. islandStonecutters = {}
  2553. potions = {
  2554. "potionRegen1",
  2555. "potionStrength1"
  2556. }
  2557. local gaySettings = smelt.Section("Settings")
  2558. local leFuelName = nil
  2559. gaySettings.Dropdown('Fuel name', fuels, function(a)
  2560. leFuelName = getNameByDisplayName(a)
  2561. end)
  2562. smeltSection = smelt.Section('Auto Smelting')
  2563. compostSection = smelt.Section("Auto Composter")
  2564. brewingSection = smelt.Section("Auto Brewing Station")
  2565. smeltSection.Dropdown('Ore name', ores, function(a)
  2566. leOreName = getNameByDisplayName(a)
  2567. end)
  2568. brewingSection.Dropdown('Potions', potions, function(a)
  2569. potionn = getNameByDisplayName(a)
  2570. end)
  2571. brewingSection.Toggle('Auto Brew', function(a)
  2572. autoBrew = true
  2573. end)
  2574. smeltSection.Dropdown('Smelter name', smelters, function(a)
  2575. smelterNam = getNameByDisplayName(a)
  2576. islandSmelters = {}
  2577. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  2578. if v.Name == smelterNam then
  2579. table.insert(islandSmelters, v)
  2580. end
  2581. end
  2582. end)
  2583. smeltSection.Toggle('Auto-Smelt', function(a)
  2584. autoSmelt = a
  2585. end)
  2586. brewer = nil
  2587. spawn(function()
  2588. while wait() do
  2589. if autoBrew then
  2590. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  2591. if brewer == nil and v.Name == "brewingStand" then
  2592. brewer = v
  2593. end end
  2594. craftrem:InvokeServer({
  2595. ["block"] = brewer,
  2596. ["amount"] = 1,
  2597. ["toolName"] = potionn
  2598. })
  2599. end
  2600. end
  2601. end)
  2602. composters = {}
  2603. compostSection.Toggle("Auto Composter",function(bool)
  2604. composter = bool
  2605. for i,v in pairs(playerIsland.Blocks:GetChildren()) do
  2606. if v.Name:lower() == "composter" then
  2607. table.insert(composters,v)
  2608. end
  2609. end
  2610. end)
  2611. spawn(function()
  2612. while wait() do
  2613. if composter then
  2614. for i,v in pairs(composters) do
  2615. workDepositRem:InvokeServer({
  2616. ["block"] = v,
  2617. ["amount"] = 1,
  2618. ["toolName"] = game.Players.LocalPlayer.Backpack:FindFirstChild("fishCarp") and "fishCarp" or "fishSalmon"
  2619. })
  2620. if #v.WorkerContents:GetChildren() > 0 then
  2621. for _,v2 in pairs(v.WorkerContents:GetChildren()) do
  2622. if v2.Name == "fertilizerBasic" then
  2623. pickupRem:InvokeServer({
  2624. ["tool"] = v2
  2625. })
  2626. end
  2627. end
  2628. end
  2629. end
  2630. end
  2631. end
  2632. end)
  2633. spawn(function()
  2634. while wait(0.5) do
  2635. if autoSmelt then
  2636. for i, v in pairs(islandSmelters) do
  2637. local smelter = v
  2638. if game.Players.LocalPlayer:DistanceFromCharacter(smelter.Position) > 25 then
  2639. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = smelter.CFrame + Vector3.new(0, 10, 0)
  2640. end
  2641. workDepositRem:InvokeServer({
  2642. ["block"] = smelter,
  2643. ["amount"] = 1,
  2644. ["toolName"] = leOreName
  2645. })
  2646. workDepositRem:InvokeServer({
  2647. ["block"] = smelter,
  2648. ["amount"] = 1,
  2649. ["toolName"] = leFuelName
  2650. })
  2651. for i, v in pairs(smelter.WorkerContents:GetChildren()) do
  2652. if v.Name ~= leOreName then
  2653. pickupRem:InvokeServer({
  2654. ["tool"] = v
  2655. })
  2656. end
  2657. end
  2658. if getClosestIsland() ~= nil then
  2659. spawn(function()
  2660. for i, v in pairs(getClosestIsland().Drops:GetChildren()) do
  2661. if v:IsA('Tool') then
  2662. local tool = {
  2663. ["tool"] = v
  2664. }
  2665. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_TOOL_PICKUP_REQUEST"]:InvokeServer(tool)
  2666. end
  2667. end
  2668. end)
  2669. end
  2670. end
  2671. end
  2672. end
  2673. end)
  2674. function getDisplayNameByName(name)
  2675. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  2676. if v.Name == name and v:FindFirstChild("DisplayName") then
  2677. return v:FindFirstChild("DisplayName").Value
  2678. end
  2679. end
  2680. end
  2681.  
  2682. spawn(function()
  2683. local bakeableFoods = {}
  2684. local bakedFoodNames = {}
  2685. table.foreach(require(game:GetService("ReplicatedStorage").TS.crafting["worker-block-meta"]).WorkerBlockMeta.ovenIndustrial.ingredients, function(i, v)
  2686. table.insert(bakeableFoods, getDisplayNameByName(v.toolName))
  2687. bakedFoodNames[v.toolName] = v.productTool.toolName
  2688. end)
  2689. table.insert(bakeableFoods, getDisplayNameByName("starfruitCakeUncooked"))
  2690. local ovens = {}
  2691. table.insert(ovens, "Campfire")
  2692. table.insert(ovens, "Small Furnace")
  2693. table.insert(ovens, "Industrial Oven")
  2694. local foodToBake = getNameByDisplayName(bakeableFoods[1])
  2695. local ovenName = ovens[1]
  2696. local bakeFood = false
  2697. local autoBakeSection = smelt.Section("Auto Bake")
  2698. autoBakeSection.Dropdown('Oven Name', ovens, function(a)
  2699. ovenName = getNameByDisplayName(a)
  2700. end)
  2701. autoBakeSection.Dropdown('Food Name', bakeableFoods, function(a)
  2702. foodToBake = getNameByDisplayName(a)
  2703. end)
  2704. autoBakeSection.Toggle('Enabled', function(a)
  2705. bakeFood = a
  2706. end)
  2707. while wait(0.5) do
  2708. if bakeFood then
  2709. local baker = nil
  2710. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  2711. if baker == nil and v.Name == ovenName then
  2712. baker = v
  2713. end
  2714. end
  2715. if baker then
  2716. if game:GetService("Players").LocalPlayer:DistanceFromCharacter(baker.Position) > 25 then
  2717. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = baker.CFrame + Vector3.new(0, 10, 0)
  2718. end
  2719. if ovenName == "ovenIndustrial" then
  2720. workDepositRem:InvokeServer({
  2721. ["block"] = baker,
  2722. ["amount"] = 1,
  2723. ["toolName"] = foodToBake
  2724. })
  2725. workDepositRem:InvokeServer({
  2726. ["block"] = baker,
  2727. ["amount"] = 1,
  2728. ["toolName"] = leFuelName
  2729. })
  2730. for i, v in pairs(getClosestIsland().Drops:GetChildren()) do
  2731. if v:IsA('Tool') and v.Name == bakedFoodNames[foodToBake] then
  2732. local tool = {
  2733. ["tool"] = v
  2734. }
  2735. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_TOOL_PICKUP_REQUEST"]:InvokeServer(tool)
  2736. end
  2737. end
  2738. else
  2739. workDepositRem:InvokeServer({
  2740. ["block"] = baker,
  2741. ["amount"] = 1,
  2742. ["toolName"] = foodToBake
  2743. })
  2744. workDepositRem:InvokeServer({
  2745. ["block"] = baker,
  2746. ["amount"] = 1,
  2747. ["toolName"] = leFuelName
  2748. })
  2749. for i, v in pairs(baker.WorkerContents:GetChildren()) do
  2750. if v.Name ~= foodToBake then
  2751. pickupRem:InvokeServer({
  2752. ["tool"] = v
  2753. })
  2754. end
  2755. end
  2756. end
  2757. end
  2758. end
  2759. end
  2760. end)
  2761. spawn(function()
  2762. local toolMeta = require(game:GetService("ReplicatedStorage").TS.tool["tool-meta"]).ToolMeta
  2763. local workbenchMeta = require(game:GetService("ReplicatedStorage").TS.crafting["workbench-meta"]).WorkbenchMeta
  2764. local recipes = {}
  2765. table.foreach(workbenchMeta.foodProcessor.canCraft, function(i, v)
  2766. table.insert(recipes, toolMeta[v].craftingRecipe)
  2767. end)
  2768. local displayNames = {}
  2769. local ingredients = {}
  2770. table.foreach(recipes, function(i, v)
  2771. displayNames[toolMeta[v.toolName].displayName] = v.toolName
  2772. ingredients[v.toolName] = {}
  2773. table.foreach(v.components, function(i2, v2)
  2774. ingredients[v.toolName][v2.toolName] = v2.amount
  2775. end)
  2776. end)
  2777. function canCraft(recipe)
  2778. local inventory = {}
  2779. for i, v in pairs(game:GetService("Players").LocalPlayer.Backpack:GetChildren()) do
  2780. if v:IsA("Tool") then
  2781. inventory[v.Name] = v.Amount.Value
  2782. end
  2783. end
  2784. local canCraft = true
  2785. for i, v in pairs(recipe) do
  2786. if inventory[i] and inventory[i] >= v then
  2787.  
  2788. else
  2789. canCraft = false
  2790. end
  2791. end
  2792. return canCraft
  2793. end
  2794. function round(x)
  2795. return x >= 0 and math.floor(x + 0.5) or math.ceil(x - 0.5)
  2796. end
  2797. local foods = {}
  2798. for i, v in pairs(displayNames) do
  2799. table.insert(foods, i)
  2800. end
  2801. local foodToProcess = displayNames["Dough"]
  2802. local processFood = false
  2803. local autoFoodSection = smelt.Section("Auto Food")
  2804. autoFoodSection.Dropdown('Food Name', foods, function(a)
  2805. foodToProcess = displayNames[a]
  2806. end)
  2807. autoFoodSection.Toggle('Enabled', function(a)
  2808. processFood = a
  2809. end)
  2810. while wait(0.5) do
  2811. if processFood and canCraft(ingredients[foodToProcess]) then
  2812. local foodProcessor = getClosestIsland().Blocks:FindFirstChild("foodProcessor2")
  2813. if foodProcessor then
  2814. if processFood and game:GetService("Players").LocalPlayer:DistanceFromCharacter(foodProcessor.Position) > 25 then
  2815. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = foodProcessor.CFrame + Vector3.new(0, 10, 0)
  2816. wait(0.35)
  2817. end
  2818. for i, v in pairs(ingredients[foodToProcess]) do
  2819. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_DROP_TOOL_REQUEST"]:InvokeServer({
  2820. tool = game:GetService("Players").LocalPlayer.Backpack[i],
  2821. amount = v
  2822. });
  2823. repeat
  2824. wait()
  2825. until getClosestIsland().Drops:FindFirstChild(i)
  2826. end
  2827. game:GetService("ReplicatedStorage").Remotes.Functions.CLIENT_PROCESSOR_EDIT:InvokeServer({
  2828. ["targetRecipeToolEncodeId"] = toolMeta[foodToProcess].encodeId,
  2829. ["block"] = foodProcessor,
  2830. })
  2831. wait()
  2832. local sethidden = sethiddenproperty or set_hidden_property or set_hidden_prop
  2833. local gethidden = gethiddenproperty or get_hidden_property or get_hidden_prop
  2834. local oldMaximumSimulationRadius = game:GetService("Players").LocalPlayer.MaximumSimulationRadius
  2835. local oldSimulationRadius = gethidden(game:GetService("Players").LocalPlayer, "SimulationRadius")
  2836. local connection = game:GetService("RunService").Stepped:Connect(function()
  2837. for i, v in pairs(game:GetService("Players"):GetPlayers()) do
  2838. if v ~= game:GetService("Players").LocalPlayer then
  2839. sethidden(v, "MaximumSimulationRadius", 0)
  2840. sethidden(v, "SimulationRadius", 0)
  2841. end
  2842. end
  2843. sethidden(game:GetService("Players").LocalPlayer, "MaximumSimulationRadius", math.pow(math.huge, math.huge) * math.huge)
  2844. sethidden(game:GetService("Players").LocalPlayer, "SimulationRadius", math.pow(math.huge, math.huge) * math.huge)
  2845. end)
  2846. local pos = foodProcessor.Position + Vector3.new(0, 1.5, 0)
  2847. local targets = {}
  2848. for i, v in pairs(getClosestIsland().Drops:GetChildren()) do
  2849. if ingredients[foodToProcess][v.Name] and v:FindFirstChild("HandleDisabled") and not table.find(targets, v) then
  2850. table.insert(targets, v)
  2851. spawn(function()
  2852. local part = v.HandleDisabled
  2853. for i2, v2 in pairs(part:GetChildren()) do
  2854. if v2:IsA("BodyPosition") or v2:IsA("BodyGyro") then
  2855. v2:Destroy()
  2856. end
  2857. end
  2858. part.CanCollide = false
  2859. local ForceInstance = Instance.new("BodyPosition", part)
  2860. ForceInstance.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  2861. ForceInstance.Position = pos
  2862. repeat
  2863. wait()
  2864. until round(part.Position.X) == round(pos.X) and (round(part.Position.Y) > round(pos.Y) + 2 or round(part.Position.Y) > round(pos.Y) - 2) and round(part.Position.Z) == round(pos.Z)
  2865. part.CanCollide = true
  2866. ForceInstance:Destroy()
  2867. end)
  2868. end
  2869. end
  2870. repeat
  2871. wait()
  2872. if game:GetService("Players").LocalPlayer:DistanceFromCharacter(foodProcessor.Position) > 25 then
  2873. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = foodProcessor.CFrame + Vector3.new(0, 10, 0)
  2874. end
  2875. until getClosestIsland().Drops:FindFirstChild(foodToProcess) or not processFood
  2876. if getClosestIsland().Drops:FindFirstChild(foodToProcess) then
  2877. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_TOOL_PICKUP_REQUEST"]:InvokeServer({
  2878. ["tool"] = getClosestIsland().Drops[foodToProcess]
  2879. })
  2880. end
  2881. connection:Disconnect()
  2882. wait(0.35)
  2883. sethidden(game:GetService("Players").LocalPlayer, "MaximumSimulationRadius", oldMaximumSimulationRadius)
  2884. sethidden(game:GetService("Players").LocalPlayer, "SimulationRadius", oldSimulationRadius)
  2885. end
  2886. end
  2887. end
  2888. end)
  2889. spawn(function()
  2890. local autoWash = false
  2891. local oilyPlants = {}
  2892. local oilyPlantFarmingOptions = {}
  2893. local washers = {
  2894. "Industrial Washing Station",
  2895. "Washing Station"
  2896. }
  2897. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  2898. if v.Name:find("Oily") then
  2899. local str = v.Name
  2900. str = str:lower()
  2901. str = str:gsub("oily", "")
  2902. str = "Oily " .. str:sub(1, 1):upper() .. str:sub(2)
  2903. table.insert(oilyPlants, str)
  2904. end
  2905. end
  2906. local autoWashSection = smelt.Section("Auto Wash")
  2907. local plantToWash = getNameByDisplayName(oilyPlants[1])
  2908. local washerName = getNameByDisplayName(washers[1])
  2909. autoWashSection.Dropdown('Plant Name', oilyPlants, function(a)
  2910. plantToWash = getNameByDisplayName(a)
  2911. end)
  2912. autoWashSection.Dropdown('Washer Name', washers, function(a)
  2913. washerName = getNameByDisplayName(a)
  2914. print(washerName)
  2915. end)
  2916. autoWashSection.Toggle('Auto Wash', function(a)
  2917. autoWash = a
  2918. end)
  2919. while wait(0.5) do
  2920. if autoWash then
  2921. local washer = nil
  2922. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  2923. if washer == nil and v.Name == washerName then
  2924. washer = v
  2925. end
  2926. end
  2927. if washer then
  2928. if game:GetService("Players").LocalPlayer:DistanceFromCharacter(washer.Position) > 25 then
  2929. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = washer.CFrame + Vector3.new(0, 10, 0)
  2930. end
  2931. if washerName == "washingStationIndustrial" then
  2932. workDepositRem:InvokeServer({
  2933. ["block"] = washer,
  2934. ["amount"] = 1,
  2935. ["toolName"] = plantToWash
  2936. })
  2937. workDepositRem:InvokeServer({
  2938. ["block"] = washer,
  2939. ["amount"] = 1,
  2940. ["toolName"] = "coal"
  2941. })
  2942. for i, v in pairs(getClosestIsland().Drops:GetChildren()) do
  2943. if v:IsA('Tool') and v.Name:lower():find(plantToWash:gsub("Oily", ""):lower()) then
  2944. pickupRem:InvokeServer({
  2945. ["tool"] = v
  2946. })
  2947. end
  2948. end
  2949. elseif washerName == "washingStation" then
  2950. if game:GetService("Players").LocalPlayer.Backpack:FindFirstChild(plantToWash) and game:GetService("Players").LocalPlayer.Backpack:FindFirstChild(plantToWash):FindFirstChild("Amount") then
  2951. local arguments = {
  2952. ["amount"] = game:GetService("Players").LocalPlayer.Backpack:FindFirstChild(plantToWash):FindFirstChild("Amount").Value,
  2953. ["workbenchBlock"] = washer,
  2954. ["toolName"] = plantToWash:gsub("Oily", ""):lower() .. "Harvested"
  2955. }
  2956. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_CRAFT_TOOL_REQUEST"]:InvokeServer(arguments)
  2957. end
  2958. end
  2959. end
  2960. end
  2961. end
  2962. end)
  2963. local woodToSawmill = "wood"
  2964. local sawmillName = "sawmill"
  2965. local autoSawmill = false
  2966. local apeMan = smelt.Section("Auto Sawmill")
  2967. apeMan.Dropdown('Wood Name', woods, function(a)
  2968. woodToSawmill = getNameByDisplayName(a)
  2969. end)
  2970. apeMan.Dropdown("Sawmill Name", sawmills, function(a)
  2971. sawmillName = getNameByDisplayName(a)
  2972. for i in pairs(islandSawmills) do
  2973. islandSawmills[i] = nil
  2974. end
  2975. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  2976. if v.Name == sawmillName then
  2977. table.insert(islandSawmills, v)
  2978. end
  2979. end
  2980. end)
  2981. apeMan.Toggle('Auto sawmill', function(a)
  2982. autoSawmill = a
  2983. end)
  2984. local stoneCutterSection = smelt.Section("Auto Stone Cutter")
  2985. local autoCutter = false
  2986. local stoneCutterName = "stonecutter"
  2987. local stoneCutblock = {
  2988. "Stone",
  2989. "Red Sandstone"
  2990. }
  2991.  
  2992. stoneCutterSection.Dropdown("Stone Cutter Name", stonecutters, function(a)
  2993. stoneCutterName = getNameByDisplayName(a)
  2994. for i in pairs(islandStonecutters) do
  2995. islandStonecutters[i] = nil
  2996. end
  2997.  
  2998. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  2999. if v.Name == stoneCutterName then
  3000. table.insert(islandStonecutters, v)
  3001. end
  3002. end
  3003. end)
  3004. stoneCutterSection.Dropdown('block', stoneCutblock, function(a)
  3005. errr = getNameByDisplayName(a)
  3006. end)
  3007.  
  3008. stoneCutterSection.Toggle("Auto Stone Cutter", function(a)
  3009. autoCutter = a
  3010. end)
  3011. spawn(function()
  3012. while wait(0.5) do
  3013. if autoSawmill then
  3014. for i, v in pairs(islandSawmills) do
  3015. local sawmill = v
  3016. if game.Players.LocalPlayer:DistanceFromCharacter(sawmill.Position) > 25 then
  3017. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = sawmill.CFrame + Vector3.new(0, 10, 0)
  3018. end
  3019. workDepositRem:InvokeServer({
  3020. ["block"] = sawmill,
  3021. ["amount"] = 1,
  3022. ["toolName"] = woodToSawmill
  3023. })
  3024. workDepositRem:InvokeServer({
  3025. ["block"] = sawmill,
  3026. ["amount"] = 1,
  3027. ["toolName"] = leFuelName
  3028. })
  3029. for i, v in pairs(sawmill.WorkerContents:GetChildren()) do
  3030. if v.Name ~= woodToSawmill then
  3031. pickupRem:InvokeServer({
  3032. ["tool"] = v
  3033. })
  3034. end
  3035. end
  3036. if getClosestIsland() ~= nil then
  3037. spawn(function()
  3038. for i, v in pairs(getClosestIsland().Drops:GetChildren()) do
  3039. if v:IsA('Tool') then
  3040. local tool = {
  3041. ["tool"] = v
  3042. }
  3043. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_TOOL_PICKUP_REQUEST"]:InvokeServer(tool)
  3044. end
  3045. end
  3046. end)
  3047. end
  3048. end
  3049. end
  3050. end
  3051. end)
  3052. spawn(function()
  3053. while wait() do
  3054. if autoCutter then
  3055. for i, v in pairs(islandStonecutters) do
  3056. local stonecutter = v
  3057. if game.Players.LocalPlayer:DistanceFromCharacter(stonecutter.Position) > 25 then
  3058. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = stonecutter.CFrame + Vector3.new(0, 10, 0)
  3059. end
  3060. spawn(function()
  3061. workDepositRem:InvokeServer({
  3062. ["block"] = stonecutter,
  3063. ["amount"] = 1,
  3064. ["toolName"] = errr
  3065. })
  3066. end)
  3067. spawn(function()
  3068. workDepositRem:InvokeServer({
  3069. ["block"] = stonecutter,
  3070. ["amount"] = 1,
  3071. ["toolName"] = leFuelName
  3072. })
  3073. end)
  3074. spawn(function()
  3075. for i, v in pairs(stonecutter.WorkerContents:GetChildren()) do
  3076. if v.Name ~= "stone" then
  3077. pickupRem:InvokeServer({
  3078. ["tool"] = v
  3079. })
  3080. end
  3081. end
  3082. end)
  3083. end
  3084. if getClosestIsland() ~= nil then
  3085. for i, v in pairs(getClosestIsland().Drops:GetChildren()) do
  3086. if v:IsA('Tool') then
  3087. spawn(function()
  3088. local tool = {
  3089. ["tool"] = v
  3090. }
  3091. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_TOOL_PICKUP_REQUEST"]:InvokeServer(tool)
  3092. end)
  3093. end
  3094. end
  3095. end
  3096. end
  3097. end
  3098. end)
  3099. treeenabled = false
  3100. autoreplacesaplings = false
  3101. saplingsAura = false
  3102. woodFarm = first_w.SideTab('Wood autofarm')
  3103. woodSettings = woodFarm.Section("Settings")
  3104. woodSettings.Toggle("Enabled", function(a)
  3105. treeenabled = a
  3106. end)
  3107. woodSettings.Toggle("Auto-Replace saplings", function(a)
  3108. autoreplacesaplings = a
  3109. end)
  3110. woodSettings.Toggle('Saplings Aura', function(a)
  3111. saplingsAura = a
  3112. end)
  3113. local woodFarmSection = woodFarm.Section('Wood Farming')
  3114. for i, v in pairs(trees) do
  3115. woodFarmSection.Toggle("Farm " .. i, function(a)
  3116. trees[i]["enabled"] = a
  3117. end)
  3118. end
  3119. spawn(function()
  3120. repeat
  3121. if saplingsAura then
  3122. for i, v in pairs(findNearGrass(9)) do
  3123. local pos = v.CFrame
  3124. if saplingsAura and treeFarmingOptions[1] ~= nil then
  3125. spawn(function()
  3126. local crop = string.gsub(treeFarmingOptions[1], "tree", "sapling")
  3127. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  3128. ["blockType"] = crop,
  3129. ["cframe"] = pos + Vector3.new(0, 3, 0)
  3130. })
  3131. end)
  3132. end
  3133. game:GetService("RunService").RenderStepped:wait()
  3134. end
  3135. end
  3136. wait()
  3137. until nil
  3138. end)
  3139. spawn(function()
  3140. game:GetService("RunService").RenderStepped:Connect(function()
  3141. if treeenabled then
  3142. for i, v in pairs(trees) do
  3143. if treeenabled and trees[i]["enabled"] == true then
  3144. local treeToFind = findTree(trees[i]["name"])
  3145. if treeToFind ~= nil and trees[i]["enabled"] == true then
  3146. local oldTreeCFrame = getClosestIsland().Blocks:FindFirstChild(treeToFind).CFrame
  3147. if getClosestIsland().Blocks:FindFirstChild(treeToFind) and getClosestIsland().Blocks:FindFirstChild(treeToFind) then
  3148. local char = game.Players.LocalPlayer.Character or game.Players.LocalPlayer.CharacterAdded:wait()
  3149. char.Humanoid:ChangeState(11)
  3150. char.HumanoidRootPart.CFrame = getClosestIsland().Blocks:FindFirstChild(treeToFind).CFrame + Vector3.new(5, 5, 5)
  3151. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_HIT_REQUEST"]:InvokeServer({
  3152. ["block"] = getClosestIsland().Blocks:FindFirstChild(treeToFind)
  3153. })
  3154. if autoreplacesaplings then
  3155. local treeName = string.gsub(v, "tree", "sapling")
  3156. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  3157. ["blockType"] = treeName,
  3158. ["cframe"] = oldTreeCFrame
  3159. })
  3160. end
  3161. end
  3162. end
  3163. end
  3164. end
  3165. end
  3166. end)
  3167. end)
  3168. woodFarmSection.Label('Remember to have both saplings & your axe in your hotbar')
  3169. woodFarmSection.Label('Also have your axe equipped when starting the autofarm')
  3170. local ind = first_w.SideTab('Chest thing')
  3171. local indSection = ind.Section("Steal Chest Contents")
  3172. local autoChest = false
  3173. local chestAura = false
  3174. local islandChests = {}
  3175. local carange = 20
  3176. indSection.Toggle("Take out island chests content", function(a)
  3177. autoChest = a
  3178. end)
  3179. indSection.Toggle("Chest Aura", function(a)
  3180. chestAura = a
  3181. end)
  3182. indSection.Slider("Chest Aura Range", "0", "50", "20", function(a)
  3183. carange = a
  3184. end)
  3185. function reloadChests()
  3186. for i, v in pairs(islandChests) do
  3187. islandChests[i] = nil
  3188. end
  3189. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  3190. if v and v:FindFirstChild("MaxContentSlots") then
  3191. table.insert(islandChests, v)
  3192. end
  3193. end
  3194. end
  3195. function findNearChests(rad)
  3196. local chests = {}
  3197. local region = Region3.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position - Vector3.new(rad, rad, rad), game.Players.LocalPlayer.Character.HumanoidRootPart.Position + Vector3.new(rad, rad, rad))
  3198. for i, v in pairs(workspace:FindPartsInRegion3(region, game.Players.LocalPlayer.Character, math.huge)) do
  3199. if v and v:FindFirstChild("MaxContentSlots") then
  3200. table.insert(chests, v)
  3201. end
  3202. end
  3203. return chests
  3204. end
  3205. DeployShitTab = {}
  3206. indSection.Box('Deploy item name(s)', function(a)
  3207. local firsXD = a:gsub(", ", ",")
  3208. local split = firsXD:split(",")
  3209. DeployShitTab = split
  3210. end)
  3211. indSection.Toggle('Deploy Chest Aura', function(a)
  3212. DeployShit = a
  3213. end)
  3214. local depAura = coroutine.wrap(function()
  3215. while wait() do
  3216. if DeployShit and #DeployShitTab ~= 0 then
  3217. for i, v in pairs(DeployShitTab) do
  3218. for i2, v2 in pairs(findNearChests(carange)) do
  3219. local toolAmount = 1
  3220. local tool = nil
  3221. if game.Players.LocalPlayer.Backpack:FindFirstChild(getNameByDisplayName(v)) then
  3222. tool = game.Players.LocalPlayer.Backpack:FindFirstChild(getNameByDisplayName(v))
  3223. toolAmount = tool.Amount.Value
  3224. elseif game.Players.LocalPlayer.Character:FindFirstChild(getNameByDisplayName(v)) then
  3225. tool = game.Players.LocalPlayer.Character:FindFirstChild(getNameByDisplayName(v))
  3226. toolAmount = tool.Amount.Value
  3227. end
  3228. spawn(function()
  3229. chestRem:InvokeServer({
  3230. ["chest"] = v2,
  3231. ["tool"] = tool,
  3232. ["action"] = "deposit",
  3233. ["amount"] = toolAmount
  3234. })
  3235. end)
  3236. end
  3237. end
  3238. end
  3239. end
  3240. end)
  3241. depAura()
  3242. indSection.Button("Reload Island Chests", function()
  3243. reloadChests()
  3244. end)
  3245. spawn(function()
  3246. while wait() do
  3247. if autoChest then
  3248. for i, v in pairs(islandChests) do
  3249. if autoChest then
  3250. spawn(function()
  3251. if #v:FindFirstChild('Contents'):GetChildren() > 0 then
  3252. if game.Players.LocalPlayer:DistanceFromCharacter(v.Position) > 25 then
  3253. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = v.CFrame + Vector3.new(0, 2, 0)
  3254. end
  3255. for i2, v2 in pairs(v:FindFirstChild('Contents'):GetChildren()) do
  3256. spawn(function()
  3257. chestRem:InvokeServer({
  3258. ["chest"] = v,
  3259. ["tool"] = v:FindFirstChild('Contents'):FindFirstChildWhichIsA("Tool"),
  3260. ["action"] = "withdraw",
  3261. ["amount"] = v:FindFirstChild('Contents'):FindFirstChildWhichIsA("Tool").Amount.Value
  3262. })
  3263. end)
  3264. end
  3265. end
  3266. end)
  3267. end
  3268. end
  3269. end
  3270. end
  3271. end)
  3272. spawn(function()
  3273. while wait() do
  3274. if chestAura then
  3275. for i, v in pairs(findNearChests(carange)) do
  3276. for i2, v2 in pairs(v:FindFirstChild('Contents'):GetChildren()) do
  3277. spawn(function()
  3278. chestRem:InvokeServer({
  3279. ["chest"] = v,
  3280. ["tool"] = v:FindFirstChild('Contents'):FindFirstChildWhichIsA("Tool"),
  3281. ["action"] = "withdraw",
  3282. ["amount"] = v:FindFirstChild('Contents'):FindFirstChildWhichIsA("Tool").Amount.Value
  3283. })
  3284. wait()
  3285. end)
  3286. end
  3287. wait()
  3288. end
  3289. end
  3290. end
  3291. end)
  3292. autoheal = false
  3293. autohealName = ""
  3294. healTab = first_w.SideTab('Auto heal')
  3295. healTabSection = healTab.Section('Auto Heal')
  3296. healTabSection.Box('Food name', function(a)
  3297. autohealName = getNameByDisplayName(a)
  3298. end)
  3299. healTabSection.Toggle('Auto heal at low hp', function(a)
  3300. autoheal = a
  3301. end)
  3302. spawn(function()
  3303. while wait() do
  3304. if autoheal then
  3305. local char = game.Players.LocalPlayer.Character
  3306. if char:FindFirstChild("Humanoid") and char:FindFirstChild("Humanoid").Health < 50 then
  3307. if game.Players.LocalPlayer.Backpack:FindFirstChild(autohealName) or char:FindFirstChild(autohealName) then
  3308. local foodToEat = game.Players.LocalPlayer.Backpack:FindFirstChild(autohealName) or char:FindFirstChild(autohealName)
  3309. char:FindFirstChild("Humanoid"):EquipTool(foodToEat)
  3310. eatRem:InvokeServer({
  3311. ["tool"] = foodToEat
  3312. })
  3313. end
  3314. end
  3315. end
  3316. end
  3317. end)
  3318. healTabSection.Label("Make sure to input the food's display name. Ex: berries")
  3319. killAura = false
  3320. spamTool = false
  3321. function getMobOfTypeCount(mob)
  3322. local count = 0
  3323. for i, v in pairs(game:GetService("Workspace").Entities:GetChildren()) do
  3324. if v.Name:lower():match(mob:lower()) then
  3325. count = count + 1
  3326. end
  3327. end
  3328. return count
  3329. end
  3330. slime = first_w.SideTab('Mob Farming')
  3331. slime.Section("Settings").Toggle("Spam Equip Tool", function(a)
  3332. spamTool = a
  3333. end)
  3334. slimeSection = slime.Section('Mob Farming')
  3335. slimeSection.Toggle('Kill aura for mobs', function(a)
  3336. killAura = a
  3337. end)
  3338. spawn(function()
  3339. game:GetService("RunService").RenderStepped:Connect(function()
  3340. if killAura then
  3341. setsimulationradius(math.huge, math.huge)
  3342. local ents = game:GetService("Workspace").Entities:GetChildren()
  3343. for i, v in pairs(ents) do
  3344. if killAura then
  3345. if v:FindFirstChild("HumanoidRootPart") and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and (v.HumanoidRootPart.Position - game.Players.LocalPlayer.Character.HumanoidRootPart.Position).magnitude < 15 then
  3346. local char = game:GetService("Players").LocalPlayer.Character or game:GetService("Players").LocalPlayer.CharacterAdded:wait()
  3347. if spamTool then
  3348. if char:FindFirstChild("Humanoid") then
  3349. char:FindFirstChild("Humanoid"):EquipTool(getBest("Weapon"))
  3350. end
  3351. end
  3352. spawn(function()
  3353. swordRem:InvokeServer({
  3354. ["hitUnit"] = v,
  3355. ["crit"] = math.random(1, 3) == 3 and true or false,
  3356. })
  3357. end)
  3358. end
  3359. end
  3360. end
  3361. end
  3362. end)
  3363. end)
  3364. local toggledMobs = {}
  3365. activeMob = nil
  3366. function switchMob()
  3367. if table.find(toggledMobs, "slime") and activeMob == "slime" then
  3368. activeMob = "slime"
  3369. elseif table.find(toggledMobs, "buffalkor") and activeMob == "buffalkor" then
  3370. activeMob = "buffalkor"
  3371. elseif table.find(toggledMobs, "wizardLizard") and activeMob == "wizardLizard" then
  3372. activeMob = "wizardLizard"
  3373. elseif table.find(toggledMobs, "skorp") and activeMob == "skorp" then
  3374. activeMob = "skorp"
  3375. end
  3376. end
  3377. spawn(function()
  3378. while wait(15) do
  3379. if activeMob ~= nil and #toggledMobs > 1 then
  3380. switchMob()
  3381. end
  3382. end
  3383. end)
  3384. slimeSection.Toggle('Farm slimes', function(a)
  3385. if a then
  3386. if activeMob == nil then
  3387. activeMob = "slime"
  3388. end
  3389. table.insert(toggledMobs, "slime")
  3390. else
  3391. table.remove(toggledMobs, table.find(toggledMobs, "slime"))
  3392. if activeMob == "slime" and table.find(toggledMobs, "buffalkor") then
  3393. activeMob = "buffalkor"
  3394. elseif activeMob == "slime" and table.find(toggledMobs, "wizardLizard") then
  3395. activeMob = "wizardLizard"
  3396. elseif activeMob == "slime" and table.find(toggledMobs, "skorp") then
  3397. activeMob = "skorp"
  3398. else
  3399.  
  3400. activeMob = nil
  3401. end
  3402. game.Players.LocalPlayer.Character:MoveTo(workspace.Islands[tostring(game.Players.LocalPlayer.userId) .. "-island"].Root.Position)
  3403. end
  3404. end)
  3405. local char = game:GetService("Players").LocalPlayer.Character or game:GetService("Players").LocalPlayer.CharacterAdded:wait()
  3406.  
  3407. spawn(function()
  3408. game:GetService("RunService").RenderStepped:Connect(function()
  3409. if activeMob == "slime" then
  3410. char.HumanoidRootPart.Anchored = true
  3411. local ents = game:GetService("Workspace").Entities:GetChildren()
  3412. for i, v in pairs(ents) do
  3413. if activeMob == "slime" then
  3414. pcall(function()
  3415. game.Players.LocalPlayer.Character.LastDamagedTick:Destroy()
  3416. end)
  3417. if v.Name:match("slime") and v:FindFirstChild("HumanoidRootPart") then
  3418. spawn(function()
  3419. local char = game:GetService("Players").LocalPlayer.Character or game:GetService("Players").LocalPlayer.CharacterAdded:wait()
  3420. char.HumanoidRootPart.CFrame = CFrame.new(v.HumanoidRootPart.CFrame * Vector3.new(0, 10, 0))
  3421. end)
  3422. end
  3423. end
  3424. end
  3425. char.HumanoidRootPart.Anchored = false
  3426. elseif table.find(toggledMobs, "buffalkor") or table.find(toggledMobs, "wizardLizard") then
  3427. switchMob()
  3428. end
  3429. end)
  3430. end)
  3431.  
  3432. slimeSection.Toggle('Farm buffalkors', function(a)
  3433. if a then
  3434. if activeMob == nil then
  3435. activeMob = "buffalkor"
  3436. end
  3437. table.insert(toggledMobs, "buffalkor")
  3438. else
  3439. table.remove(toggledMobs, table.find(toggledMobs, "buffalkor"))
  3440. if activeMob == "buffalkor" and table.find(toggledMobs, "slime") then
  3441. activeMob = "slime"
  3442. elseif activeMob == "buffalkor" and table.find(toggledMobs, "wizardLizard") then
  3443. activeMob = "wizardLizard"
  3444. else
  3445. activeMob = nil
  3446. end
  3447. game.Players.LocalPlayer.Character:MoveTo(workspace.Islands[tostring(game.Players.LocalPlayer.userId) .. "-island"].Root.Position)
  3448. end
  3449. end)
  3450. spawn(function()
  3451. game:GetService("RunService").RenderStepped:Connect(function()
  3452. if activeMob == "buffalkor" then
  3453. for i, v in pairs(game:GetService("Workspace").Entities:GetChildren()) do
  3454. if activeMob == "buffalkor" then
  3455. pcall(function()
  3456. game.Players.LocalPlayer.Character.LastDamagedTick:Destroy()
  3457. end)
  3458. if v.Name:match("buffalkor") and v:FindFirstChild("HumanoidRootPart") then
  3459. spawn(function()
  3460. local char = game:GetService("Players").LocalPlayer.Character or game:GetService("Players").LocalPlayer.CharacterAdded:wait()
  3461. char.HumanoidRootPart.CFrame = CFrame.new(v.HumanoidRootPart.CFrame * Vector3.new(0, 10, 0))
  3462. end)
  3463. end
  3464. end
  3465. end
  3466. elseif table.find(toggledMobs, "slime") or table.find(toggledMobs, "wizardLizard") then
  3467. switchMob()
  3468. end
  3469. end)
  3470. end)
  3471. slimeSection.Toggle('Farm Skorps', function(a)
  3472. if a then
  3473. if activeMob == nil then
  3474. activeMob = "skorp"
  3475. end
  3476. table.insert(toggledMobs, "skorp")
  3477. else
  3478. table.remove(toggledMobs, table.find(toggledMobs, "skorp"))
  3479. if activeMob == "skorp" and table.find(toggledMobs, "skorp") then
  3480. activeMob = "slime"
  3481. elseif activeMob == "buffalkor" and table.find(toggledMobs, "wizardLizard") then
  3482. activeMob = "wizardLizard"
  3483. else
  3484. activeMob = nil
  3485. end
  3486. game.Players.LocalPlayer.Character:MoveTo(workspace.Islands[tostring(game.Players.LocalPlayer.userId) .. "-island"].Root.Position)
  3487. end
  3488. end)
  3489. spawn(function()
  3490. game:GetService("RunService").RenderStepped:Connect(function()
  3491. if activeMob == "skorp" then
  3492. char.HumanoidRootPart.Anchored = true
  3493. ents = game:GetService("Workspace").Entities:GetChildren()
  3494. for i, v in pairs(ents) do
  3495. if activeMob == "skorp" then
  3496. pcall(function()
  3497. game.Players.LocalPlayer.Character.LastDamagedTick:Destroy()
  3498. end)
  3499. if v.Name:match("skorp") and v:FindFirstChild("HumanoidRootPart") then
  3500. spawn(function()
  3501. char = game:GetService("Players").LocalPlayer.Character or game:GetService("Players").LocalPlayer.CharacterAdded:wait()
  3502. char.HumanoidRootPart.CFrame = CFrame.new(v.HumanoidRootPart.CFrame * Vector3.new(0, 10, 0))
  3503. end)
  3504. end
  3505. end
  3506. end
  3507. char.HumanoidRootPart.Anchored = false
  3508. elseif table.find(toggledMobs, "buffalkor") or table.find(toggledMobs, "wizardLizard") then
  3509. switchMob()
  3510. end
  3511. end)
  3512. end)
  3513.  
  3514. slimeSection.Toggle('Farm wizard lizards', function(a)
  3515. if a then
  3516. if activeMob == nil then
  3517. activeMob = "wizardLizard"
  3518. end
  3519. table.insert(toggledMobs, "wizardLizard")
  3520. else
  3521. table.remove(toggledMobs, table.find(toggledMobs, "wizardLizard"))
  3522. if activeMob == "wizardLizard" and table.find(toggledMobs, "slime") then
  3523. activeMob = "slime"
  3524. elseif activeMob == "wizardLizard" and table.find(toggledMobs, "buffalkor") then
  3525. activeMob = "buffalkor"
  3526. else
  3527. activeMob = nil
  3528. end
  3529. game.Players.LocalPlayer.Character:MoveTo(workspace.Islands[tostring(game.Players.LocalPlayer.userId) .. "-island"].Root.Position)
  3530. end
  3531. end)
  3532. spawn(function()
  3533. game:GetService("RunService").RenderStepped:Connect(function()
  3534. if activeMob == "wizardLizard" then
  3535. for i, v in pairs(game:GetService("Workspace").Entities:GetChildren()) do
  3536. if activeMob == "wizardLizard" then
  3537. pcall(function()
  3538. game.Players.LocalPlayer.Character.LastDamagedTick:Destroy()
  3539. end)
  3540. if v.Name:match("wizardLizard") and v:FindFirstChild("HumanoidRootPart") then
  3541. local char = game:GetService("Players").LocalPlayer.Character or game:GetService("Players").LocalPlayer.CharacterAdded:wait()
  3542. v.HumanoidRootPart.CanCollide = false
  3543. char.HumanoidRootPart.CFrame = CFrame.new(v.HumanoidRootPart.CFrame * Vector3.new(0, 10, 0))
  3544. end
  3545. end
  3546. end
  3547. elseif table.find(toggledMobs, "buffalkor") or table.find(toggledMobs, "slime") then
  3548. switchMob()
  3549. end
  3550. end)
  3551. end)
  3552. do
  3553. antiFall = Instance.new("Part", workspace)
  3554. antiFall.Anchored = true
  3555. antiFall.Size = Vector3.new(10, 1, 10)
  3556. antiFall.CFrame = CFrame.new(Vector3.new(1803, 348, -1005))
  3557. end
  3558. local char = game:GetService("Players").LocalPlayer.Character or game:GetService("Players").LocalPlayer.CharacterAdded:wait()
  3559.  
  3560.  
  3561.  
  3562.  
  3563.  
  3564. mod = first_w.SideTab('Modding')
  3565. modSection = mod.Section('')
  3566. modSection.Box('Swing speed', function(a)
  3567. for i, v in pairs(getgc(true)) do
  3568. if type(v) == 'table' and rawget(v, 'blockHitDelay') then
  3569. v.blockHitDelay = tonumber(a)
  3570. end
  3571. end
  3572. end)
  3573. function getAll()
  3574. local allIds = require(game:GetService("ReplicatedStorage").TS.merchant["merchant-meta"])
  3575. local infoTables = {}
  3576. for i, v in pairs(allIds.MerchantMeta) do
  3577. table.insert(infoTables, v.offers)
  3578. end
  3579. return infoTables
  3580. end
  3581. function getTheGayViaToolId(tool)
  3582. local allIds = require(game:GetService("ReplicatedStorage").TS.merchant["merchant-meta"])
  3583. for i, v in pairs(allIds.MerchantMeta) do
  3584. for i2, v2 in pairs(v.offers) do
  3585. if v2.toolId == tool then
  3586. return v.id
  3587. end
  3588. end
  3589. end
  3590. end
  3591. function buyItem(array)
  3592. local itemIds = require(game:GetService("ReplicatedStorage").TS.merchant["merchant-meta"]).MerchantMeta
  3593. for itemName, itemAmount in pairs(array) do
  3594. for i, v in pairs(itemIds) do
  3595. for i2, v2 in pairs(v.offers) do
  3596. if v2.buyGold ~= nil and v2.toolId:lower() == itemName:lower() then
  3597. local arguments = {
  3598. ["merchant"] = i,
  3599. ["offerId"] = v2.offerId,
  3600. ["amount"] = itemAmount
  3601. }
  3602. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_MERCHANT_ORDER_REQUEST"]:InvokeServer(arguments)
  3603. end
  3604. end
  3605. end
  3606. end
  3607. end
  3608. function craftItem(array)
  3609. local craftingStuff = require(game:GetService("ReplicatedStorage").TS.crafting["workbench-meta"]).WorkbenchMeta
  3610. for itemName, itemAmount in pairs(array) do
  3611. for i, v in pairs(craftingStuff) do
  3612. for i2, v2 in pairs(v.canCraft) do
  3613. if v2 == getNameByDisplayName(itemName) and getClosestIsland() ~= nil then
  3614. if getClosestIsland().Blocks:FindFirstChild(v.id) then
  3615. local bench = getClosestIsland().Blocks:FindFirstChild(v.id)
  3616. local originalPosition = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
  3617. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = bench.CFrame
  3618. wait(0.1)
  3619. local arguments = {
  3620. ["amount"] = itemAmount,
  3621. ["workbenchBlock"] = bench,
  3622. ["toolName"] = getNameByDisplayName(itemName)
  3623. }
  3624. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_CRAFT_TOOL_REQUEST"]:InvokeServer(arguments)
  3625. wait(0.1)
  3626. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = originalPosition
  3627. end
  3628. end
  3629. end
  3630. end
  3631. end
  3632. end
  3633. local amt = 1
  3634. local autobuy = false
  3635. local buy = first_w.SideTab('Auto buy/sell')
  3636. local buySection = buy.Section('Auto-Buy stuff')
  3637. buySection.Box('Item Name (Display Name)', function(a)
  3638. local split = a:split(",")
  3639. buyNames = split
  3640. end)
  3641. buySection.Box('Amount', function(a)
  3642. amt = tonumber(a)
  3643. end)
  3644. buySection.Button('Buy', function()
  3645. for i, v in pairs(buyNames) do
  3646. buyItem({
  3647. [getPureNameByDisplayName(v)] = amt
  3648. })
  3649. end
  3650. end)
  3651. local am = 1
  3652. local autosell = false
  3653. local sellSection = buy.Section('Auto-Sell')
  3654. sellSection.Box('Auto sell name(s)', function(a)
  3655. local split = string.gsub(a, " ", ""):split(",")
  3656. sellNames = split
  3657. end)
  3658. sellSection.Box('Amount', function(a)
  3659. am = tonumber(a)
  3660. end)
  3661. sellSection.Toggle('Autosell', function(a)
  3662. autosell = a
  3663. local seal = coroutine.create(function()
  3664. while wait() do
  3665. if not autosell then
  3666. return
  3667. end
  3668. local infoShit = getAll()
  3669. if #sellNames ~= 0 then
  3670. local prenis = math.random(1, #sellNames)
  3671. lmfao = sellNames[prenis]
  3672. end
  3673. for i, v in pairs(infoShit) do
  3674. for i2, v2 in pairs(v) do
  3675. if v2.sellGold ~= nil then
  3676. local allIds = require(game:GetService("ReplicatedStorage").TS.merchant["merchant-meta"])
  3677. if lmfao == v2.toolId or string.find(v2.toolId, lmfao) then
  3678. merchOrderRem:InvokeServer({
  3679. ["merchant"] = getTheGayViaToolId(v2.toolId),
  3680. ["offerId"] = v2.offerId,
  3681. ["amount"] = am
  3682. })
  3683. end
  3684. end
  3685. end
  3686. end
  3687. end
  3688. end)
  3689. coroutine.resume(seal)
  3690. end)
  3691. toCraft = ""
  3692. autocraftAmount = 0
  3693. local autocraft = buy.Section("Auto Craft")
  3694. autocraft.Box("Item Name (Display Name)", function(a)
  3695. toCraft = a
  3696. end)
  3697. autocraft.Box("Amount", function(a)
  3698. autocraftAmount = tonumber(a)
  3699. end)
  3700.  
  3701. autocraft.Button("Craft", function()
  3702. local count = autocraftAmount
  3703. local loopNum = math.floor(count / 10)
  3704. count = count - loopNum * 10
  3705. if loopNum > 0 then
  3706. for i = 1, loopNum do
  3707. craftItem({
  3708. [toCraft] = 10
  3709. })
  3710. end
  3711. if count > 0 then
  3712. craftItem({
  3713. [toCraft] = count
  3714. })
  3715. end
  3716. elseif count > 0 then
  3717. craftItem({
  3718. [toCraft] = count
  3719. })
  3720. end
  3721. end)
  3722.  
  3723. local tp = first_w.SideTab('Teleporting')
  3724. local tpSection = tp.Section('Teleports')
  3725. tpSection.Button('Hub', function(a)
  3726. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(278.30899, 97.8913651, -563.378601, 0.185442075, -1.54489808e-08, -0.982655227, -1.31874449e-08, 1, -1.82103435e-08, 0.982655227, 1.63356759e-08, 0.185442075)
  3727. end)
  3728. tpSection.Button('Slime island', function(a)
  3729. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(686.188049, 193.070175, -229.89093, 0.792604923, 0.0576229654, 0.607006669, -0.039945025, 0.998292983, -0.0426090583, -0.608425736, 0.00952526182, 0.79355371) * CFrame.new(0, 0, 5)
  3730. end)
  3731. tpSection.Button('Buffalkor island', function(a)
  3732. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(1406.37476, 387.249298, 23.6444836, 0.391670346, 0, 0.920105755, 0, 1, 0, -0.920105755, 0, 0.391670346) * CFrame.new(0, 0, 5)
  3733. end)
  3734. tpSection.Button('Wizard Island', function(a)
  3735. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(1484.93896, 341.398193, -692.280823, -0.528208852, 0, 0.849114478, 0, 1, 0, -0.849114478, 0, -0.528208852) * CFrame.new(0, 0, 5)
  3736. end)
  3737. tpSection.Button('Desert Island', function(a)
  3738. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(996.596375, 284.998016, -1633.61902, 0.925822198, 6.57483312e-08, 0.377959281, -4.38171242e-08, 1, -6.6624807e-08, -0.377959281, 4.51216415e-08, 0.925822198) * CFrame.new(0, 0, 5)
  3739. end)
  3740. tpSection.Button("Island", function()
  3741. game.Players.LocalPlayer.Character:MoveTo(workspace.Islands[tostring(game.Players.LocalPlayer.userId) .. "-island"].Root.Position)
  3742. end)
  3743. do
  3744. local trolling = first_w.SideTab('Trolling')
  3745. local trollingSection = trolling.Section('Trolling')
  3746. local heavenAscensionEnabled = false
  3747. trollingSection.Toggle("Loop ascend all dropped items to heaven", function(a)
  3748. heavenAscensionEnabled = a
  3749. end)
  3750. local ascendToHeaven = coroutine.create(function()
  3751. repeat
  3752. wait()
  3753. if heavenAscensionEnabled then
  3754. local sethidden = sethiddenproperty or set_hidden_property or set_hidden_prop
  3755. local gethidden = gethiddenproperty or get_hidden_property or get_hidden_prop
  3756. local oldMaximumSimulationRadius = gethidden(game:GetService("Players").LocalPlayer, "MaximumSimulationRadius")
  3757. local oldSimulationRadius = gethidden(game:GetService("Players").LocalPlayer, "SimulationRadius")
  3758. local connection = game:GetService("RunService").Stepped:Connect(function()
  3759. for i, v in pairs(game:GetService("Players"):GetPlayers()) do
  3760. if v ~= game:GetService("Players").LocalPlayer then
  3761. sethidden(v, "MaximumSimulationRadius", 0)
  3762. sethidden(v, "SimulationRadius", 0)
  3763. end
  3764. end
  3765. sethidden(game:GetService("Players").LocalPlayer, "MaximumSimulationRadius", math.pow(math.huge, math.huge) * math.huge)
  3766. sethidden(game:GetService("Players").LocalPlayer, "SimulationRadius", math.pow(math.huge, math.huge) * math.huge)
  3767. end)
  3768. for index, island in pairs(workspace.Islands:GetChildren()) do
  3769. if island:FindFirstChild("Drops") then
  3770. for i, v in pairs(island.Drops:GetChildren()) do
  3771. if v:FindFirstChild("HandleDisabled") then
  3772. spawn(function()
  3773. local part = v.HandleDisabled
  3774. part.CanCollide = false
  3775. for i2, v2 in pairs(part:GetChildren()) do
  3776. if v2:IsA("BodyPosition") or v2:IsA("BodyGyro") then
  3777. v2:Destroy()
  3778. end
  3779. end
  3780.  
  3781. local ForceInstance = Instance.new("BodyPosition", part)
  3782. ForceInstance.MaxForce = Vector3.new(math.huge, 100, math.huge)
  3783. ForceInstance.Position = Vector3.new(part.Position.X, part.Position.Y + 9999, part.Position.Z)
  3784. end)
  3785. end
  3786. end
  3787. end
  3788. end
  3789. connection:Disconnect()
  3790. wait(0.35)
  3791. sethidden(game:GetService("Players").LocalPlayer, "MaximumSimulationRadius", oldMaximumSimulationRadius)
  3792. sethidden(game:GetService("Players").LocalPlayer, "SimulationRadius", oldSimulationRadius)
  3793. end
  3794. until nil
  3795. end)
  3796. coroutine.resume(ascendToHeaven)
  3797. end
  3798. function findNearDrops()
  3799. local drops = {}
  3800. local region = Region3.new(game.Players.LocalPlayer.Character.HumanoidRootPart.Position - Vector3.new(15, 15, 15), game.Players.LocalPlayer.Character.HumanoidRootPart.Position + Vector3.new(15, 15, 15))
  3801. for i, v in pairs(workspace:FindPartsInRegion3(region, character, math.huge)) do
  3802. if v.Parent:IsA("Tool") then
  3803. local tool = v.Parent
  3804. if tool:IsDescendantOf(workspace.Islands[tostring(game.Players.LocalPlayer.UserId) .. "-island"]) then
  3805. if tool.Parent.Name ~= "WorkerContents" and tool.Parent.Name ~= "WorkerFuel" then
  3806. table.insert(drops, tool)
  3807. end
  3808. else
  3809. table.insert(drops, tool)
  3810. end
  3811. end
  3812. end
  3813. return drops
  3814. end
  3815. local antiAfk = true
  3816. local autoClear = false
  3817. local cltNearItems = false
  3818. local misc = first_w.SideTab('Miscellaneous')
  3819. do
  3820. local bambooFarming = false
  3821. misc.Section("Bamboo farming").Toggle('Enabled', function(a)
  3822. bambooFarming = a
  3823. end)
  3824. spawn(function()
  3825. while wait() do
  3826. if bambooFarming then
  3827. function round(x)
  3828. return x >= 0 and math.floor(x + 0.5) or math.ceil(x - 0.5)
  3829. end
  3830. function getBottomBamboo(bamboo)
  3831. local bottomBamboo = nil
  3832. local height = math.huge
  3833. for i, v in ipairs(workspace.WildernessBlocks:GetChildren()) do
  3834. if v.Name == "bamboo" and v.Parent == workspace.WildernessBlocks and round(v.Position.X) == round(bamboo.Position.X) and round(v.Position.Z) == round(bamboo.Position.Z) then
  3835. if round(v.Position.Y) < height then
  3836. height = round(v.Position.Y)
  3837. bottomBamboo = v
  3838. end
  3839. end
  3840. end
  3841. return bottomBamboo
  3842. end
  3843. for i, v in ipairs(workspace.WildernessBlocks:GetChildren()) do
  3844. if v.Name == "bamboo" and v.Parent == workspace.WildernessBlocks and bambooFarming then
  3845. local bottomBamboo = getBottomBamboo(v)
  3846. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = v.CFrame
  3847. repeat
  3848. wait()
  3849. breakRem:InvokeServer({
  3850. ["block"] = bottomBamboo
  3851. })
  3852. until bottomBamboo.Parent ~= workspace.WildernessBlocks
  3853. end
  3854. end
  3855. end
  3856. end
  3857. end)
  3858. local islandDropFarming = false
  3859. misc.Section("Island drop farming").Toggle('Enabled', function(a)
  3860. islandDropFarming = a
  3861. end)
  3862. spawn(function()
  3863. while wait(0.001) do
  3864. if islandDropFarming then
  3865. for i, v in ipairs(workspace.WildernessBlocks:GetChildren()) do
  3866. if (v.Name == "starfruit" or v.Name == "tomato" or v.Name == "acorn" or v.Name == "horseradish" or v.Name == "flowerDaffodil" or v.Name == "flowerDaffodil" or v.Name == "flowerCrocus" or v.Name:find("mushroom")) and islandDropFarming then
  3867. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = v.CFrame
  3868. repeat
  3869. wait(0.01)
  3870. harvestCropRem:InvokeServer({
  3871. ["model"] = v,
  3872. ["player"] = game:GetService("Players").LocalPlayer
  3873. })
  3874. until v.Parent ~= workspace.WildernessBlocks
  3875. end
  3876. end
  3877. end
  3878. end
  3879. end)
  3880. end
  3881. local miscSection = misc.Section('')
  3882. miscSection.Box('Set hip height', function(a)
  3883. game.Players.LocalPlayer.Character.Humanoid.HipHeight = a
  3884. end)
  3885. miscSection.Toggle('Collect near items', function(a)
  3886. cltNearItems = a
  3887. end)
  3888. spawn(function()
  3889. while wait(0.001) do
  3890. if cltNearItems then
  3891. for i, v in pairs(findNearDrops()) do
  3892. if cltNearItems then
  3893. local tool = {
  3894. ["tool"] = v
  3895. }
  3896. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_TOOL_PICKUP_REQUEST"]:InvokeServer(tool)
  3897. end
  3898. end
  3899. end
  3900. end
  3901. end)
  3902.  
  3903. miscSection.Toggle('Clear island of junk', function(a)
  3904. autoClear = a
  3905. end)
  3906. spawn(function()
  3907. local clearing = false
  3908. while wait() do
  3909. if autoClear then
  3910. for i, v in pairs(getClosestIsland().Blocks:GetChildren()) do
  3911. if v.Name:lower():match("flower") or v.Name:lower():match("naturalrock") or v.Name:match("tall") then
  3912. if clearing == false and autoClear then
  3913. clearing = true
  3914. repeat
  3915. local toClear = v
  3916. local clearedName, clearedPosition = toClear.Name, toClear.CFrame
  3917. if ((toClear:FindFirstChild("stage") and toClear:FindFirstChild("stage").Value ~= 0) or not toClear:FindFirstChild("stage")) then
  3918. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = toClear.CFrame
  3919. game.Players.LocalPlayer.Character.Humanoid:ChangeState(11)
  3920. game.Players.LocalPlayer.Character.Humanoid:EquipTool(getBest("Pickaxe"))
  3921. breakRem:InvokeServer({
  3922. ["block"] = toClear
  3923. })
  3924. end
  3925. if clearedName:lower():match("flower") then
  3926. spawn(function()
  3927. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  3928. ["blockType"] = clearedName,
  3929. ["cframe"] = clearedPosition
  3930. })
  3931. end)
  3932. end
  3933. wait()
  3934. until not v:IsDescendantOf(getClosestIsland().Blocks)
  3935. clearing = false
  3936. end
  3937. end
  3938. end
  3939. end
  3940. end
  3941. end)
  3942. miscSection.Toggle('Anti afk', function(a)
  3943. antiAfk = a
  3944. end, true)
  3945. game:GetService("Players").LocalPlayer.Idled:connect(function()
  3946. if antiAfk then
  3947. game:GetService("VirtualUser"):Button2Down(Vector2.new())
  3948. end
  3949. end)
  3950. miscSection.Button('God mode', function()
  3951. game.Players.LocalPlayer.Character.LastDamagedTick:Destroy()
  3952. end)
  3953. nonotifs = false
  3954. miscSection.Toggle('Remove notifications', function(a)
  3955. nonotifs = a
  3956. game:GetService("CoreGui").RobloxGui.NotificationFrame.Visible = not a
  3957. if a then
  3958. game:GetService("CoreGui").RobloxGui.NotificationFrame:ClearAllChildren()
  3959. end
  3960. end)
  3961. game:GetService("CoreGui").RobloxGui.NotificationFrame.ChildAdded:Connect(function(hiChildMePedo)
  3962. if nonotifs then
  3963. hiChildMePedo:Destroy()
  3964. end
  3965. end)
  3966. local flyKeybind = nil
  3967. local flySpeed = 1
  3968. miscSection.KeyBind('Fly Keybind', function(key)
  3969. flyKeybind = key:lower()
  3970. end)
  3971. miscSection.Box("Fly Speed", function(a)
  3972. flySpeed = tonumber(a)
  3973. end)
  3974. spawn(function()
  3975. local CONTROL = {
  3976. F = 0,
  3977. B = 0,
  3978. L = 0,
  3979. R = 0,
  3980. Q = 0,
  3981. E = 0
  3982. }
  3983. local lCONTROL = {
  3984. F = 0,
  3985. B = 0,
  3986. L = 0,
  3987. R = 0,
  3988. Q = 0,
  3989. E = 0
  3990. }
  3991. local SPEED = 0
  3992. local mouse = game.Players.LocalPlayer:GetMouse()
  3993. local FLYING = false
  3994. local function FLY()
  3995. if game:GetService("Players").LocalPlayer and game:GetService("Players").LocalPlayer.Character and game:GetService("Players").LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
  3996. local BG = Instance.new('BodyGyro', game:GetService("Players").LocalPlayer.Character.HumanoidRootPart)
  3997. local BV = Instance.new('BodyVelocity', game:GetService("Players").LocalPlayer.Character.HumanoidRootPart)
  3998. BG.P = 9e4
  3999. BG.maxTorque = Vector3.new(9e9, 9e9, 9e9)
  4000. BG.cframe = game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame
  4001. BV.velocity = Vector3.new(0, 0, 0)
  4002. BV.maxForce = Vector3.new(9e9, 9e9, 9e9)
  4003. spawn(function()
  4004. repeat
  4005. wait()
  4006. game:GetService("Players").LocalPlayer.Character:FindFirstChildWhichIsA('Humanoid').PlatformStand = true
  4007. if CONTROL.L + CONTROL.R ~= 0 or CONTROL.F + CONTROL.B ~= 0 or CONTROL.Q + CONTROL.E ~= 0 then
  4008. SPEED = 50
  4009. elseif not (CONTROL.L + CONTROL.R ~= 0 or CONTROL.F + CONTROL.B ~= 0 or CONTROL.Q + CONTROL.E ~= 0) and SPEED ~= 0 then
  4010. SPEED = 0
  4011. end
  4012. if (CONTROL.L + CONTROL.R) ~= 0 or (CONTROL.F + CONTROL.B) ~= 0 or (CONTROL.Q + CONTROL.E) ~= 0 then
  4013. BV.velocity = ((workspace.CurrentCamera.CoordinateFrame.lookVector * (CONTROL.F + CONTROL.B)) + ((workspace.CurrentCamera.CoordinateFrame * CFrame.new(CONTROL.L + CONTROL.R, (CONTROL.F + CONTROL.B + CONTROL.Q + CONTROL.E) * 0.2, 0).p) - workspace.CurrentCamera.CoordinateFrame.p)) * SPEED
  4014. lCONTROL = {
  4015. F = CONTROL.F,
  4016. B = CONTROL.B,
  4017. L = CONTROL.L,
  4018. R = CONTROL.R
  4019. }
  4020. elseif (CONTROL.L + CONTROL.R) == 0 and (CONTROL.F + CONTROL.B) == 0 and (CONTROL.Q + CONTROL.E) == 0 and SPEED ~= 0 then
  4021. BV.velocity = ((workspace.CurrentCamera.CoordinateFrame.lookVector * (lCONTROL.F + lCONTROL.B)) + ((workspace.CurrentCamera.CoordinateFrame * CFrame.new(lCONTROL.L + lCONTROL.R, (lCONTROL.F + lCONTROL.B + CONTROL.Q + CONTROL.E) * 0.2, 0).p) - workspace.CurrentCamera.CoordinateFrame.p)) * SPEED
  4022. else
  4023. BV.velocity = Vector3.new(0, 0, 0)
  4024. end
  4025. BG.cframe = workspace.CurrentCamera.CoordinateFrame
  4026. until not FLYING
  4027. CONTROL = {
  4028. F = 0,
  4029. B = 0,
  4030. L = 0,
  4031. R = 0,
  4032. Q = 0,
  4033. E = 0
  4034. }
  4035. lCONTROL = {
  4036. F = 0,
  4037. B = 0,
  4038. L = 0,
  4039. R = 0,
  4040. Q = 0,
  4041. E = 0
  4042. }
  4043. SPEED = 0
  4044. BG:destroy()
  4045. BV:destroy()
  4046. game:GetService("Players").LocalPlayer.Character:FindFirstChildWhichIsA('Humanoid').PlatformStand = false
  4047. end)
  4048. end
  4049. end
  4050. mouse.KeyDown:connect(function(KEY)
  4051. if KEY:lower() == flyKeybind then
  4052. if FLYING then
  4053. FLYING = false
  4054. else
  4055. FLYING = true
  4056. FLY()
  4057. end
  4058. elseif KEY:lower() == 'w' then
  4059. CONTROL.F = flySpeed
  4060. elseif KEY:lower() == 's' then
  4061. CONTROL.B = - flySpeed
  4062. elseif KEY:lower() == 'a' then
  4063. CONTROL.L = - flySpeed
  4064. elseif KEY:lower() == 'd' then
  4065. CONTROL.R = flySpeed
  4066. elseif KEY:lower() == 'e' then
  4067. CONTROL.Q = flySpeed * 2
  4068. elseif KEY:lower() == 'q' then
  4069. CONTROL.E = -flySpeed * 2
  4070. end
  4071. end)
  4072. mouse.KeyUp:connect(function(KEY)
  4073. if KEY:lower() == 'w' then
  4074. CONTROL.F = 0
  4075. elseif KEY:lower() == 's' then
  4076. CONTROL.B = 0
  4077. elseif KEY:lower() == 'a' then
  4078. CONTROL.L = 0
  4079. elseif KEY:lower() == 'd' then
  4080. CONTROL.R = 0
  4081. elseif KEY:lower() == 'e' then
  4082. CONTROL.Q = 0
  4083. elseif KEY:lower() == 'q' then
  4084. CONTROL.E = 0
  4085. end
  4086. end)
  4087. FLY()
  4088. end)
  4089. function sendChatMessage(message, color)
  4090. game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage", {
  4091. Text = message,
  4092. Color = color,
  4093. Font = Enum.Font.SourceSansBold,
  4094. TextSize = 20
  4095. })
  4096. end
  4097. do
  4098. local printer = misc.Section("Printer")
  4099. local gameBlocks = {}
  4100. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  4101. if v:FindFirstChild("DisplayName") and (v:FindFirstChild("block-place") or v:FindFirstChild("seeds")) then
  4102. table.insert(gameBlocks, v.DisplayName.Value)
  4103. end
  4104. end
  4105. local firstPos, secondPos = nil, nil
  4106. local editFirst, editSecond = false, false
  4107. local blockType = ""
  4108. local fastMode = false
  4109. local firstPosPart, secondPosPart = nil, nil
  4110. local mt = getrawmetatable(game)
  4111. local namecall = mt.__namecall
  4112. setreadonly(mt, false)
  4113. mt.__namecall = newcclosure(function(self, ...)
  4114. if editFirst or editSecond then
  4115. local method = getnamecallmethod()
  4116. local args = {
  4117. ...
  4118. }
  4119. if tostring(self) == "CLIENT_BLOCK_PLACE_REQUEST" and tostring(method) == "InvokeServer" then
  4120. if editFirst then
  4121. firstPos = args[1]["cframe"].p
  4122. if firstPosPart and firstPosPart.Parent == workspace then
  4123. firstPosPart:Destroy()
  4124. end
  4125. firstPosPart = Instance.new("Part", workspace)
  4126. firstPosPart.Name = game:GetService("HttpService"):GenerateGUID(false)
  4127. firstPosPart.Anchored = true
  4128. firstPosPart.CanCollide = false
  4129. firstPosPart.Transparency = 0.8
  4130. firstPosPart.Color = Color3.fromRGB(50, 205, 50)
  4131. firstPosPart.Size = Vector3.new(3, 3, 3)
  4132. firstPosPart.Position = firstPos
  4133. editFirst = false
  4134. editSecond = false
  4135. sendChatMessage("First position set to (" .. tostring(firstPos) .. ")", Color3.fromRGB(255, 0, 255))
  4136. return {
  4137. ["success"] = false
  4138. }
  4139. elseif editSecond then
  4140. secondPos = args[1]["cframe"].p
  4141. if secondPosPart and secondPosPart.Parent == workspace then
  4142. secondPosPart:Destroy()
  4143. end
  4144. secondPosPart = Instance.new("Part", workspace)
  4145. secondPosPart.Name = game:GetService("HttpService"):GenerateGUID(false)
  4146. secondPosPart.Anchored = true
  4147. secondPosPart.CanCollide = false
  4148. secondPosPart.Transparency = 0.8
  4149. secondPosPart.Color = Color3.fromRGB(173, 216, 230)
  4150. secondPosPart.Size = Vector3.new(3, 3, 3)
  4151. secondPosPart.Position = secondPos
  4152. editFirst = false
  4153. editSecond = false
  4154. sendChatMessage("Second position set to (" .. tostring(secondPos) .. ")", Color3.fromRGB(255, 0, 255))
  4155. return {
  4156. success = false
  4157. }
  4158. end
  4159. end
  4160. end
  4161. return namecall(self, ...)
  4162. end)
  4163. printer.Button("Set First Point", function()
  4164. editFirst = true
  4165. editSecond = false
  4166. end)
  4167. printer.Button("Set Second Point", function()
  4168. editFirst = false
  4169. editSecond = true
  4170. end)
  4171. printer.Toggle("Fast Mode (Might Crash)", function(a)
  4172. fastMode = a
  4173. end)
  4174. local showGhostParts = false
  4175. local aborting = false
  4176. bps = 100
  4177. printer.Toggle("Show Ghost Parts", function(a)
  4178. showGhostParts = a
  4179. end)
  4180. printer.Box("Blocks per second ", function(a)
  4181. bps = tonumber(a)
  4182. end)
  4183. printer.Button("Start Printing", function()
  4184. local player = game.Players.LocalPlayer
  4185. local blockType = player.Character:FindFirstChildWhichIsA("Tool").Name
  4186. local guid = game:GetService("HttpService"):GenerateGUID(false)
  4187. local firstX, firstY, firstZ = firstPos.X, firstPos.Y, firstPos.Z
  4188. local secondX, secondY, secondZ = secondPos.X, secondPos.Y, secondPos.Z
  4189. local deltaX, deltaY, deltaZ = secondX - firstX, secondY - firstY, secondZ - firstZ
  4190. local secondDeltaX, secondDeltaY, secondDeltaZ = firstX + deltaX, firstY + deltaY, firstZ + deltaZ
  4191. local firstXCom, secondXCom, firstYCom, secondYCom, firstZCom, secondZCom
  4192. if firstX > secondDeltaX then
  4193. firstXCom = secondDeltaX
  4194. secondXCom = firstX
  4195. else
  4196. firstXCom = firstX
  4197. secondXCom = secondDeltaX
  4198. end
  4199. if firstY > secondDeltaY then
  4200. firstYCom = secondDeltaY
  4201. secondYCom = firstY
  4202. else
  4203. firstYCom = firstY
  4204. secondYCom = secondDeltaY
  4205. end
  4206. if firstZ > secondDeltaZ then
  4207. firstZCom = secondDeltaZ
  4208. secondZCom = firstZ
  4209. else
  4210. firstZCom = firstZ
  4211. secondZCom = secondDeltaZ
  4212. end
  4213. function grabPossibleSpots()
  4214. local possibles = {}
  4215. for i3 = firstZCom, secondZCom, 3 do
  4216. for i2 = firstYCom, secondYCom, 3 do
  4217. for i = firstXCom, secondXCom, 3 do
  4218. local newPossible = Vector3.new(i, i2, i3)
  4219. if table.find(possibles, newPossible) == nil then
  4220. table.insert(possibles, newPossible)
  4221. end
  4222. end
  4223. end
  4224. end
  4225. return possibles
  4226. end
  4227. local possibleSpots = grabPossibleSpots()
  4228. if showGhostParts then
  4229. for i, v in pairs(possibleSpots) do
  4230. local part = Instance.new("Part", workspace)
  4231. part.Name = guid
  4232. part.Anchored = true
  4233. part.CanCollide = false
  4234. part.Transparency = 0.8
  4235. part.Size = Vector3.new(3, 3, 3)
  4236. part.Position = v
  4237. end
  4238. end
  4239. local bv = Instance.new("BodyVelocity", player.character)
  4240. bv.Velocity = Vector3.new(0, 0, 0)
  4241. for i2, v2 in pairs(getClosestIsland().Blocks:GetChildren()) do
  4242. local pos = table.find(possibleSpots, v2.Position)
  4243. if pos then
  4244. table.remove(possibleSpots, pos)
  4245. end
  4246. end
  4247.  
  4248. for i, v in pairs(possibleSpots) do
  4249. if aborting == false then
  4250. player.Character.Humanoid:ChangeState(11)
  4251. player.Character:MoveTo(v + Vector3.new(0, 20, 0))
  4252. if fastMode then
  4253. spawn(function()
  4254. local subbed = string.gsub(blockType, "Seeds", "")
  4255. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  4256. ["blockType"] = subbed,
  4257. ["cframe"] = CFrame.new(v)
  4258. })
  4259. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  4260. ["blockType"] = subbed,
  4261. ["cframe"] = CFrame.new(v)
  4262. })
  4263. end)
  4264. if bps > 999 then
  4265. game:GetService("RunService").RenderStepped:wait()
  4266. else
  4267. wait(1 / bps)
  4268. end
  4269. elseif fastMode == false then
  4270. local subbed = string.gsub(blockType, "Seeds", "")
  4271. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  4272. ["blockType"] = subbed,
  4273. ["cframe"] = CFrame.new(v)
  4274. })
  4275. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  4276. ["blockType"] = subbed,
  4277. ["cframe"] = CFrame.new(v)
  4278. })
  4279. if bps > 999 then
  4280. game:GetService("RunService").RenderStepped:wait()
  4281. else
  4282. wait(1 / bps)
  4283. end
  4284. end
  4285. elseif aborting == true then
  4286. aborting = false
  4287. return
  4288. end
  4289. end
  4290.  
  4291. for i, v in pairs(workspace:GetChildren()) do
  4292. if v.Name == guid then
  4293. v:Destroy()
  4294. end
  4295. end
  4296. if firstPosPart and firstPosPart.Parent == workspace then
  4297. firstPosPart:Destroy()
  4298. end
  4299. if secondPosPart and secondPosPart.Parent == workspace then
  4300. secondPosPart:Destroy()
  4301. end
  4302. sendChatMessage("Operation Completed (~" .. tostring(#possibleSpots) .. " blocks affected)")
  4303. end)
  4304.  
  4305. local gameBlocks = {}
  4306. for i, v in pairs(game:GetService("ReplicatedStorage").Blocks:GetChildren()) do
  4307. table.insert(gameBlocks, v.Name)
  4308. end
  4309.  
  4310. printer.Button("Destroy island", function()
  4311. for i, v in next, getClosestIsland().Blocks do
  4312.  
  4313. end
  4314. end)
  4315.  
  4316. printer.Button("Start Destroying", function()
  4317. local destroyingBlocks = true
  4318. local player = game.Players.LocalPlayer
  4319. local guid = game:GetService("HttpService"):GenerateGUID(false)
  4320. local firstX, firstY, firstZ = firstPos.X, firstPos.Y, firstPos.Z
  4321. local secondX, secondY, secondZ = secondPos.X, secondPos.Y, secondPos.Z
  4322. local deltaX, deltaY, deltaZ = secondX - firstX, secondY - firstY, secondZ - firstZ
  4323. local secondDeltaX, secondDeltaY, secondDeltaZ = firstX + deltaX, firstY + deltaY, firstZ + deltaZ
  4324. local firstXCom, secondXCom, firstYCom, secondYCom, firstZCom, secondZCom
  4325. if firstX > secondDeltaX then
  4326. firstXCom = secondDeltaX
  4327. secondXCom = firstX
  4328. else
  4329. firstXCom = firstX
  4330. secondXCom = secondDeltaX
  4331. end
  4332. if firstY > secondDeltaY then
  4333. firstYCom = secondDeltaY
  4334. secondYCom = firstY
  4335. else
  4336. firstYCom = firstY
  4337. secondYCom = secondDeltaY
  4338. end
  4339. if firstZ > secondDeltaZ then
  4340. firstZCom = secondDeltaZ
  4341. secondZCom = firstZ
  4342. else
  4343. firstZCom = firstZ
  4344. secondZCom = secondDeltaZ
  4345. end
  4346. function grabPossibleSpots()
  4347. local possibles = {}
  4348. for i3 = firstZCom, secondZCom, 3 do
  4349. for i2 = firstYCom, secondYCom, 3 do
  4350. for i = firstXCom, secondXCom, 3 do
  4351. local newPossible = Vector3.new(i, i2, i3)
  4352. if table.find(possibles, newPossible) == nil then
  4353. table.insert(possibles, newPossible)
  4354. end
  4355. end
  4356. end
  4357. end
  4358. return possibles
  4359. end
  4360. function getBlocksToDestroy(spots)
  4361. local blocks = {}
  4362. for i, v in pairs(spots) do
  4363. local region = Region3.new(v, v)
  4364. for i2, v2 in pairs(workspace:FindPartsInRegion3(region, player.Character, math.huge)) do
  4365. if table.find(gameBlocks, v2.Name) then
  4366. if v2.Name ~= "bedrock" and string.sub(v2.Name, 0, 6) ~= "portal" then
  4367. table.insert(blocks, v2)
  4368. end
  4369. end
  4370. end
  4371. end
  4372. return blocks
  4373. end
  4374. local possibleSpots = grabPossibleSpots()
  4375. local blocksToDestroy = getBlocksToDestroy(possibleSpots)
  4376. if showGhostParts then
  4377. for i, v in pairs(possibleSpots) do
  4378. local part = Instance.new("Part", workspace)
  4379. part.Name = guid
  4380. part.Anchored = true
  4381. part.CanCollide = false
  4382. part.Transparency = 0.9
  4383. part.Size = Vector3.new(3, 3, 3)
  4384. part.Position = v
  4385. end
  4386. end
  4387. local bv = Instance.new("BodyVelocity", player.character)
  4388. bv.Velocity = Vector3.new(0, 0, 0)
  4389. local currentBlock = nil
  4390. for i = 1, #blocksToDestroy do
  4391. if aborting == false then
  4392. if currentBlock == nil then
  4393. currentBlock = blocksToDestroy[i]
  4394. end
  4395. player.Character.Humanoid:ChangeState(11)
  4396. if player:DistanceFromCharacter(currentBlock.Position) > 25 then
  4397. local bv = Instance.new("BodyVelocity", player.Character.HumanoidRootPart)
  4398. bv.Velocity = Vector3.new(0, 0, 0)
  4399. player.Character.HumanoidRootPart.CFrame = CFrame.new(currentBlock.Position + Vector3.new(0, 5, 0))
  4400. end
  4401. repeat
  4402. if fastMode then
  4403. spawn(function()
  4404. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_HIT_REQUEST"]:InvokeServer({
  4405. ["block"] = currentBlock
  4406. })
  4407. end)
  4408. elseif fastMode == false then
  4409. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_HIT_REQUEST"]:InvokeServer({
  4410. ["block"] = currentBlock
  4411. })
  4412. end
  4413. game:GetService("RunService").RenderStepped:wait()
  4414. until not currentBlock:IsDescendantOf(game.Workspace)
  4415. currentBlock = blocksToDestroy[i + 1]
  4416. elseif aborting == true then
  4417. aborting = false
  4418. break
  4419. end
  4420. game:GetService("RunService").RenderStepped:wait()
  4421. end
  4422. currentBlock = nil
  4423. for i, v in pairs(workspace:GetChildren()) do
  4424. if v.Name == guid then
  4425. v:Destroy()
  4426. end
  4427. end
  4428. sendChatMessage("Operation Completed (~" .. tostring(#blocksToDestroy) .. " blocks affected)")
  4429. bv:Destroy()
  4430. by:Destroy()
  4431. end)
  4432. printer.Button("Abort", function()
  4433. aborting = true
  4434. end)
  4435. end
  4436. local main2 = IslandsMain.WindowTab("Main Stuff 2")
  4437. local schematica = IslandsMain.WindowTab("Schematica")
  4438. local mainSideTab3 = main2.SideTab("Miscellaneous")
  4439. local mainSideTab2 = main2.SideTab("Vending Stuff")
  4440. local vendingSection = mainSideTab2.Section('')
  4441. local miscelSection = mainSideTab3.Section('')
  4442. local price3 = 1
  4443. local autoRefill = false
  4444. local vmRange = 15
  4445. helIt = false
  4446. miscelSection.Button('Drop Current Held Item', function()
  4447. local A_1 =
  4448. {
  4449. ["tool"] = game:service'Players'.LocalPlayer.Character:FindFirstChildOfClass("Tool"),
  4450. ["amount"] = price3
  4451. }
  4452. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_DROP_TOOL_REQUEST"]:InvokeServer(A_1)
  4453.  
  4454. end)
  4455. miscelSection.Box("Amount", function(a)
  4456. price3 = tonumber(a)
  4457. end)
  4458. vendingSection.Toggle("Auto refill vending aura", function(bool)
  4459. autoRefill = bool
  4460. end)
  4461. vendingSection.Toggle("Use held item", function(bo)
  4462. helIt = bo
  4463. end)
  4464. local island = workspace.Islands[game:service'Players'.LocalPlayer.UserId.. '-island']
  4465. function getVendings()
  4466. local vMachines = {}
  4467. local tool
  4468. local toolAmount
  4469. local toolName
  4470. for i, v in pairs(plrIsland.Blocks:GetChildren()) do
  4471. if v.Name == "vendingMachine" and v:FindFirstChild("SellingContents") and #v.SellingContents:GetChildren() >= 1 then
  4472. tool = v.SellingContents:FindFirstChildOfClass("Tool")
  4473. toolAmount = tool:FindFirstChild("Amount")
  4474. toolName = tool.Name
  4475. if toolAmount.Value < 150 then
  4476. vMachines[1] = {
  4477. ["Amount"] = toolAmount,
  4478. ["Machine"] = v,
  4479. ["Tool"] = tool
  4480. }
  4481. end
  4482. end
  4483. end
  4484. return vMachines
  4485. end
  4486. local VENDING_MACHINE_EDIT_TRANSACTION = game:GetService("ReplicatedStorage").Remotes.Functions.CLIENT_VENDING_MACHINE_EDIT_TRANSACTION
  4487. local tool
  4488. local toolName
  4489. local val
  4490. spawn(function()
  4491. while wait() do
  4492. if autoRefill then
  4493. pcall(function()
  4494. local v = getVendings()[1]
  4495. tool = v["Tool"]
  4496. if tool then
  4497. toolName = tool.Name
  4498. end
  4499. if v and game:GetService("Players").LocalPlayer:DistanceFromCharacter(v["Machine"].Position) < vmRange then
  4500. if tool and v["Amount"].Value < 150 then
  4501. repeat
  4502. wait()
  4503. if helIt == true then
  4504. VENDING_MACHINE_EDIT_TRANSACTION:InvokeServer({
  4505. ["tool"] = game:service'Players'.LocalPlayer.Character:FindFirstChildOfClass("Tool"),
  4506. ["vendingMachine"] = v["Machine"],
  4507. ["action"] = "deposit",
  4508. ["amount"] = 75
  4509. })
  4510. else
  4511. VENDING_MACHINE_EDIT_TRANSACTION:InvokeServer({
  4512. ["tool"] = game:service'Players'.LocalPlayer.Backpack[toolName],
  4513. ["vendingMachine"] = v["Machine"],
  4514. ["action"] = "deposit",
  4515. ["amount"] = 75
  4516. })
  4517. end
  4518. wait(.5)
  4519. until v["Amount"].Value >= 150 or not autoRefill
  4520. end
  4521. end
  4522. end)
  4523. end
  4524. end
  4525. end)
  4526. vendingSection.Slider("Vending Machine Range", "0", "30", "15", function(a)
  4527. vmRange = tonumber(a)
  4528. end)
  4529. local b6h = false
  4530. local price = 0
  4531. vendingSection.Toggle("Vending Price Changer", function(bool)
  4532. b6h = bool
  4533. end)
  4534. vendingSection.Box("Price", function(a)
  4535. price = tonumber(a)
  4536. end)
  4537. local autoWithdraw = false
  4538. vendingSection.Toggle("Auto Withdraw Coins",function(bool)
  4539. autoWithdraw = bool
  4540. end)
  4541. autoRefT = false
  4542. vendingSection.Toggle("Refill Vending machines with equipped tool",function(bool)
  4543. autoRefT = bool
  4544. end)
  4545. plrIsland = workspace.Islands[game:service'Players'.LocalPlayer.UserId.. '-island']
  4546. spawn(function()
  4547. while wait() do
  4548. if autoRefT then
  4549. for i,v in pairs(plrIsland.Blocks:GetChildren()) do
  4550. if v.Name == "vendingMachine" and v:FindFirstChild("SellingContents") and #v.SellingContents:GetChildren() <= 0 and game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool") then
  4551. VENDING_MACHINE_EDIT_TRANSACTION:InvokeServer({
  4552. ["tool"] = game:service'Players'.LocalPlayer.Character:FindFirstChildOfClass("Tool"),
  4553. ["vendingMachine"] = v,
  4554. ["action"] = "deposit",
  4555. ["amount"] = 1
  4556. })
  4557. end
  4558. end
  4559. end
  4560. end
  4561. end)
  4562. function getVendings2()
  4563. local vMachines = {}
  4564. local tool
  4565. local toolAmount
  4566. local toolName
  4567. for i, v in pairs(plrIsland.Blocks:GetChildren()) do
  4568. if v.Name == "vendingMachine" then
  4569. transactionPrice = v:FindFirstChild("TransactionPrice")
  4570. local CoinBalance = v:FindFirstChild("CoinBalance")
  4571. if (b6h and tonumber(transactionPrice.Value) ~= tonumber(price)) or (autoDeposit and tonumber(CoinBalance.Value) < price4) or (autoWithdraw and CoinBalance.Value > 0) then
  4572. vMachines[1] = {
  4573. ["Price"] = transactionPrice,
  4574. ["Machine"] = v,
  4575. ["Balance"] = CoinBalance
  4576. }
  4577. end
  4578. end
  4579. end
  4580. return vMachines
  4581. end
  4582. spawn(function()
  4583. while wait() do
  4584. if autoWithdraw then
  4585. pcall(function()
  4586. local v = getVendings2()[1]
  4587. if game:GetService("Players").LocalPlayer:DistanceFromCharacter(v["Machine"].Position) < 15 then
  4588. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_VENDING_MACHINE_WITHDRAW_COINS"]:InvokeServer({
  4589. ["vendingMachine"] = v["Machine"]
  4590. })
  4591. end
  4592. end)
  4593. end
  4594. end
  4595. end)
  4596. spawn(function()
  4597. while wait() do
  4598. if b6h then
  4599. pcall(function()
  4600. local v = getVendings2()[1]
  4601. spawn(function()
  4602. if game:service'Players'.LocalPlayer:DistanceFromCharacter(v["Machine"].Position) < 15 then
  4603. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_EDIT_VENDING_MACHINE"]:InvokeServer({
  4604. ["vendingMachine"] = v["Machine"],
  4605. ["transactionPrice"] = price,
  4606. ["mode"] = 0
  4607. })
  4608. end
  4609. end)
  4610. end)
  4611. end
  4612. end
  4613. end)
  4614. vendingSection.Toggle("Auto deposit money", function(bool)
  4615. autoDeposit = bool
  4616. end)
  4617. vendingSection.Box("Price", function(a)
  4618. price4 = tonumber(a)
  4619. end)
  4620. spawn(function()
  4621. while wait() do
  4622. if autoDeposit then
  4623. pcall(function()
  4624. local v = getVendings2()[1]
  4625. spawn(function()
  4626. if game:service'Players'.LocalPlayer:DistanceFromCharacter(v["Machine"].Position) < 15 then
  4627. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_VENDING_MACHINE_DEPOSIT_COINS"]:InvokeServer({
  4628. ["amount"] = price4,
  4629. ["vendingMachine"] = v["Machine"],
  4630. })
  4631. end
  4632. end)
  4633. end)
  4634. end
  4635. end
  4636. end)
  4637. local player = game:GetService("Players").LocalPlayer
  4638. local defaultSchematics = {
  4639. ["Synapse X Dark"] = "https://pastebin.com/raw/gHMs5w3n";
  4640. ["Synapse X White"] = "https://pastebin.com/raw/theCe337";
  4641. ["Pringles Man"] = "https://pastebin.com/raw/fbdWd7sz";
  4642. ["MC Water Bucket"] = "https://pastebin.com/raw/JqT4XcRA";
  4643. ["MC Lava Bucket"] = "https://pastebin.com/raw/UHbfc0dn";
  4644. ["Sans"] = "https://pastebin.com/raw/NADtkj15";
  4645. ["Mario"] = "https://pastebin.com/raw/SnNmXm7c";
  4646. ["Medieval House"] = "https://pastebin.com/raw/PnJaRDUi";
  4647. }
  4648. if not isfolder("skyblock-schematics") then
  4649. makefolder("skyblock-schematics")
  4650. for i, v in pairs(defaultSchematics) do
  4651. writefile("skyblock-schematics/" .. i .. ".schemi", game:HttpGet(v))
  4652. print("loading " .. i)
  4653. wait(0.5)
  4654. end
  4655. end
  4656. local schematics = {}
  4657. local blockNameList = {}
  4658. local blocksList = {}
  4659. for i, v in pairs(game:GetService("ReplicatedStorage").Blocks:GetChildren()) do
  4660. table.insert(blockNameList, v.Name)
  4661. end
  4662. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  4663. if v:FindFirstChild("DisplayName") and (v:FindFirstChild("block-place") or v:FindFirstChild("seeds")) then
  4664. table.insert(blocksList, v.DisplayName.Value)
  4665. end
  4666. end
  4667. function updateSchematicsList()
  4668. for i, v in pairs(schematics) do
  4669. schematics[i] = nil
  4670. end
  4671. for i, v in pairs(listfiles("skyblock-schematics")) do
  4672. local replaced = string.gsub(v, "skyblock%pschematics%p", "")
  4673. local replaced2 = string.sub(replaced, 0, -8)
  4674. table.insert(schematics, replaced2)
  4675. end
  4676. end
  4677. updateSchematicsList()
  4678. local function getLowestValue(first, second)
  4679. if first < second then
  4680. return first
  4681. else
  4682. return second
  4683. end
  4684. end
  4685. local function getHighestValue(first, second)
  4686. if first > second then
  4687. return first
  4688. else
  4689. return second
  4690. end
  4691. end
  4692. function stringToCFrame(text)
  4693. return (CFrame.new(text:match("(.+),(.+),(.+),(.+),(.+),(.+),(.+),(.+),(.+),(.+),(.+),(.+)")))
  4694. end
  4695. buildInfoTab = nil
  4696. buildLabels = {}
  4697. function weirdFormatStringLol(s)
  4698. local s = s:gsub('(%S)(%u)', '%1 %2'):gsub("^%l", string.upper)
  4699. return s
  4700. end
  4701. function getDisplayNameByName(name)
  4702. for i, v in pairs(game:GetService("ReplicatedStorage").Tools:GetChildren()) do
  4703. if v.Name == name and v:FindFirstChild("DisplayName") then
  4704. return v:FindFirstChild("DisplayName").Value
  4705. end
  4706. end
  4707. end
  4708. local itemsToBuy = {}
  4709. function loadBuildInformation(stuff)
  4710. if buildInfoTab ~= nil then
  4711. for i, v in pairs(itemsToBuy) do
  4712. itemsToBuy[i] = nil
  4713. end
  4714. for i, v in pairs(stuff) do
  4715. itemsToBuy[i] = #stuff[i]
  4716. end
  4717. for i, v in pairs(buildLabels) do
  4718. v:Delete()
  4719. buildLabels[i] = nil
  4720. end
  4721. for i, v in pairs(stuff) do
  4722. local appearingName = getDisplayNameByName(i) or weirdFormatStringLol(i)
  4723. local la = buildInfoTab.Label(appearingName .. " : " .. tostring(#stuff[i]))
  4724. table.insert(buildLabels, la)
  4725. end
  4726. end
  4727. end
  4728. function generateModel(stuff, startPosition)
  4729. local model = Instance.new("Model")
  4730. for i, v in pairs(stuff) do
  4731. for i2, v2 in pairs(v) do
  4732. local truePos = stringToCFrame(v2)
  4733. if i == "air" then
  4734. local copy = Instance.new("Part")
  4735. copy.Parent = model
  4736. copy.Name = i
  4737. copy.Size = Vector3.new(3, 3, 3)
  4738. copy.CanCollide = false
  4739. copy.Transparency = 1
  4740. copy.Anchored = true
  4741. copy.CFrame = truePos + startPosition
  4742. if copy.CFrame.p == startPosition then
  4743. model.PrimaryPart = copy
  4744. end
  4745. else
  4746. local copy = game:GetService("ReplicatedStorage").Blocks[i].Root:Clone()
  4747. copy.Parent = model
  4748. copy.Name = i
  4749. copy.CanCollide = false
  4750. copy.Transparency = 0.5
  4751. copy.CFrame = truePos + startPosition
  4752. if copy.CFrame.p == startPosition then
  4753. model.PrimaryPart = copy
  4754. end
  4755. end
  4756. end
  4757. end
  4758. return model
  4759. end
  4760. local xoffset, yoffset, zoffset = 0, 0, 0
  4761. function updateModel(model, method, value, startPosition)
  4762. if method == "visible" then
  4763. for i, v in pairs(model:GetChildren()) do
  4764. v.Transparency = value
  4765. end
  4766. elseif method == "rotateX" then
  4767. model:SetPrimaryPartCFrame(model.PrimaryPart.CFrame * CFrame.Angles(math.rad(90), 0, 0))
  4768. elseif method == "rotateY" then
  4769. model:SetPrimaryPartCFrame(model.PrimaryPart.CFrame * CFrame.Angles(0, math.rad(90), 0))
  4770. elseif method == "rotateZ" then
  4771. model:SetPrimaryPartCFrame(model.PrimaryPart.CFrame * CFrame.Angles(0, 0, math.rad(90)))
  4772. elseif method == "move" then
  4773. model:SetPrimaryPartCFrame(CFrame.new(Vector3.new(xoffset * 3, yoffset * 3, zoffset * 3) + startPosition))
  4774. end
  4775. end
  4776. setPosition = false
  4777. schematicCFrame = nil
  4778. schematic = nil
  4779. loadSch = schematica.SideTab("Schematic Settings")
  4780. loadSchematic = loadSch.Section("Schematic Settings")
  4781. loadSchematic.Dropdown("Schematic", schematics, function(a)
  4782. loadBuildInformation(game:GetService("HttpService"):JSONDecode(readfile("skyblock-schematics/" .. a .. ".schemi")))
  4783. schematic = a
  4784. end)
  4785. local schematicModel = nil
  4786. local offsetButtons = {}
  4787. local mt = getrawmetatable(game)
  4788. local namecall = mt.__namecall
  4789. setreadonly(mt, false)
  4790. mt.__namecall = newcclosure(function(self, ...)
  4791. local method = getnamecallmethod()
  4792. local args = {
  4793. ...
  4794. }
  4795. if method == "InvokeServer" and tostring(self) == "CLIENT_BLOCK_PLACE_REQUEST" then
  4796. if setPosition then
  4797. schematicCFrame = args[1]["cframe"]
  4798. setPosition = false
  4799. if schematicModel ~= nil then
  4800. for i, v in pairs(schematicModel:GetChildren()) do
  4801. v:Destroy()
  4802. end
  4803. end
  4804. if schematic ~= nil then
  4805. local buildInfo = game:GetService("HttpService"):JSONDecode(readfile("skyblock-schematics/" .. schematic .. ".schemi"))
  4806. schematicModel = generateModel(buildInfo, schematicCFrame.p)
  4807. schematicModel.Parent = workspace
  4808. end
  4809. return {
  4810. ["success"] = false
  4811. }
  4812. end
  4813. end
  4814. return namecall(self, ...)
  4815. end)
  4816. setreadonly(mt, true)
  4817. loadSchematic.Button("Reload Schematics", function()
  4818. updateSchematicsList()
  4819. end)
  4820. loadSchematic.Button("Set Position", function()
  4821. setPosition = true
  4822. end)
  4823. local positionSettings = loadSch.Section("Position Settings")
  4824. local xOffset = positionSettings.Box("X-Offset", function(a)
  4825. xoffset = tonumber(a)
  4826. updateModel(schematicModel, "move", 0, schematicCFrame.p)
  4827. end)
  4828. local yOffset = positionSettings.Box("Y-Offset", function(a)
  4829. yoffset = tonumber(a)
  4830. updateModel(schematicModel, "move", 0, schematicCFrame.p)
  4831. end)
  4832. local zOffset = positionSettings.Box("Z-Offset", function(a)
  4833. zoffset = tonumber(a)
  4834. updateModel(schematicModel, "move", 0, schematicCFrame.p)
  4835. end)
  4836. positionSettings.Button("Rotate X Axis", function()
  4837. updateModel(schematicModel, "rotateX")
  4838. end)
  4839. positionSettings.Button("Rotate Y Axis", function()
  4840. updateModel(schematicModel, "rotateY")
  4841. end)
  4842. positionSettings.Button("Rotate Z Axis", function()
  4843. updateModel(schematicModel, "rotateZ")
  4844. end)
  4845. local renderSettings = loadSch.Section("Render Settings", true)
  4846. renderSettings.Toggle("Show preview", function(a)
  4847. if a == true then
  4848. updateModel(schematicModel, "visible", 0.5)
  4849. elseif a == false then
  4850. updateModel(schematicModel, "visible", 1)
  4851. end
  4852. end, true)
  4853. local fastmode = false
  4854. scBPS = 100
  4855. renderSettings.Toggle("Fast Mode", function(a)
  4856. fastmode = a
  4857. end)
  4858. renderSettings.Box("Blocks per second", function(a)
  4859. scBPS = tonumber(a)
  4860. end)
  4861. local blockAlias = {
  4862. dirt = "grass",
  4863. soil = "grass"
  4864. }
  4865. renderSettings.Button("Buy materials", function()
  4866. local itemInBuyTable = {}
  4867. for i, v in pairs(itemsToBuy) do
  4868. local amountToBuy = v
  4869. if game.Players.LocalPlayer.Backpack:FindFirstChild(i) or game.Players.LocalPlayer.Character:FindFirstChild(i) then
  4870. local tool = game.Players.LocalPlayer.Backpack:FindFirstChild(i) or game.Players.LocalPlayer.Character:FindFirstChild(i)
  4871. local toolCount = tool.Amount.Value
  4872. amountToBuy = amountToBuy - toolCount
  4873. end
  4874. itemInBuyTable[i] = amountToBuy
  4875. end
  4876. buyItem(itemInBuyTable)
  4877. end)
  4878. renderSettings.Button("Craft materials", function()
  4879. local itemInBuyTable = {}
  4880. for i, v in pairs(itemsToBuy) do
  4881. local amountToBuy = v
  4882. if game.Players.LocalPlayer.Backpack:FindFirstChild(i) or game.Players.LocalPlayer.Character:FindFirstChild(i) then
  4883. local tool = game.Players.LocalPlayer.Backpack:FindFirstChild(i) or game.Players.LocalPlayer.Character:FindFirstChild(i)
  4884. local toolCount = tool.Amount.Value
  4885. amountToBuy = amountToBuy - toolCount
  4886. end
  4887. itemInBuyTable[i] = amountToBuy
  4888. end
  4889. craftItem(itemInBuyTable)
  4890. end)
  4891. renderSettings.Button("Load Build", function()
  4892. local bv = Instance.new("BodyVelocity", player.Character.HumanoidRootPart)
  4893. bv.Velocity = Vector3.new(0, 0, 0)
  4894. if schematicModel ~= nil then
  4895. local totalCount = schematicModel:GetChildren()
  4896. for i, v in pairs(schematicModel:GetChildren()) do
  4897. local blockName = v.Name
  4898. for _ in pairs(blockAlias) do
  4899. if _ == blockName then
  4900. blockName = blockAlias[_]
  4901. end
  4902. end
  4903. if blockName ~= "air" then
  4904. if player:DistanceFromCharacter(v.Position) > 50 or player:DistanceFromCharacter(v.Position) < 5 then
  4905. player.Character.HumanoidRootPart.CFrame = v.CFrame + Vector3.new(15, 15, 15)
  4906. end
  4907. if fastmode == true then
  4908. spawn(function()
  4909. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  4910. ["blockType"] = blockName,
  4911. ["cframe"] = v.CFrame
  4912. })
  4913. end)
  4914. if scBPS > 999 then
  4915. game:GetService("RunService").RenderStepped:wait()
  4916. else
  4917. wait(1 / scBPS)
  4918. end
  4919. else
  4920. game:GetService("ReplicatedStorage").Remotes.Functions["CLIENT_BLOCK_PLACE_REQUEST"]:InvokeServer({
  4921. ["blockType"] = blockName,
  4922. ["cframe"] = v.CFrame
  4923. })
  4924. if scBPS > 999 then
  4925. game:GetService("RunService").RenderStepped:wait()
  4926. else
  4927. wait(1 / scBPS)
  4928. end
  4929. end
  4930. end
  4931. game:GetService("RunService").RenderStepped:wait()
  4932. end
  4933. end
  4934. sendChatMessage("Operation Completed (~" .. tostring(#schematicModel:GetChildren()) .. " blocks affected)")
  4935. bv:Destroy()
  4936. end)
  4937. buildInfoTab = loadSch.Section("Build Information")
  4938. local buildCopying = schematica.SideTab("Copy Builds")
  4939. local copyPoints = buildCopying.Section("Point Settings")
  4940. local setFirstPoint = false
  4941. local setSecondPoint = false
  4942. local originalFirstPointPosition = nil
  4943. local originalSecondPointPosition = nil
  4944. local firstPointPosition = nil
  4945. local secondPointPosition = nil
  4946. copyPoints.Button("First Point", function()
  4947. setFirstPoint = true
  4948. setSecondPoint = false
  4949. end)
  4950. copyPoints.Button("Second Point", function()
  4951. setFirstPoint = false
  4952. setSecondPoint = true
  4953. end)
  4954. local exporterModel = nil
  4955. local redPoint = nil
  4956. local bluePoint = nil
  4957. local visibleLines = true
  4958. local function drawLine(firstPosition, secondPosition, parent)
  4959. local ray = Ray.new(firstPosition, (secondPosition - firstPosition).unit * 300)
  4960. local beam = Instance.new("Part", parent)
  4961. beam.Transparency = 1
  4962. beam.Anchored = true
  4963. beam.CanCollide = false
  4964. local distance = (firstPosition - secondPosition).magnitude
  4965. beam.Size = Vector3.new(0.001, 0.001, distance)
  4966. beam.CFrame = CFrame.new(firstPosition, secondPosition) * CFrame.new(0, 0, -distance / 2)
  4967. local selectionbox = Instance.new("SelectionBox", beam)
  4968. selectionbox.LineThickness = 0.1
  4969. selectionbox.Adornee = beam
  4970. if visibleLines then
  4971. selectionbox.Visible = true
  4972. else
  4973. selectionbox.Visible = false
  4974. end
  4975. selectionbox.Color = BrickColor.new("White")
  4976. return beam
  4977. end
  4978. local firstXSize, secondXSize, firstYSize, secondYSize, firstZSize, secondZSize = 0, 0, 0, 0, 0, 0
  4979. local function generateExportingModel()
  4980. if exporterModel ~= nil then
  4981. for i, v in pairs(exporterModel:GetChildren()) do
  4982. v:Destroy()
  4983. end
  4984. end
  4985. if firstPointPosition ~= nil and secondPointPosition ~= nil then
  4986. local model = Instance.new("Model")
  4987. local part1 = Instance.new("Part", model)
  4988. part1.Name = "redPoint"
  4989. part1.Position = Vector3.new(getLowestValue(firstPointPosition.X, secondPointPosition.X), getLowestValue(firstPointPosition.Y, secondPointPosition.Y), getLowestValue(firstPointPosition.Z, secondPointPosition.Z)) + Vector3.new(firstXSize, firstYSize, firstZSize)
  4990. part1.Size = Vector3.new(3, 3, 3)
  4991. part1.Transparency = 1
  4992. part1.Anchored = true
  4993. part1.CanCollide = false
  4994. redPoint = part1
  4995. local part2 = Instance.new("Part", model)
  4996. part1.Name = "bluePoint"
  4997. part2.Position = Vector3.new(getHighestValue(firstPointPosition.X, secondPointPosition.X), getHighestValue(firstPointPosition.Y, secondPointPosition.Y), getHighestValue(firstPointPosition.Z, secondPointPosition.Z)) + Vector3.new(secondXSize, secondYSize, secondZSize)
  4998. part2.Size = Vector3.new(3, 3, 3)
  4999. part2.Transparency = 1
  5000. part2.Anchored = true
  5001. part2.CanCollide = false
  5002. bluePoint = part2
  5003. local lines1 = Instance.new("SelectionBox", part1)
  5004. lines1.LineThickness = 0.1
  5005. lines1.Adornee = part1
  5006. if visibleLines then
  5007. lines1.Visible = true
  5008. else
  5009. lines1.Visible = false
  5010. end
  5011. lines1.Color = BrickColor.new("Dark red")
  5012. local lines2 = Instance.new("SelectionBox", part2)
  5013. lines2.LineThickness = 0.1
  5014. lines2.Adornee = part2
  5015. if visibleLines then
  5016. lines2.Visible = true
  5017. else
  5018. lines2.Visible = false
  5019. end
  5020. lines2.Color = BrickColor.new("Dark blue")
  5021. local position1 = part1.Position
  5022. local position2 = part2.Position
  5023. local boxCornerPoint1 = Vector3.new(position1.X, position1.Y, position1.Z) + Vector3.new(-1.5, -1.5, -1.5)
  5024. local boxCornerPoint2 = Vector3.new(position1.X, position1.Y, position2.Z) + Vector3.new(-1.5, -1.5, 1.5)
  5025. local boxCornerPoint3 = Vector3.new(position1.X, position2.Y, position1.Z) + Vector3.new(-1.5, 1.5, -1.5)
  5026. local boxCornerPoint4 = Vector3.new(position1.X, position2.Y, position2.Z) + Vector3.new(-1.5, 1.5, 1.5)
  5027. local boxCornerPoint5 = Vector3.new(position2.X, position2.Y, position2.Z) + Vector3.new(1.5, 1.5, 1.5)
  5028. local boxCornerPoint6 = Vector3.new(position2.X, position2.Y, position1.Z) + Vector3.new(1.5, 1.5, -1.5)
  5029. local boxCornerPoint7 = Vector3.new(position2.X, position1.Y, position2.Z) + Vector3.new(1.5, -1.5, 1.5)
  5030. local boxCornerPoint8 = Vector3.new(position2.X, position1.Y, position1.Z) + Vector3.new(1.5, -1.5, -1.5)
  5031. drawLine(boxCornerPoint1, boxCornerPoint2, model)
  5032. drawLine(boxCornerPoint1, boxCornerPoint3, model)
  5033. drawLine(boxCornerPoint1, boxCornerPoint8, model)
  5034. drawLine(boxCornerPoint2, boxCornerPoint4, model)
  5035. drawLine(boxCornerPoint2, boxCornerPoint7, model)
  5036. drawLine(boxCornerPoint3, boxCornerPoint4, model)
  5037. drawLine(boxCornerPoint3, boxCornerPoint6, model)
  5038. drawLine(boxCornerPoint4, boxCornerPoint5, model)
  5039. drawLine(boxCornerPoint5, boxCornerPoint6, model)
  5040. drawLine(boxCornerPoint5, boxCornerPoint7, model)
  5041. drawLine(boxCornerPoint6, boxCornerPoint8, model)
  5042. drawLine(boxCornerPoint7, boxCornerPoint8, model)
  5043. return model
  5044. end
  5045. end
  5046. local mt = getrawmetatable(game)
  5047. local namecall = mt.__namecall
  5048. setreadonly(mt, false)
  5049. mt.__namecall = newcclosure(function(self, ...)
  5050. local method = getnamecallmethod()
  5051. local args = {
  5052. ...
  5053. }
  5054. if method == "InvokeServer" and tostring(self) == "CLIENT_BLOCK_PLACE_REQUEST" then
  5055. if setFirstPoint then
  5056. originalFirstPointPosition = args[1]["cframe"].p
  5057. firstPointPosition = args[1]["cframe"].p
  5058. setFirstPoint = false
  5059. exporterModel = generateExportingModel()
  5060. exporterModel.Parent = workspace
  5061. return {
  5062. ["success"] = false
  5063. }
  5064. elseif setSecondPoint then
  5065. originalSecondPointPosition = args[1]["cframe"].p
  5066. secondPointPosition = args[1]["cframe"].p
  5067. setSecondPoint = false
  5068. exporterModel = generateExportingModel()
  5069. exporterModel.Parent = workspace
  5070. return {
  5071. ["success"] = false
  5072. }
  5073. end
  5074. end
  5075. return namecall(self, ...)
  5076. end)
  5077. setreadonly(mt, true)
  5078. local exportSizeSettings = buildCopying.Section("Size Settings")
  5079. exportSizeSettings.Label("Red Point")
  5080. exportSizeSettings.Box("X-Size", function(a)
  5081. firstXSize = a * 3
  5082. exporterModel = generateExportingModel()
  5083. exporterModel.Parent = workspace
  5084. end)
  5085. exportSizeSettings.Box("Y-Size", function(a)
  5086. firstYSize = a * 3
  5087. exporterModel = generateExportingModel()
  5088. exporterModel.Parent = workspace
  5089. end)
  5090. exportSizeSettings.Box("Z-Size", function(a)
  5091. firstZSize = a * 3
  5092. exporterModel = generateExportingModel()
  5093. exporterModel.Parent = workspace
  5094. end)
  5095. exportSizeSettings.Label("Blue Point")
  5096. exportSizeSettings.Box("X-Size", function(a)
  5097. secondXSize = a * 3
  5098. exporterModel = generateExportingModel()
  5099. exporterModel.Parent = workspace
  5100. end)
  5101. exportSizeSettings.Box("Y-Size", function(a)
  5102. secondYSize = a * 3
  5103. exporterModel = generateExportingModel()
  5104. exporterModel.Parent = workspace
  5105. end)
  5106. exportSizeSettings.Box("Z-Size", function(a)
  5107. secondZSize = a * 3
  5108. exporterModel = generateExportingModel()
  5109. exporterModel.Parent = workspace
  5110. end)
  5111. local textExporting = buildCopying.Section("Rendering", true)
  5112. textExporting.Toggle("Show Lines", function(a)
  5113. visibleLines = a
  5114. exporterModel = generateExportingModel()
  5115. exporterModel.Parent = workspace
  5116. end, true)
  5117. local function parseBlocksToSave()
  5118. local foundBlocks = {}
  5119. local region = Region3.new(redPoint.Position - Vector3.new(1.5, 1.5, 1.5), bluePoint.Position + Vector3.new(1.5, 1.5, 1.5))
  5120. for i, v in pairs(workspace:FindPartsInRegion3(region, player.Character, math.huge)) do
  5121. if table.find(blockNameList, v.Name) then
  5122. table.insert(foundBlocks, v)
  5123. end
  5124. end
  5125. return foundBlocks
  5126. end
  5127. textExporting.Button("Copy Data", function()
  5128. local start_time = tick()
  5129. local function roundClosest3(number)
  5130. return math.floor(number / 3 + 0.5) * 3
  5131. end
  5132. local function formatCFrame(cframe)
  5133. local x, y, z, r00, r01, r02, r10, r11, r12, r20, r21, r22 = cframe:components()
  5134. return CFrame.new(roundClosest3(x), roundClosest3(y), roundClosest3(z), r00, r01, r02, r10, r11, r12, r20, r21, r22)
  5135. end
  5136. local function getBlockList(list)
  5137. local blocks = {}
  5138. for i, v in pairs(list) do
  5139. if table.find(blocks, v.Name) == nil then
  5140. table.insert(blocks, v.Name)
  5141. end
  5142. end
  5143. return blocks
  5144. end
  5145. function getPrimaryPart(list)
  5146. return list[1]
  5147. end
  5148. local blocksToExport = parseBlocksToSave()
  5149. local output = {}
  5150. for i, v in pairs(getBlockList(blocksToExport)) do
  5151. output[v] = {}
  5152. for i2, v2 in pairs(blocksToExport) do
  5153. if v2.Name == v then
  5154. table.insert(output[v], tostring(formatCFrame(v2.CFrame - getPrimaryPart(blocksToExport).Position)))
  5155. end
  5156. end
  5157. end
  5158. local realOutput = string.gsub(game:GetService("HttpService"):JSONEncode(output), "%s", "")
  5159. setclipboard(realOutput)
  5160. end)
  5161. fileNameExport = "u didnt put a name u fucking gay"
  5162. textExporting.Box("File Name (If save file)", function(a)
  5163. fileNameExport = a
  5164. end)
  5165. textExporting.Button("Save Data", function()
  5166. local start_time = tick()
  5167. local function roundClosest3(number)
  5168. return math.floor(number / 3 + 0.5) * 3
  5169. end
  5170. local function formatCFrame(cframe)
  5171. local x, y, z, r00, r01, r02, r10, r11, r12, r20, r21, r22 = cframe:components()
  5172. return CFrame.new(roundClosest3(x), roundClosest3(y), roundClosest3(z), r00, r01, r02, r10, r11, r12, r20, r21, r22)
  5173. end
  5174. local function getBlockList(list)
  5175. local blocks = {}
  5176. for i, v in pairs(list) do
  5177. if table.find(blocks, v.Name) == nil then
  5178. table.insert(blocks, v.Name)
  5179. end
  5180. end
  5181. return blocks
  5182. end
  5183. function getPrimaryPart(list)
  5184. return list[1]
  5185. end
  5186. local blocksToExport = parseBlocksToSave()
  5187. local output = {}
  5188. for i, v in pairs(getBlockList(blocksToExport)) do
  5189. output[v] = {}
  5190. for i2, v2 in pairs(blocksToExport) do
  5191. if v2.Name == v then
  5192. table.insert(output[v], tostring(formatCFrame(v2.CFrame - getPrimaryPart(blocksToExport).Position)))
  5193. end
  5194. end
  5195. end
  5196. local realOutput = string.gsub(game:GetService("HttpService"):JSONEncode(output), "%s", "")
  5197. updateSchematicsList()
  5198. writefile("skyblock-schematics/" .. fileNameExport .. ".schemi", realOutput)
  5199. end)
  5200. local letters = {
  5201. A = {
  5202. Size = 4,
  5203. BlockData = {
  5204. blocks = {
  5205. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5206. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5207. CFrame.new(0, 6, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5208. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5209. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5210. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5211. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5212. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5213. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5214. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5215. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5216. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5217. }
  5218. }
  5219. },
  5220. B = {
  5221. Size = 4,
  5222. BlockData = {
  5223. blocks = {
  5224. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5225. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5226. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5227. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5228. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5229. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5230. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5231. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5232. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5233. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5234. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5235. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5236. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5237. }
  5238. }
  5239. },
  5240. C = {
  5241. Size = 4,
  5242. BlockData = {
  5243. blocks = {
  5244. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5245. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5246. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5247. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5248. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5249. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5250. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5251. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5252. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5253. },
  5254. air = {
  5255. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5256. }
  5257. }
  5258. },
  5259. D = {
  5260. Size = 4,
  5261. BlockData = {
  5262. blocks = {
  5263. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5264. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5265. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5266. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5267. CFrame.new(0, 6, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5268. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5269. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5270. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5271. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5272. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5273. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5274. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5275. }
  5276. }
  5277. },
  5278. E = {
  5279. Size = 4,
  5280. BlockData = {
  5281. blocks = {
  5282. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5283. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5284. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5285. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5286. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5287. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5288. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5289. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5290. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5291. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5292. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5293. },
  5294. air = {
  5295. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5296. }
  5297. }
  5298. },
  5299. F = {
  5300. Size = 4,
  5301. BlockData = {
  5302. blocks = {
  5303. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5304. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5305. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5306. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5307. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5308. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5309. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5310. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5311. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5312. }
  5313. }
  5314. },
  5315. G = {
  5316. Size = 4,
  5317. BlockData = {
  5318. blocks = {
  5319. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5320. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5321. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5322. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5323. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5324. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5325. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5326. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5327. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5328. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5329. },
  5330. air = {
  5331. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5332. }
  5333. }
  5334. },
  5335. H = {
  5336. Size = 4,
  5337. BlockData = {
  5338. blocks = {
  5339. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5340. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5341. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5342. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5343. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5344. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5345. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5346. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5347. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5348. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5349. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5350. CFrame.new(0, 6, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5351. }
  5352. }
  5353. },
  5354. I = {
  5355. Size = 1,
  5356. BlockData = {
  5357. blocks = {
  5358. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5359. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5360. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5361. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5362. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5363. }
  5364. }
  5365. },
  5366. J = {
  5367. Size = 4,
  5368. BlockData = {
  5369. blocks = {
  5370. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5371. CFrame.new(0, 3, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5372. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5373. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5374. CFrame.new(0, 9, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5375. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5376. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5377. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5378. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5379. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5380. }
  5381. }
  5382. },
  5383. K = {
  5384. Size = 4,
  5385. BlockData = {
  5386. blocks = {
  5387. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5388. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5389. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5390. CFrame.new(0, 3, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5391. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5392. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5393. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5394. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5395. CFrame.new(0, 9, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5396. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5397. }
  5398. }
  5399. },
  5400. L = {
  5401. Size = 3,
  5402. BlockData = {
  5403. blocks = {
  5404. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5405. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5406. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5407. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5408. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5409. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5410. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5411. }
  5412. }
  5413. },
  5414. M = {
  5415. Size = 7,
  5416. BlockData = {
  5417. blocks = {CFrame.new(0,9,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,15,1,0,0,0,1,0,0,0,1),CFrame.new(0,6,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,0,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,6,1,0,0,0,1,0,0,0,1),CFrame.new(0,9,18,1,0,0,0,1,0,0,0,1),CFrame.new(0,6,18,1,0,0,0,1,0,0,0,1),CFrame.new(0,3,18,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,0,18,1,0,0,0,1,0,0,0,1),CFrame.new(0,9,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,3,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,6,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,0,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,3,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,3,1,0,0,0,1,0,0,0,1)}
  5418. }
  5419. },
  5420. N = {
  5421. Size = 4,
  5422. BlockData = {
  5423. blocks = {
  5424. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5425. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5426. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5427. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5428. CFrame.new(0, 6, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5429. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5430. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5431. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5432. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5433. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5434. }
  5435. }
  5436. },
  5437. O = {
  5438. Size = 4,
  5439. BlockData = {
  5440. blocks = {
  5441. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5442. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5443. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5444. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5445. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5446. CFrame.new(0, 6, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5447. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5448. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5449. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5450. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5451. },
  5452. air = {
  5453. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5454. }
  5455. }
  5456. },
  5457. P = {
  5458. Size = 4,
  5459. BlockData = {
  5460. blocks = {
  5461. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5462. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5463. CFrame.new(0, 6, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5464. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5465. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5466. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5467. CFrame.new(0, 3, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5468. CFrame.new(0, 3, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5469. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5470. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5471. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5472. }
  5473. }
  5474. },
  5475. Q = {
  5476. Size = 5,
  5477. BlockData = {
  5478. blocks = {
  5479. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5480. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5481. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5482. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5483. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5484. CFrame.new(0, 0, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5485. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5486. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5487. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5488. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5489. CFrame.new(0, 6, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5490. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5491. },
  5492. air = {
  5493. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5494. }
  5495. }
  5496. },
  5497. R = {
  5498. Size = 4,
  5499. BlockData = {
  5500. blocks = {
  5501. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5502. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5503. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5504. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5505. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5506. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5507. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5508. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5509. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5510. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5511. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5512. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5513. }
  5514. }
  5515. },
  5516. S = {
  5517. Size = 4,
  5518. BlockData = {
  5519. blocks = {
  5520. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5521. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5522. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5523. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5524. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5525. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5526. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5527. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5528. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5529. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5530. }
  5531. }
  5532. },
  5533. T = {
  5534. Size = 3,
  5535. BlockData = {
  5536. blocks = {
  5537. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5538. CFrame.new(0, 3, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5539. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5540. CFrame.new(0, 9, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5541. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5542. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5543. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5544. },
  5545. air = {
  5546. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5547. }
  5548. }
  5549. },
  5550. U = {
  5551. Size = 4,
  5552. BlockData = {
  5553. blocks = {
  5554. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5555. CFrame.new(0, 6, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5556. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5557. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5558. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5559. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5560. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5561. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5562. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5563. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5564. },
  5565. air = {
  5566. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5567. }
  5568. }
  5569. },
  5570. V = {
  5571. Size = 4,
  5572. BlockData = {
  5573. blocks = {
  5574. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5575. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5576. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5577. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5578. CFrame.new(0, 6, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5579. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5580. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5581. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5582. CFrame.new(0, 3, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5583. },
  5584. air = {
  5585. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5586. }
  5587. }
  5588. },
  5589. W = {
  5590. Size = 5,
  5591. BlockData = {
  5592. blocks = {
  5593. CFrame.new(0, 12, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5594. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5595. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5596. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5597. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5598. CFrame.new(0, 3, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5599. CFrame.new(0, 9, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5600. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5601. CFrame.new(0, 9, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5602. CFrame.new(0, 3, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5603. CFrame.new(0, 6, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5604. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5605. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5606. },
  5607. air = {
  5608. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5609. }
  5610. }
  5611. },
  5612. X = {
  5613. Size = 3,
  5614. BlockData = {
  5615. blocks = {
  5616. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5617. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5618. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5619. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5620. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5621. CFrame.new(0, 3, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5622. CFrame.new(0, 9, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5623. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5624. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5625. }
  5626. }
  5627. },
  5628. Y = {
  5629. Size = 3,
  5630. BlockData = {
  5631. blocks = {
  5632. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5633. CFrame.new(0, 9, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5634. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5635. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5636. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5637. CFrame.new(0, 3, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5638. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5639. },
  5640. air = {
  5641. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5642. }
  5643. }
  5644. },
  5645. Z = {
  5646. Size = 4,
  5647. BlockData = {
  5648. blocks = {
  5649. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5650. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5651. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5652. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5653. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5654. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5655. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5656. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5657. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5658. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5659. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5660. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5661. }
  5662. }
  5663. },["."] = {
  5664. Size = 1,
  5665. BlockData = {
  5666. blocks = {
  5667. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5668. }
  5669. }
  5670. },["0"] = {
  5671. Size = 5,
  5672. BlockData = {
  5673. blocks = {CFrame.new(0,18,3,1,0,0,0,1,0,0,0,1),CFrame.new(0,18,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,18,6,1,0,0,0,1,0,0,0,1),CFrame.new(0,9,6,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,9,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,6,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,3,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,15,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,0,3,1,0,0,0,1,0,0,0,1),CFrame.new(0,0,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,6,3,1,0,0,0,1,0,0,0,1),CFrame.new(0,9,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,15,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,6,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,3,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,0,6,1,0,0,0,1,0,0,0,1),},
  5674. air = {
  5675. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5676. }
  5677. }
  5678. },["1"] = {
  5679. Size = 2,
  5680. BlockData = {
  5681. blocks = {
  5682. CFrame.new(0, 3, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5683. CFrame.new(0, 18, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5684. CFrame.new(0, 15, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5685. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5686. CFrame.new(0, 9, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5687. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5688. CFrame.new(0, 15, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5689. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5690. },
  5691. air = {
  5692. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5693. }
  5694. }
  5695. },["2"] = {
  5696. Size = 5,
  5697. BlockData = {
  5698. blocks = {
  5699. CFrame.new(0, 18, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5700. CFrame.new(0, 18, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5701. CFrame.new(0, 0, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5702. CFrame.new(0, 15, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5703. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5704. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5705. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5706. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5707. CFrame.new(0, 12, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5708. CFrame.new(0, 15, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5709. CFrame.new(0, 3, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5710. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5711. CFrame.new(0, 18, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5712. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5713. }
  5714. }
  5715. },["3"] = {
  5716. Size = 5,
  5717. BlockData = {
  5718. blocks = {
  5719. CFrame.new(0, 12, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5720. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5721. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5722. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5723. CFrame.new(0, 18, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5724. CFrame.new(0, 3, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5725. CFrame.new(0, 18, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5726. CFrame.new(0, 18, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5727. CFrame.new(0, 18, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5728. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5729. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5730. CFrame.new(0, 15, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5731. CFrame.new(0, 6, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5732. CFrame.new(0, 18, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5733. },
  5734. air = {
  5735. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5736. }
  5737. }
  5738. },["4"] = {
  5739. Size = 5,
  5740. BlockData = {
  5741. blocks = {
  5742. CFrame.new(0, 18, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5743. CFrame.new(0, 12, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5744. CFrame.new(0, 15, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5745. CFrame.new(0, 15, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5746. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5747. CFrame.new(0, 6, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5748. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5749. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5750. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5751. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5752. CFrame.new(0, 6, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5753. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5754. CFrame.new(0, 6, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5755. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5756. },
  5757. air = {
  5758. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5759. }
  5760. }
  5761. },["5"] = {
  5762. Size = 5,
  5763. BlockData = {
  5764. blocks = {CFrame.new(0,0,3,1,0,0,0,1,0,0,0,1),CFrame.new(0,0,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,3,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,18,3,1,0,0,0,1,0,0,0,1),CFrame.new(0,18,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,18,6,1,0,0,0,1,0,0,0,1),CFrame.new(0,18,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,18,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,0,6,1,0,0,0,1,0,0,0,1),CFrame.new(0,6,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,3,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,6,1,0,0,0,1,0,0,0,1),CFrame.new(0,3,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,15,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,9,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,0,1,0,0,0,1,0,0,0,1),},
  5765. air = {
  5766. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5767. }
  5768. }
  5769. },["6"] = {
  5770. Size = 5,
  5771. BlockData = {
  5772. blocks = {
  5773. CFrame.new(0, 15, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5774. CFrame.new(0, 18, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5775. CFrame.new(0, 18, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5776. CFrame.new(0, 6, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5777. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5778. CFrame.new(0, 3, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5779. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5780. CFrame.new(0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5781. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5782. CFrame.new(0, 9, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5783. CFrame.new(0, 6, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5784. CFrame.new(0, 9, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5785. CFrame.new(0, 9, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5786. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5787. CFrame.new(0, 0, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5788. },
  5789. air = {
  5790. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5791. }
  5792. }
  5793. },["7"] = {
  5794. Size = 5,
  5795. BlockData = {
  5796. blocks = {
  5797. CFrame.new(0, 18, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5798. CFrame.new(0, 18, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5799. CFrame.new(0, 12, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5800. CFrame.new(0, 18, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5801. CFrame.new(0, 18, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5802. CFrame.new(0, 18, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5803. CFrame.new(0, 15, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5804. CFrame.new(0, 6, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5805. CFrame.new(0, 3, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5806. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5807. CFrame.new(0, 9, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5808. },
  5809. air = {
  5810. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5811. }
  5812. }
  5813. },["8"] = {
  5814. Size = 5,
  5815. BlockData = {
  5816. blocks = {CFrame.new(0,0,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,18,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,18,3,1,0,0,0,1,0,0,0,1),CFrame.new(0,18,6,1,0,0,0,1,0,0,0,1),CFrame.new(0,0,3,1,0,0,0,1,0,0,0,1),CFrame.new(0,6,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,3,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,9,9,1,0,0,0,1,0,0,0,1),CFrame.new(0,15,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,9,3,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,12,1,0,0,0,1,0,0,0,1),CFrame.new(0,9,6,1,0,0,0,1,0,0,0,1),CFrame.new(0,15,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,12,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,0,6,1,0,0,0,1,0,0,0,1),CFrame.new(0,6,0,1,0,0,0,1,0,0,0,1),CFrame.new(0,3,0,1,0,0,0,1,0,0,0,1),},
  5817. air = {
  5818. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5819. }
  5820. }
  5821. },["9"] = {
  5822. Size = 5,
  5823. BlockData = {
  5824. blocks = {
  5825. CFrame.new(0, 0, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5826. CFrame.new(0, 0, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5827. CFrame.new(0, 9, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5828. CFrame.new(0, 9, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5829. CFrame.new(0, 9, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5830. CFrame.new(0, 18, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5831. CFrame.new(0, 9, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5832. CFrame.new(0, 18, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5833. CFrame.new(0, 6, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5834. CFrame.new(0, 3, 9, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5835. CFrame.new(0, 18, 6, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5836. CFrame.new(0, 12, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5837. CFrame.new(0, 15, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5838. CFrame.new(0, 15, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5839. CFrame.new(0, 12, 12, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5840. },
  5841. air = {
  5842. CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  5843. }
  5844. }
  5845. },}
  5846. textConverter = schematica.SideTab("Shape Generators")
  5847. local txtConverter = textConverter.Section("Generator")
  5848. local output = textConverter.Section("Output")
  5849. function outputThing(text)
  5850. spawn(function()
  5851. local newLabel = output.Label(text)
  5852. wait(5)
  5853. newLabel:Delete()
  5854. end)
  5855. end
  5856. local sett = {
  5857. shape = "Text";
  5858. val = "fuck you";
  5859. }
  5860. blockName = "grass"
  5861. txtConverter.Dropdown("Shape Type", {
  5862. "Text",
  5863. "Filled Circle",
  5864. "Hollow Circle",
  5865. "Sphere"
  5866. }, function(a)
  5867. sett.shape = a
  5868. end)
  5869. txtConverter.Box("Shape Data", function(a)
  5870. sett.val = a
  5871. end)
  5872. txtConverter.Box("Block Display Name", function(a)
  5873. blockName = getNameByDisplayName(a)
  5874. end)
  5875. txtConverter.Button("Convert", function()
  5876. convThing = {
  5877. ["Filled Circle"] = "https://sowd.cool/SkyblockApis/circle.php?mode=Filled&rad=";
  5878. ["Hollow Circle"] = "https://sowd.cool/SkyblockApis/circle.php?mode=Hollow&rad=";
  5879. ["Sphere"] = "https://sowd.cool/SkyblockApis/sphere.php?Content=";
  5880. ["Text"] = "https://sowd.cool/SkyblockApis/text.php?Content=";
  5881. }
  5882. reqData = string.gsub(game:HttpGet(convThing[sett.shape] .. sett.val), "blocks", blockName)
  5883. sliFN = string.gsub(sett.shape, "%s", "")
  5884. fileName = "skyblock-schematics/" .. sliFN .. sett.val .. "_txt.schemi"
  5885. writefile(fileName, reqData)
  5886. outputThing("Saved file as [ " .. sliFN .. sett.val .. "_.schemi ]")
  5887. end)
  5888.  
  5889.  
  5890. local someInfo = {
  5891. textUrl = nil,
  5892. schematicName = nil,
  5893. todelete = nil
  5894. }
  5895.  
  5896.  
  5897. fileSystem = schematica.SideTab("File System")
  5898. saving = fileSystem.Section("Save Schematic")
  5899. saving.Box("Raw Text Url", function(a)
  5900. someInfo["textUrl"] = a
  5901. end)
  5902. saving.Box("Schematic Name", function(a)
  5903. someInfo["schematicName"] = a
  5904. end)
  5905. saving.Button("Save Schematic", function()
  5906. local rawPasted;
  5907. success = pcall(function()
  5908. local urlData = game:HttpGet(someInfo["textUrl"])
  5909. game:GetService("HttpService"):JSONDecode(urlData)
  5910. rawPasted = urlData
  5911.  
  5912.  
  5913. end)
  5914. if success then
  5915. writefile("skyblock-schematics/" .. someInfo["schematicName"] .. ".schemi", rawPasted)
  5916. print("saved")
  5917. else
  5918. print("not valid")
  5919. end
  5920. end)
  5921.  
  5922. deleting = fileSystem.Section("Delete Schematic")
  5923. deleting.Dropdown("Schematic To Delete", schematics, function(a)
  5924. someInfo["todelete"] = a
  5925. end)
  5926. deleting.Button("Delete", function()
  5927. delfile("skyblock-schematics/" .. someInfo["todelete"] .. ".schemi")
  5928. updateSchematicsList()
  5929. end)
  5930. else
  5931. game:GetService("Players").LocalPlayer:Kick()
  5932. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement