-- Made by Ozil43001 - Safe Insert Script with advanced notifications, drag, close/open GUI local Players = game:GetService("Players") local player = Players.LocalPlayer -- Create UI local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui")) gui.Name = "InsertModelUI" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0, 240, 0, 150) frame.Position = UDim2.new(0, 20, 0, 100) frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) frame.BorderSizePixel = 0 Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10) -- Make frame draggable frame.Active = true frame.Draggable = true local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1, 0, 0, 30) title.Position = UDim2.new(0, 0, 0, 0) title.Text = "Made by Ozil43001" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.BackgroundTransparency = 1 title.Font = Enum.Font.SourceSansBold title.TextSize = 14 local textbox = Instance.new("TextBox", frame) textbox.Size = UDim2.new(1, -20, 0, 30) textbox.Position = UDim2.new(0, 10, 0, 40) textbox.PlaceholderText = "Enter Asset ID" textbox.Text = "" textbox.BackgroundColor3 = Color3.fromRGB(50, 50, 50) textbox.TextColor3 = Color3.new(1, 1, 1) textbox.Font = Enum.Font.SourceSans textbox.TextSize = 16 Instance.new("UICorner", textbox).CornerRadius = UDim.new(0, 6) local button = Instance.new("TextButton", frame) button.Size = UDim2.new(1, -20, 0, 40) button.Position = UDim2.new(0, 10, 0, 85) button.Text = "Insert Model" button.BackgroundColor3 = Color3.fromRGB(0, 170, 255) button.TextColor3 = Color3.new(1, 1, 1) button.Font = Enum.Font.SourceSansBold button.TextSize = 18 Instance.new("UICorner", button).CornerRadius = UDim.new(0, 6) -- Close button local closeBtn = Instance.new("TextButton", frame) closeBtn.Size = UDim2.new(0, 30, 0, 30) closeBtn.Position = UDim2.new(1, -35, 0, 5) closeBtn.Text = "❌" closeBtn.TextColor3 = Color3.fromRGB(255, 100, 100) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 18 closeBtn.BackgroundColor3 = Color3.fromRGB(60, 20, 20) Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(1, 0) -- Reopen button (outside the frame, hidden initially) local reopenBtn = Instance.new("TextButton", gui) reopenBtn.Size = UDim2.new(0, 160, 0, 40) reopenBtn.Position = UDim2.new(0, 20, 1, -60) reopenBtn.Text = "📂 Open Insert GUI" reopenBtn.BackgroundColor3 = Color3.fromRGB(50, 100, 255) reopenBtn.TextColor3 = Color3.fromRGB(255, 255, 255) reopenBtn.Font = Enum.Font.GothamBold reopenBtn.TextSize = 16 reopenBtn.Visible = false Instance.new("UICorner", reopenBtn).CornerRadius = UDim.new(0, 8) -- Advanced notification function local function notify(message, color) color = color or Color3.fromRGB(50, 50, 50) local notif = Instance.new("TextLabel", gui) notif.Size = UDim2.new(0, 300, 0, 40) notif.Position = UDim2.new(1, -320, 0, 20) notif.BackgroundColor3 = color notif.TextColor3 = Color3.new(1,1,1) notif.Text = "🔔 "..message notif.Font = Enum.Font.GothamBold notif.TextSize = 16 notif.BackgroundTransparency = 0 notif.BorderSizePixel = 0 notif.ZIndex = 9999 Instance.new("UICorner", notif).CornerRadius = UDim.new(0, 8) -- Animate fade out and destroy spawn(function() wait(3) for i = 1, 20 do notif.TextTransparency = notif.TextTransparency + 0.05 notif.BackgroundTransparency = notif.BackgroundTransparency + 0.05 wait(0.05) end notif:Destroy() end) end -- Safe insert function button.MouseButton1Click:Connect(function() local assetId = tonumber(textbox.Text) if not assetId then notify("Invalid Asset ID! Please enter a number.", Color3.fromRGB(255, 60, 60)) return end coroutine.wrap(function() local success, model = pcall(function() return game:GetObjects("rbxassetid://" .. assetId)[1] end) if success and model then -- Remove all scripts before use for _, v in pairs(model:GetDescendants()) do if v:IsA("Script") or v:IsA("LocalScript") then v:Destroy() end end model.Parent = nil wait(0.1) local clone = model:Clone() model:Destroy() wait(0.05) clone.Parent = workspace if clone:IsA("Model") and clone:FindFirstChildWhichIsA("BasePart") then local mainPart = clone:FindFirstChildWhichIsA("BasePart") mainPart.CFrame = CFrame.new(0, 10, 0) elseif clone:IsA("BasePart") then clone.Position = Vector3.new(0, 10, 0) end notify("Successfully inserted model!", Color3.fromRGB(0, 180, 100)) else notify("Failed to load asset.", Color3.fromRGB(255, 60, 60)) end end)() end) -- Close GUI button action closeBtn.MouseButton1Click:Connect(function() frame.Visible = false reopenBtn.Visible = true notify("GUI closed. Click 'Open Insert GUI' to reopen.", Color3.fromRGB(200, 200, 255)) end) -- Reopen GUI button action reopenBtn.MouseButton1Click:Connect(function() frame.Visible = true reopenBtn.Visible = false end)