Advertisement
Jujuv

[SA:MP | POC] Central Timer & ProxDetectorEx

Jan 21st, 2013
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.82 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. new gTimerID_1SecondPerPlayerTimer[MAX_PLAYERS] = {-1, ...};//L'ascociation de la valeur -1 à toutes les celules permet de repérer d'éventuels erreurs innatendues (voir plus bas).
  4.  
  5. /*
  6. NB: Quand on script proprement, on ne choisie pas les noms de ses éléments en fonction de leur longueur ou
  7. du temps qu'on met à les re-taper au clavier mais en fonction de leur clarté !
  8. Oui le nom de ce tableau est long à écrire mais au moins on comprend de suite à quoi il sert (pour peu qu'on ais quelques notions en anglais).
  9. */
  10. main()
  11. {
  12.     /*
  13.         Ce n'est pas parceque l-on n'utilise pas concrétement la fonction main() que les lignes de son appel doivent être
  14.         mal indentés voir dégeulase.
  15.     */
  16. }
  17.  
  18. public OnPlayerConnect(playerid)
  19. {
  20.     gTimerID_1SecondPerPlayerTimer[playerid] = SetTimerEx("OneSecondPerPLayerTimer", 1000, true, "i", playerid);
  21. }
  22.  
  23. public OnPlayerDisconnect(playerid, reason)
  24. {
  25.     if(gTimerID_1SecondPerPlayerTimer[playerid] == -1)
  26.         printf("[WARNING] Type: Valeur inatendue - Localisation: Callback OnPlayerDisconnect - Informations: La cellule du tableau gTimerID_OneSecondPerPlayerTimer[] ascocié au joueur ID %i vaux %i", playerid, gTimerID_1SecondPerPlayerTimer);
  27.     else
  28.     {
  29.         KillTimer(gTimerID_1SecondPerPlayerTimer[playerid]);
  30.         gTimerID_1SecondPerPlayerTimer[playerid] = -1;
  31.     }
  32.        
  33.     /*
  34.         Explications:
  35.         Si gTimerID_OneSecondPerPlayeTimer[] vaux -1 pour l'ID de joueur donné, ceka signifie que la cellule ne stock aucun ID de timer, ce qui n'est
  36.         pas censsé se produire à ce moment de l'éxécution.
  37.         Il faut toujours prévoir tout les cas imaginables même les plus farfelues et improbables !
  38.     */
  39. }
  40.  
  41. forward OneSecondPerPlayerTimer(playerid);
  42. public OneSecondPerPlayerTimer(playerid)
  43. {
  44.     /*
  45.         Ainsi, cette "callback" sera appelé toute les secondes pour chaque joueur.
  46.     */
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement