-- ============================================ -- SERVICES -- ============================================ local Players = game:GetService("Players") local StarterGui = game:GetService("StarterGui") local UserInputService = game:GetService("UserInputService") -- ============================================ -- WAIT FOR CLIENT -- ============================================ local LocalPlayer for i = 1, 100 do LocalPlayer = Players.LocalPlayer if LocalPlayer then break end task.wait(0.1) end if not LocalPlayer then warn("[PulseCore] LocalPlayer was not detected.") return end local PlayerGui for i = 1, 100 do PlayerGui = LocalPlayer:FindFirstChildOfClass("PlayerGui") if PlayerGui then break end task.wait(0.1) end if not PlayerGui then warn("[PulseCore] PlayerGui was not detected.") return end -- ============================================ -- STATE -- ============================================ local Running = true local Saving = false local InputConnection -- ============================================ -- ROBLOX NOTIFICATION -- ============================================ local function Notify(text, duration) pcall(function() StarterGui:SetCore("SendNotification", { Title = "PulseCore", Text = text, Duration = duration or 5 }) end) end -- ============================================ -- REMOVE OLD WINDOW -- ============================================ local OldGui = PlayerGui:FindFirstChild("PulseCorePlaceSaver") if OldGui then OldGui:Destroy() end -- ============================================ -- GUI -- ============================================ local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "PulseCorePlaceSaver" ScreenGui.ResetOnSpawn = false ScreenGui.IgnoreGuiInset = true ScreenGui.DisplayOrder = 999999 ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = PlayerGui -- Overlay local Overlay = Instance.new("Frame") Overlay.Size = UDim2.fromScale(1, 1) Overlay.BackgroundColor3 = Color3.fromRGB(0, 0, 0) Overlay.BackgroundTransparency = 0.45 Overlay.BorderSizePixel = 0 Overlay.Parent = ScreenGui -- Main window local Window = Instance.new("Frame") Window.Name = "Window" Window.AnchorPoint = Vector2.new(0.5, 0.5) Window.Position = UDim2.fromScale(0.5, 0.5) Window.Size = UDim2.fromOffset(440, 250) Window.BackgroundColor3 = Color3.fromRGB(20, 20, 20) Window.BorderSizePixel = 1 Window.BorderColor3 = Color3.fromRGB(100, 100, 100) Window.Parent = ScreenGui local WindowCorner = Instance.new("UICorner") WindowCorner.CornerRadius = UDim.new(0, 10) WindowCorner.Parent = Window -- ============================================ -- TITLE -- ============================================ local Title = Instance.new("TextLabel") Title.BackgroundTransparency = 1 Title.Position = UDim2.fromOffset(22, 16) Title.Size = UDim2.new(1, -44, 0, 28) Title.Font = Enum.Font.GothamBold Title.Text = "PulseCore" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 21 Title.TextXAlignment = Enum.TextXAlignment.Left Title.Parent = Window local Subtitle = Instance.new("TextLabel") Subtitle.BackgroundTransparency = 1 Subtitle.Position = UDim2.fromOffset(22, 45) Subtitle.Size = UDim2.new(1, -44, 0, 20) Subtitle.Font = Enum.Font.Gotham Subtitle.Text = "Place Saver" Subtitle.TextColor3 = Color3.fromRGB(150, 150, 150) Subtitle.TextSize = 13 Subtitle.TextXAlignment = Enum.TextXAlignment.Left Subtitle.Parent = Window -- ============================================ -- WARNING -- ============================================ local Warning = Instance.new("TextLabel") Warning.BackgroundTransparency = 1 Warning.Position = UDim2.fromOffset(22, 82) Warning.Size = UDim2.new(1, -44, 0, 90) Warning.Font = Enum.Font.Gotham Warning.Text = "Warning\n\nStarting the place save may temporarily freeze the game.\nThis is normal while the place is being processed." Warning.TextColor3 = Color3.fromRGB(215, 215, 215) Warning.TextSize = 13 Warning.TextWrapped = true Warning.TextXAlignment = Enum.TextXAlignment.Left Warning.TextYAlignment = Enum.TextYAlignment.Top Warning.Parent = Window -- ============================================ -- BUTTONS -- ============================================ local Cancel = Instance.new("TextButton") Cancel.Name = "Cancel" Cancel.AnchorPoint = Vector2.new(1, 1) Cancel.Position = UDim2.new(1, -22, 1, -18) Cancel.Size = UDim2.fromOffset(125, 40) Cancel.BackgroundColor3 = Color3.fromRGB(70, 70, 70) Cancel.BorderSizePixel = 0 Cancel.AutoButtonColor = true Cancel.Font = Enum.Font.GothamBold Cancel.Text = "Cancel" Cancel.TextColor3 = Color3.fromRGB(235, 235, 235) Cancel.TextSize = 13 Cancel.Parent = Window local CancelCorner = Instance.new("UICorner") CancelCorner.CornerRadius = UDim.new(0, 7) CancelCorner.Parent = Cancel local Continue = Instance.new("TextButton") Continue.Name = "Continue" Continue.AnchorPoint = Vector2.new(1, 1) Continue.Position = UDim2.new(1, -157, 1, -18) Continue.Size = UDim2.fromOffset(125, 40) Continue.BackgroundColor3 = Color3.fromRGB(245, 245, 245) Continue.BorderSizePixel = 0 Continue.AutoButtonColor = true Continue.Font = Enum.Font.GothamBold Continue.Text = "Continue" Continue.TextColor3 = Color3.fromRGB(20, 20, 20) Continue.TextSize = 13 Continue.Parent = Window local ContinueCorner = Instance.new("UICorner") ContinueCorner.CornerRadius = UDim.new(0, 7) ContinueCorner.Parent = Continue -- ============================================ -- STOP SCRIPT -- ============================================ local function StopScript() Running = false if InputConnection then InputConnection:Disconnect() InputConnection = nil end if ScreenGui then ScreenGui:Destroy() end Notify("Script cancelled.", 4) print("[PulseCore] Script stopped.") end -- ============================================ -- SAVE -- ============================================ local function SavePlace() if not Running or Saving then return end Saving = true if type(saveinstance) ~= "function" then Saving = false Notify("saveinstance was not found.", 7) warn("[PulseCore] saveinstance is unavailable.") return end Notify( "Place saving started. The game may freeze temporarily.", 7 ) task.wait(0.25) local FileName = string.format( "Place_%s_%s_FULL.rbxlx", tostring(game.PlaceId), os.date("%Y%m%d_%H%M%S") ) print("[PulseCore] Saving:") print(FileName) local Success, Result = pcall(function() return saveinstance({ FilePath = FileName, Decompile = true, IgnoreDefaultProperties = false }) end) Saving = false if Success then print("[PulseCore] Save completed.") print("[PulseCore] Result: " .. tostring(Result)) Notify( "Place saved successfully.", 7 ) return end warn("[PulseCore] saveinstance error:") warn(tostring(Result)) Notify( "Save failed: " .. tostring(Result), 10 ) end -- ============================================ -- CONTINUE BUTTON -- ============================================ Continue.MouseButton1Click:Connect(function() if not Running or Saving then return end Continue.Active = false Cancel.Active = false ScreenGui:Destroy() task.spawn(function() SavePlace() end) end) -- ============================================ -- CANCEL BUTTON -- ============================================ Cancel.MouseButton1Click:Connect(function() if not Running then return end StopScript() end) -- ============================================ -- RIGHTSHIFT -- ============================================ InputConnection = UserInputService.InputBegan:Connect(function(input, processed) if processed or not Running then return end if input.KeyCode == Enum.KeyCode.RightShift then task.spawn(function() SavePlace() end) end end) -- ============================================ -- START -- ============================================ print("========================================") print("[PulseCore] Place Saver loaded.") print("[PulseCore] Waiting for Continue or Cancel.") print("[PulseCore] RightShift = Save Place.") print("========================================") Notify( "Place Saver loaded.", 5 )