You might not be sure about the difference between 「あげます」、「もらいます」 and 「くれます」。
That's very common among Japanese language learners because 「あげます」 and 「くれます 」means ‘give’ in English. How should you use them and in which situation?
☆ Basic level
☓ 1-1 彼は私に花をあげました。
◯ 1-2 彼は私に花をくれました。
☓ 1-3 彼は先生に花をくれました。
「あげます」 is used when the receiver is not the speaker nor a member of speaker’s in-group.
1-1 is wrong because the receiver in this sentence is 「私」 but 「あげました」is used.
「くれました」should be used because subject is 「彼」 (not speaker).
And as receiver of 「くれました」should be the speaker or a member of speaker’s in-group, 1-3 is wrong. 「先生」 is not a speaker or a member of speaker’s in-group.
☆ Advanced level
◯ 2-1 彼は私に花をくれました。
◯ 2-2 私は彼に花をもらいました。
Whats the difference between 2-1 and 2-2 ? I have never seen any textbooks that describe the difference. Actually both sentences are grammatically correct but there's nuance differences between the 2 sentences.
Please pay attention to subject in both sentences.
What's the subject of 「くれました」？ That is 「彼」, on the other hand, subject of 「もらいました」 is 「私」。That means 「彼」 might unilaterally give a flower to 「私」. And it's unclear whether 「私」is happy or not .
But as subject of 「もらいました」 is 「私」、that means there is a will of 「私」 when I received a flower. Maybe 「私 」might ask him to present a flower to 「私」。
Grammatically both sentences are correct, but has small but different nuance. And please note that when situation is clear, 「私」is often omitted in sentences.
More example sentences for you:
(Not sure whether you like durian or not)
(Maybe you asked your friend to give durian. Or you are very happy to receive durian from your friend)