GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: figther2500 le 13 Mars 2014, 16:24:42
-
Bonjours / bonsoir
Je voudrais crée une commande /coincer qui permettrais de Tp un joueur quelque part si il est coincé mais pour qu'il n'y est pas d'abus je voudrais mettre un timer
Ce qui est de tp ou de crée la commande je sais faire mais pour mettre un timer je ne vois pas du tous
Sa serais sympas si quelqu'un peut peut m'éxpliqué ou me donné un tuto qui explique bien.
Merci.
-
forward TPBlocked(playerid);
public TPBlocked(playerid)
{
SetPlayerPos(....);
}
SetTimerEx("TPBlocked", 25000, false, "d", playerid);
C'est ici (http://wiki.sa-mp.com/wiki/SetTimerEx) pour le tutoriel SetTimerEx en EN.
-
Salut, j'ai regardé en entier le wiki, y'aurais moyen qu'on me fait juste un exemple avec une commande quelconque car j'apprends quand j'ai un exemple,
merci.
-
C'est ici (http://wiki.sa-mp.com/wiki/SetTimerEx_FR) pour la page de SetTimerEx en français
http://wiki.sa-mp.com/wiki/SetTimer_FR (http://wiki.sa-mp.com/wiki/SetTimer_FR) pour la page de SetTimer en français (SetTimer est moins complet que SetTimerEx)
C'est pas vraiment très compliqué à effectuer, le wiki fournit énormément de détails, on peut pas en rajouter plus
-
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();
}