• 07 Juillet 2025, 09:00:48


Auteur Sujet: Une limitation au SetPlayerVelocity ?  (Lu 1369 fois)

0 Membres et 1 Invité sur ce sujet

vincentdu90

  • Invité
Une limitation au SetPlayerVelocity ?
« 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 :

Code: (pawn) [Sélectionner]

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.  :)

Hors ligne Malak

  • *
  • Tueur
  • Messages: 68
    • Voir le profil
Re : Une limitation au SetPlayerVelocity ?
« Réponse #1 le: 21 Novembre 2012, 13:45:10 »
Doit surement avoir un rapport avec la gravité. Même si d'en ce domaine je m'y connais pas de trop

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Une limitation au SetPlayerVelocity ?
« Réponse #2 le: 21 Novembre 2012, 14:29:29 »
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++





vincentdu90

  • Invité
Re : Une limitation au SetPlayerVelocity ?
« Réponse #3 le: 21 Novembre 2012, 15:33:34 »
Même en ajoutant j'ai pas l'impression que le joueur saute plus haut qu'une certaine limite.

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : Une limitation au SetPlayerVelocity ?
« Réponse #4 le: 22 Novembre 2012, 19:45:42 »
Pour le faire sauter plus haut (et un peut plus loin) j'ai fais un peut de trigonométrie...
Code: (pawn) [Sélectionner]
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.
Nippah !

vincentdu90

  • Invité
Re : Une limitation au SetPlayerVelocity ?
« Réponse #5 le: 22 Novembre 2012, 21:41:00 »
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.

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : Une limitation au SetPlayerVelocity ?
« Réponse #6 le: 25 Novembre 2012, 18:20:57 »
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.)
Nippah !