How do i check if player got decal/shirt/place/anything

so i wanted to make a checker that checks players for something, (even if thier inventory is closed "PS i know you can do that) and if the item is banned the script wont just stop working and giving error.
and yes i checked the services, i found 1% of useful but it didnt help.
and yeah im that stupid that this is the case, where i got no code to show…

1. Create a local script in StarterPlayer - StarterCharacterScripts or to do in ServerScriptService for reliability that it will be unrealistic to bypass

Let us check if the player has this shirt

2.Code

--Server Method (ServerScriptService)

local TableOfAny = {
    "http://www.roblox.com/asset/?id=11953665823",
}
--translate the values ​​you need into the table

game.Players.PlayerAdded:Connect(function(player)
        local char = game.Workspace:WaitForChild(player.Name)
          if table.find(TableOfAny, char.Shirt.ShirtTemplate) then
            --here you already write what will happen if the player has something, for the test it will be
              print("true")
          else --not necessarily
                print("false")
    end
end)

If you need to find a specific thing, tell me what it is.

MarketplaceService:PlayerOwnsAsset(player, assetid)

  1. banned item stopping the script
  2. it doesnt found decal and a place

Blockquote 1. it doesnt found decal and a place

what decal are we talking about?

image id
(it really feels like you didn’t know about decals)