It looks like you're new here. If you want to get involved, click one of these buttons!
Well, a search for Reactions on this forum or Badges on the Addons would get you most of the way.
I don't know that they do the exact same job, but people seem happy with them.
Seriously, do try searching on here before you ask questions.
This topic has been done to death, and there are now plugins which do the same job.
Just have a look.
I was looking to do this, and found this conversation.
For future reference, a workable, if not ideal, solution I found was this (using phpMyAdmin):
Go to your forum database.
Make a backup! (At the very least, back up the table gdn_userconversation)
Identify the largest value in the column CountMessages in gdn_conversation
view the gdn_userconversation table.
Click the SQL tab and paste the following:
UPDATE `gdn_userconversation` SET `CountReadMessages`="VALUE"
changing VALUE to the highest value of the CountMessages column.
This will effectively mark all conversations as read, even if they hadn't been.
Users will only see the new Inbox count once they have gone to their Inbox, and clicked on any message (read or not).
Where there are ongoing conversations, users will only get notification of new posts once they have added a new comment to the conversation.
I have no doubt there are more efficient ways of doing this, but at least this shows how it can be done.