All right, you can do it with eventing alone, but it'll be just
tiny bit complicated.
While you're on the map, you'll need a parallel event that continuously sets two different variables: one to the players Map X and the other to the player's Map Y. (It's under characters in the variable control options)
Next, if your frog is sitting on one place, just set 2 variables one time to its Map X and Y. If it moves, do it in the same parallel event as before.
Now, in that parallel event, you need a conditional branch that uses a script as a condition. Here's what you enter, replacing my variables ids (the numbers in []) with the variables you're using:
Â
@>Conditional Branch: Script [b]$game_variables[playerx] - $game_variables[frogx] <= 5 && $game_variables[playerx] >= -5[/b]
  @>Conditional Branch: Script [b]$game_variables  [playery] <= 5 && $game_variables[frogy] >= -5[/b]
  @>Play SE "Small 03"
Â
So, put that code in conditional branches, the second one INSIDE the first, because they both have to be true. Then, within the second branch, play the sound, and then do this:
Â
@> Loop
  @>Wait: 35 frames
  @>Control Variable [005] += 1 (add one)
  @> Conditional Branch: Varible [005] == 20
   @> Break loop
  :Branch End
:Repeat Above
Â
That SHOULD work. If you have any questions or problems, let me know.
EDIT: Oh! And make sure you set your counter variable (the one you're adding to in your loop) back to zero before you start the loop or your frog will keep going off every second. LOL