The tricky one for me would be the 3rd one where chances of mistake is more.
We (hope) for nice weather for the picnic. But it (train)!
a. We had been hoping for a nice weather for the picnic. But it rained.
Or
b. We hoped for a nice weather for the picnic. But it had been raining.
But unless it is still raining, 'b' is incorrect. Also, the correct way to write would be then 'But it has been raining'. So in this context, the sentence 'a' is correct.
Hope this helps. You can try out many more yourselves.