Salut,
quelques petits trucs auxquels tu devrais faire attention:
public OnFilterScriptExit()
{
for(new i = 0; i < MAX_PLAYERS; i++) KillTimer(pAfk[i][timer]);
return 1;
}
Si le joueur n'a pas de timer (s'il n'est pas connecté), tu détruit un timer vide ou potentiellement un timer d'un autre script dépendant de la valeur de la variable...bref, ajoute le test IsPlayerConnected.
Je crois que tu peut faire mieux et plus simple que ça:
while(minute > 60)
{
heure ++;
minute -= 60;
}
Essaie simplement:
heure = minute / 60;
minute -= heure * 60;
Comme minute et 60 sont des valeurs entières, la division sera traitée de façon entière. Dans ce cas, la machine arrondi la valeur vers le bas, ce qui est exactement ce que l'on veut dans ce cas.
Attention, à un endroit tu as écris que les valeurs des statuts sont 0, 1 et 2 et des constantes sont à -1, 0 et 1. J'aurais tendance à prendre 0, 1 et 2.
enum afk
{
statut, // 0 = pas spawn | 1 = spawn | 2 = AFK
timer,
...
sinon, c'est un beau script qui me semble apte à être utiliser sur la plupart des serveurs. Normalement il n'y a pas de conflits.
Une suggestion: ajouter une pvar ou un truc du genre qui permettrait de connaitre le statut du joueur depuis un autre script.
++Sim++