• 04 Juin 2026, 15:31:58


Auteur Sujet: commande /jump  (Lu 4632 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Dadouz

  • *
  • Nouveau
  • Messages: 12
    • Voir le profil
commande /jump
« le: 13 Janvier 2008, 20:16:01 »
bonjour je voudrais crée une commande /jump permettant de vous faire prendre de l'altitude et de retomber à l'endroit ou vous avez écrit /jump le problème est que ma fonction a pas d'erreurs d'après pawno et dans le jeu il y a écrit "server : unknown command" et j'entend juste le petit son que jai intégré dans la commande xD voila la fonction :

 if  (strcmp(cmdtext, "/jump" , true, 5) == 0){
                 new Float:X,Float:Y,Float:Z;
               GetPlayerPos(playerid,X,Y,Z);
                  GetPlayerPos(playerid,Pos[playerid][5],Pos[playerid][6],Pos[playerid][7]);
                   PlayerPlaySound(playerid,1056,X,Y,Z);
              }
              else if(IsPlayerInAnyVehicle(playerid))
                 {
                  new VehicleID;
                  VehicleID = GetPlayerVehicleID(playerid);
              SetVehiclePos(VehicleID,Pos[playerid][5],Pos[playerid][6],520);
                  SetPlayerPos(playerid,Pos[playerid][5],Pos[playerid][6],520);
               return 1;
                 }
Tout est aligné normalement lol.

Merci.

Hors ligne MultiGamers

  • *
  • Grand Banditisme
  • Serveur à bas prix ! ;)
  • Messages: 857
    • Voir le profil
Re : commande /jump
« Réponse #1 le: 13 Janvier 2008, 20:47:16 »
Salut,
Voila ! J,ai corriger ta commande. Cette commande fait mettre le vhéhicule 2 mètres dans les airs pour que la voiture se replace...

if  (strcmp(cmdtext, "/jump" , true, 5) == 0){
                 new Float:X,Float:Y,Float:Z;
                GetPlayerPos(playerid,X,Z,Z);
                  SetPlayerPos(playerid,X,Y,Z+2);
                   PlayerPlaySound(playerid,1056,X,Y,Z+2);
              }
              else if(IsPlayerInAnyVehicle(playerid))
                 {
                  new Float:X,Float:Y,Float:Z;
                  new VehicleID;
                  VehicleID = GetPlayerVehicleID(playerid);
              GetPlayerPos(playerid,X,Z,Z);
              SetVehiclePos(VehicleID,X,Y,Z+2);
                  SetPlayerPos(playerid,X,Y,Z+2);
                  PutPlayerInVehicle(playerid,VehicleID,1);
               return 1;
                 }

La commande doit marcher si il a un problème dit le moi !  ;)

« Modifié: 13 Janvier 2008, 21:00:41 par ordixp »

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : commande /jump
« Réponse #2 le: 13 Janvier 2008, 21:00:58 »
salut,

je trouve cette commande plutôt cruieuse.... ;D
pourquoi à la fin du strcmp il y a un 5???(strcmp(cmdtext, "/jump" , true, 5)
et puis tu referme la commande après la ligne du PlayerPlaySound, il ne faut pas mettre de } et à la suite, il s'agit d'un if  :happy
j'ai corriger les erreurs que j'ai vu mais, ce n'est peut-être pas parfait :P
à quoi bon prendre les coordonnées du vehicle puisque logiquement, il est à la meme position que le joueur, ???
et tu pourrait échanger le if(IsPlayerInAnyVehicle) un if(GetPlayerState == PLAYER_STATE_DRIVER) pour que les joueurs qui sont à l'arrière ne fassent pas constamment cette commande qui peut être agacante lorsquOn essai de se rendre à un endroit... :closedeyes

    if(!strcmp(cmdtext, "/jump" , true)){   
                new Float:X,Float:Y,Float:Z;
                GetPlayerPos(playerid,X,Z,Z);
                SetPlayerPos(playerid,X,Y,Z+3);
                PlayerPlaySound(playerid,1056,X,Y,Z);
                if(IsPlayerInAnyVehicle(playerid)){
                    new VehicleID;
                    VehicleID = GetPlayerVehicleID(playerid);
                    SetVehiclePos(VehicleID,X,Y,Z+3);
                    }
               return 1;
    }

et voila, je crois que cela devrait être correcte, mais si quelque chose ne fonctionne pas, repost pour qu'on t'aide ;)

P.S. Je trouve ta correction plutôt rapide, Ordixp, tu n'as surement pas regarder énormément :closedeyes :closedeyes

 :D :D++Sim++ :D :D





Hors ligne MultiGamers

  • *
  • Grand Banditisme
  • Serveur à bas prix ! ;)
  • Messages: 857
    • Voir le profil
Re : commande /jump
« Réponse #3 le: 13 Janvier 2008, 21:05:53 »
Meilleur correction:

