I can't provide a script yet but a walkthrough
Create a script which loop throw a database table with mobs who should respawn etc. (MobID, Name, Map, X, Y boolean if it is MVP or not, respawn time in minutes)
Create a 2nd database with mobs and dead time in minutes
OnInit loop throw 1st table. Search in 2nd table and check if mob should respawn or not. If respawn change the dead time to -1. If -1 the mob is still alive. If the mob doesn't exist spawn it (for their first time). Add a timer to repeat or a event OnSecond59
OnPCKillMobEvent check if mob is on 1st table and if it is check if it is on 2nd table too. If not add it or else change the dead time to current Unix time devided by 1000.
It could be laggy therefore I recommend to use minutes or greater.
If convex mirror don't work u can create a custom function to check if monster is alive and use getunitdata to check position and add a blip on map like convex mirror.
Rynbef~