Non, car sinon, tu risques de louper certaines heures.
Par exemple, si tu lances un timer de 2 minutes à 17h23, il se déclenchera aux heures suivantes :
17h25, 17h27, 17h29, 17h31, 17h33, ... et tu ne tomberas donc jamais sur 17h30.
D'ailleurs, avec un timer d'une minute pile, vu l'imprécision de timer sous SAMP, il se peut que de temps en temps tu loupes certaine heures.
Par exemple, si tu lances un timer de 1 minutes à 17h26 mais qu'il dérive de 18 secondes à chaque échéance, il se déclenchera aux heures suivantes :
17h27m18s, 17h28m36s, 17h29m54s 17h31m12s 17h32m30s ... et tu ne tomberas donc jamais sur 17h30.
De plus, avec un timer d'une minute, ton action ne se déclenchera pas forcément à Xh30m00s.
Par exemple si tu lance un timer d'une minute (en admettant que les timers soient précis) à 17h28m24s, il se déclenchera aux heures suivantes :
17h29m24s, 17h30m24s, 17h31m24s, ....
Ton action ne sera donc pas exécuté à 17h30 pile mais à 17h30m24s (soit 24 secondes plus tard).
Pour une précision infaillible à la seconde près, il faut un timer de moins d'une seconde.
Mais dans ce cas, il faut éviter que l'action se répète.
Voici le code que je te conseille :
new ActionEffectuee = 0;
forward Action ();
public Action ()
{
new H, M, S;
gettime (H, M, S);
/* Si on est sur le bonne minute et que l'action n'a pas encore été effectuée */
if (M==30 && ActionEffectuee==0)
{
/* On effectue l'action à faire */
printf ("Heure d'exécution : %02d:%02d:%02d", H, M, S); // Pour contrôle
...
/* L'action a été effectuée pour cette minute, il ne faudra pas la refaire dans le même minute */
ActionEffectuee = 1;
}
/* Si on est plus dans la minute où l'action doit être effectuée */
else if (M != 30)
{
/* L'action sera à refaire */
ActionEffectuee = 0;
}
}
public OnGameModeInit ()
{
/* On démarre le timer */
SetTimer ("Action", 500, 1);
...
}Avec ce code, tu es sur de ne louper aucune heure de déclenchement et le déclenchement se fera à l'heure pile (à la seconde près)
Le code n'effectue que 2 tests en temps normal ce qui ne consomme vraiment pas beaucoup de temps processeurs.
++
Syg