if  (strcmp(cmdtext, "/jump" , true) == 0){
new Float:X,Float:Y,Float:Z;
new VehicleID;
GetPlayerPos(playerid,X,Z,Z);
SetPlayerPos(playerid,X,Y,Z+2);
PlayerPlaySound(playerid,1056,X,Y,Z+2);
if(IsPlayerInAnyVehicle(playerid))
VehicleID = GetPlayerVehicleID(playerid);
GetPlayerPos(playerid,X,Y,Z);
SetVehiclePos(VehicleID,X,Y,Z+3);
PutPlayerInVehicle(playerid,VehicleID,0);
return 1;
}
EDIT: Une petite mise à jour... ;)

EDIT 2: Ceci à été tester...  :D
« Modifié: 13 Janvier 2008, 21:22:04 par ordixp »

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : commande /jump
« Réponse #4 le: 13 Janvier 2008, 21:18:46 »
Salut,

excuse moi ordixp mais.....

tu as deja changer la position du joueur,

il n'y a pas de if(!IsPlayerInAnyVehicle) avant le SetPlayerPos.... :closedeyes

donc tu change deux fois le joueur de place... ???

++Sim++





Hors ligne MultiGamers

  • *
  • Grand Banditisme
  • Serveur à bas prix ! ;)
  • Messages: 857
    • Voir le profil
Re : commande /jump
« Réponse #5 le: 13 Janvier 2008, 21:20:22 »
Essaie et tu verra que sa marche.....  ;) The  :king
« Modifié: 13 Janvier 2008, 21:35:57 par ordixp »

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : commande /jump
« Réponse #6 le: 14 Janvier 2008, 15:29:32 »
Ca marche mais ça bouffe de la rame au PC du client pour rien...
« Modifié: 14 Janvier 2008, 15:32:17 par UrbanGhetto »

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Re : commande /jump
« Réponse #7 le: 14 Janvier 2008, 15:43:47 »
Code: (c++) [Sélectionner]
if (strcmp(cmdtext, "/jump" , true, 5) == 0){

     //On récupère la position et on la stocke
     GetPlayerPos(playerid,Pos[playerid][5],Pos[playerid][6],Pos[playerid][7]); // Il faut avoir déclarer ailleurs le Pos[][];
     PlayerPlaySound(playerid,1056,Pos[playerid][5],Pos[playerid][6],Pos[playerid][7]); //On récup ces données là, pas besoin de récupérer deux fois la position du joueur.

     if(IsPlayerInAnyVehicle(playerid))  { //On teste la condition du joueur dans un véhicule.
     new VehicleID;
     VehicleID = GetPlayerVehicleID(playerid);
     SetVehiclePos(VehicleID,Pos[playerid][5],Pos[playerid][6],520);
     SetPlayerPos(playerid,Pos[playerid][5],Pos[playerid][6],520);
     }
     else { //Pas de véhicule, on applique le changement de position simple..
     SetPlayerPos(playerid,Pos[playerid][5],Pos[playerid][6],520);
     }

    return 1; //On a terminé
}


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


Hors ligne MultiGamers

  • *
  • Grand Banditisme
  • Serveur à bas prix ! ;)
  • Messages: 857
    • Voir le profil
Re : commande /jump
« Réponse #8 le: 14 Janvier 2008, 18:58:27 »
Ouais, mais s'est semblant...   ::)

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : commande /jump
« Réponse #9 le: 14 Janvier 2008, 19:02:50 »
Euh Spyk ça sert à rien de mettre la position du joueur dans le PlayerPlaySound, On peut les laisser à 0 ça aussi ça bouffe de la rame...

PS: Pas dutout :)

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Dadouz

  • *
  • Nouveau
  • Messages: 12
    • Voir le profil
Re : commande /jump
« Réponse #10 le: 14 Janvier 2008, 19:04:44 »
et bien merci beaucoup pour ces réponses je vais tester et j'ai mis true 5 car dans /jump il y a 5 caractères en comptant le /

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : commande /jump
« Réponse #11 le: 14 Janvier 2008, 19:19:37 »
Euh ça sert à rien le ,5... Ca aussi ça bouffe de la rame xD

Tu peut l'enlever aussi. Mais ça sert aussi dans certains cas, La team SA-MP ne l'a pas mis pour rien...

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Dadouz

  • *
  • Nouveau
  • Messages: 12
    • Voir le profil
Re : commande /jump
« Réponse #12 le: 14 Janvier 2008, 19:21:27 »
ok ok mais sa bouffe de la rame pour celui qui héberge ou celui qui joue ?

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : commande /jump
« Réponse #13 le: 14 Janvier 2008, 19:30:27 »
Ben c'est à toi de voir, ex: La fonction GetTime ça prend l'heure du PC du serveur donc le ,5 je crois que c'est pour le client

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Dadouz

  • *
  • Nouveau
  • Messages: 12
    • Voir le profil
Re : commande /jump
« Réponse #14 le: 14 Janvier 2008, 19:42:15 »
ok merci mais en rame tu veux dire que sa prend combien au niveau place sa doit pas être vraiment énorme.