Dans ce cas précis, si on y réfléchi bien, l'utilisation d'un timer est inutile.
En effet, il est possible d'utiliser uniquement une variable (un tableau en réalité pour couvrir tous les joueurs) et une condition pour éviter un abus de ce genre.
#define UNSTUCK_TIMEOUT 60
new LastUnstuck[MAX_PLAYERS] = {0, };
// Si l'heure actuel est plus grande que l'heure de la dernière
// commande plus le temps limite...
if (gettime() >= (LastUnstuck[playerid] + UNSTUCK_TIMEOUT)) {
// Téléportation...
// On met dans notre variable l'heure actuelle.
LastUnstuck[playerid] = gettime();
}