I agree with your friend. If I have to go out and pay for a meal and the invite says "no gifts" then no I wont take a gift, just a card.

If it was at the person's house and it still says "no gifts" then I might take something to drink along.