SetTimerEx FR
From SA-MP Wiki
Page d'Accueil | Les Fonctions | Les Callbacks | Les bases du Scripting | Plugins de Serveur | Tutoriaux
Ne prenez pas en compte les FR dans les noms
Description:
Appelle une fonction après un intervalle personnalisé et des paramètres spécifiés.
(funcname[], interval, repeating, const format[], {Float,_}:...)
funcname[] | Le nom de la fonction publique à appeler. |
interval | L'intervalle en milisecondes (1 seconde = 1000 millisecondes). |
repeating | Boolé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.
Notes | Les timers ne sont pas précis (à environ 20%). Il existe des slutions disponibles sur le forum de SA-MP. |
Note | 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.
- SetTimer: Commence un timer.
- KillTimer: Stoppe un timer.
- CallLocalFunction: Appelle une fonction dans le script.
- CallRemoteFunction: Appelle une fonction de n'importe quel script chargé.