Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Flux = loadstring(game:HttpGet"https://raw.githubusercontent.com/dawid-scripts/UI-Libs/main/fluxlib.txt")()
- local Window = Flux:Window("PC Tools", "Press N to open/close", Color3.fromRGB(255, 110, 48), Enum.KeyCode.N)
- local mouse = game.Players.LocalPlayer:GetMouse()
- local uis = game:GetService("UserInputService")
- local RunService = game:GetService("RunService")
- local isVideoPlaying = true
- local isSpamBlacklist = false
- local isRandomPaint = false
- local isRandomMaterial = false
- local isGridEnabled = false
- local materials = {
- "Default",
- "g",
- "c",
- "w",
- "e",
- "m",
- "t",
- "v",
- "d",
- "f",
- "s",
- "n",
- "z",
- "i",
- "x"
- }
- function colourthisblock(block, r, g, b)
- spawn(function()
- local A_1 = block
- local A_2 = Color3.new(r, g, b)
- local Event = game:GetService("ReplicatedStorage").Remotes.Paint
- Event:FireServer(A_1, A_2)
- end)
- end
- function Split(s, delimiter)
- result = {};
- for match in (s..delimiter):gmatch("(.-)"..delimiter) do
- table.insert(result, match);
- end
- return result;
- end
- local function zeroGrav(part)
- if part:FindFirstChild("BodyForce") then return end
- local temp = Instance.new("BodyForce")
- temp.Force = part:GetMass() * Vector3.new(0,workspace.Gravity,0)
- temp.Parent = part
- end
- function round(n)
- return (n + 0.5) - (n + 0.5) % 1
- end
- function parachute()
- while wait() do
- local string_1 = nil
- local string_2 = "Parachute";
- local string_3 = "";
- local string_4 = "";
- local Target = game:GetService("ReplicatedStorage").Remotes.ListHandler;
- Target:FireServer(string_1, string_2, string_3, string_4);
- end
- end
- local Tab1 = Window:Tab("Building", "http://www.roblox.com/asset/?id=6023426915")
- Tab1:Label("stuff to help you build")
- Tab1:Button("Paint Aircraft Random Material", "paints your aircraft random materials every 0.5 seconds", function()
- if isRandomMaterial then
- isRandomMaterial = false
- else
- isRandomMaterial = true
- end
- while wait(0.2) do
- if isRandomMaterial then
- local args = {
- [1] = workspace.PlayerAircraft[game.Players.LocalPlayer.Name].BlockStd.BlockStd,
- [2] = materials[math.random(1, #materials)],
- [3] = "a"
- }
- game:GetService("ReplicatedStorage").Remotes.Paint:FireServer(unpack(args))
- else
- break
- end
- end
- end)
- Tab1:Button("Paint Aircraft Random Colour", "paints your aircraft random colours every 0.5 seconds", function()
- if isRandomPaint then
- isRandomPaint = false
- else
- isRandomPaint = true
- end
- while wait(0.2) do
- if isRandomPaint then
- local args = {
- [1] = workspace.PlayerAircraft[game.Players.LocalPlayer.Name].BlockStd.BlockStd,
- [2] = Color3.new(math.random(0, 255) / 255, math.random(0, 255) / 255, math.random(0, 255) / 255),
- [3] = "a"
- }
- game:GetService("ReplicatedStorage").Remotes.Paint:FireServer(unpack(args))
- else
- break
- end
- end
- end)
- Tab1:Button("Gravity gun", "gives a gravity gun that can move only your creation", function()
- loadstring(game:HttpGet(('https://pastebin.com/raw/6cfa5Wxa'),true))()
- end)
- Tab1:Button("Infinite Yield", "loads in infinite yield", function()
- loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))()
- end)
- --[[
- Tab1:Button("Mirror mode", "mirrors your placement", function()
- end)
- ]]
- Tab1:Button("Building Grid", "makes a platform so you dont have to build scaffolding to place blocks", function()
- if isGridEnabled then
- isGridEnabled = false
- pcall(function()
- game.Workspace.PlayerAircraft[game.Players.LocalPlayer.Name].GridWall:Destroy()
- end)
- else
- isGridEnabled = true
- for i,zone in pairs(game.Workspace.BuildingZones:GetChildren()) do
- if tostring(zone.Owner.Value) == game.Players.LocalPlayer.Name then
- local wall = Instance.new("Part")
- wall.Size = Vector3.new(130, 2.5, 130)
- wall.Material = Enum.Material.SmoothPlastic
- wall.Name = "GridWall"
- wall.CanCollide = false
- wall.Transparency = 0.7
- wall.Anchored = true
- wall.CFrame = CFrame.new(zone.Position.x, zone.Position.y + 3.5, zone.Position.z)
- wall.Parent = game.Workspace.PlayerAircraft[game.Players.LocalPlayer.Name]
- end
- end
- end
- end)
- Tab1:Button("Rise building grid", "moves the building grid up", function()
- pcall(function()
- wall = game.Workspace.PlayerAircraft[game.Players.LocalPlayer.Name].GridWall
- wall.CFrame = CFrame.new(wall.Position.x, wall.Position.y + 2.5, wall.Position.z)
- end)
- end)
- Tab1:Button("Lower building grid", "moves the building grid down", function()
- pcall(function()
- wall = game.Workspace.PlayerAircraft[game.Players.LocalPlayer.Name].GridWall
- wall.CFrame = CFrame.new(wall.Position.x, wall.Position.y - 2.5, wall.Position.z)
- end)
- end)
- Tab1:Button("destroy this GUI", "does what it says", function()
- game:GetService("CoreGui").FluxLib:Destroy()
- end)
- local Tab2 = Window:Tab("PVP", "http://www.roblox.com/asset/?id=6023426915")
- Tab2:Label("Requires to be in PVP servers")
- Tab2:Button("Kill Guns", "kill players using guns", function()
- pcall(function()
- while wait() do
- local guns = {}
- for i,v in pairs(game:GetService("Workspace")[game.Players.LocalPlayer.Name .. "Aircraft"]:GetChildren()) do
- if v.Name == "Gun" then
- table.insert(guns, v)
- zeroGrav(v.Part)
- end
- end
- for i,v in pairs(game.Players:GetChildren()) do
- local a = 1
- if v.Name == game.Players.LocalPlayer.Name then
- a = 0
- end
- if a == 1 then
- pcall(function()
- guns[i].Part.CFrame = v.Character.HumanoidRootPart.CFrame + v.Character.HumanoidRootPart.CFrame.lookVector * -100
- local args = {[1] = true}
- guns[i].Input:FireServer(unpack(args))
- end)
- end
- end
- end
- end)
- end)
- Tab2:Button("Kill Rockets", "kill players using rockets. close tracking for better effect", function()
- pcall(function()
- while wait() do
- local guns = {}
- for i,v in pairs(game:GetService("Workspace")[game.Players.LocalPlayer.Name .. "Aircraft"]:GetChildren()) do
- if v.Name == "Rocket" then
- table.insert(guns, v)
- zeroGrav(v.MainPart)
- end
- end
- for i,v in pairs(game.Players:GetChildren()) do
- local a = 1
- if v.Name == game.Players.LocalPlayer.Name then
- a = 0
- end
- if a == 1 then
- pcall(function()
- guns[i].MainPart.CFrame = v.Character.HumanoidRootPart.CFrame + v.Character.HumanoidRootPart.CFrame.lookVector * 100
- local args = {
- [1] = guns[i],
- [2] = 1629193720
- }
- game:GetService("ReplicatedStorage").Remotes.spawnrocket:FireServer(unpack(args))
- end)
- end
- end
- end
- end)
- end)
- Tab2:Button("Kill TNT", "kill players using tnt", function()
- local bomb = {}
- local Players = game:GetService("Players")
- local remotes = game:GetService("ReplicatedStorage"):WaitForChild("Remotes")
- local explode = remotes:WaitForChild("Explode")
- local player = Players.LocalPlayer
- local aircraftName = player.Name.. "Aircraft"
- local aircraft = game.Workspace:WaitForChild(aircraftName)
- for i, v in pairs(aircraft:GetChildren()) do
- if v.Name == "ExplosiveBlock" then
- table.insert(bomb, v)
- for j, k in pairs(v:GetDescendants()) do
- if k:IsA("BasePart") then
- k.CanCollide = false
- end
- end
- local bodyPosition = Instance.new("BodyPosition")
- bodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bodyPosition.Parent = v.PrimaryPart
- bodyPosition.P = 1000000
- bodyPosition.D = 100
- end
- end
- local step = RunService.RenderStepped:Connect(function()
- for i, v in pairs(Players:GetPlayers()) do
- if v.Name ~= player.Name then
- local block = bomb[i]
- local main = block.PrimaryPart
- local character = v.Character
- if character and game.Workspace:FindFirstChild(v.Name.. "Aircraft") then
- local targetPart = character.HumanoidRootPart
- local target = targetPart.Position + targetPart.Velocity / 2
- if target.Y > -100 then
- if (main.Position - target).Magnitude < 12 then
- spawn(function()
- table.remove(bomb, i)
- for i = 1, 10 do
- RunService.RenderStepped:Wait()
- explode:FireServer(block, 2000, 12)
- end
- end)
- end
- main.BodyPosition.Position = target
- end
- else
- main.BodyPosition.Position = Vector3.new(0, 999, 0)
- end
- end
- end
- end)
- local removed = game.Workspace.ChildRemoved:Connect(function()
- if not game.Workspace:FindFirstChild(aircraftName) then
- reset()
- end
- end)
- function reset()
- step:Disconnect()
- removed:Disconnect()
- print("Reset")
- end
- end)
- local Tab3 = Window:Tab("Non-PVP", "http://www.roblox.com/asset/?id=6023426915")
- Tab3:Label("Does not require you to be in a PVP servers")
- Tab3:Button("Spam Blacklist Others", "blacklists and unblacklist other people causing them to get sent back to base", function()
- if isSpamBlacklist then
- isSpamBlacklist = false
- else
- isSpamBlacklist = true
- end
- pcall(function()
- while wait() do
- if isSpamBlacklist then
- for i,v in pairs(game.Players:GetChildren()) do
- if v.Name ~= game.Players.LocalPlayer.Name then
- local args = {[1] = v.Name, [2] = "BlackList", [3] = true}
- game:GetService("ReplicatedStorage").Remotes.ListHandler:FireServer(unpack(args))
- wait(0.2)
- local args = {[1] = v.Name, [2] = "BlackList", [3] = false}
- game:GetService("ReplicatedStorage").Remotes.ListHandler:FireServer(unpack(args))
- wait(0.2)
- end
- end
- else
- b.b.b.b() -- scuffed break
- end
- end
- end)
- end)
- 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()
- local LocalPlayer = game:GetService("Players").LocalPlayer
- local charcframe = LocalPlayer.Character:FindFirstChild("HumanoidRootPart").CFrame
- local unanchoredparts = {}
- local movers = {}
- for index, part in pairs(workspace:GetDescendants()) do
- if part:IsA("Part") and part.Anchored == false and part:IsDescendantOf(LocalPlayer.Character) == false then
- table.insert(unanchoredparts, part)
- part.Massless = true
- part.CanCollide = false
- if part:FindFirstChildOfClass("BodyPosition") ~= nil then
- part:FindFirstChildOfClass("BodyPosition"):Destroy()
- end
- end
- end
- for index, part in pairs(unanchoredparts) do
- local mover = Instance.new("BodyPosition", part)
- table.insert(movers, mover)
- mover.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- end
- repeat
- for index, mover in pairs(movers) do
- mover.Position = charcframe:PointToWorldSpace(Vector3.new(math.random(0, 200), math.random(0, 200), math.random(0, 200)))
- end
- wait(0.5)
- until LocalPlayer.Character:FindFirstChild("Humanoid").Health <= 0
- for _, mover in pairs(movers) do
- mover:Destroy()
- end
- end)
- Tab3:Button("Lag server", "lags the server you are in to the point where it crashes", function()
- for i=1, 20 do
- pcall(function()
- parachute()
- end)
- end
- end)
- Tab3:Button("Disable Anti Copy Blacklist", "it will disable the blacklist and make anti copy blocks visible again", function()
- for i,models in pairs(game.Workspace.BuildingZones:GetChildren()) do
- models.BlackListPart:Destroy()
- end
- for i,v in pairs(game.Workspace.PlayerAircraft[AntiCopyName.Text]:GetDescendants()) do
- pcall(function()
- v.Transparency = 0
- end)
- end
- end)
- Tab3:Button("Infinite Terrain Generation", "infinite terrain generation client sided, does not work well on low-end pc", function()
- --Chunk generator by rater193
- --just edited by nexity
- --TODO: make trees, bushes and custom villages (able to bomb the village pog warcrimes)
- --The chunk generator settings
- local settings = {
- chunkSize = 256,
- renderDistance = 4
- }
- --Chunk generation
- --This stores the list of chunks queued to generate terrain
- chunksToGenerate = {}
- --This handles queuing new chunks to generate
- function queueChunk(x, y)
- table.insert(chunksToGenerate, {["x"] = x, ["y"] = y})
- end
- --Here we are tapping into the runservice stepped event to process queued chunks to generate
- game:GetService("RunService").Stepped:connect(function()
- --Only run if we have chunks to generate
- if(#chunksToGenerate>0) then
- --Here we are retreiving the first item in the list
- local item = chunksToGenerate[1]
- --Then we remove it from the list, and process it
- table.remove(chunksToGenerate, 1)
- --Here we are setting the chunk's part to render green, to show that we have generated the chunk(for debugging)
- chunks[getChunkID(item.x, item.y)].part.BrickColor = BrickColor.new(Color3.fromRGB(0,255,0))
- --Here are some additional reused values for generating the terrain
- local chunkgeneratorsettings = {
- ["xstart"] = item.x*settings.chunkSize,
- ["ystart"] = item.y*settings.chunkSize,
- ["width"] = math.ceil(settings.chunkSize/4),
- ["height"] = math.ceil(settings.chunkSize/4)
- }
- --Here we are generating the terrain
- for _x = 0,chunkgeneratorsettings.width do
- for _y = 0,chunkgeneratorsettings.height do
- --Actual terrain generation logic
- local _height = (math.noise(((_x*4)+chunkgeneratorsettings.xstart)/1000,((_y*4)+chunkgeneratorsettings.ystart)/1000)+0.5) * 150
- local _material = Enum.Material.Air
- -- imagine yanderedev
- -- snowy hills biome
- if(_height<1) then
- _height = 1
- _material = Enum.Material.Water
- elseif(_height<3) then
- _material = Enum.Material.Sand
- elseif (_height>math.random(100, 150)) then
- _material = Enum.Material.Snow
- else
- _material = Enum.Material.Grass
- end
- game.workspace.Terrain:FillBlock(CFrame.new((_x*4)+chunkgeneratorsettings.xstart,_height/2,(_y*4)+chunkgeneratorsettings.ystart), Vector3.new(1,_height,1), _material)
- end
- end
- end
- end)
- --Now we are going to start handling chunks loading in around the players
- --Chunk management
- --The list of generated chunks
- chunks = {}
- --This gets the id in the list for the chunk
- function getChunkID(x, y)
- return tostring(x)..","..tostring(y)
- end
- --This checks if we need to generate the chunk
- function checkChunk(x, y)
- local chunkID = getChunkID(x, y)
- if(chunks[chunkID]==nil) then
- chunks[chunkID] = {}
- --Here we are generating a preview part, to let us know what chunks we are trying to generate(for debugging)
- local part = Instance.new("Part")
- part.Anchored = true
- part.CanCollide = true
- part.BrickColor = BrickColor.new(Color3.fromRGB(255,0,0))
- part.Transparency = 0.5
- part.Material = Enum.Material.Grass
- part.Size = Vector3.new(settings.chunkSize, 1, settings.chunkSize)
- part.Position = Vector3.new(settings.chunkSize * x, 0, settings.chunkSize * y) + Vector3.new(settings.chunkSize/2,0,settings.chunkSize/2)
- part.Parent = game.Workspace
- part.Name = "Chunk-"..tostring(x).."."..tostring(y)
- --Adding the preview part to the chunk data
- chunks[chunkID].part = part
- --Finally, queue the chunk for terrain generation
- queueChunk(x,y)
- end
- end
- --Here we are tapping into the run service stepped event to handle chunks around the players
- game:GetService("RunService").Stepped:connect(function()
- for i, player in pairs(game.Players:GetPlayers()) do
- if(player.character and player.character:findFirstChild("Head")) then
- local _pos = {
- ["x"]= math.floor((player.character.Head.Position.X)/settings.chunkSize),
- ["y"]= math.floor((player.character.Head.Position.Z)/settings.chunkSize)
- }
- for _x = _pos.x-settings.renderDistance, _pos.x+settings.renderDistance do
- for _y = _pos.y-settings.renderDistance, _pos.y+settings.renderDistance do
- checkChunk(_x, _y)
- end
- end
- end
- end
- end)
- end)
- Tab3:Textbox("Change thruster speed", "changes all movement speed by %, default 100%", true, function(text)
- for i,v in pairs(game.Workspace[game.Players.LocalPlayer.Name .. "Aircraft"]:GetDescendants()) do
- pcall(function()
- if v.ClassName == "Model" and v.Throttle then
- v.Throttle.Value = tonumber(text)
- end
- end)
- end
- end)
- Tab3:Button("Ocean Map", "turns the map into islands and oceans (client side)", function()
- local region = Region3.new(Vector3.new(-3750,-100,-2050), Vector3.new(2500,43,2700))
- region = region:ExpandToGrid(4)
- game.Workspace.Terrain:FillRegion(region, 4, Enum.Material.Water)
- end)
- Tab3:Button("Kill TNT", "kill players using tnt in non-pvp servers", function()
- local bomb = {}
- local Players = game:GetService("Players")
- local remotes = game:GetService("ReplicatedStorage"):WaitForChild("Remotes")
- local explode = remotes:WaitForChild("Explode")
- local player = Players.LocalPlayer
- local aircraftName = player.Name.. "Aircraft"
- local aircraft = game.Workspace:WaitForChild(aircraftName)
- for i, v in pairs(aircraft:GetChildren()) do
- if v.Name == "ExplosiveBlock" then
- table.insert(bomb, v)
- for j, k in pairs(v:GetDescendants()) do
- if k:IsA("BasePart") then
- k.CanCollide = false
- end
- end
- local bodyPosition = Instance.new("BodyPosition")
- bodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bodyPosition.Parent = v.PrimaryPart
- bodyPosition.P = 1000000
- bodyPosition.D = 100
- end
- end
- local step = RunService.RenderStepped:Connect(function()
- for i, v in pairs(Players:GetPlayers()) do
- if v.Name ~= player.Name then
- local block = bomb[i]
- local main = block.PrimaryPart
- local character = v.Character
- if character and game.Workspace:FindFirstChild(v.Name.. "Aircraft") then
- local targetPart = character.HumanoidRootPart
- local target = targetPart.Position + targetPart.Velocity / 2
- if target.Y > -100 then
- if (main.Position - target).Magnitude < 12 then
- spawn(function()
- table.remove(bomb, i)
- for i = 1, 10 do
- RunService.RenderStepped:Wait()
- explode:FireServer(block, 2000, 12)
- end
- end)
- end
- main.BodyPosition.Position = target
- end
- else
- main.BodyPosition.Position = Vector3.new(0, 999, 0)
- end
- end
- end
- end)
- local removed = game.Workspace.ChildRemoved:Connect(function()
- if not game.Workspace:FindFirstChild(aircraftName) then
- reset()
- end
- end)
- function reset()
- step:Disconnect()
- removed:Disconnect()
- print("Reset")
- end
- end)
- Tab3:Button("Explode TNT", "explodes tnt while in non-pvp servers", function()
- local RunService = game:GetService("RunService")
- local Players = game:GetService("Players")
- local remotes = game:GetService("ReplicatedStorage"):WaitForChild("Remotes")
- local explode = remotes:WaitForChild("Explode")
- local player = Players.LocalPlayer
- local aircraftName = player.Name.. "Aircraft"
- local aircraft = game.Workspace:WaitForChild(aircraftName)
- local bomb = {}
- for i, v in pairs(aircraft:GetChildren()) do
- if v.Name == "ExplosiveBlock" then
- table.insert(bomb, v)
- end
- end
- for i, bombs in pairs(bomb) do
- explode:FireServer(bombs, 0, 0)
- end
- end)
- local Tab4 = Window:Tab("Paint", "http://www.roblox.com/asset/?id=6023426915")
- Tab4:Label("Paint Images on Canvas, accepts discord cdn links")
- Tab4:Textbox("1x1 canvas", "requires 1x1 canvas", true, function(text)
- local link = text
- name = "BlockStd"
- checkloop = 0
- waitloop = 0
- for assad2,playerzone in pairs(game.Workspace.BuildingZones:GetChildren()) do
- pcall(function()
- if tostring(playerzone.Owner.Value) == tostring(game.Players.LocalPlayer) then
- checkloop = 1
- end
- end)
- if checkloop == 1 then
- checkloop = 0
- local image_link = "https://api.nexitysecond.repl.co/convertimagetotextblocks?link=" .. link
- local response = game:HttpGet(image_link)
- string_content = Split(response, "N")
- for assad,block in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetChildren()) do
- if block.Name == name then
- local GridX = playerzone.CFrame.x
- local GridY = playerzone.CFrame.y
- local GridZ = playerzone.CFrame.z
- local GridCenter = playerzone.CFrame.x, playerzone.CFrame.y, playerzone.CFrame.z
- local DifferenceX = round((block.PrimaryPart.CFrame.x - GridX) / 2.5)
- DifferenceX = DifferenceX + 25 -- for my sanity
- local DifferenceY = round((block.PrimaryPart.CFrame.y - GridY) / 2.5)
- local DifferenceZ = round((block.PrimaryPart.CFrame.z - GridZ) / 2.5)
- local ThePos = Vector3.new(DifferenceX, DifferenceY, DifferenceZ)
- block.Name = name..tostring(DifferenceX).."x"..tostring(DifferenceY)
- end
- end
- for assad3, image_pixel in pairs(string_content) do
- image_table = Split(tostring(image_pixel), " ")
- local pixel_type = ""
- local image_pixelX = image_table[1] - 2
- local image_pixelY = image_table[2]
- local image_R = image_table[3] / 255
- local image_G = image_table[4] / 255
- local image_B = image_table[5] / 255
- if waitloop ~= image_pixelX then
- wait()
- end
- waitloop = image_pixelX
- local A_image_pixelX = math.floor(image_pixelX / 2) + 1
- local A_image_pixelY = math.floor(image_pixelY / 2) + 1
- if A_image_pixelY == 40 then
- A_image_pixelY = 39
- end
- spawn(function()
- local A_1 = game:GetService("Workspace").PlayerAircraft[tostring(game.Players.LocalPlayer)][name .. A_image_pixelX .. "x" .. A_image_pixelY].PrimaryPart
- local A_2 = Color3.new(image_R, image_G, image_B)
- local Event = game:GetService("ReplicatedStorage").Remotes.Paint
- Event:FireServer(A_1, A_2)
- end)
- end
- end
- end
- end)
- Tab4:Textbox("hover engine canvas", "requires hover engine canvas", true, function(text)
- local link = text
- name = "HoverThruster"
- checkloop = 0
- waitloop = 0
- for assad2,playerzone in pairs(game.Workspace.BuildingZones:GetChildren()) do
- pcall(function()
- if tostring(playerzone.Owner.Value) == tostring(game.Players.LocalPlayer) then
- checkloop = 1
- end
- end)
- if checkloop == 1 then
- checkloop = 0
- local image_link = "https://api.nexitysecond.repl.co/convertimagetotext?link=" .. link
- local response = game:HttpGet(image_link)
- string_content = Split(response, "N")
- for assad,block in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetChildren()) do
- if block.Name == name then
- local GridX = playerzone.CFrame.x
- local GridY = playerzone.CFrame.y
- local GridZ = playerzone.CFrame.z
- local GridCenter = playerzone.CFrame.x, playerzone.CFrame.y, playerzone.CFrame.z
- local DifferenceX = round((block.PrimaryPart.CFrame.x - GridX) / 2.5)
- DifferenceX = DifferenceX + 25 -- for my sanity
- local DifferenceY = round((block.PrimaryPart.CFrame.y - GridY) / 2.5)
- local DifferenceZ = round((block.PrimaryPart.CFrame.z - GridZ) / 2.5)
- local ThePos = Vector3.new(DifferenceX, DifferenceY, DifferenceZ)
- block.Name = name..tostring(DifferenceX).."x"..tostring(DifferenceY)
- block.BlockStd.Name = "BlockStd3"
- block.BlockStd.Name = "BlockStd1"
- block.BlockStd.Name = "BlockStd2"
- block.BlockStd.Name = "BlockStd4"
- block.BlockStd.Name = "BlockStd5"
- end
- end
- for assad3, image_pixel in pairs(string_content) do
- image_table = Split(tostring(image_pixel), " ")
- local pixel_type = ""
- local image_pixelX = image_table[1] - 2
- local image_pixelY = image_table[2]
- local image_R = image_table[3] / 255
- local image_G = image_table[4] / 255
- local image_B = image_table[5] / 255
- if waitloop ~= image_pixelX then
- wait()
- end
- waitloop = image_pixelX
- if (image_pixelX % 2 == 0) then
- if (image_pixelY % 2 == 0) then
- pixel_type = "BlockStd4"
- else
- pixel_type = "BlockStd3"
- end
- else
- if (image_pixelY % 2 == 0) then
- pixel_type = "BlockStd1"
- else
- pixel_type = "BlockStd2"
- end
- end
- local A_image_pixelX = math.floor(image_pixelX / 2) + 1
- local A_image_pixelY = math.floor(image_pixelY / 2) + 1
- local B_image_pixelX = (A_image_pixelX * 2) - image_pixelX
- local B_image_pixelY = (A_image_pixelY * 2) - image_pixelY
- local paintassad = 0
- if A_image_pixelY == 40 then
- A_image_pixelY = 39
- end
- spawn(function()
- local A_1 = game:GetService("Workspace").PlayerAircraft[tostring(game.Players.LocalPlayer)][name .. A_image_pixelX .. "x" .. A_image_pixelY][pixel_type]
- local A_2 = Color3.new(image_R, image_G, image_B)
- local Event = game:GetService("ReplicatedStorage").Remotes.Paint
- Event:FireServer(A_1, A_2)
- end)
- end
- end
- end
- end)
- Tab4:Textbox("snow blaster canvas", "requires an item called snow blaster be made into a canvas", true, function(text)
- local link = text
- name = "SnowBlower"
- checkloop = 0
- waitloop = 0
- for assad2,playerzone in pairs(game.Workspace.BuildingZones:GetChildren()) do
- pcall(function()
- if tostring(playerzone.Owner.Value) == tostring(game.Players.LocalPlayer) then
- checkloop = 1
- end
- end)
- if checkloop == 1 then
- checkloop = 0
- local image_link = "https://api.nexitysecond.repl.co/convertimagetotext?link=" .. link
- local response = game:HttpGet(image_link)
- string_content = Split(response, "N")
- for assad,block in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetChildren()) do
- if block.Name == name then
- local GridX = playerzone.CFrame.x
- local GridY = playerzone.CFrame.y
- local GridZ = playerzone.CFrame.z
- local GridCenter = playerzone.CFrame.x, playerzone.CFrame.y, playerzone.CFrame.z
- local DifferenceX = round((block.PrimaryPart.CFrame.x - GridX) / 2.5)
- DifferenceX = DifferenceX + 25 -- for my sanity
- local DifferenceY = round((block.PrimaryPart.CFrame.y - GridY) / 2.5)
- local DifferenceZ = round((block.PrimaryPart.CFrame.z - GridZ) / 2.5)
- local ThePos = Vector3.new(DifferenceX, DifferenceY, DifferenceZ)
- block.Name = name..tostring(DifferenceX).."x"..tostring(DifferenceY)
- block.Union.Name = "Union1"
- block.Union.Name = "Union4"
- block.Union.Name = "Union2"
- block.Union.Name = "Union3"
- end
- end
- for assad3, image_pixel in pairs(string_content) do
- image_table = Split(tostring(image_pixel), " ")
- local pixel_type = ""
- local image_pixelX = image_table[1] - 2
- local image_pixelY = image_table[2]
- local image_R = image_table[3] / 255
- local image_G = image_table[4] / 255
- local image_B = image_table[5] / 255
- if waitloop ~= image_pixelX then
- wait()
- end
- waitloop = image_pixelX
- if (image_pixelX % 2 == 0) then
- if (image_pixelY % 2 == 0) then
- pixel_type = "Union3"
- else
- pixel_type = "Union1"
- end
- else
- if (image_pixelY % 2 == 0) then
- pixel_type = "Union4"
- else
- pixel_type = "Union2"
- end
- end
- local A_image_pixelX = math.floor(image_pixelX / 2) + 1
- local A_image_pixelY = math.floor(image_pixelY / 2) + 1
- local B_image_pixelX = (A_image_pixelX * 2) - image_pixelX
- local B_image_pixelY = (A_image_pixelY * 2) - image_pixelY
- local paintassad = 0
- if A_image_pixelY == 40 then
- A_image_pixelY = 39
- end
- spawn(function()
- local A_1 = game:GetService("Workspace").PlayerAircraft[tostring(game.Players.LocalPlayer)][name .. A_image_pixelX .. "x" .. A_image_pixelY][pixel_type]
- local A_2 = Color3.new(image_R, image_G, image_B)
- local Event = game:GetService("ReplicatedStorage").Remotes.Paint
- Event:FireServer(A_1, A_2)
- end)
- end
- end
- end
- end)
- Tab4:Button("Build canvas 1x1 blocks", "builds a fullsize canvas out of 1x1 blocks", function()
- for x=1, 51, 1 do
- for y=1, 39, 1 do
- spawn(function()
- local A_1 = Vector3.new(x-26, y, 25)
- local A_2 = CFrame.new(0, 0, 0, 1, 0, 0, 0, -4.37113883e-08, -1, 0, 1, -4.37113883e-08)
- local A_3 = 1
- local Event = game:GetService("ReplicatedStorage").Remotes.PlaceBIockRegion
- Event:InvokeServer(A_1, A_2, A_3)
- end)
- wait(0.15)
- end
- end
- end)
- Tab4:Button("Build canvas HoverEngine blocks", "builds a fullsize canvas out of hover engines", function()
- for x=1, 51, 1 do
- for y=1, 39, 1 do
- spawn(function()
- local A_1 = Vector3.new(x-26, y, 25)
- local A_2 = CFrame.new(0, 0, 0, 1, 0, 0, 0, -4.37113883e-08, -1, 0, 1, -4.37113883e-08)
- local A_3 = 173
- local Event = game:GetService("ReplicatedStorage").Remotes.PlaceBIockRegion
- Event:InvokeServer(A_1, A_2, A_3)
- end)
- wait(0.15)
- end
- end
- end)
- Tab4:Button("Build canvas SnowBlaster blocks", "builds a fullsize canvas out of snow blasters", function()
- for x=1, 51, 1 do
- for y=1, 39, 1 do
- spawn(function()
- local A_1 = Vector3.new(x-26, y, 25)
- local A_2 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1.31134158e-07, 1, 0, -1, 1.31134158e-07)
- local A_3 = 104
- local Event = game:GetService("ReplicatedStorage").Remotes.PlaceBIockRegion
- Event:InvokeServer(A_1, A_2, A_3)
- end)
- wait(0.15)
- end
- end
- end)
- Tab4:Button("Rainbow Aircraft", "paints your aircraft into random colours", function()
- for i,blocks in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetDescendants()) do
- spawn(function()
- color1 = math.random(0,255)
- color2 = math.random(0,255)
- color3 = math.random(0,255)
- local A_1 = blocks
- local A_2 = Color3.new(color1, color2, color3)
- local Event = game:GetService("ReplicatedStorage").Remotes.Paint
- Event:FireServer(A_1, A_2)
- end)
- end
- end)
- local Tab5 = Window:Tab("LF-Prototype", "http://www.roblox.com/asset/?id=6023426915")
- Tab5:Label("Play videos on 24x24 1x1 block canvas.")
- Tab5:Button("Stop playing video", "stops the video from playing", function()
- pcall(function()
- isVideoPlaying = false
- wait(1)
- isVideoPlaying = true
- end)
- end)
- Tab5:Textbox("Video in workspace folder", "plays the video on a 24x24 canvas in your executor workspace folder", true, function(text)
- print(tostring(text))
- local checkloop = 0
- local waitloop = 0
- for assad2,playerzone in pairs(game.Workspace.BuildingZones:GetChildren()) do
- pcall(function()
- if tostring(playerzone.Owner.Value) == tostring(game.Players.LocalPlayer) then
- checkloop = 1
- end
- end)
- if checkloop == 1 then
- checkloop = 0
- --[[
- local image_link = "https://smhreplitissotrashathandlingtonsoffileswhydoievenuseit.nexitysecond.repl.co/rendervideo?videolink=https://www.youtube.com/watch?v=cA9DEewBR_w"
- local response = game:HttpGet(image_link)
- local string_content = Split(response, "N")
- ]]--
- local response = readfile("/frames/" .. text .. ".txt")
- local string_content = Split(response, "N")
- for assad,block in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetChildren()) do
- if block.Name == "BlockStd" then
- local GridX = playerzone.CFrame.x
- local GridY = playerzone.CFrame.y
- local GridZ = playerzone.CFrame.z
- local GridCenter = playerzone.CFrame.x, playerzone.CFrame.y, playerzone.CFrame.z
- local DifferenceX = round((block.PrimaryPart.CFrame.x - GridX) / 2.5)
- DifferenceX = DifferenceX - 1
- local DifferenceY = round((block.PrimaryPart.CFrame.y - GridY) / 2.5)
- local DifferenceZ = round((block.PrimaryPart.CFrame.z - GridZ) / 2.5)
- local ThePos = Vector3.new(DifferenceX, DifferenceY, DifferenceZ)
- block.Name = "BlockStd"..tostring(DifferenceX).."x"..tostring(25 - DifferenceY)
- end
- end
- for framecount, frame in pairs(string_content) do
- local skipframe = 0
- if framecount > 2 and framecount % (skipframe + 1) == 0 then
- ping = game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValue()
- if ping > 500 then
- wait(0.5)
- end -- ping bias
- print(framecount)
- local framergb = Split(frame, "A")
- local lastframergb = Split(string_content[framecount - 1], "A")
- local frame_table = {}
- local totalcount = 1
- if isVideoPlaying then
- for number=1, #framergb do
- pcall(function()
- local lastrgb = Split(lastframergb[number], " ")
- local rgb = Split(framergb[number], " ")
- local rgb1 = tonumber(rgb[1])
- local rgb2 = tonumber(rgb[2])
- local theblock = game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]["BlockStd" .. rgb1 .. "x" .. rgb2].PrimaryPart
- local increment = 50 -- 1-255, 1 = absolute value, higher = more noise but less lag
- local lastrgbc = Color3.new(math.floor(lastrgb[3] / increment), math.floor(lastrgb[4] / increment), math.floor(lastrgb[5] / increment))
- local rgbc = Color3.new(math.floor(rgb[3] / increment), math.floor(rgb[4] / increment), math.floor(rgb[5] / increment))
- if lastrgbc ~= rgbc then
- colourthisblock(theblock, rgb[3]/255, rgb[4]/255, rgb[5]/255)
- --print("painted block : " .. tostring(c) .. "x" .. tostring(number2) .. " " .. tostring(rgb[1]) .. " " .. tostring(rgb[2]) .. " " .. tostring(rgb[3]))
- end
- end)
- end
- else
- b.b.b.b()
- end
- wait(0.033)
- end
- end
- end
- end
- end)
- Tab5:Textbox("Video inputstream", "testing currently not for use", true, function(text)
- local checkloop = 0
- local waitloop = 0
- for assad2,playerzone in pairs(game.Workspace.BuildingZones:GetChildren()) do
- pcall(function()
- if tostring(playerzone.Owner.Value) == tostring(game.Players.LocalPlayer) then
- checkloop = 1
- end
- end)
- if checkloop == 1 then
- checkloop = 0
- --[[
- local image_link = "https://smhreplitissotrashathandlingtonsoffileswhydoievenuseit.nexitysecond.repl.co/rendervideo?videolink=https://www.youtube.com/watch?v=cA9DEewBR_w"
- local response = game:HttpGet(image_link)
- local string_content = Split(response, "N")
- ]]--
- local response = game:HttpGet(text)
- local string_content = Split(response, "N")
- for assad,block in pairs(game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]:GetChildren()) do
- if block.Name == "BlockStd" then
- local GridX = playerzone.CFrame.x
- local GridY = playerzone.CFrame.y
- local GridZ = playerzone.CFrame.z
- local GridCenter = playerzone.CFrame.x, playerzone.CFrame.y, playerzone.CFrame.z
- local DifferenceX = round((block.PrimaryPart.CFrame.x - GridX) / 2.5)
- DifferenceX = DifferenceX - 1
- local DifferenceY = round((block.PrimaryPart.CFrame.y - GridY) / 2.5)
- local DifferenceZ = round((block.PrimaryPart.CFrame.z - GridZ) / 2.5)
- local ThePos = Vector3.new(DifferenceX, DifferenceY, DifferenceZ)
- block.Name = "BlockStd"..tostring(DifferenceX).."x"..tostring(25 - DifferenceY)
- end
- end
- for framecount, frame in pairs(string_content) do
- local skipframe = 0
- if framecount > 2 and framecount % (skipframe + 1) == 0 then
- ping = game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValue()
- if ping > 500 then
- wait(ping + ping)
- end -- ping bias
- print(framecount)
- local framergb = Split(frame, "A")
- local lastframergb = Split(string_content[framecount - 1], "A")
- local frame_table = {}
- local totalcount = 1
- if isVideoPlaying then
- for number=1, #framergb do
- pcall(function()
- local lastrgb = Split(lastframergb[number], " ")
- local rgb = Split(framergb[number], " ")
- local rgb1 = tonumber(rgb[1])
- local rgb2 = tonumber(rgb[2])
- local theblock = game.Workspace.PlayerAircraft[tostring(game.Players.LocalPlayer)]["BlockStd" .. rgb1 .. "x" .. rgb2].PrimaryPart
- local increment = 48 -- 1-255, 1 = absolute value, higher = more noise but less lag
- local lastrgbc = Color3.new(math.floor(lastrgb[3] / increment), math.floor(lastrgb[4] / increment), math.floor(lastrgb[5] / increment))
- local rgbc = Color3.new(math.floor(rgb[3] / increment), math.floor(rgb[4] / increment), math.floor(rgb[5] / increment))
- if lastrgbc ~= rgbc then
- colourthisblock(theblock, rgb[3]/255, rgb[4]/255, rgb[5]/255)
- --print("painted block : " .. tostring(c) .. "x" .. tostring(number2) .. " " .. tostring(rgb[1]) .. " " .. tostring(rgb[2]) .. " " .. tostring(rgb[3]))
- end
- end)
- end
- else
- b.b.b.b()
- end
- wait(0.033)
- end
- end
- end
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement