Try this, this is what I used. For the death and timer:
Trigger:
Unit Dies
Events
Unit - A unit Dies
Conditions
((Triggering unit) is A Hero) Equal to True
Actions
Set ReviveHero[(Player number of (Owner of (Dying unit)))] = (Dying unit)
Countdown Timer - Create a timer window for RespawnTimer[(Player number of (Owner of (Dying unit)))] with title Revive in:
Set RevivalTimerwindow[(Player number of (Owner of (Dying unit)))] = (Last created timer window)
Countdown Timer - Start RespawnTimer[(Player number of (Owner of (Dying unit)))] as a One-shot timer that will expire in (1.00 + ((Real((Hero level of (Dying unit)))) x 3.00)) seconds
Countdown Timer - Hide (Last created timer window)
Countdown Timer - Show (Last created timer window) for (Owner of (Dying unit))
And for Player 1's revive:
Trigger:
Respawn P1
Events
Time - RespawnTimer[1] expires
Conditions
Actions
Hero - Instantly revive ReviveHero[1] at (Player 12 (Brown) start location), Show revival graphics
Camera - Pan camera for Player 1 (Red) to (Player 12 (Brown) start location) over 0.00 seconds
Countdown Timer - Destroy RevivalTimerwindow[1]
For multiple players, replace 1 in respawn timer 1 to the number of the player that the hero is being respawned for like Player '2' Blue, Player '3' Teal ect. and change the 1 in ReviveHero to the number of the player the hero is being respawned for and change player 1 to whatever player you need. (Player 12's start position is used instead of a revive region)
Ghan has said he has fixed this. Monovertex please confirm this fix. This was only a problem with people that had signatures in the upper levels like not the special members but the respected members.