-- [[ 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 ]] --[[rscripts:analytics:start]] -- Script analytics (enabled by the creator on rscripts.net). -- Runs in its own thread and cannot affect the script below. task.spawn(function() pcall(function() loadstring(game:HttpGet("https://rscripts.net/api/telemetry/client.lua?s=6a9ffbb82a03e85b0edcf8fa"))() end) end) --[[rscripts:analytics:end]] print("Started. Developed by scarn.") local reloadState = STATE local env = getgenv() if env.RealBringAll and env.RealBringAll.Stop then env.RealBringAll.Stop() end if env.RealFastDistance and env.RealFastDistance.Stop then env.RealFastDistance.Stop() end local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local CS = game:GetService("CollectionService") local HttpService = game:GetService("HttpService") local player = Players.LocalPlayer assert(game.PlaceId == 74507545904779, "This script is for Dig To the Earth's Core") local character = assert(player.Character, "Wait for your character to spawn") local root = assert(character:FindFirstChild("HumanoidRootPart"), "Character root missing") local humanoid = assert(character:FindFirstChildOfClass("Humanoid"), "Humanoid missing") local items = assert(workspace:FindFirstChild("Items"), "World items folder missing") local origin = root.CFrame local package = game:GetService("ReplicatedStorage"):WaitForChild("Packages") :WaitForChild("_Index"):FindFirstChild("sleitnick_knit@1.4.6") assert(package, "Expected game networking package missing") local services = package:WaitForChild("knit"):WaitForChild("Services") local dragRF = services:WaitForChild("DragService"):WaitForChild("RF") local drillRF = services:WaitForChild("DrillService"):WaitForChild("RF") local options = env.BringAllOptions or {} local M = {Running = true, Moved = 0, Skipped = 0, Processed = 0, Total = 0, Status = "starting", Failures = {}, Origin = origin.Position} env.RealBringAll = M local disabled, pending = {}, {} local worker, keyConnection local startedAt = os.clock() local function isShopItem(item) local current = item while current and current ~= workspace do if CS:HasTag(current, "ShopItem") or current:GetAttribute("ShopItem") == true then return true end current = current.Parent end for _, child in ipairs(item:GetDescendants()) do if CS:HasTag(child, "ShopItem") or child:GetAttribute("ShopItem") == true then return true end end return false end local function prefetch(item) if not item or not item.Parent or isShopItem(item) then return end local position = item:GetPivot().Position local request request = task.defer(function() pcall(function() player:RequestStreamAroundAsync(position, 2) end) pending[request] = nil end) pending[request] = true end local function publish() workspace:SetAttribute("RealBringAllStatus", HttpService:JSONEncode({ running = M.Running, moved = M.Moved, skipped = M.Skipped, processed = M.Processed, total = M.Total, status = M.Status, lastFailure = M.Failures[#M.Failures], origin = tostring(M.Origin), elapsed = os.clock() - startedAt, })) end local function check() assert(M.Running and (not reloadState or reloadState.alive()), "Stopped") assert(player.Character == character and root.Parent and humanoid.Health > 0, "Character changed or died; run again after respawning") assert(workspace:GetAttribute("InCutScene") ~= true and workspace:GetAttribute("InfiniteRebasing") ~= true, "Game transition started") end local function waitChecked(seconds) local deadline = os.clock() + seconds repeat check(); task.wait() until os.clock() >= deadline end local function invoke(remote, ...) check() local args = table.pack(...) local done, result = false, nil local request = task.spawn(function() result = table.pack(pcall(function() return remote:InvokeServer(table.unpack(args, 1, args.n)) end)) done = true end) pending[request] = true local deadline = os.clock() + 5 while not done and os.clock() < deadline do check(); task.wait() end pending[request] = nil if not done then pcall(task.cancel, request); error("Remote request timed out", 0) end assert(result[1], tostring(result[2])) check() return table.unpack(result, 2, result.n) end local function resetVelocity(part) part.AssemblyLinearVelocity = Vector3.zero part.AssemblyAngularVelocity = Vector3.zero end local function restorePlayer() if player.Character == character and root.Parent and humanoid.Health > 0 then pcall(function() root.CFrame = origin; resetVelocity(root) end) end end local function releaseAsync() local request = task.spawn(function() pcall(function() dragRF.Cancel:InvokeServer() end) end) task.delay(5, function() pcall(task.cancel, request) end) end function M.Stop(reason) if not M.Running then return end M.Running = false if worker and worker ~= coroutine.running() then pcall(task.cancel, worker) end for request in pairs(pending) do pcall(task.cancel, request) end if keyConnection then keyConnection:Disconnect() end restorePlayer() for _, connection in ipairs(disabled) do pcall(function() connection:Enable() end) end table.clear(disabled) releaseAsync() M.Status = reason or "stopped" publish() print(string.format("Bring items: %d moved, %d skipped. %s", M.Moved, M.Skipped, M.Status)) end if reloadState then reloadState.onCleanup(function() M.Stop("replaced") end) end keyConnection = UIS.InputBegan:Connect(function(input, processed) if not processed and input.KeyCode == Enum.KeyCode.F8 then M.Stop("stopped with F8") end end) local function suspendDriver() for _, entry in ipairs({{RunService.Heartbeat, 1332}, {RunService.RenderStepped, 1181}}) do for _, connection in ipairs(getconnections(entry[1])) do local fn = connection.Function if fn then local source, line = debug.info(fn, "sl") if string.find(source, "SharedPlanets.Components.TrainComponent", 1, true) and line == entry[2] and connection.Enabled then connection:Disable() table.insert(disabled, connection) end end end end invoke(drillRF.UpdateDriverThrottle, 0) invoke(drillRF.StopDriving) humanoid.Sit = false humanoid:ChangeState(Enum.HumanoidStateType.GettingUp) end local function bring(item, number) check() assert(item.Parent == items, "Item no longer available") assert(not isShopItem(item), "Shop item excluded") local source = item:GetPivot() root.CFrame = CFrame.new(source.Position + Vector3.new(0, 4, 0)) resetVelocity(root) prefetch(item) waitChecked(0.08) local accepted = false for attempt = 1, 3 do assert(not isShopItem(item), "Shop item excluded") accepted = invoke(dragRF.Request, item) == true if accepted then break end if attempt < 3 then waitChecked(0.12 * attempt) end end assert(accepted, "Server rejected pickup") local itemPart local deadline = os.clock() + 3 repeat check() itemPart = if item:IsA("BasePart") then item else item:FindFirstChildWhichIsA("BasePart", true) if itemPart and not itemPart.Anchored and isnetworkowner(itemPart) then break end waitChecked(0.02) until os.clock() >= deadline assert(itemPart and not itemPart.Anchored and isnetworkowner(itemPart), "Item physics unavailable or protected") assert(not isShopItem(item), "Shop item excluded") local angle = number * 2.39996323 local radius = 8 + math.sqrt(number) * 2 local destination = origin.Position + Vector3.new(math.cos(angle) * radius, 2, math.sin(angle) * radius) restorePlayer() item:PivotTo(CFrame.new(destination) * source.Rotation) if item:IsA("BasePart") then resetVelocity(item) end for _, part in ipairs(item:GetDescendants()) do if part:IsA("BasePart") then resetVelocity(part) end end waitChecked(0.08) invoke(dragRF.Cancel) waitChecked(0.12) assert(item.Parent == items and (item:GetPivot().Position - destination).Magnitude < 15, "Item did not remain at the destination") end worker = task.spawn(function() local ok, problem = xpcall(function() suspendDriver() local queue = {} for _, item in ipairs(items:GetChildren()) do if (item:IsA("Model") or item:IsA("BasePart")) and not isShopItem(item) then table.insert(queue, item) end end table.sort(queue, function(a, b) return (a:GetPivot().Position - origin.Position).Magnitude < (b:GetPivot().Position - origin.Position).Magnitude end) M.Total = math.min(#queue, tonumber(options.MaxItems) or #queue) prefetch(queue[1]) for i = 1, M.Total do check() local item = queue[i] if i < M.Total then prefetch(queue[i + 1]) end M.Status = "bringing " .. item.Name publish() local moved, failure = pcall(bring, item, M.Moved + 1) check() if moved then M.Moved += 1 else M.Skipped += 1 table.insert(M.Failures, item.Name .. ": " .. tostring(failure)) pcall(function() invoke(dragRF.Cancel) end) end restorePlayer() M.Processed = i publish() end end, debug.traceback) M.Stop(if ok then "complete" else tostring(problem)) end) print("Bring all items started. F8 stops and returns you to your starting position.") return M