The script is not disabled and no errors appear, very odd. code:
local fram = script.Parent.back
local num = 1
game.Players.PlayerAdded:connect(function(plr)
print("1")
for _,v in pairs(plr:WaitForChild("Inventory"):GetChildren()) do
print("2")
local item = Instance.new("ImageButton", fram)
item.BackgroundTransparency = 1
item.Name = "item"..tostring(num)
item.Size = UDim2.new(.02, 0, .6, 0)
local ex = item.Name:sub(4)
item.Position = UDim2.new(tonumber(ex / 50), 0, 0.15, 0)
item.Image = "rbxassetid://"..tostring(v.itemPrev.Value)
item.ZIndex = 2
num = num + 1
end
end)

4 comments
try using local fram = script.Parent:WaitForChild("back")
Is this a local script?
not a local script, and that didnt work bubba
actually a local script will work with this code the real program is that a it is possible that the code breaks at line 1. I highly suggest commenting the first list and you will see it will print 1 when a user is added.