local RESOURCES = {}
local InsertService = game:GetService("InsertService")
local ServerStorage = game:GetService("ServerStorage")
RESOURCES.MODELS = {
TestModel = "rbxassetid://",
};
RESOURCES.MESHES = {
TestMesh = "rbxassetid://",
};
RESOURCES.IMAGES = {
TestImage = "rbxassetid://",
};
RESOURCES.UI = {
TestUI = ServerStorage:WaitForChild("test_UI"),
};
RESOURCES.SCRIPTS = {
TestScript = "rbxassetid://",
};
function RESOURCES:LoadModel(ASSET, POS, ORIGIN)
local success, model = pcall(function()
return InsertService:LoadAsset(ASSET)
end)
if success and model then
if POS then
if ORIGIN then
local PRIMARY = model.PrimaryPart
if PRIMARY then
local offset = POS - PRIMARY.Position
model:SetPrimaryPartCFrame(CFrame.new(ORIGIN + offset))
end
else
model:SetPrimaryPartCFrame(CFrame.new(POS))
end
end return model
else
warn("Failed to load model:", ASSET)
return nil
end
end
function RESOURCES:LoadMesh(ASSET, NAME, PARENT)
local mesh = PARENT:FindFirstChildOfClass("SpecialMesh") or Instance.new("SpecialMesh")
mesh.MeshId = ASSET
mesh.Name = tostring(NAME)
mesh.Parent = PARENT
return mesh
end
function RESOURCES:LoadImage(ASSET, NAME, PARENT, TYPE)
local element
if PARENT:FindFirstChildOfClass(TYPE) then
element = PARENT:FindFirstChildOfClass(TYPE)
else
element = Instance.new(TYPE)
element.Image = ASSET
element.Name = tostring(NAME)
element.Parent = PARENT
end return element
end
function RESOURCES:LoadDecal(ASSET, NAME, PARENT)
local decal = PARENT:FindFirstChildOfClass("Decal") or Instance.new("Decal")
decal.Image = ASSET
decal.Name = tostring(NAME)
decal.Parent = PARENT
return decal
end
function RESOURCES:LoadSound(ASSET, NAME, PARENT)
local sound = PARENT:FindFirstChildOfClass("Sound") or Instance.new("Sound")
sound.SoundId = ASSET
sound.Name = tostring(NAME)
sound.Parent = PARENT
return sound
end
function RESOURCES:LoadParticleEmitter(ASSET, NAME, PARENT)
local pe = PARENT:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
pe.Texture = ASSET
pe.Name = tostring(NAME)
pe.Parent = PARENT
return pe
end
function RESOURCES:LoadMaterial(ASSET)
local material = Instance.new("StandaloneMaterial")
material.Name = ASSET
return material
end
function RESOURCES:LoadTerrain(ASSET)
local terrain = Instance.new("Terrain")
terrain.Name = ASSET
return terrain
end
function RESOURCES:GetUI(ASSET)
local UI = RESOURCES.UI[ASSET]
if UI then
return UI:Clone()
else
warn("UI not found:", tostring(UI))
return nil
end
end
function RESOURCES:LoadScript(ASSET)
local ID = RESOURCES.SCRIPTS[ASSET]
if ID then
local success, loaded = pcall(function()
return InsertService:LoadAsset(ID)
end)
if success and loaded then
local SCRIPT = loaded:FindFirstChildOfClass("Script")
if SCRIPT then
return SCRIPT:Clone()
else
warn("Script not found in asset:", ASSET)
return nil
end
else
warn("Failed to load script:", ASSET)
return nil
end
else
warn("Script AssetID not found:", ASSET)
return nil
end
end
return RESOURCES
To embed this project on your website, copy the following code and paste it into your website's HTML: