Advertisement
19xjohnnyx

Plane Crazy (Op Gui)

Apr 15th, 2022
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 43.89 KB | None | 0 0
  1. local Flux = loadstring(game:HttpGet"https://raw.githubusercontent.com/dawid-scripts/UI-Libs/main/fluxlib.txt")()
  2. local Window = Flux:Window("PC Tools", "Press N to open/close", Color3.fromRGB(255, 110, 48), Enum.KeyCode.N)
  3. local mouse = game.Players.LocalPlayer:GetMouse()
  4. local uis = game:GetService("UserInputService")
  5. local RunService = game:GetService("RunService")
  6. local isVideoPlaying = true
  7. local isSpamBlacklist = false
  8. local isRandomPaint = false
  9. local isRandomMaterial = false
  10. local isGridEnabled = false
  11.  
  12. local materials = {
  13. "Default",
  14. "g",
  15. "c",
  16. "w",
  17. "e",
  18. "m",
  19. "t",
  20. "v",
  21. "d",
  22. "f",
  23. "s",
  24. "n",
  25. "z",
  26. "i",
  27. "x"
  28. }
  29. function colourthisblock(block, r, g, b)
  30. spawn(function()
  31. local A_1 = block
  32. local A_2 = Color3.new(r, g, b)
  33. local Event = game:GetService("ReplicatedStorage").Remotes.Paint
  34. Event:FireServer(A_1, A_2)
  35. end)
  36. end
  37.  
  38. function Split(s, delimiter)
  39. result = {};
  40. for match in (s..delimiter):gmatch("(.-)"..delimiter) do
  41. table.insert(result, match);
  42. end
  43. return result;
  44. end
  45.  
  46. local function zeroGrav(part)
  47. if part:FindFirstChild("BodyForce") then return end
  48. local temp = Instance.new("BodyForce")
  49. temp.Force = part:GetMass() * Vector3.new(0,workspace.Gravity,0)
  50. temp.Parent = part
  51. end
  52.  
  53. function round(n)
  54. return (n + 0.5) - (n + 0.5) % 1
  55. end
  56.  
  57. function parachute()
  58. while wait() do
  59. local string_1 = nil
  60. local string_2 = "Parachute";
  61. local string_3 = "";
  62. local string_4 = "";
  63. local Target = game:GetService("ReplicatedStorage").Remotes.ListHandler;
  64. Target:FireServer(string_1, string_2, string_3, string_4);
  65. end
  66. end
  67.  
  68. local Tab1 = Window:Tab("Building", "http://www.roblox.com/asset/?id=6023426915")
  69. Tab1:Label("stuff to help you build")
  70. Tab1:Button("Paint Aircraft Random Material", "paints your aircraft random materials every 0.5 seconds", function()
  71. if isRandomMaterial then
  72. isRandomMaterial = false
  73. else
  74. isRandomMaterial = true
  75. end
  76. while wait(0.2) do
  77. if isRandomMaterial then
  78. local args = {
  79. [1] = workspace.PlayerAircraft[game.Players.LocalPlayer.Name].BlockStd.BlockStd,
  80. [2] = materials[math.random(1, #materials)],
  81. [3] = "a"
  82. }
  83. game:GetService("ReplicatedStorage").Remotes.Paint:FireServer(unpack(args))
  84. else
  85. break
  86. end
  87. end
  88. end)
  89. Tab1:Button("Paint Aircraft Random Colour", "paints your aircraft random colours every 0.5 seconds", function()
  90. if isRandomPaint then
  91. isRandomPaint = false
  92. else
  93. isRandomPaint = true
  94. end
  95. while wait(0.2) do
  96. if isRandomPaint then
  97. local args = {
  98. [1] = workspace.PlayerAircraft[game.Players.LocalPlayer.Name].BlockStd.BlockStd,
  99. [2] = Color3.new(math.random(0, 255) / 255, math.random(0, 255) / 255, math.random(0, 255) / 255),
  100. [3] = "a"
  101. }
  102.  
  103. game:GetService("ReplicatedStorage").Remotes.Paint:FireServer(unpack(args))
  104. else
  105. break
  106. end
  107. end
  108. end)
  109. Tab1:Button("Gravity gun", "gives a gravity gun that can move only your creation", function()
  110. loadstring(game:HttpGet(('https://pastebin.com/raw/6cfa5Wxa'),true))()
  111. end)
  112. Tab1:Button("Infinite Yield", "loads in infinite yield", function()
  113. loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))()
  114. end)
  115. --[[
  116. Tab1:Button("Mirror mode", "mirrors your placement", function()
  117.  
  118. end)
  119. ]]
  120. Tab1:Button("Building Grid", "makes a platform so you dont have to build scaffolding to place blocks", function()
  121. if isGridEnabled then
  122. isGridEnabled = false
  123. pcall(function()
  124. game.Workspace.PlayerAircraft[game.Players.LocalPlayer.Name].GridWall:Destroy()
  125. end)
  126. else
  127. isGridEnabled = true
  128. for i,zone in pairs(game.Workspace.BuildingZones:GetChildren()) do
  129. if tostring(zone.Owner.Value) == game.Players.LocalPlayer.Name then
  130. local wall = Instance.new("Part")
  131. wall.Size = Vector3.new(130, 2.5, 130)
  132. wall.Material = Enum.Material.SmoothPlastic
  133. wall.Name = "GridWall"
  134. wall.CanCollide = false
  135. wall.Transparency = 0.7
  136. wall.Anchored = true
  137. wall.CFrame = CFrame.new(zone.Position.x, zone.Position.y + 3.5, zone.Position.z)
  138. wall.Parent = game.Workspace.PlayerAircraft[game.Players.LocalPlayer.Name]
  139. end
  140. end
  141. end
  142. end)
  143.  
  144. Tab1:Button("Rise building grid", "moves the building grid up", function()
  145. pcall(function()
  146. wall = game.Workspace.PlayerAircraft[game.Players.LocalPlayer.Name].GridWall
  147. wall.CFrame = CFrame.new(wall.Position.x, wall.Position.y + 2.5, wall.Position.z)
  148. end)
  149. end)
  150. Tab1:Button("Lower building grid", "moves the building grid down", function()
  151. pcall(function()
  152. wall = game.Workspace.PlayerAircraft[game.Players.LocalPlayer.Name].GridWall
  153. wall.CFrame = CFrame.new(wall.Position.x, wall.Position.y - 2.5, wall.Position.z)
  154. end)
  155. end)
  156. Tab1:Button("destroy this GUI", "does what it says", function()
  157. game:GetService("CoreGui").FluxLib:Destroy()
  158. end)
  159.  
  160. local Tab2 = Window:Tab("PVP", "http://www.roblox.com/asset/?id=6023426915")
  161. Tab2:Label("Requires to be in PVP servers")
  162. Tab2:Button("Kill Guns", "kill players using guns", function()
  163. pcall(function()
  164. while wait() do
  165. local guns = {}
  166. for i,v in pairs(game:GetService("Workspace")[game.Players.LocalPlayer.Name .. "Aircraft"]:GetChildren()) do
  167. if v.Name == "Gun" then
  168. table.insert(guns, v)
  169. zeroGrav(v.Part)
  170. end
  171. end
  172. for i,v in pairs(game.Players:GetChildren()) do
  173. local a = 1
  174. if v.Name == game.Players.LocalPlayer.Name then
  175. a = 0
  176. end
  177. if a == 1 then
  178. pcall(function()
  179. guns[i].Part.CFrame = v.Character.HumanoidRootPart.CFrame + v.Character.HumanoidRootPart.CFrame.lookVector * -100
  180. local args = {[1] = true}
  181. guns[i].Input:FireServer(unpack(args))
  182. end)
  183. end
  184. end
  185. end
  186. end)
  187. end)
  188.  
  189. Tab2:Button("Kill Rockets", "kill players using rockets. close tracking for better effect", function()
  190. pcall(function()
  191. while wait() do
  192. local guns = {}
  193. for i,v in pairs(game:GetService("Workspace")[game.Players.LocalPlayer.Name .. "Aircraft"]:GetChildren()) do
  194. if v.Name == "Rocket" then
  195. table.insert(guns, v)
  196. zeroGrav(v.MainPart)
  197. end
  198. end
  199. for i,v in pairs(game.Players:GetChildren()) do
  200. local a = 1
  201. if v.Name == game.Players.LocalPlayer.Name then
  202. a = 0
  203. end
  204. if a == 1 then
  205. pcall(function()
  206. guns[i].MainPart.CFrame = v.Character.HumanoidRootPart.CFrame + v.Character.HumanoidRootPart.CFrame.lookVector * 100
  207. local args = {
  208. [1] = guns[i],
  209. [2] = 1629193720
  210.  
  211. }
  212. game:GetService("ReplicatedStorage").Remotes.spawnrocket:FireServer(unpack(args))
  213. end)
  214. end
  215. end
  216. end
  217. end)
  218. end)
  219.  
  220. Tab2:Button("Kill TNT", "kill players using tnt", function()
  221. local bomb = {}
  222. local Players = game:GetService("Players")
  223. local remotes = game:GetService("ReplicatedStorage"):WaitForChild("Remotes")
  224. local explode = remotes:WaitForChild("Explode")
  225. local player = Players.LocalPlayer
  226. local aircraftName = player.Name.. "Aircraft"
  227. local aircraft = game.Workspace:WaitForChild(aircraftName)
  228. for i, v in pairs(aircraft:GetChildren()) do
  229. if v.Name == "ExplosiveBlock" then
  230. table.insert(bomb, v)
  231. for j, k in pairs(v:GetDescendants()) do
  232. if k:IsA("BasePart") then
  233. k.CanCollide = false
  234. end
  235. end
  236. local bodyPosition = Instance.new("BodyPosition")
  237. bodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  238. bodyPosition.Parent = v.PrimaryPart
  239. bodyPosition.P = 1000000
  240. bodyPosition.D = 100
  241. end
  242. end
  243.  
  244. local step = RunService.RenderStepped:Connect(function()
  245. for i, v in pairs(Players:GetPlayers()) do
  246. if v.Name ~= player.Name then
  247. local block = bomb[i]
  248. local main = block.PrimaryPart
  249. local character = v.Character
  250. if character and game.Workspace:FindFirstChild(v.Name.. "Aircraft") then
  251. local targetPart = character.HumanoidRootPart
  252. local target = targetPart.Position + targetPart.Velocity / 2
  253. if target.Y > -100 then
  254. if (main.Position - target).Magnitude < 12 then
  255. spawn(function()
  256. table.remove(bomb, i)
  257. for i = 1, 10 do
  258. RunService.RenderStepped:Wait()
  259. explode:FireServer(block, 2000, 12)
  260. end
  261. end)
  262. end
  263. main.BodyPosition.Position = target
  264. end
  265. else
  266. main.BodyPosition.Position = Vector3.new(0, 999, 0)
  267. end
  268. end
  269. end
  270. end)
  271.  
  272. local removed = game.Workspace.ChildRemoved:Connect(function()
  273. if not game.Workspace:FindFirstChild(aircraftName) then
  274. reset()
  275. end
  276. end)
  277.  
  278. function reset()
  279. step:Disconnect()
  280. removed:Disconnect()
  281. print("Reset")
  282. end
  283. end)
  284.  
  285. local Tab3 = Window:Tab("Non-PVP", "http://www.roblox.com/asset/?id=6023426915")
  286. Tab3:Label("Does not require you to be in a PVP servers")
  287. Tab3:Button("Spam Blacklist Others", "blacklists and unblacklist other people causing them to get sent back to base", function()
  288. if isSpamBlacklist then
  289. isSpamBlacklist = false
  290. else
  291. isSpamBlacklist = true
  292. end
  293. pcall(function()
  294. while wait() do
  295. if isSpamBlacklist then
  296. for i,v in pairs(game.Players:GetChildren()) do
  297. if v.Name ~= game.Players.LocalPlayer.Name then
  298. local args = {[1] = v.Name, [2] = "BlackList", [3] = true}
  299. game:GetService("ReplicatedStorage").Remotes.ListHandler:FireServer(unpack(args))
  300. wait(0.2)
  301. local args = {[1] = v.Name, [2] = "BlackList", [3] = false}
  302. game:GetService("ReplicatedStorage").Remotes.ListHandler:FireServer(unpack(args))
  303. wait(0.2)
  304. end
  305. end
  306. else
  307. b.b.b.b() -- scuffed break
  308. end
  309. end
  310. end)
  311. end)
  312.  
  313. Tab3:Button("Blackhole out of your blocks", "makes a black hole at your position out of your creation's blocks, better effect with 1x1 blocks", function()
  314. local LocalPlayer = game:GetService("Players").LocalPlayer
  315. local charcframe = LocalPlayer.Character:FindFirstChild("HumanoidRootPart").CFrame
  316. local unanchoredparts = {}
  317. local movers = {}
  318. for index, part in pairs(workspace:GetDescendants()) do
  319. if part:IsA("Part") and part.Anchored == false and part:IsDescendantOf(LocalPlayer.Character) == false then
  320. table.insert(unanchoredparts, part)
  321. part.Massless = true
  322. part.CanCollide = false
  323. if part:FindFirstChildOfClass("BodyPosition") ~= nil then
  324. part:FindFirstChildOfClass("BodyPosition"):Destroy()
  325. end
  326. end
  327. end
  328. for index, part in pairs(unanchoredparts) do
  329. local mover = Instance.new("BodyPosition", part)
  330. table.insert(movers, mover)
  331. mover.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  332. end
  333. repeat
  334. for index, mover in pairs(movers) do
  335. mover.Position = charcframe:PointToWorldSpace(Vector3.new(math.random(0, 200), math.random(0, 200), math.random(0, 200)))
  336. end
  337. wait(0.5)
  338. until LocalPlayer.Character:FindFirstChild("Humanoid").Health <= 0
  339. for _, mover in pairs(movers) do
  340. mover:Destroy()
  341. end
  342. end)
  343. Tab3:Button("Lag server", "lags the server you are in to the point where it crashes", function()
  344. for i=1, 20 do
  345. pcall(function()
  346. parachute()
  347. end)
  348. end
  349. end)
  350. Tab3:Button("Disable Anti Copy Blacklist", "it will disable the blacklist and make anti copy blocks visible again", function()
  351. for i,models in pairs(game.Workspace.BuildingZones:GetChildren()) do
  352. models.BlackListPart:Destroy()
  353. end
  354. for i,v in pairs(game.Workspace.PlayerAircraft[AntiCopyName.Text]:GetDescendants()) do
  355. pcall(function()
  356. v.Transparency = 0
  357. end)
  358. end
  359. end)
  360. Tab3:Button("Infinite Terrain Generation", "infinite terrain generation client sided, does not work well on low-end pc", function()
  361. --Chunk generator by rater193
  362. --just edited by nexity
  363. --TODO: make trees, bushes and custom villages (able to bomb the village pog warcrimes)
  364.  
  365. --The chunk generator settings
  366. local settings = {
  367. chunkSize = 256,
  368. renderDistance = 4
  369. }
  370. --Chunk generation
  371. --This stores the list of chunks queued to generate terrain
  372. chunksToGenerate = {}
  373.  
  374. --This handles queuing new chunks to generate
  375. function queueChunk(x, y)
  376. table.insert(chunksToGenerate, {["x"] = x, ["y"] = y})
  377. end
  378.  
  379. --Here we are tapping into the runservice stepped event to process queued chunks to generate
  380. game:GetService("RunService").Stepped:connect(function()
  381. --Only run if we have chunks to generate
  382. if(#chunksToGenerate>0) then
  383. --Here we are retreiving the first item in the list
  384. local item = chunksToGenerate[1]
  385.  
  386. --Then we remove it from the list, and process it
  387. table.remove(chunksToGenerate, 1)
  388.  
  389. --Here we are setting the chunk's part to render green, to show that we have generated the chunk(for debugging)
  390. chunks[getChunkID(item.x, item.y)].part.BrickColor = BrickColor.new(Color3.fromRGB(0,255,0))
  391.  
  392. --Here are some additional reused values for generating the terrain
  393. local chunkgeneratorsettings = {
  394. ["xstart"] = item.x*settings.chunkSize,
  395. ["ystart"] = item.y*settings.chunkSize,
  396. ["width"] = math.ceil(settings.chunkSize/4),
  397. ["height"] = math.ceil(settings.chunkSize/4)
  398. }
  399.  
  400. --Here we are generating the terrain
  401. for _x = 0,chunkgeneratorsettings.width do
  402. for _y = 0,chunkgeneratorsettings.height do
  403.  
  404. --Actual terrain generation logic
  405. local _height = (math.noise(((_x*4)+chunkgeneratorsettings.xstart)/1000,((_y*4)+chunkgeneratorsettings.ystart)/1000)+0.5) * 150
  406. local _material = Enum.Material.Air
  407.  
  408. -- imagine yanderedev
  409. -- snowy hills biome
  410. if(_height<1) then
  411. _height = 1
  412. _material = Enum.Material.Water
  413. elseif(_height<3) then
  414. _material = Enum.Material.Sand
  415. elseif (_height>math.random(100, 150)) then
  416. _material = Enum.Material.Snow
  417. else
  418. _material = Enum.Material.Grass
  419. end
  420.  
  421. game.workspace.Terrain:FillBlock(CFrame.new((_x*4)+chunkgeneratorsettings.xstart,_height/2,(_y*4)+chunkgeneratorsettings.ystart), Vector3.new(1,_height,1), _material)
  422. end
  423. end
  424. end
  425. end)
  426.  
  427. --Now we are going to start handling chunks loading in around the players
  428. --Chunk management
  429. --The list of generated chunks
  430. chunks = {}
  431. --This gets the id in the list for the chunk
  432. function getChunkID(x, y)
  433. return tostring(x)..","..tostring(y)
  434. end
  435.  
  436. --This checks if we need to generate the chunk
  437. function checkChunk(x, y)
  438. local chunkID = getChunkID(x, y)
  439. if(chunks[chunkID]==nil) then
  440. chunks[chunkID] = {}
  441.  
  442. --Here we are generating a preview part, to let us know what chunks we are trying to generate(for debugging)
  443. local part = Instance.new("Part")
  444. part.Anchored = true
  445. part.CanCollide = true
  446. part.BrickColor = BrickColor.new(Color3.fromRGB(255,0,0))
  447. part.Transparency = 0.5
  448. part.Material = Enum.Material.Grass
  449. part.Size = Vector3.new(settings.chunkSize, 1, settings.chunkSize)
  450. part.Position = Vector3.new(settings.chunkSize * x, 0, settings.chunkSize * y) + Vector3.new(settings.chunkSize/2,0,settings.chunkSize/2)
  451.  
  452. part.Parent = game.Workspace
  453.  
  454. part.Name = "Chunk-"..tostring(x).."."..tostring(y)
  455.  
  456. --Adding the preview part to the chunk data
  457. chunks[chunkID].part = part
  458.  
  459. --Finally, queue the chunk for terrain generation
  460. queueChunk(x,y)
  461. end
  462. end
  463.  
  464. --Here we are tapping into the run service stepped event to handle chunks around the players
  465. game:GetService("RunService").Stepped:connect(function()
  466. for i, player in pairs(game.Players:GetPlayers()) do
  467. if(player.character and player.character:findFirstChild("Head")) then
  468. local _pos = {
  469. ["x"]= math.floor((player.character.Head.Position.X)/settings.chunkSize),
  470. ["y"]= math.floor((player.character.Head.Position.Z)/settings.chunkSize)
  471. }
  472.  
  473.  
  474. for _x = _pos.x-settings.renderDistance, _pos.x+settings.renderDistance do
  475. for _y = _pos.y-settings.renderDistance, _pos.y+settings.renderDistance do
  476. checkChunk(_x, _y)
  477. end
  478. end
  479. end
  480. end
  481. end)
  482. end)
  483. Tab3:Textbox("Change thruster speed", "changes all movement speed by %, default 100%", true, function(text)
  484. for i,v in pairs(game.Workspace[game.Players.LocalPlayer.Name .. "Aircraft"]:GetDescendants()) do
  485. pcall(function()
  486. if v.ClassName == "Model" and v.Throttle then
  487. v.Throttle.Value = tonumber(text)
  488. end
  489. end)
  490. end
  491. end)
  492. Tab3:Button("Ocean Map", "turns the map into islands and oceans (client side)", function()
  493. local region = Region3.new(Vector3.new(-3750,-100,-2050), Vector3.new(2500,43,2700))
  494. region = region:ExpandToGrid(4)
  495. game.Workspace.Terrain:FillRegion(region, 4, Enum.Material.Water)
  496. end)
  497. Tab3:Button("Kill TNT", "kill players using tnt in non-pvp servers", function()
  498. local bomb = {}
  499. local Players = game:GetService("Players")
  500. local remotes = game:GetService("ReplicatedStorage"):WaitForChild("Remotes")
  501. local explode = remotes:WaitForChild("Explode")
  502. local player = Players.LocalPlayer
  503. local aircraftName = player.Name.. "Aircraft"
  504. local aircraft = game.Workspace:WaitForChild(aircraftName)
  505. for i, v in pairs(aircraft:GetChildren()) do
  506. if v.Name == "ExplosiveBlock" then
  507. table.insert(bomb, v)
  508. for j, k in pairs(v:GetDescendants()) do
  509. if k:IsA("BasePart") then
  510. k.CanCollide = false
  511. end
  512. end
  513. local bodyPosition = Instance.new("BodyPosition")
  514. bodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  515. bodyPosition.Parent = v.PrimaryPart
  516. bodyPosition.P = 1000000
  517. bodyPosition.D = 100
  518. end
  519. end
  520.  
  521. local step = RunService.RenderStepped:Connect(function()
  522. for i, v in pairs(Players:GetPlayers()) do
  523. if v.Name ~= player.Name then
  524. local block = bomb[i]
  525. local main = block.PrimaryPart
  526. local character = v.Character
  527. if character and game.Workspace:FindFirstChild(v.Name.. "Aircraft") then
  528. local targetPart = character.HumanoidRootPart
  529. local target = targetPart.Position + targetPart.Velocity / 2
  530. if target.Y > -100 then
  531. if (main.Position - target).Magnitude < 12 then
  532. spawn(function()
  533. table.remove(bomb, i)
  534. for i = 1, 10 do
  535. RunService.RenderStepped:Wait()
  536. explode:FireServer(block, 2000, 12)
  537. end
  538. end)
  539. end
  540. main.BodyPosition.Position = target
  541. end
  542. else
  543. main.BodyPosition.Position = Vector3.new(0, 999, 0)
  544. end
  545. end
  546. end
  547. end)
  548.  
  549. local removed = game.Workspace.ChildRemoved:Connect(function()
  550. if not game.Workspace:FindFirstChild(aircraftName) then
  551. reset()
  552. end
  553. end)
  554.  
  555. function reset()
  556. step:Disconnect()
  557. removed:Disconnect()
  558. print("Reset")
  559. end
  560. end)
  561.  
  562. Tab3:Button("Explode TNT", "explodes tnt while in non-pvp servers", function()
  563. local RunService = game:GetService("RunService")
  564. local Players = game:GetService("Players")
  565.  
  566. local remotes = game:GetService("ReplicatedStorage"):WaitForChild("Remotes")
  567. local explode = remotes:WaitForChild("Explode")
  568.  
  569. local player = Players.LocalPlayer
  570.  
  571. local aircraftName = player.Name.. "Aircraft"
  572. local aircraft = game.Workspace:WaitForChild(aircraftName)
  573.  
  574. local bomb = {}
  575.  
  576. for i, v in pairs(aircraft:GetChildren()) do
  577. if v.Name == "ExplosiveBlock" then
  578. table.insert(bomb, v)
  579. end
  580. end
  581.  
  582. for i, bombs in pairs(bomb) do
  583. explode:FireServer(bombs, 0, 0)
  584. end
  585. end)
  586.  
  587. local Tab4 = Window:Tab("Paint", "http://www.roblox.com/asset/?id=6023426915")
  588. Tab4:Label("Paint Images on Canvas, accepts discord cdn links")
  589. Tab4:Textbox("1x1 canvas", "requires 1x1 canvas", true, function(text)
  590. local link = text
  591. name = "BlockStd"
  592. checkloop = 0
  593. waitloop = 0
  594. for assad2,playerzone in pairs(game.Workspace.BuildingZones:GetChildren()) do
  595. pcall(function()
  596. if tostring(playerzone.Owner.Value) == tostring(game.Players.LocalPlayer) then
  597. checkloop = 1
  598. end
  599. end)
  600. if checkloop == 1 then
  601. checkloop = 0
  602. local image_link = "https://api.nexitysecond.repl.co/convertimagetotextblocks?link=" .. link
  603. local response = game:HttpGet(image_link)
  604. string_content = Split(response, "N")
  605.  
  606. for assad,block in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetChildren()) do
  607. if block.Name == name then
  608.  
  609. local GridX = playerzone.CFrame.x
  610. local GridY = playerzone.CFrame.y
  611. local GridZ = playerzone.CFrame.z
  612. local GridCenter = playerzone.CFrame.x, playerzone.CFrame.y, playerzone.CFrame.z
  613. local DifferenceX = round((block.PrimaryPart.CFrame.x - GridX) / 2.5)
  614. DifferenceX = DifferenceX + 25 -- for my sanity
  615. local DifferenceY = round((block.PrimaryPart.CFrame.y - GridY) / 2.5)
  616. local DifferenceZ = round((block.PrimaryPart.CFrame.z - GridZ) / 2.5)
  617. local ThePos = Vector3.new(DifferenceX, DifferenceY, DifferenceZ)
  618. block.Name = name..tostring(DifferenceX).."x"..tostring(DifferenceY)
  619. end
  620. end
  621. for assad3, image_pixel in pairs(string_content) do
  622. image_table = Split(tostring(image_pixel), " ")
  623. local pixel_type = ""
  624. local image_pixelX = image_table[1] - 2
  625. local image_pixelY = image_table[2]
  626. local image_R = image_table[3] / 255
  627. local image_G = image_table[4] / 255
  628. local image_B = image_table[5] / 255
  629. if waitloop ~= image_pixelX then
  630. wait()
  631. end
  632. waitloop = image_pixelX
  633.  
  634. local A_image_pixelX = math.floor(image_pixelX / 2) + 1
  635. local A_image_pixelY = math.floor(image_pixelY / 2) + 1
  636. if A_image_pixelY == 40 then
  637. A_image_pixelY = 39
  638. end
  639. spawn(function()
  640. local A_1 = game:GetService("Workspace").PlayerAircraft[tostring(game.Players.LocalPlayer)][name .. A_image_pixelX .. "x" .. A_image_pixelY].PrimaryPart
  641. local A_2 = Color3.new(image_R, image_G, image_B)
  642. local Event = game:GetService("ReplicatedStorage").Remotes.Paint
  643. Event:FireServer(A_1, A_2)
  644. end)
  645. end
  646. end
  647. end
  648. end)
  649. Tab4:Textbox("hover engine canvas", "requires hover engine canvas", true, function(text)
  650. local link = text
  651. name = "HoverThruster"
  652. checkloop = 0
  653. waitloop = 0
  654. for assad2,playerzone in pairs(game.Workspace.BuildingZones:GetChildren()) do
  655. pcall(function()
  656. if tostring(playerzone.Owner.Value) == tostring(game.Players.LocalPlayer) then
  657. checkloop = 1
  658. end
  659. end)
  660. if checkloop == 1 then
  661. checkloop = 0
  662. local image_link = "https://api.nexitysecond.repl.co/convertimagetotext?link=" .. link
  663. local response = game:HttpGet(image_link)
  664. string_content = Split(response, "N")
  665.  
  666. for assad,block in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetChildren()) do
  667. if block.Name == name then
  668.  
  669. local GridX = playerzone.CFrame.x
  670. local GridY = playerzone.CFrame.y
  671. local GridZ = playerzone.CFrame.z
  672. local GridCenter = playerzone.CFrame.x, playerzone.CFrame.y, playerzone.CFrame.z
  673. local DifferenceX = round((block.PrimaryPart.CFrame.x - GridX) / 2.5)
  674. DifferenceX = DifferenceX + 25 -- for my sanity
  675. local DifferenceY = round((block.PrimaryPart.CFrame.y - GridY) / 2.5)
  676. local DifferenceZ = round((block.PrimaryPart.CFrame.z - GridZ) / 2.5)
  677. local ThePos = Vector3.new(DifferenceX, DifferenceY, DifferenceZ)
  678. block.Name = name..tostring(DifferenceX).."x"..tostring(DifferenceY)
  679.  
  680. block.BlockStd.Name = "BlockStd3"
  681. block.BlockStd.Name = "BlockStd1"
  682. block.BlockStd.Name = "BlockStd2"
  683. block.BlockStd.Name = "BlockStd4"
  684. block.BlockStd.Name = "BlockStd5"
  685. end
  686. end
  687. for assad3, image_pixel in pairs(string_content) do
  688. image_table = Split(tostring(image_pixel), " ")
  689. local pixel_type = ""
  690. local image_pixelX = image_table[1] - 2
  691. local image_pixelY = image_table[2]
  692. local image_R = image_table[3] / 255
  693. local image_G = image_table[4] / 255
  694. local image_B = image_table[5] / 255
  695. if waitloop ~= image_pixelX then
  696. wait()
  697. end
  698. waitloop = image_pixelX
  699.  
  700. if (image_pixelX % 2 == 0) then
  701. if (image_pixelY % 2 == 0) then
  702. pixel_type = "BlockStd4"
  703. else
  704. pixel_type = "BlockStd3"
  705. end
  706. else
  707. if (image_pixelY % 2 == 0) then
  708. pixel_type = "BlockStd1"
  709. else
  710. pixel_type = "BlockStd2"
  711. end
  712. end
  713.  
  714. local A_image_pixelX = math.floor(image_pixelX / 2) + 1
  715. local A_image_pixelY = math.floor(image_pixelY / 2) + 1
  716. local B_image_pixelX = (A_image_pixelX * 2) - image_pixelX
  717. local B_image_pixelY = (A_image_pixelY * 2) - image_pixelY
  718. local paintassad = 0
  719. if A_image_pixelY == 40 then
  720. A_image_pixelY = 39
  721. end
  722. spawn(function()
  723. local A_1 = game:GetService("Workspace").PlayerAircraft[tostring(game.Players.LocalPlayer)][name .. A_image_pixelX .. "x" .. A_image_pixelY][pixel_type]
  724. local A_2 = Color3.new(image_R, image_G, image_B)
  725. local Event = game:GetService("ReplicatedStorage").Remotes.Paint
  726. Event:FireServer(A_1, A_2)
  727. end)
  728. end
  729. end
  730. end
  731. end)
  732. Tab4:Textbox("snow blaster canvas", "requires an item called snow blaster be made into a canvas", true, function(text)
  733. local link = text
  734. name = "SnowBlower"
  735. checkloop = 0
  736. waitloop = 0
  737. for assad2,playerzone in pairs(game.Workspace.BuildingZones:GetChildren()) do
  738. pcall(function()
  739. if tostring(playerzone.Owner.Value) == tostring(game.Players.LocalPlayer) then
  740. checkloop = 1
  741. end
  742. end)
  743. if checkloop == 1 then
  744. checkloop = 0
  745. local image_link = "https://api.nexitysecond.repl.co/convertimagetotext?link=" .. link
  746. local response = game:HttpGet(image_link)
  747. string_content = Split(response, "N")
  748.  
  749. for assad,block in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetChildren()) do
  750. if block.Name == name then
  751.  
  752. local GridX = playerzone.CFrame.x
  753. local GridY = playerzone.CFrame.y
  754. local GridZ = playerzone.CFrame.z
  755. local GridCenter = playerzone.CFrame.x, playerzone.CFrame.y, playerzone.CFrame.z
  756. local DifferenceX = round((block.PrimaryPart.CFrame.x - GridX) / 2.5)
  757. DifferenceX = DifferenceX + 25 -- for my sanity
  758. local DifferenceY = round((block.PrimaryPart.CFrame.y - GridY) / 2.5)
  759. local DifferenceZ = round((block.PrimaryPart.CFrame.z - GridZ) / 2.5)
  760. local ThePos = Vector3.new(DifferenceX, DifferenceY, DifferenceZ)
  761. block.Name = name..tostring(DifferenceX).."x"..tostring(DifferenceY)
  762.  
  763. block.Union.Name = "Union1"
  764. block.Union.Name = "Union4"
  765. block.Union.Name = "Union2"
  766. block.Union.Name = "Union3"
  767. end
  768. end
  769. for assad3, image_pixel in pairs(string_content) do
  770. image_table = Split(tostring(image_pixel), " ")
  771. local pixel_type = ""
  772. local image_pixelX = image_table[1] - 2
  773. local image_pixelY = image_table[2]
  774. local image_R = image_table[3] / 255
  775. local image_G = image_table[4] / 255
  776. local image_B = image_table[5] / 255
  777. if waitloop ~= image_pixelX then
  778. wait()
  779. end
  780. waitloop = image_pixelX
  781.  
  782. if (image_pixelX % 2 == 0) then
  783. if (image_pixelY % 2 == 0) then
  784. pixel_type = "Union3"
  785. else
  786. pixel_type = "Union1"
  787. end
  788. else
  789. if (image_pixelY % 2 == 0) then
  790. pixel_type = "Union4"
  791. else
  792. pixel_type = "Union2"
  793. end
  794. end
  795.  
  796. local A_image_pixelX = math.floor(image_pixelX / 2) + 1
  797. local A_image_pixelY = math.floor(image_pixelY / 2) + 1
  798. local B_image_pixelX = (A_image_pixelX * 2) - image_pixelX
  799. local B_image_pixelY = (A_image_pixelY * 2) - image_pixelY
  800. local paintassad = 0
  801. if A_image_pixelY == 40 then
  802. A_image_pixelY = 39
  803. end
  804. spawn(function()
  805. local A_1 = game:GetService("Workspace").PlayerAircraft[tostring(game.Players.LocalPlayer)][name .. A_image_pixelX .. "x" .. A_image_pixelY][pixel_type]
  806. local A_2 = Color3.new(image_R, image_G, image_B)
  807. local Event = game:GetService("ReplicatedStorage").Remotes.Paint
  808. Event:FireServer(A_1, A_2)
  809. end)
  810. end
  811. end
  812. end
  813. end)
  814. Tab4:Button("Build canvas 1x1 blocks", "builds a fullsize canvas out of 1x1 blocks", function()
  815. for x=1, 51, 1 do
  816. for y=1, 39, 1 do
  817. spawn(function()
  818. local A_1 = Vector3.new(x-26, y, 25)
  819. local A_2 = CFrame.new(0, 0, 0, 1, 0, 0, 0, -4.37113883e-08, -1, 0, 1, -4.37113883e-08)
  820. local A_3 = 1
  821. local Event = game:GetService("ReplicatedStorage").Remotes.PlaceBIockRegion
  822. Event:InvokeServer(A_1, A_2, A_3)
  823. end)
  824. wait(0.15)
  825. end
  826. end
  827. end)
  828. Tab4:Button("Build canvas HoverEngine blocks", "builds a fullsize canvas out of hover engines", function()
  829. for x=1, 51, 1 do
  830. for y=1, 39, 1 do
  831. spawn(function()
  832. local A_1 = Vector3.new(x-26, y, 25)
  833. local A_2 = CFrame.new(0, 0, 0, 1, 0, 0, 0, -4.37113883e-08, -1, 0, 1, -4.37113883e-08)
  834. local A_3 = 173
  835. local Event = game:GetService("ReplicatedStorage").Remotes.PlaceBIockRegion
  836. Event:InvokeServer(A_1, A_2, A_3)
  837. end)
  838. wait(0.15)
  839. end
  840. end
  841. end)
  842. Tab4:Button("Build canvas SnowBlaster blocks", "builds a fullsize canvas out of snow blasters", function()
  843. for x=1, 51, 1 do
  844. for y=1, 39, 1 do
  845. spawn(function()
  846. local A_1 = Vector3.new(x-26, y, 25)
  847. local A_2 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1.31134158e-07, 1, 0, -1, 1.31134158e-07)
  848. local A_3 = 104
  849. local Event = game:GetService("ReplicatedStorage").Remotes.PlaceBIockRegion
  850. Event:InvokeServer(A_1, A_2, A_3)
  851. end)
  852. wait(0.15)
  853. end
  854. end
  855. end)
  856. Tab4:Button("Rainbow Aircraft", "paints your aircraft into random colours", function()
  857. for i,blocks in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetDescendants()) do
  858. spawn(function()
  859. color1 = math.random(0,255)
  860. color2 = math.random(0,255)
  861. color3 = math.random(0,255)
  862. local A_1 = blocks
  863. local A_2 = Color3.new(color1, color2, color3)
  864. local Event = game:GetService("ReplicatedStorage").Remotes.Paint
  865. Event:FireServer(A_1, A_2)
  866. end)
  867. end
  868. end)
  869.  
  870. local Tab5 = Window:Tab("LF-Prototype", "http://www.roblox.com/asset/?id=6023426915")
  871. Tab5:Label("Play videos on 24x24 1x1 block canvas.")
  872. Tab5:Button("Stop playing video", "stops the video from playing", function()
  873. pcall(function()
  874. isVideoPlaying = false
  875. wait(1)
  876. isVideoPlaying = true
  877. end)
  878. end)
  879. Tab5:Textbox("Video in workspace folder", "plays the video on a 24x24 canvas in your executor workspace folder", true, function(text)
  880. print(tostring(text))
  881. local checkloop = 0
  882. local waitloop = 0
  883. for assad2,playerzone in pairs(game.Workspace.BuildingZones:GetChildren()) do
  884. pcall(function()
  885. if tostring(playerzone.Owner.Value) == tostring(game.Players.LocalPlayer) then
  886. checkloop = 1
  887. end
  888. end)
  889. if checkloop == 1 then
  890. checkloop = 0
  891. --[[
  892. local image_link = "https://smhreplitissotrashathandlingtonsoffileswhydoievenuseit.nexitysecond.repl.co/rendervideo?videolink=https://www.youtube.com/watch?v=cA9DEewBR_w"
  893. local response = game:HttpGet(image_link)
  894. local string_content = Split(response, "N")
  895. ]]--
  896. local response = readfile("/frames/" .. text .. ".txt")
  897. local string_content = Split(response, "N")
  898. for assad,block in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetChildren()) do
  899. if block.Name == "BlockStd" then
  900.  
  901. local GridX = playerzone.CFrame.x
  902. local GridY = playerzone.CFrame.y
  903. local GridZ = playerzone.CFrame.z
  904. local GridCenter = playerzone.CFrame.x, playerzone.CFrame.y, playerzone.CFrame.z
  905. local DifferenceX = round((block.PrimaryPart.CFrame.x - GridX) / 2.5)
  906. DifferenceX = DifferenceX - 1
  907. local DifferenceY = round((block.PrimaryPart.CFrame.y - GridY) / 2.5)
  908. local DifferenceZ = round((block.PrimaryPart.CFrame.z - GridZ) / 2.5)
  909. local ThePos = Vector3.new(DifferenceX, DifferenceY, DifferenceZ)
  910. block.Name = "BlockStd"..tostring(DifferenceX).."x"..tostring(25 - DifferenceY)
  911. end
  912. end
  913. for framecount, frame in pairs(string_content) do
  914. local skipframe = 0
  915. if framecount > 2 and framecount % (skipframe + 1) == 0 then
  916. ping = game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValue()
  917. if ping > 500 then
  918. wait(0.5)
  919. end -- ping bias
  920.  
  921. print(framecount)
  922. local framergb = Split(frame, "A")
  923. local lastframergb = Split(string_content[framecount - 1], "A")
  924. local frame_table = {}
  925. local totalcount = 1
  926.  
  927. if isVideoPlaying then
  928. for number=1, #framergb do
  929. pcall(function()
  930. local lastrgb = Split(lastframergb[number], " ")
  931. local rgb = Split(framergb[number], " ")
  932. local rgb1 = tonumber(rgb[1])
  933. local rgb2 = tonumber(rgb[2])
  934. local theblock = game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]["BlockStd" .. rgb1 .. "x" .. rgb2].PrimaryPart
  935. local increment = 50 -- 1-255, 1 = absolute value, higher = more noise but less lag
  936. local lastrgbc = Color3.new(math.floor(lastrgb[3] / increment), math.floor(lastrgb[4] / increment), math.floor(lastrgb[5] / increment))
  937. local rgbc = Color3.new(math.floor(rgb[3] / increment), math.floor(rgb[4] / increment), math.floor(rgb[5] / increment))
  938. if lastrgbc ~= rgbc then
  939. colourthisblock(theblock, rgb[3]/255, rgb[4]/255, rgb[5]/255)
  940. --print("painted block : " .. tostring(c) .. "x" .. tostring(number2) .. " " .. tostring(rgb[1]) .. " " .. tostring(rgb[2]) .. " " .. tostring(rgb[3]))
  941. end
  942. end)
  943. end
  944. else
  945. b.b.b.b()
  946. end
  947. wait(0.033)
  948. end
  949. end
  950. end
  951. end
  952. end)
  953. Tab5:Textbox("Video inputstream", "testing currently not for use", true, function(text)
  954. local checkloop = 0
  955. local waitloop = 0
  956. for assad2,playerzone in pairs(game.Workspace.BuildingZones:GetChildren()) do
  957. pcall(function()
  958. if tostring(playerzone.Owner.Value) == tostring(game.Players.LocalPlayer) then
  959. checkloop = 1
  960. end
  961. end)
  962. if checkloop == 1 then
  963. checkloop = 0
  964. --[[
  965. local image_link = "https://smhreplitissotrashathandlingtonsoffileswhydoievenuseit.nexitysecond.repl.co/rendervideo?videolink=https://www.youtube.com/watch?v=cA9DEewBR_w"
  966. local response = game:HttpGet(image_link)
  967. local string_content = Split(response, "N")
  968. ]]--
  969. local response = game:HttpGet(text)
  970. local string_content = Split(response, "N")
  971. for assad,block in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetChildren()) do
  972. if block.Name == "BlockStd" then
  973.  
  974. local GridX = playerzone.CFrame.x
  975. local GridY = playerzone.CFrame.y
  976. local GridZ = playerzone.CFrame.z
  977. local GridCenter = playerzone.CFrame.x, playerzone.CFrame.y, playerzone.CFrame.z
  978. local DifferenceX = round((block.PrimaryPart.CFrame.x - GridX) / 2.5)
  979. DifferenceX = DifferenceX - 1
  980. local DifferenceY = round((block.PrimaryPart.CFrame.y - GridY) / 2.5)
  981. local DifferenceZ = round((block.PrimaryPart.CFrame.z - GridZ) / 2.5)
  982. local ThePos = Vector3.new(DifferenceX, DifferenceY, DifferenceZ)
  983. block.Name = "BlockStd"..tostring(DifferenceX).."x"..tostring(25 - DifferenceY)
  984. end
  985. end
  986. for framecount, frame in pairs(string_content) do
  987. local skipframe = 0
  988. if framecount > 2 and framecount % (skipframe + 1) == 0 then
  989. ping = game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValue()
  990. if ping > 500 then
  991. wait(ping + ping)
  992. end -- ping bias
  993. print(framecount)
  994. local framergb = Split(frame, "A")
  995. local lastframergb = Split(string_content[framecount - 1], "A")
  996. local frame_table = {}
  997. local totalcount = 1
  998.  
  999. if isVideoPlaying then
  1000. for number=1, #framergb do
  1001. pcall(function()
  1002. local lastrgb = Split(lastframergb[number], " ")
  1003. local rgb = Split(framergb[number], " ")
  1004. local rgb1 = tonumber(rgb[1])
  1005. local rgb2 = tonumber(rgb[2])
  1006. local theblock = game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]["BlockStd" .. rgb1 .. "x" .. rgb2].PrimaryPart
  1007. local increment = 48 -- 1-255, 1 = absolute value, higher = more noise but less lag
  1008. local lastrgbc = Color3.new(math.floor(lastrgb[3] / increment), math.floor(lastrgb[4] / increment), math.floor(lastrgb[5] / increment))
  1009. local rgbc = Color3.new(math.floor(rgb[3] / increment), math.floor(rgb[4] / increment), math.floor(rgb[5] / increment))
  1010. if lastrgbc ~= rgbc then
  1011. colourthisblock(theblock, rgb[3]/255, rgb[4]/255, rgb[5]/255)
  1012. --print("painted block : " .. tostring(c) .. "x" .. tostring(number2) .. " " .. tostring(rgb[1]) .. " " .. tostring(rgb[2]) .. " " .. tostring(rgb[3]))
  1013. end
  1014. end)
  1015. end
  1016. else
  1017. b.b.b.b()
  1018. end
  1019. wait(0.033)
  1020. end
  1021. end
  1022. end
  1023. end
  1024. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement