GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: dydy5910 le 18 Mai 2011, 09:10:03
-
Salut alors voila j'ai mit des radar en ville vitesse 70 pour pas se faire flasher mais c'est chaud de rouler moin que 70 donc je voudrait savoir si quelqu'un aurait un limiteur de vitesse comme dans les vrais voiture exemple :
Je suis en ville (ne pas rouler + que 70) je fait F5 un menu s'affiche et dit : Nombre de Km/h Maxi ?
Moi je met 70 puis Ok et si j'appuie a font sur Z (pour rouler) sa n'ira pas plus que 70 :cheers
Voila merci. Bonne matinée :-[
-
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 ;)
++
-
Je n'est pas compris les 3 derniere partie la première j'ai compris :'(
-
Essaye de te mettre à niveau, prend ton temps pour lire et avoir les notions de base :
http://www.gtaonline.fr/forums/index.php/topic,11593.0.html (http://www.gtaonline.fr/forums/index.php/topic,11593.0.html)
http://www.gtaonline.fr/forums/index.php/topic,11595.0.html (http://www.gtaonline.fr/forums/index.php/topic,11595.0.html)
http://www.gtaonline.fr/forums/index.php/topic,11688.0.html (http://www.gtaonline.fr/forums/index.php/topic,11688.0.html)
++
-
J'avais déjà résolut ce problème, fais une recherche !
-
Envoi le lien s'il te plaît car vu le nombre de message qu'il y a ici meme si je fait Limiteur de vitesse dans recherche sa sera dur
-
Sur le forum, j'ai trouvé ça:
http://www.gtaonline.fr/forums/index.php/topic,11577.msg202831.html#msg202831 (http://www.gtaonline.fr/forums/index.php/topic,11577.msg202831.html#msg202831)
et
http://forum.sa-mp.com/showthread.php?t=131591&highlight=control (http://forum.sa-mp.com/showthread.php?t=131591&highlight=control)
-
J'ai tapé "limite velocity" dans la barre de recherche, et voila ce que j'ai trouvé
http://www.gtaonline.fr/forums/index.php/topic,11739.msg203259.html (http://www.gtaonline.fr/forums/index.php/topic,11739.msg203259.html)
-
Je vous remerci énormement vous êtes vraiment très simpa :laugh