Well, I've created an inventory GUI, everything is done but when I test it, the decals failed to preload. Anyone got any idea on what happened?
Here's the script itself:
wait(1)
local rep = game:GetService("ReplicatedStorage")
local remote = rep.Remotes:WaitForChild("GetPlayerItemInfoCTC")
local remote2 = rep.Remotes:WaitForChild("SendPlayerItemInfoEvent")
local remote3 = rep.Remotes:WaitForChild("InventoryControlEvent")
local remote4 = rep.Remotes:WaitForChild("CloseAllGuisCTC")
local frame = script.Parent
local gui = frame.Parent
local panelHolder = frame:FindFirstChild("BlankHolder")
local plr = game.Players.LocalPlayer
local itemModule = require(rep.Modules.ItemLibrary)
local contentProvider = game:GetService("ContentProvider")
local quanityList = {}
local itemInfo = {}
local function checkHorizontalNumber(id, line)
if line == 1 then
return id
else
local preOperator = line - 1
local operator = 4 * preOperator
local formula = id - operator
return formula
end
end
local itemInfo = remote:InvokeServer()
wait(1)
for i, v in pairs(itemInfo) do
print(i,v)
local lineNumber = math.ceil(i / 4)
local HorizontalId = checkHorizontalNumber(i, 1)
local additional = HorizontalId - 1
local additional2 = lineNumber - 1
local Coordinate = UDim2.new(0, 135 * additional, 0, 135 * additional2)
local obtainedItemName, obtainedItemInfo = itemModule.GetItem(v)
wait(0.25)
if obtainedItemInfo then
local itemTier = itemModule.TierValue(v)
local targetPanel = panelHolder:FindFirstChild("Panel"..i)
if targetPanel then
targetPanel.ToolName.Text = obtainedItemName
targetPanel.ItemImage.Image = "rbxassetid://"..obtainedItemInfo.image
wait()
contentProvider:PreloadAsync({targetPanel.ItemImage})
else
local newPanel = panelHolder.Panel1:Clone()
newPanel.Name = "Panel"..i
newPanel.Parent = panelHolder
newPanel.ToolName.Text = obtainedItemName
newPanel.Position = Coordinate
newPanel.ItemImage.Image = "rbxassetid://"..obtainedItemInfo.image
wait()
contentProvider:PreloadAsync({newPanel.ItemImage})
end
end
end
The item library is just a module script that stores all information for all gears.
Here's the output:
1 Wood Club Starting Module 20:50:36.140 - ContentProvider:PreloadAsync() failed for rbxassetid://2331348483 2 Alpha Sword Starting Module 20:50:36.487 - ContentProvider:PreloadAsync() failed for rbxassetid://2331348483
The game is a group game, and the decal's owner is the group. This should've worked properly but it didn't, if you can find any problem please tell me, all help appreciated.
