Salut,
Je ne vais pas pouvoir t'aider en entier, mais voici quelques pistes :
1) Le menu
Crée une variable speedLimite[MAX_PLAYERS] qui contiendra la limite de vitesse de chaque joueur.
Après, crée un menu avec une boîte de dialogue (ShowPlayerDialog) avec plusieurs propositions (50-70-90-110 etc, à toi de voir)
En fonction de la case sélectionnée, tu changes la valeur de la variable (speedLimite[playerid] = vitesse;)
2) Calcul de la vitesse
La formule qui calcule la vitesse est celle-ci : √ ((Velocité X²) + (Vélocité Y²) + (Vélocité Z²)) * 180
Pour avoir la vélocité X,Y et Z, utilise GetVehicleVelocity.
3) Création des fonctions
Avec le code que tu as ci-dessus, crée une fonction GetVehicleSpeed(vehicleid) (Regarde mon tuto si tu ne sais pas en créer une).
Essaye aussi d'inverser la formule pour faire une fonction SetVehicleSpeed qui sera utilisée plus tard si tu dépasses la limite. (Racine carrée : floatsqroot(nombre); )
4) Timer
Crée un timer qui se répète toutes les secondes (ou moins, si tu veux)
Dans celui-ci, vérifie la vitesse du joueur avec la fonction GetVehicleSpeed que tu auras créée, et compare-la à la variable du début (speedLimite)
Si la vitesse actuelle > vitesse maximale du joueur, on règle la vitesse SetVehicleSpeed
Sinon, on laisse tel quel.
Voilà, tu as déjà l'algorithme et la méthode, après si tu débutes en Pawn tu risques d'avoir quelques difficultés car c'est un truc complexe, mais c'est possible à faire ;)
++