GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Lucifer le 02 Mai 2011, 19:15:52
-
Bonsoir à tous,
Je voulais me renseigner par rapport au kilométrage d'un véhicule.
Tout d'abord, est-il possible de compter le nombre de kilomètre (La distance parcouru) d'un véhicule ?
Est-il possible de compter le temps que passe un joueur dans son véhicule ?
Voilà, merci d'avance de vos réponses.
Bonne soirée ::).
-
Tout est question de timer et de math
-
C'est à dire ?
Justement j'aimerais un peu d'aide pour cela :P :-[
-
Tu calcule la distance parcourue tout les x millisecondes, et ajoute celle valeur dans la variable qui contient les km parcourues
-
Et n'oublie pas de ne pas compter les téléports.
Sinon, les joueurs vont s'amuser à se téléporter d'un bout à l'autre de la carte pour faire gonfler artificiellement leur compteur.
++
Syg
-
Bonjour,
CODE TIRÉ DU SITE: snoob-community.wikispaces.com
<?php
// this example is much mathematic then scripting...
// we use the Pythagorean theorem to find the distance
// between point A (X,Y) and point B (X,Y).
// this is the actual function...
Float:getdist(Float:x1,Float:y1,Float:x2,Float:y2)
{
new Float:xdist, Float:ydist, Float:distance; // needed variable
// (smaller x) - (bigger x) = (x total distance)
if(x1 < x2) xdist = x1 - x2; // IF x1 is the smaller ...
else xdist = x2 - x1; // else (x2 is the smaller ...)
// same for y distance
if(y1 < y2) ydist = y1 - y2;
else ydist = y2 - y1;
// from wikipedia article on triangle...
// "in any right triangle, the square of the length of the hypotenuse equals
// the sum of the squares of the lengths of the two other sides."
// using this...
// distance(square) = xdist(square) + ydist(square)
// so: square root of ( xdist(square) + ydist(square) ) = the distance.
distance = floatsqroot( floatpower(xdist,2.0) + floatpower(ydist,2.0) ) ;
return distance ; // The function return the distance Float value
}
?>
(http://snoob-community.wikispaces.com/file/view/distance.png/67799945/distance.png)
Vince
-
as tu compris la moitier de ce que tu vient de poster Vince
-
as tu compris la moitier de ce que tu vient de poster Vince
Ben c'est une application basique du théorème de Pythagore, donc bon c'est pas très dur :)
-
les conditions
<?php
// (smaller x) - (bigger x) = (x total distance)
if(x1 < x2) xdist = x1 - x2; // IF x1 is the smaller ...
else xdist = x2 - x1; // else (x2 is the smaller ...)
// same for y distance
if(y1 < y2) ydist = y1 - y2;
else ydist = y2 - y1;
sont un peu inutile, vu que les carrés vont régler ce problème.
#define DISTANCE(%1,%2,%3,%4,%5,% ) ( floatsqroot( ( %1-%4)*( %1-%4) + ( %2-%5)*( %2-%5) + ( %3-%6)*( %3-%6) ) )
à tester
-
Hummm....Intéressant, je vous remercie de vos réponses :).