Player 1
Events
Unit - A unit owned by Player 1 (Red) Dies
Conditions
((Dying unit) is A Hero) Equal to True
Actions
Set ReviveSeconds = ((Real((Level of (Dying unit)))) + 10.00)
Countdown Timer - Create a timer window for ReviveTimer with title ((Name of Player 1 (Red)) + Revive time:)
Set ReviveTimerWindow = (Last created timer window)
Countdown Timer - Start ReviveTimer as a One-shot timer that will expire in ReviveSeconds seconds
Countdown Timer - Show ReviveTimerWindow
Wait ReviveSeconds seconds
Countdown Timer - Destroy ReviveTimerWindow
Hero - Instantly revive (Dying unit) at (Center of RevivePlace <gen>), Show revival graphics
Camera - Pan camera for Player 1 (Red) to (Center of RevivePlace <gen>) over 0.00 seconds
ReviveSeconds = Real Variable (init = 0) ReviveTimer = Timer (init = new timer def) ReviveTimerWindow = Timer Window
Reviveplace = region = choose the place of reviving.
Change Wait ReviveSeconds to whatever u prefer.
Copy this for every player and create new variables or use arrays[0].
There are still easyer ways I guess but I'll just post this one.