-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- β€’ Never log in on unofficial Roblox sites or lookalike domains. -- β€’ Real Roblox links use roblox.com (check the .com ending). -- β€’ Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- ========================================== -- KRYX LUCKY BLOCKS | made by kryx πŸ€ -- UI: Rayfield -- Spawn every block tier + player tools. -- Messages stay simple β€” the script never -- reveals how it does its magic 😎 -- INSTANCE GUARD: kill older copies of this script -- (re-executing used to STACK copies = the #1 lag cause) -- ========================================== local genv = (getgenv and getgenv()) or _G if genv.__KLBG_CLEANUP then pcall(genv.__KLBG_CLEANUP) task.wait(0.1) end local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))() -- Services local players = game:GetService("Players") local runService = game:GetService("RunService") local userInputService = game:GetService("UserInputService") local replicatedStorage = game:GetService("ReplicatedStorage") local workspace = game:GetService("Workspace") local localPlayer = players.LocalPlayer -- State Variables local flags = { walkSpeed = 16, speedOn = false, infJump = false, godmode = false, targetPlayer = "", } local connections = {} local function track(conn) table.insert(connections, conn) return conn end local function notify(t, c, d) pcall(function() Rayfield:Notify({ Title = t, Content = c, Duration = d or 3 }) end) end -- ========================================== -- BLOCK SPAWNING ENGINE -- ========================================== local function fireBlock(name) local rem = replicatedStorage:FindFirstChild(name) if rem then pcall(function() rem:FireServer() end) return true end return false end -- rapid-fire a remote N times with breathing room between shots local function fireTimes(name, times) task.spawn(function() for i = 1, times do fireBlock(name) task.wait(0.15) end end) end -- ========================================== -- CHARACTER HELPERS -- ========================================== local hum = function() local c = localPlayer.Character return c and c:FindFirstChildOfClass("Humanoid") end local root = function() local c = localPlayer.Character return c and c:FindFirstChild("HumanoidRootPart") end -- ========================================== -- GODMODE (fortress-mode: 3 layers of anti-death) -- ========================================== local function buildFortress() local h = hum() if not h then return end pcall(function() h.MaxHealth = math.huge end) pcall(function() h.Health = math.huge end) -- layer 2: never let the Dead state exist pcall(function() h:SetStateEnabled(Enum.HumanoidStateType.Dead, false) end) -- layer 3: void-floor can't slurp you up pcall(function() if workspace.FallenPartsDestroyHeight > -50000 then workspace.FallenPartsDestroyHeight = -50000 end end) end -- rebuild the fortress on every respawn while godmode is on track(localPlayer.CharacterAdded:Connect(function() task.wait(0.5) if flags.godmode then buildFortress() end end)) task.spawn(function() while true do task.wait(0.1) if flags.godmode then local h = hum() if h then pcall(function() h:SetStateEnabled(Enum.HumanoidStateType.Dead, false) if h.Health < h.MaxHealth then h.Health = h.MaxHealth end end) end end end end) -- walkspeed loop: change-only writes, never per-frame spam track(runService.Heartbeat:Connect(function() if not flags.speedOn then return end local h = hum() if h and h.WalkSpeed ~= flags.walkSpeed then h.WalkSpeed = flags.walkSpeed end end)) -- infinite jump track(userInputService.JumpRequest:Connect(function() if not flags.infJump then return end local h = hum() if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end end)) -- ========================================== -- RAYFIELD WINDOW -- ========================================== local Window = Rayfield:CreateWindow({ Name = "Kryx Lucky Blocks", LoadingTitle = "Kryx Lucky Blocks πŸ€", LoadingSubtitle = "made by kryx", ConfigurationSaving = { Enabled = false }, Discord = { Enabled = false }, KeySystem = false, }) -- ========================================== -- TAB 1: BLOCKS -- ========================================== local blocksTab = Window:CreateTab("Blocks πŸ€") blocksTab:CreateButton({ Name = "πŸ€ Spawn Lucky Block", Callback = function() if fireBlock("SpawnLuckyBlock") then notify("πŸ€", "Lucky Block spawned!", 2) end end, }) blocksTab:CreateButton({ Name = "πŸŽ€ Spawn Super Block", Callback = function() if fireBlock("SpawnSuperBlock") then notify("πŸŽ€", "Super Block spawned!", 2) end end, }) blocksTab:CreateButton({ Name = "πŸ’Ž Spawn Diamond Block", Callback = function() if fireBlock("SpawnDiamondBlock") then notify("πŸ’Ž", "Diamond Block spawned!", 2) end end, }) blocksTab:CreateButton({ Name = "🌈 Spawn Rainbow Block", Callback = function() if fireBlock("SpawnRainbowBlock") then notify("🌈", "Rainbow Block spawned!", 2) end end, }) blocksTab:CreateButton({ Name = "🌌 Spawn Galaxy Block", Callback = function() if fireBlock("SpawnGalaxyBlock") then notify("🌌", "Galaxy Block spawned!", 2) end end, }) blocksTab:CreateButton({ Name = "πŸ•³οΈ Spawn Void Block", Callback = function() if not replicatedStorage:FindFirstChild("SpawnRainbowBlock") or not replicatedStorage:FindFirstChild("SpawnGalaxyBlock") then notify("😒", "Couldn't spawn it!", 3) return end -- the void mix local r, g = replicatedStorage.SpawnRainbowBlock, replicatedStorage.SpawnGalaxyBlock task.spawn(function() for i = 1, 2 do pcall(function() r:FireServer() end) task.wait(0.2) end for i = 1, 3 do pcall(function() g:FireServer() end) task.wait(0.2) end notify("πŸ•³οΈ", "Void Block spawned!", 2) end) end, }) blocksTab:CreateButton({ Name = "⚑ Spawn Limited Block", Callback = function() if not replicatedStorage:FindFirstChild("SpawnGalaxyBlock") then notify("😒", "Couldn't spawn it!", 3) return end -- the limited blast fireTimes("SpawnGalaxyBlock", 15) notify("⚑", "Limited Block spawned!", 2) end, }) blocksTab:CreateLabel("Blocks land on your base plot β€” walk over to open 'em!") -- ========================================== -- TAB 2: PLAYER -- ========================================== local playerTab = Window:CreateTab("Player πŸƒ") playerTab:CreateInput({ Name = "WalkSpeed", PlaceholderText = "e.g. 16 or 60", RemoveTextAfterFocusLost = false, Callback = function(text) local n = tonumber(text) if n then flags.walkSpeed = n flags.speedOn = true notify("WalkSpeed", "Walking at " .. n, 2) end end, }) playerTab:CreateToggle({ Name = "⚑ Speed Enabled", CurrentValue = false, Callback = function(v) flags.speedOn = v end, }) playerTab:CreateToggle({ Name = "🦘 Infinite Jump", CurrentValue = false, Callback = function(v) flags.infJump = v end, }) playerTab:CreateToggle({ Name = "πŸ›‘οΈ Godmode", CurrentValue = false, Callback = function(v) flags.godmode = v if v then buildFortress() notify("πŸ›‘οΈ", "Godmode ON β€” you won't die!", 3) else notify("πŸ›‘οΈ", "Godmode off", 2) end end, }) playerTab:CreateLabel("GOTO PLAYER") local playerDD = playerTab:CreateDropdown({ Name = "Target Player", Options = { "loading…" }, CurrentOption = { "" }, MultipleOptions = false, Callback = function(opt) flags.targetPlayer = (type(opt) == "table" and opt[1]) or tostring(opt) end, }) -- live player list refresh (cheap: only rebuilds when the roster changes) local lastRoster = "" local function playerNames() local names = {} for _, p in ipairs(players:GetPlayers()) do if p ~= localPlayer then table.insert(names, p.Name) end end table.sort(names) return names end task.spawn(function() while true do task.wait(2) local names = playerNames() local sig = table.concat(names, "|") if sig ~= lastRoster then lastRoster = sig pcall(function() playerDD:Set(#names > 0 and names or { "nobody online" }) end) pcall(function() if playerDD.Refresh then playerDD:Refresh(#names > 0 and names or { "nobody online" }) end end) end end end) playerTab:CreateButton({ Name = "πŸ“ TP To Selected Player", Callback = function() local name = flags.targetPlayer if name == "" then notify("Goto", "Pick someone first!", 3) return end local target = players:FindFirstChild(name) local tr = target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") local mr = root() if tr and mr then pcall(function() mr.CFrame = tr.CFrame + Vector3.new(2, 0, 0) end) notify("πŸ“", "You teleported!", 2) else notify("πŸ“", "Couldn't reach that player!", 3) end end, }) -- cleanup hook (re-execution safe β€” never stacks copies) genv.__KLBG_CLEANUP = function() flags.speedOn = false flags.infJump = false flags.godmode = false for _, c in ipairs(connections) do pcall(function() c:Disconnect() end) end connections = {} pcall(function() Rayfield:DestroyWindow() end) end notify("Kryx Lucky Blocks", "Loaded! Go spawn chaos πŸ€βš‘", 4)