SetTimerEx FR

From SA-MP Wiki

Jump to: navigation, search


Description:

Appelle une fonction après un intervalle personnalisé et des paramètres spécifiés.


Paramètres:
(funcname[], interval, repeating, const format[], {Float,_}:...)
funcname[]Le nom de la fonction publique à appeler.
intervalL'intervalle en milisecondes (1 seconde = 1000 millisecondes).
repeatingBooléen (true/false (ou 1/0)) qui permet de spécifier si le timer se répète (peut être stoppé en cours de route uniquement avec KillTimer).
format[]Formatage spécial indiquant le type de paramètres.
{Float,_}:...Un nombre indéfini d'arguments à passer (doit correspondre au formatage).


Retourne:

L'ID du timer qui a commencé. Les ID de timer commencent à 0 et ne sont jamais ré-utilisés.


Image:32px-Ambox_warning_orange.png

Notes

Les timers ne sont pas précis (à environ 20%). Il existe des slutions disponibles sur le forum de SA-MP.


Image:32px-Circle-style-warning.png

Note
Importante

La fonction appelée doit être publique. Ce qui veut dire que la fonction doit utiliser les forward.



Syntaxe de formatage

Lettre Ce à quoi ça correspond
c Insert un seul caractère
d, i Insert un chiffe/nombre
x Insert un nombre hexadécimal.
f Insert un nombre flottant (nombre à virgule).
s Insert une chaîne.

Ces valeurs doivent êtres utilisées exactement dans le même ordre que les paramètres concernés.

Exemple:

SetTimerEx("EndAntiSpawnKill", 5000, false, "i", playerid);
// EndAntiSpawnKill - La fonction à appeler
// 5000 - 5000 millisecondes (5 secondes). C'est l'intervalle. La fonction sera appelée après 5 secondes
// false - Ne se répétera pas.
// "i" - Le formatage des paramètres. Ici on passe un chiffre
// playerid - La valeur à passer. C'est le chiffre spécifié lors du formatage des paramètres.

Implémentation:

// The event callback (OnPlayerSpawn) - we will start a timer here
public OnPlayerSpawn(playerid)
{
    // Anti-Spawnkill (5 seconds)
 
    // Set their health very high so they can't be killed
    SetPlayerHealth(playerid, 999999);
 
    // Notify them
    SendClientMessage(playerid, -1, "You are protected against spawn-killing for 5 seconds.");
 
    // Start a 5 second timer to end the anti-spawnkill
    SetTimerEx("EndAntiSpawnKill", 5000, false, "i", playerid);
}
 
// Forward (make public) the function so the server can 'see' it
forward EndAntiSpawnKill(playerid);
 
// The timer function - the code to be executed when the timer is called goes here
public EndAntiSpawnKill(playerid)
{
    // 5 seconds has passed, so let's set their health back to 100
    SetPlayerHealth(playerid, 100);
 
    // Let's notify them also
    SendClientMessage(playerid, -1, "You are no longer protected against spawn-killing.");
    return 1;
}

Fonctions Relatives

Les fonctions suivantes peuvent être utiles car elles sont indirectement ou directement liées a cette fonction.

Personal tools
Navigation
Toolbox
In other languages