Asset loader
Key RequiredUniversal

Asset loader

Universal Scriptnesteli*arrosnesteli*arros 1.9K views 79 executesUpdated Aug 8, 2025
Unrated
00
Lua Script•158 lines (4919 chars)
-- 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)

Features & Information

Loade the roblox asset id

Community Comments (3)

ccanu471ccanu471Aug 8, 2025

how do i download the thing where i put in the script

nesteli*arrosnesteli*arrosSep 4, 2025

Oh you mean executor, you can download it by go to the executor website for example delta executor website, codex executor website, arceus executor website

anadejesusbarros76anadejesusbarros76Dec 29, 2025

Nice script bro

More Scripts for Universal Scripts