• 04 Juin 2026, 22:30:53


Auteur Sujet: PAWN->Spawné voiture devant moi  (Lu 3137 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne papa-noël

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
PAWN->Spawné voiture devant moi
« le: 27 Août 2007, 04:05:23 »
Salut a tous ,

J'ai une petite question, je bloque sur ceci  Comment faire apparaitre un objet devant moi, et non a côté de moi   Exemple
Code: (cpp) [Sélectionner]
new Float:Pos[3];
GetPlayerPos(i,Pos[0],Pos[1],Pos[2]);
CreateObject(1655,Pos[0],Pos[1],Pos[2],0,0,0);}

L'objet apparait a côté de moi, et non devant moi   Si vous pouvez m'aider, merci d'avance 

HoHoHoHoHoHo... ..



Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #1 le: 27 Août 2007, 09:50:20 »
Salut !

Je pense qu'il faut ajouter  dans ton code

Citer
GetVehicleZAngle(vehicleid, FloatZ_angle)

Je ne suis pas sur (je debute aussi)

AK.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #2 le: 27 Août 2007, 09:53:21 »
Normalement, l'objet devrait être autour de toi. Mais bon, ça dépend de l'objet que tu crées.
Sinon, pour positionner un objet devant toi, il faut faire un peu de math (je vais pas le faire ici et te donner directement la réponse).

Donc tout d'abord, il faut récupérer la direction dans lequel regarde le joueur. Selon qu'il est à pied ou en vehicule, il faut utiliser soit GetPlayerFacingAngle soit GetVehicleZAngle. On appellera Angle cette valeur et Dist la distance à laquelle tu veux que l'objet apparaisse.
Ensuite, tu positionnes ton objet comme ça (ligne non simplifiée) :
CreateObject (1655, Pos[0] + Dist * floatcos (Angle + 90.0, degrees), Pos[1] + Dist * floatsin (Angle + 90.0, degrees), Pos[2], 0.0, 0.0, 0.0);

Après, tu peux faire les simplification suivante (là c'est des math) :
cos (Angle+90) = sin (Angle) et
Sin (Angle+90) = -cos (Angle).

Donc au final :
CreateObject (1655, Pos[0] + Dist * floatsin (Angle, degrees), Pos[1] - Dist * floatcos (Angle, degrees), Pos[2], 0.0, 0.0, 0.0);

++
Syg
Courtesy of GtaManiac

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #3 le: 27 Août 2007, 10:10:58 »
Donc... J'avais raison :P :P :P

AK.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #4 le: 27 Août 2007, 14:05:54 »
A moitié Arsenik, quand le personnage est à pied, il faut utiliser GetPlayerFacingAngle.

++
Syg
Courtesy of GtaManiac

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #5 le: 27 Août 2007, 17:37:49 »
Peut etre a moitié mais j'avais raison mdr !

AK.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne papa-noël

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #6 le: 27 Août 2007, 17:54:20 »
Salut ,

Merci ca marche très bien :) Si sa vous derange pas quand j'ecrie /ramp le strcmp et deja fait la rampe je peux pas sauté dessus elle et toujours orienté vers le sud :s Sinon ca marche très bien merci

HoHohHohohoooo..

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #7 le: 27 Août 2007, 21:19:41 »
Pour la ramp il suffit juste de changer le numero de la rotation.

AK.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne papa-noël

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #8 le: 27 Août 2007, 22:32:35 »
Je sais mais jarrive pas :(

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #9 le: 27 Août 2007, 23:52:18 »
Bon alors on continue un peu parceque c'est vraiment simple :

Au lieu de
CreateObject (1655, Pos[0] + Dist * floatsin (Angle, degrees), Pos[1] - Dist * floatcos (Angle, degrees), Pos[2], 0.0, 0.0, 0.0);

mets
CreateObject (1655, Pos[0] + Dist * floatsin (Angle, degrees), Pos[1] - Dist * floatcos (Angle, degrees), Pos[2], 0.0, 0.0, Angle);

et le tour est joué.

Remarque : personnellement, je préfère la rampe 1634 à la 1655. Et on peut rajouter 0.5 à la composante z pour quelle soit un peut plus haute :
CreateObject (1634, Pos[0] + Dist * floatsin (Angle, degrees), Pos[1] - Dist * floatcos (Angle, degrees), Pos[2] + 0.5, 0.0, 0.0, Angle);


++
Syg
Courtesy of GtaManiac

Hors ligne papa-noël

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #10 le: 28 Août 2007, 01:08:40 »
Merci !!!!!!!!!!!!!,

Ca marche super la command j'ai couplé sa avec une racourcie clavier ca rend super :) Sig j'ai fait un random
Code: (cpp) [Sélectionner]
new StyleRamp[MAX_PLAYERS];
[....]
dans un random quand le joueur se connecte il peux choisir le style de la rampe :) Que tu bonheur  pour un bon stunter :)

Niveau code je me debrouille mais c'etait des math alors ...  :bangin

Vous etre super simpa de m'aider je vais faire de mon possible essayé de faire comme toi sig aidé les gens dans la mesure du possible :)

@++

HoHohohohoho....

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Re : PAWN->Spawné voiture devant moi
« Réponse #11 le: 28 Août 2007, 11:39:45 »
Citer
j'ai couplé sa avec une racourcie clavier...

C'est sa que j'aimerais apprendre a faire...

Comment fait on ?

AK.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #12 le: 28 Août 2007, 12:01:17 »
Pour ne pas te donner une solution toute faite et puisque tu m'as l'air capable de le faire tout seul, je te met sur la voie :
Il faut utiliser la fonction callback OnPlayerKeyStateChange

++
Syg
Courtesy of GtaManiac

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : PAWN->Spawné voiture devant moi
« Réponse #13 le: 28 Août 2007, 12:32:33 »
Haaa ouiii c'est sa ! je me demander un moment a quoi cette fonction servais ! :).

Merci.

AK.


Tu vois avant? Bah j'étais là encore avant!