Well i know you are missing something between Players and GetCharacterFromPlayer. I am not an expert on scripting, but maybe mess around with words from the drop-down selection.
To build on that, unless you want your output to be spammed with random errors you should probably add an if statement.
script.Parent.Touched:Connect(function(hit)
local player = hit.Parent and game.Players:GetPlayerFromCharacter(hit.Parent)
if player and player:FindFirstChild("Collect") and player.Collect:FindFirstChild("Eggs") then
player.Collect.Eggs.Value = player.Collect.Eggs.Value + 1
end
end)