GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: vincentdu90 le 20 Novembre 2012, 11:07:07
-
Bonjour/Bonsoir,
Je sais que des topics existent déjà à ce sujet mais je ne crois pas que la solution ait été vraiment résolue.
Donc en fait mon but est de faire sauter le personnage plus haut que la normal du jeu et pour ça j'ai utilisé SetPlayerVelocity
Je procède donc comme ceci :
SetPlayerVelocity(playerid,X*3,Y*3,Z*3);
(Ceci n'est bien sûr qu'une partie du code)
Où les valeurs utilisés sont récupérer par le GetPlayerVelocity.
Cela augmente bien la hauteur du saut et même sa portée mais si on essaye de multiplier la vélocité en Z par un nombre plus grand le joueur ne sautera pas plus haut. Cependant si on augmente la vélocité en X et Y la porté du saut sera bien augmenté.
Donc j'aimerai savoir, s'il vous plaît, si la vélocité en Z ne serait pas comme "bridée". Ou alors est-ce que j'utilise mal la fonction?
Merci d'avance. :)
-
Doit surement avoir un rapport avec la gravité. Même si d'en ce domaine je m'y connais pas de trop
-
Salut,
essaie en additionnant une valeur et en la faisant varier, de cette façon du saura.
Les sauts sont toujours les mêmes au niveau de la hauteur pratiquement, utilise l'addition au lieu de la multiplication pour la coordonnée Z si ça règle le problème tout en multipliant par une valeur selon X et Y.
++Sim++
-
Même en ajoutant j'ai pas l'impression que le joueur saute plus haut qu'une certaine limite.
-
Pour le faire sauter plus haut (et un peut plus loin) j'ai fais un peut de trigonométrie...
new Float:X, Float:Y, Float:Z,Float:Angle;
GetPlayerFacingAngle(playerid, Angle);
GetPlayerVelocity(playerid, X, Y, Z);
SetPlayerVelocity(playerid, floatsin(-Angle, degrees)*0.22, floatcos(Angle, degrees)*0.22, (Z*1.002)+0.130);
En multipliant très très légèrement.
-
Oui j'avais vu ton code sur un autre sujet et j'ai essayé de modifier la valeur qui multipliait Z mais ça m'a toujours "bridé" la hauteur du saut. Après j'ai peut-être pas bien manipulé. :P
De plus j'ai essayé de comprendre le calcul mais j'avoue ne pas avoir bien compris l'utilité d'utiliser le sinus(cosinus) de l'angle opposé auquel le joueur fait face.
-
Théorème de Pythagore, il y a plein de sujet avec les dessins associé a ça.
(Wiki' donne aussi l'utilité des cos/sin/tan.)