I made this by making a player touch the snow, and once they touch it the Snowball will come to their backpack. But apparently it didn't work for some reason. But this is the script and how I set it up in workspace.
Workspace:
-- Snow (Model)
-- Snow (Part)
-- Script (The one that I was talking about)
Script:
script.Parent.Snow:connect(onTouch)
if snow.Name == "Snowball" then
print("Snowball given")
g = game.ReplicatedStorage:FindFirstChild("Snowball") -- Item in ReplicatedStorage
g:Clone().Parent = player.Backpack
else print("Failed")
end
end)
I hope these gave a good explanation. Thank you!

3 comments
ReplicatedStorage can be accessed by both the server and the client.
@ImageLabel, so I've been lied to :/
Lol.