I want to change the players face when they touch a part; this is the script I have:
local disableControlsRE = game:GetService("ReplicatedStorage"):FindFirstChild("DisableControls")
script.Parent.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
local char = hit.Parent
char.Head.face.Texture = "https://www.roblox.com/catalog/22877700/Whistle"
disableControlsRE:FireClient(player)
end
end)
The script works, that's not the problem, the trouble I have is the Texture, when I touch the Part instead of changing the face, it just puts it as blank, I presume because it can't read the link. So here's my question, how can I make the link work, or if it's not possible how can I find a texture with the faces I want with a link that the game can read? Any help is appreciated

6 comments
Asset links are formatted either: http://www.roblox.com/asset/?id=22877700 or rbxassetid://22877700
is there like an asset "store" like the catalog where i can browse them?
An item's ID on the catalogue is the same as its asset ID.
https://web.roblox.com/develop/library?CatalogContext=2&SortAggregation=5&LegendExpanded=true&Category=8 the players face would be a decal
you can't browse them if you want to get the rbxassetid link, first open the develop library in roblox and then find a decal you want and click it, and the link will be like https://www.roblox.com/catalog/22877700/Whistle, just take out the number at put it in rbxassetid:// and it will be rbxassetid://22877700
Use decals from the library. rbxassetid://430734047 (Whistle face decal found in library)