Je répond d'abord à Atx1 (qui a raison) :
J'ai pas dit que les booléens n'étaient pas utilisables, j'ai dit que le type booléen n'existait pas en PAWN :
"pawn lacks the typing mechanism of C. pawn is an “integer-only” variety of C; there are no structures or unions, and floating point support must be implemented with user-defined operators and the help of native functions."Pour ceux qui n'ont pas compris :
"pawn n'a pas le même méchanisme de typage que le C. pawn est une variétée de C avec seulement le type entier ; il n'y a pas de structure ou d'union et le support des nombres en virgule flottante doit être implémenté par des opérateurs définis par l'utilisateur et à l'aide des fonctions natives." (Bon, d'accord, c'est pas forcément plus clair en français)
Citation de la doc officielle de PAWN (celle que cherche sadmandono).
Et, autant pour moi, il existe bien un tag
bool: qui permet de limiter les valeurs d'une variable à 0 (false) ou 1 (true) et donc de définir (et d'utiliser) des booléens.
Et maintenant, je répond à sadmandono :
1 - La fonction c'est
OnGameModeInit et pas
OnGamaModeinit2 - Le dernier paramètre de
SetTimer est 0 ou 1 (
false ou
true), et dans ton cas c'est 1
3 - Ta fonction
afficheVitesse NE doit PAS avoir de paramètre puisqu'elle va être appelée par le timer (qui ne lui passera pas de paramètre) et elle DOIT être "public".
4 - Tes tableaux
positionJoueur[] et
afficheCompteur[] doivent être déclarés en dehors de toutes fonctions. Les variables déclarées dans une fonction n'existent que pendant que le fonction est exécutée, elles sont détruites après.
5 - Ta fonction
afficheVitesse doit contenir une boucle sur TOUS les joueurs (
playerid indéfini) et testé si les joueurs sont connectés ou pas
6 - Toutes les variables de tes calculs doivent avoir le tag
Float:7 - Pourquoi est-ce que tu divises la distance par 125.400048 ? Je pense pas que ce soit nécessaire.
8 - Evites les
printf toutes les secondes, c'est pas très pratique à lire
9 - Ta variable
valide n'est pas utile, tu peux directement sauvegarder la position
10 - Pour la sauvegarde de la position, fais
positionJoueur[playerid] = positionJoueur2[playerid];, il sauvegardera tout seul les 3 coordonnées
J'ai fait une correction de ton code, c'est plus simple :
http://pastebin.gtaonline.fr/pastebin.php?show=41 mais tu n'est pas obligé de regarder tout de suite, tu peux essayer de corriger toi-même.
++
Syg