Mr_3242

Voxels [🛠️] (game) ultimate Griefer (OLD)

Jul 31st, 2026 (edited)
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 18.12 KB | Gaming | 0 0
  1. --// CLEAN RE-EXECUTE
  2. if getgenv().GrieferUnload then
  3.     pcall(getgenv().GrieferUnload)
  4. end
  5.  
  6. -- Load Rayfield
  7. local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
  8.  
  9. -- Create Window
  10. local Window = Rayfield:CreateWindow({
  11.     Name = "Voxels [🛠️]",
  12.     LoadingTitle = "Ultimate Griefer",
  13.     LoadingSubtitle = "Follow me on TikTok Mr_3242",
  14.     ConfigurationSaving = { Enabled = false },
  15.     Discord = { Enabled = false },
  16.     KeySystem = false
  17. })
  18.  
  19. --// FILTER NOTIFICATIONS
  20. local oldNotify = Rayfield.Notify
  21. if oldNotify then
  22.     Rayfield.Notify = function(self, data)
  23.         if data and data.Title then
  24.             local t = tostring(data.Title)
  25.             if t:find("Rayfield") or t:find("Interface") then return end
  26.         end
  27.         return oldNotify(self, data)
  28.     end
  29. end
  30.  
  31. --// NOTIFY
  32. local function Notify(t, c)
  33.     Rayfield:Notify({
  34.         Title = t,
  35.         Content = c,
  36.         Duration = 3,
  37.         Image = 4483362458
  38.     })
  39. end
  40.  
  41. -- Services
  42. local Players = game:GetService("Players")
  43. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  44. local RunService = game:GetService("RunService")
  45.  
  46. local remote = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("PlaceBlock")
  47. local BlockStorage = ReplicatedStorage:WaitForChild("BlockStorage")
  48.  
  49. -- Player / Character
  50. local player = Players.LocalPlayer
  51. local character
  52. local humanoidRootPart
  53.  
  54. local function setupCharacter(char)
  55.     character = char
  56.     humanoidRootPart = char:WaitForChild("HumanoidRootPart", 10)
  57. end
  58.  
  59. if player.Character then
  60.     setupCharacter(player.Character)
  61. end
  62. player.CharacterAdded:Connect(setupCharacter)
  63.  
  64. -- Configuration
  65. local BuilderConfig = {
  66.     selectedBlock = "Oak Log",
  67.     blockType = "Oak Log",
  68.     material = Enum.NormalId.Top,
  69.     previewEnabled = true,
  70.     previewTransparency = 0.7,
  71.     previewColor = Color3.fromRGB(255, 255, 255),
  72.     isPlacing = false,
  73.     fillSize = 5,
  74.     showFillPreview = false,
  75.     customFillSize = 10
  76. }
  77.  
  78. -- Preview storage
  79. local previewParts = {}
  80. local fillPreviewParts = {}
  81. local previewConnection = nil
  82. local lastPreviewPos = nil
  83.  
  84. -- ====================
  85. -- PREVIEW SYSTEM
  86. -- ====================
  87. local function createPreviewPart(position, size)
  88.     local part = Instance.new("Part")
  89.     part.Name = "BlockPreview"
  90.     part.Size = Vector3.new(size, size, size)
  91.     part.Position = position
  92.     part.Anchored = true
  93.     part.CanCollide = false
  94.     part.Transparency = BuilderConfig.previewTransparency
  95.     part.Color = BuilderConfig.previewColor
  96.     part.Material = Enum.Material.Neon
  97.     part.CastShadow = false
  98.  
  99.     local highlight = Instance.new("SelectionBox")
  100.     highlight.Adornee = part
  101.     highlight.Color3 = BuilderConfig.previewColor
  102.     highlight.Parent = part
  103.  
  104.     part.Parent = workspace
  105.     return part
  106. end
  107.  
  108. local function clearPreviews()
  109.     for _, part in ipairs(previewParts) do
  110.         if part and part.Parent then
  111.             part:Destroy()
  112.         end
  113.     end
  114.     table.clear(previewParts)
  115. end
  116.  
  117. local function clearFillPreview()
  118.     for _, part in ipairs(fillPreviewParts) do
  119.         if part and part.Parent then
  120.             part:Destroy()
  121.         end
  122.     end
  123.     table.clear(fillPreviewParts)
  124. end
  125.  
  126. -- ====================
  127. -- BLOCK PLACEMENT
  128. -- ====================
  129. local function placeBlock(position)
  130.     local blockFolder = BlockStorage:FindFirstChild(BuilderConfig.blockType)
  131.    
  132.     if not blockFolder then
  133.         warn("[Missing block]:", BuilderConfig.blockType)
  134.         Notify("Error", "Missing block: " .. tostring(BuilderConfig.blockType))
  135.         return
  136.     end
  137.  
  138.     local success, err = pcall(function()
  139.         local args = {
  140.             blockFolder,
  141.             BuilderConfig.material,
  142.             position,
  143.             BuilderConfig.selectedBlock
  144.         }
  145.         remote:FireServer(unpack(args))
  146.     end)
  147.  
  148.     if not success then
  149.         warn("[PlaceBlock Error]:", err)
  150.         Notify("Error", "Failed to place block")
  151.     end
  152. end
  153.  
  154. local function placeBlockInstantly(position)
  155.     task.spawn(placeBlock, position)
  156. end
  157.  
  158. local function updateSelectedBlock(blockName)
  159.     BuilderConfig.selectedBlock = blockName
  160.     BuilderConfig.blockType = BlockTypeMap[blockName] or "1Grass"
  161.  
  162.     local colorMap = {
  163.         ["Oak Log"] = Color3.fromRGB(139, 69, 19),
  164.         ["Grass Block"] = Color3.fromRGB(100, 200, 100),
  165.         ["Stone"] = Color3.fromRGB(128, 128, 128),
  166.         ["Brick"] = Color3.fromRGB(178, 34, 34),
  167.         ["Glass"] = Color3.fromRGB(173, 216, 230),
  168.         ["Gold Block"] = Color3.fromRGB(255, 215, 0),
  169.         ["Iron Block"] = Color3.fromRGB(200, 200, 200),
  170.         ["Diamond Block"] = Color3.fromRGB(0, 255, 255),
  171.         ["Emerald Block"] = Color3.fromRGB(0, 200, 0),
  172.         ["Redstone Block"] = Color3.fromRGB(255, 0, 0)
  173.     }
  174.     BuilderConfig.previewColor = colorMap[blockName] or Color3.fromRGB(255, 255, 255)
  175. end
  176.  
  177. -- ====================
  178. -- FILL SYSTEM (INFINITE)
  179. -- ====================
  180. local function showFillPreview(position, size)
  181.     clearFillPreview()
  182.     if not BuilderConfig.previewEnabled or not BuilderConfig.showFillPreview then return end
  183.  
  184.     local halfSize = math.floor(size / 2)
  185.  
  186.     local startPos = Vector3.new(
  187.         math.floor(position.X / 4) * 4,
  188.         math.floor(position.Y / 4) * 4,
  189.         math.floor(position.Z / 4) * 4
  190.     )
  191.  
  192.     for x = -halfSize, halfSize do
  193.         for y = -halfSize, halfSize do
  194.             for z = -halfSize, halfSize do
  195.                 if not outlineOnly or
  196.                    math.abs(x) == halfSize or
  197.                    math.abs(y) == halfSize or
  198.                    math.abs(z) == halfSize then
  199.  
  200.                     local blockPos = Vector3.new(
  201.                         startPos.X + (x * 4),
  202.                         startPos.Y + (y * 4),
  203.                         startPos.Z + (z * 4)
  204.                     )
  205.  
  206.                     local preview = createPreviewPart(blockPos, 4)
  207.                     preview.Transparency = 0.8
  208.                     preview.Color = Color3.fromRGB(0, 200, 255)
  209.                     table.insert(fillPreviewParts, preview)
  210.                 end
  211.             end
  212.         end
  213.     end
  214. end
  215.  
  216. local function fillArea(position, size)
  217.     if BuilderConfig.isPlacing then return end
  218.     BuilderConfig.isPlacing = true
  219.     clearFillPreview()
  220.  
  221.     local halfSize = math.floor(size / 2)
  222.  
  223.     local startPos = Vector3.new(
  224.         math.floor(position.X / 4) * 4,
  225.         math.floor(position.Y / 4) * 4,
  226.         math.floor(position.Z / 4) * 4
  227.     )
  228.  
  229.     local totalBlocks = (size * 2 + 1) ^ 3
  230.     print("Starting fill:", totalBlocks, "blocks...")
  231.  
  232.     local count = 0
  233.  
  234.     for x = -halfSize, halfSize do
  235.         for y = -halfSize, halfSize do
  236.             for z = -halfSize, halfSize do
  237.                 local blockPos = Vector3.new(
  238.                     startPos.X + (x * 4),
  239.                     startPos.Y + (y * 4),
  240.                     startPos.Z + (z * 4)
  241.                 )
  242.  
  243.                 placeBlockInstantly(blockPos)
  244.  
  245.                 count += 1
  246.                 if count % 100 == 0 then
  247.                     task.wait()
  248.                 end
  249.             end
  250.         end
  251.     end
  252.  
  253.     BuilderConfig.isPlacing = false
  254.     print("✓ Fill complete! (" .. totalBlocks .. " blocks)")
  255.     Notify("Fill Complete", totalBlocks .. " blocks placed")
  256. end
  257.  
  258. -- ====================
  259. -- REAL-TIME PREVIEW
  260. -- ====================
  261. local function startPreviewSystem()
  262.     if previewConnection then
  263.         previewConnection:Disconnect()
  264.         previewConnection = nil
  265.     end
  266.  
  267.     if not BuilderConfig.previewEnabled then return end
  268.  
  269.     previewConnection = RunService.Heartbeat:Connect(function()
  270.         if BuilderConfig.isPlacing or not humanoidRootPart or not humanoidRootPart.Parent then
  271.             return
  272.         end
  273.  
  274.         local lookVector = humanoidRootPart.CFrame.LookVector
  275.         local previewPos = humanoidRootPart.Position + (lookVector * 12)
  276.  
  277.         previewPos = Vector3.new(
  278.             math.floor(previewPos.X / 4) * 4 + 2,
  279.             math.floor(previewPos.Y / 4) * 4 + 2,
  280.             math.floor(previewPos.Z / 4) * 4 + 2
  281.         )
  282.  
  283.         if lastPreviewPos and (previewPos - lastPreviewPos).Magnitude < 0.1 then
  284.             return
  285.         end
  286.         lastPreviewPos = previewPos
  287.  
  288.         clearPreviews()
  289.  
  290.         local preview = createPreviewPart(previewPos, 4)
  291.         preview.Color = BuilderConfig.previewColor
  292.         table.insert(previewParts, preview)
  293.  
  294.         if BuilderConfig.showFillPreview then
  295.             showFillPreview(previewPos, BuilderConfig.fillSize)
  296.         end
  297.     end)
  298. end
  299.  
  300. -- ====================
  301. -- UI
  302. -- ====================
  303. -- Block Selection Tab
  304. local BlockTab = Window:CreateTab("Block Selection", 4483362458)
  305. BlockTab:CreateSection("Choose Block Type")
  306.  
  307. local BlockStorage = ReplicatedStorage:WaitForChild("BlockStorage")
  308.  
  309. -- Create a button for every block in BlockStorage
  310. for _, block in ipairs(BlockStorage:GetChildren()) do
  311.     BlockTab:CreateButton({
  312.         Name = block.Name,
  313.         Callback = function()
  314.             BuilderConfig.selectedBlock = block.Name
  315.             BuilderConfig.blockType = block.Name
  316.            
  317.             -- Optional color update
  318.             BuilderConfig.previewColor = Color3.fromRGB(255, 255, 255)
  319.            
  320.             Notify("Block Selected", block.Name)
  321.         end
  322.     })
  323. end
  324.  
  325. -- Instant Build
  326. local BuildTab = Window:CreateTab("Instant Build", 4483362458)
  327. BuildTab:CreateSection("Zero-Delay Building")
  328.  
  329. BuildTab:CreateButton({
  330.     Name = "Place Block",
  331.     Callback = function()
  332.         if not humanoidRootPart then return end
  333.         local lookVector = humanoidRootPart.CFrame.LookVector
  334.         local placePos = humanoidRootPart.Position + (lookVector * 10)
  335.         placePos = Vector3.new(
  336.             math.floor(placePos.X / 4) * 4 + 2,
  337.             math.floor(placePos.Y / 4) * 4 + 2,
  338.             math.floor(placePos.Z / 4) * 4 + 2
  339.         )
  340.         placeBlockInstantly(placePos)
  341.     end
  342. })
  343.  
  344. BuildTab:CreateButton({
  345.     Name = "Instant 10x10 Platform",
  346.     Callback = function()
  347.         if BuilderConfig.isPlacing or not humanoidRootPart then return end
  348.         BuilderConfig.isPlacing = true
  349.  
  350.         local startPos = humanoidRootPart.Position
  351.  
  352.         for x = -5, 5 do
  353.             for z = -5, 5 do
  354.                 local pos = Vector3.new(
  355.                     startPos.X + (x * 8),
  356.                     startPos.Y - 5,
  357.                     startPos.Z + (z * 8)
  358.                 )
  359.                 pos = Vector3.new(
  360.                     math.floor(pos.X / 4) * 4 + 2,
  361.                     math.floor(pos.Y / 4) * 4 + 2,
  362.                     math.floor(pos.Z / 4) * 4 + 2
  363.                 )
  364.                 placeBlockInstantly(pos)
  365.             end
  366.         end
  367.  
  368.         BuilderConfig.isPlacing = false
  369.         Notify("Platform", "10x10 platform created!")
  370.     end
  371. })
  372.  
  373. -- Fill Tool
  374. local FillTab = Window:CreateTab("Fill Tool", 4483362458)
  375. FillTab:CreateSection("Custom Size Filling (Infinite)")
  376.  
  377. local function setFillSize(size)
  378.     if size < 1 then size = 1 end
  379.     BuilderConfig.fillSize = size
  380.     BuilderConfig.customFillSize = size
  381.     clearFillPreview()
  382.     Notify("Fill Size", "Set to " .. size)
  383. end
  384.  
  385. FillTab:CreateInput({
  386.     Name = "Custom Fill Size",
  387.     PlaceholderText = "Enter any size (infinite)",
  388.     RemoveTextAfterFocusLost = false,
  389.     Callback = function(txt)
  390.         local size = tonumber(txt)
  391.         if size and size > 0 then
  392.             setFillSize(size)
  393.         end
  394.     end
  395. })
  396.  
  397. FillTab:CreateButton({
  398.     Name = "Small (3x3x3)",
  399.     Callback = function()
  400.         setFillSize(3)
  401.     end
  402. })
  403.  
  404. FillTab:CreateButton({
  405.     Name = "Medium (7x7x7)",
  406.     Callback = function()
  407.         setFillSize(7)
  408.     end
  409. })
  410.  
  411. FillTab:CreateButton({
  412.     Name = "Large (15x15x15)",
  413.     Callback = function()
  414.         setFillSize(15)
  415.     end
  416. })
  417.  
  418. FillTab:CreateButton({
  419.     Name = "Massive (25x25x25)",
  420.     Callback = function()
  421.         setFillSize(25)
  422.     end
  423. })
  424.  
  425. FillTab:CreateToggle({
  426.     Name = "Show Fill Preview",
  427.     CurrentValue = false,
  428.     Callback = function(state)
  429.         BuilderConfig.showFillPreview = state
  430.         if not state then
  431.             clearFillPreview()
  432.         end
  433.     end
  434. })
  435.  
  436. FillTab:CreateButton({
  437.     Name = "Fill at Cursor",
  438.     Callback = function()
  439.         if not humanoidRootPart then return end
  440.         local lookVector = humanoidRootPart.CFrame.LookVector
  441.         local fillPos = humanoidRootPart.Position + (lookVector * 15)
  442.         fillArea(fillPos, BuilderConfig.fillSize)
  443.     end
  444. })
  445.  
  446. FillTab:CreateButton({
  447.     Name = "Fill Below",
  448.     Callback = function()
  449.         if not humanoidRootPart then return end
  450.         local pos = humanoidRootPart.Position
  451.         fillArea(Vector3.new(pos.X, pos.Y - 8, pos.Z), BuilderConfig.fillSize)
  452.     end
  453. })
  454.  
  455. FillTab:CreateButton({
  456.     Name = "Fill Around",
  457.     Callback = function()
  458.         if not humanoidRootPart then return end
  459.         fillArea(humanoidRootPart.Position, BuilderConfig.fillSize)
  460.     end
  461. })
  462.  
  463. -- Preview
  464. local PreviewTab = Window:CreateTab("Preview", 4483362458)
  465. PreviewTab:CreateSection("Visual Settings")
  466.  
  467. PreviewTab:CreateToggle({
  468.     Name = "Enable Preview",
  469.     CurrentValue = true,
  470.     Callback = function(state)
  471.         BuilderConfig.previewEnabled = state
  472.         if state then
  473.             startPreviewSystem()
  474.         else
  475.             if previewConnection then
  476.                 previewConnection:Disconnect()
  477.                 previewConnection = nil
  478.             end
  479.             clearPreviews()
  480.             clearFillPreview()
  481.             lastPreviewPos = nil
  482.         end
  483.     end
  484. })
  485.  
  486. PreviewTab:CreateSlider({
  487.     Name = "Preview Transparency",
  488.     Range = {30, 90},
  489.     Increment = 1,
  490.     Suffix = "%",
  491.     CurrentValue = 70,
  492.     Callback = function(value)
  493.         BuilderConfig.previewTransparency = value / 100
  494.  
  495.         for _, part in ipairs(previewParts) do
  496.             if part and part.Parent then
  497.                 part.Transparency = BuilderConfig.previewTransparency
  498.             end
  499.         end
  500.         for _, part in ipairs(fillPreviewParts) do
  501.             if part and part.Parent then
  502.                 part.Transparency = 0.8
  503.             end
  504.         end
  505.     end
  506. })
  507.  
  508. -- Keybinds
  509. local KeyTab = Window:CreateTab("Keybinds", 4483362458)
  510. KeyTab:CreateSection("Instant Controls")
  511.  
  512. KeyTab:CreateKeybind({
  513.     Name = "INSTANT Place",
  514.     CurrentKeybind = "E",
  515.     HoldToInteract = false,
  516.     Callback = function()
  517.         if not humanoidRootPart then return end
  518.         local lookVector = humanoidRootPart.CFrame.LookVector
  519.         local placePos = humanoidRootPart.Position + (lookVector * 10)
  520.         placePos = Vector3.new(
  521.             math.floor(placePos.X / 4) * 4 + 2,
  522.             math.floor(placePos.Y / 4) * 4 + 2,
  523.             math.floor(placePos.Z / 4) * 4 + 2
  524.         )
  525.         placeBlockInstantly(placePos)
  526.     end
  527. })
  528.  
  529. KeyTab:CreateKeybind({
  530.     Name = "INSTANT Fill",
  531.     CurrentKeybind = "F",
  532.     HoldToInteract = false,
  533.     Callback = function()
  534.         if not humanoidRootPart then return end
  535.         local lookVector = humanoidRootPart.CFrame.LookVector
  536.         local fillPos = humanoidRootPart.Position + (lookVector * 15)
  537.         fillArea(fillPos, BuilderConfig.customFillSize)
  538.     end
  539. })
  540.  
  541. KeyTab:CreateKeybind({
  542.     Name = "Toggle UI",
  543.     CurrentKeybind = "RightShift",
  544.     HoldToInteract = false,
  545.     Callback = function()
  546.         pcall(function()
  547.             Rayfield:Toggle()
  548.         end)
  549.     end
  550. })
  551.  
  552. KeyTab:CreateKeybind({
  553.     Name = "Cycle Block",
  554.     CurrentKeybind = "Q",
  555.     HoldToInteract = false,
  556.     Callback = function()
  557.         local currentIndex = table.find(AvailableBlocks, BuilderConfig.selectedBlock) or 1
  558.         local nextIndex = (currentIndex % #AvailableBlocks) + 1
  559.         updateSelectedBlock(AvailableBlocks[nextIndex])
  560.         Notify("Block Cycled", AvailableBlocks[nextIndex])
  561.     end
  562. })
  563.  
  564. -- Utilities
  565. local UtilTab = Window:CreateTab("Utilities", 4483362458)
  566. UtilTab:CreateSection("Tools")
  567.  
  568. UtilTab:CreateButton({
  569.     Name = "Clear All Previews",
  570.     Callback = function()
  571.         clearPreviews()
  572.         clearFillPreview()
  573.         lastPreviewPos = nil
  574.         Notify("Previews", "Cleared")
  575.     end
  576. })
  577.  
  578. UtilTab:CreateButton({
  579.     Name = "Emergency Stop",
  580.     Callback = function()
  581.         BuilderConfig.isPlacing = false
  582.         clearPreviews()
  583.         clearFillPreview()
  584.         lastPreviewPos = nil
  585.         Notify("Emergency Stop", "All placement stopped")
  586.     end
  587. })
  588.  
  589. UtilTab:CreateParagraph({
  590.     Title = "Settings Info",
  591.     Content = "Delay: 0ms (Instant)\nFill Size: Infinite"
  592. })
  593.  
  594. -- Credits
  595. local CreditsTab = Window:CreateTab("Credits", 4483362458)
  596.  
  597. CreditsTab:CreateParagraph({
  598.     Title = "Credits",
  599.     Content = "Script created by Mr_3242\nThanks for using the script!"
  600. })
  601.  
  602. CreditsTab:CreateButton({
  603.     Name = "Copy TikTok Link",
  604.     Callback = function()
  605.         setclipboard("https://www.tiktok.com/@Mr_3242")
  606.         Notify("Copied", "TikTok link copied")
  607.     end
  608. })
  609.  
  610. CreditsTab:CreateButton({
  611.     Name = "Copy YouTube Link",
  612.     Callback = function()
  613.         setclipboard("https://www.youtube.com/@Mr_3242.")
  614.         Notify("Copied", "YouTube link copied")
  615.     end
  616. })
  617.  
  618. CreditsTab:CreateButton({
  619.     Name = "Copy Twitch Link",
  620.     Callback = function()
  621.         setclipboard("https://m.twitch.tv/quantumx_42/home")
  622.         Notify("Copied", "Twitch link copied")
  623.     end
  624. })
  625.  
  626. -- Unload
  627. local UnloadTab = Window:CreateTab("Unload", 4483362458)
  628.  
  629. getgenv().GrieferUnload = function()
  630.     BuilderConfig.isPlacing = false
  631.     BuilderConfig.previewEnabled = false
  632.     BuilderConfig.showFillPreview = false
  633.  
  634.     if previewConnection then
  635.         previewConnection:Disconnect()
  636.         previewConnection = nil
  637.     end
  638.  
  639.     clearPreviews()
  640.     clearFillPreview()
  641.     lastPreviewPos = nil
  642.  
  643.     pcall(function()
  644.         Rayfield:Destroy()
  645.     end)
  646.  
  647.     getgenv().GrieferUnload = nil
  648. end
  649.  
  650. UnloadTab:CreateButton({
  651.     Name = "Unload Script",
  652.     Callback = function()
  653.         getgenv().GrieferUnload()
  654.     end
  655. })
  656.  
  657. -- Init
  658. BuilderConfig.fillSize = BuilderConfig.customFillSize
  659. startPreviewSystem()
Tags: delta
Advertisement
Add Comment
Please, Sign In to add comment