I don't plan to use Roll-up Helper or Declarative Roll-up Summary available in AppExchange & was trying to see if I can have this implemented without any code.
2 answers
You could use a Validation Rule to prevent them from selecting a different value when LastActivityDate is blank.
If you wanted to narrow it down to only events, you would need to use process builder to create a process that updates a date/time field on the related Opportunity (use criteria to filter for events where Related to ID starts with 006).
You could use that filed in a Validation Rule OR if you wanted a specific count, each time your Date/Time field was changed, you could use another process to increment a counter field by 1.