local Params = { RepoURL = "https://raw.githubusercontent.com/luau/SynSaveInstance/main/", SSI = "saveinstance", } local synsaveinstance = (loadstring or load)(game:HttpGet(Params.RepoURL .. Params.SSI .. ".luau", true), Params.SSI)() local UserInputService = game:GetService("UserInputService") local Options = {} -- Default table of all possible options local AllOptions = { __DEBUG_MODE = false, ReadMe = true, SafeMode = false, ShutdownWhenDone = false, AntiIdle = true, Anonymous = false, ShowStatus = true, Callback = false, mode = "optimized", noscripts = false, scriptcache = true, decomptype = "", timeout = 10, DecompileJobless = false, SaveBytecode = false, DecompileIgnore = {TextChatService = true}, IgnoreList = {CoreGui = true, CorePackages = true}, ExtraInstances = {}, IgnoreProperties = {}, SaveCacheInterval = 0x1600 * 10, FilePath = false, Object = false, IsModel = false, NilInstances = false, NilInstancesFixes = {}, IgnoreDefaultProperties = true, IgnoreNotArchivable = true, IgnorePropertiesOfNotScriptsOnScriptsMode = false, IgnoreSpecialProperties = false, IsolateLocalPlayer = false, IsolateStarterPlayer = false, IsolateLocalPlayerCharacter = false, RemovePlayerCharacters = true, SaveNotCreatable = false, NotCreatableFixes = {}, IsolatePlayers = false, AlternativeWritefile = true, IgnoreDefaultPlayerScripts = true, IgnoreSharedStrings = true, SharedStringOverwrite = false, TreatUnionsAsParts = false, } local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SaveInstanceFullUI" ScreenGui.Parent = game.CoreGui ScreenGui.ResetOnSpawn = false local Frame = Instance.new("Frame") Frame.Size = UDim2.new(0, 500, 0, 400) Frame.Position = UDim2.new(0.5, -250, 0.5, -200) Frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) Frame.BorderSizePixel = 0 Frame.Parent = ScreenGui Frame.Active = true local Title = Instance.new("TextLabel", Frame) Title.Size = UDim2.new(1, 0, 0, 30) Title.BackgroundColor3 = Color3.fromRGB(50, 50, 50) Title.Text = "Saveinstance UI" Title.TextColor3 = Color3.new(1, 1, 1) Title.TextSize = 18 Title.Font = Enum.Font.SourceSansBold local Scroll = Instance.new("ScrollingFrame", Frame) Scroll.Size = UDim2.new(1, 0, 1, -70) Scroll.Position = UDim2.new(0, 0, 0, 30) Scroll.CanvasSize = UDim2.new(0, 0, 0, 0) Scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y Scroll.ScrollBarThickness = 6 Scroll.BackgroundColor3 = Color3.fromRGB(35, 35, 35) local UIListLayout = Instance.new("UIListLayout", Scroll) UIListLayout.Padding = UDim.new(0, 4) for key, default in pairs(AllOptions) do local container = Instance.new("Frame") container.Size = UDim2.new(1, -10, 0, 35) container.BackgroundColor3 = Color3.fromRGB(40, 40, 40) container.Parent = Scroll local label = Instance.new("TextLabel") label.Text = tostring(key) label.Size = UDim2.new(0.5, -10, 1, 0) label.Position = UDim2.new(0, 5, 0, 0) label.BackgroundTransparency = 1 label.TextColor3 = Color3.new(1, 1, 1) label.TextSize = 14 label.Font = Enum.Font.SourceSans label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = container if typeof(default) == "boolean" then local toggle = Instance.new("TextButton") toggle.Size = UDim2.new(0.5, -10, 1, -6) toggle.Position = UDim2.new(0.5, 5, 0, 3) toggle.BackgroundColor3 = Color3.fromRGB(60, 60, 60) toggle.Text = tostring(default) toggle.TextColor3 = Color3.new(1, 1, 1) toggle.TextSize = 14 toggle.Font = Enum.Font.SourceSans toggle.Parent = container Options[key] = default toggle.MouseButton1Click:Connect(function() Options[key] = not Options[key] toggle.Text = tostring(Options[key]) end) elseif typeof(default) == "number" or typeof(default) == "string" then local box = Instance.new("TextBox") box.Size = UDim2.new(0.5, -10, 1, -6) box.Position = UDim2.new(0.5, 5, 0, 3) box.BackgroundColor3 = Color3.fromRGB(60, 60, 60) box.Text = tostring(default) box.TextColor3 = Color3.new(1, 1, 1) box.TextSize = 14 box.Font = Enum.Font.SourceSans box.ClearTextOnFocus = false box.Parent = container Options[key] = default box.FocusLost:Connect(function() if typeof(default) == "number" then local n = tonumber(box.Text) if n then Options[key] = n end else Options[key] = box.Text end end) else Options[key] = default local editBtn = Instance.new("TextButton") editBtn.Size = UDim2.new(0.5, -10, 1, -6) editBtn.Position = UDim2.new(0.5, 5, 0, 3) editBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 80) editBtn.Text = "[edit]" editBtn.TextColor3 = Color3.new(1, 1, 1) editBtn.TextSize = 14 editBtn.Font = Enum.Font.SourceSans editBtn.Parent = container editBtn.MouseButton1Click:Connect(function() local popup = Instance.new("Frame") popup.Size = UDim2.new(0, 400, 0, 300) popup.Position = UDim2.new(0.5, -200, 0.5, -150) popup.BackgroundColor3 = Color3.fromRGB(30, 30, 30) popup.BorderSizePixel = 0 popup.ZIndex = 5 popup.Parent = ScreenGui local closeBtn = Instance.new("TextButton", popup) closeBtn.Size = UDim2.new(0, 60, 0, 25) closeBtn.Position = UDim2.new(1, -65, 0, 5) closeBtn.Text = "Close" closeBtn.BackgroundColor3 = Color3.fromRGB(100, 30, 30) closeBtn.TextColor3 = Color3.new(1, 1, 1) closeBtn.ZIndex = 6 local label = Instance.new("TextLabel", popup) label.Text = "Edit: " .. key label.Size = UDim2.new(1, -70, 0, 25) label.Position = UDim2.new(0, 5, 0, 5) label.TextColor3 = Color3.new(1, 1, 1) label.BackgroundTransparency = 1 label.TextXAlignment = Enum.TextXAlignment.Left label.ZIndex = 6 local inputBox = Instance.new("TextBox", popup) inputBox.Position = UDim2.new(0, 10, 0, 35) inputBox.Size = UDim2.new(1, -20, 1, -45) inputBox.Text = game:GetService("HttpService"):JSONEncode(default) inputBox.TextColor3 = Color3.new(1, 1, 1) inputBox.TextSize = 14 inputBox.Font = Enum.Font.Code inputBox.MultiLine = true inputBox.ClearTextOnFocus = false inputBox.TextWrapped = false inputBox.TextYAlignment = Enum.TextYAlignment.Top inputBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50) inputBox.ZIndex = 6 closeBtn.MouseButton1Click:Connect(function() local success, decoded = pcall(function() return game:GetService("HttpService"):JSONDecode(inputBox.Text) end) if success then Options[key] = decoded end popup:Destroy() end) end) end end local RunButton = Instance.new("TextButton", Frame) RunButton.Size = UDim2.new(1, -10, 0, 30) RunButton.Position = UDim2.new(0, 5, 1, -35) RunButton.BackgroundColor3 = Color3.fromRGB(75, 75, 75) RunButton.Text = "Execute Saveinstance" RunButton.TextColor3 = Color3.new(1, 1, 1) RunButton.Font = Enum.Font.SourceSansBold RunButton.TextSize = 16 RunButton.MouseButton1Click:Connect(function() pcall(function() synsaveinstance(Options) end) end) local dragging, dragInput, dragStart, startPos Frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = Frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) Frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if dragging and input == dragInput then local delta = input.Position - dragStart Frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end)