• 04 Juillet 2025, 01:34:12


Auteur Sujet: Commande qui foire  (Lu 2427 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Commande qui foire
« le: 30 Mars 2008, 20:17:13 »
Salut ^^ J'ais un prob avec une commande pour un des mes DM.... Elle compile bien, mais ne fait pas le résultat voulu :
Code: (pawn) [Sélectionner]
    if(strcmp(cmdtext,"/DMcar2", true)==0){
    new pid, tmpp[256];
    new carid;
    new texte[256];
    new name[MAX_PLAYER_NAME];
    DMcar2[playerid] = 1;
    DMcar2[pid] = 1;
    Checkcar = SetPlayerCheckpoint(playerid, -2372.9285,-1583.5168,498.7269, 5);
    Checkcar = SetPlayerCheckpoint(pid, -2372.9285,-1583.5168,498.7269, 5);
    GetPlayerName(playerid, name, sizeof(name));
format(texte, sizeof(texte), " %s et son partener %s sont entrés dans le DMcar2, tapez /DMcar2 (ID partener) pour les rejoindre !!", playerid, name);
GetPlayerName(playerid, name, sizeof(name));
SendClientMessageToAll(COLOR_YELLOW, texte);
    SetPlayerInterior(playerid,0);
    SetPlayerInterior(pid,0);
    SendClientMessage(playerid, COLOR_YELLOW, "Le tireur essaie de tuer les autres pendant que le pilote va n'importe ou !!!");
    SendClientMessage(playerid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chililiad");
    GameTextForPlayer(playerid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
    SendClientMessage(pid, COLOR_YELLOW, "Le tireur essaie de tuer les autres pendant que le pilote va n'importe ou !!!");
    SendClientMessage(pid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chililiad");
    GameTextForPlayer(pid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
    SetVehiclePos(GetPlayerVehicleID(playerid), 2685.3147,2602.3281,10.5501);
    PutPlayerInVehicle(pid,GetPlayerVehicleID(playerid),1);
    GivePlayerWeapon(pid, 29, 9999);
    GivePlayerWeapon(pid, 34, 9999);
    SetVehicleHealth(carid, 500);
    format(texte, sizeof(texte), name);
    tmpp = strtok(cmdtext, idx);
    if(IsPlayerInAnyVehicle(playerid)==1){
    if(!strlen(tmpp)) {
SendClientMessage(playerid, COLOR_RED, "USAGE: /DMcar2 [playerid]");
}
pid = strval(tmpp);
if(!IsPlayerConnected(pid)) {
SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
}
}else if(IsPlayerInAnyVehicle(playerid)==0){
SendClientMessage(playerid, COLOR_RED, "Tu n'est pas en voiture !!!");
}else{
    if(Checkcar ==0)
    SendClientMessage(playerid, COLOR_YELLOW," Dommage !! Une autre fois peut être ??");
    DMcar2[playerid]=0;
    DMcar2[pid] = 0;
}
}

En faite ce qui devrait se passer si tout fonctionnais normalement :

Un player tape la commande avec un ID de player hors d'un véhicules : message "tu n'est pas en voiture"
Il retape la commande en voiture, il est spawner avec le player qu'il a choisi.
Il tape la commande sans mettre d' ID hors d'une voiture "[utilise] /dmcar2 [playerid]"
Il retape la commande en voiture sans l' ID " [utilise] /dmcar2 [playerid]"


Ce qui se passe dans mon jeu :

Le player tape la commande /dmcar2 [playerid] hors d'un véhicules : rien ne sa passe, pas de message...
Le player retape la commande en voiture : rien ne se passe
Le player tape /dmcar2 sans aucun ID et hors d'un véhicule : "Tu n'est pas en voiture"
Le player retape la commande sans ID, dans un véhicule : Il est spawné et le player ID O est spawné avec lui.....

Voila, il y a encore d'autres probs, mais de moindre importance comparé a ça...

Est ce que quelqu'un peut m'aider ??
« Modifié: 02 Avril 2008, 18:43:23 par UZI-I »
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Commande qui foire
« Réponse #1 le: 30 Mars 2008, 22:13:53 »
Ben ta commande est toute inversée.
Tu utilises la variable pid au début de ta commande alors que tu ne l'initialises que vers la fin.

La première chose à faire dans un commande avec des paramètres, c'est de récupérer les paramètres de la commande dans des variables.

++
Syg
Courtesy of GtaManiac

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Commande qui foire
« Réponse #2 le: 30 Mars 2008, 22:56:12 »
Si je met

    format(texte, sizeof(texte), name);
    tmpp = strtok(cmdtext, idx);
    if(IsPlayerInAnyVehicle(playerid)==1){
    if(!strlen(tmpp)) {
SendClientMessage(playerid, COLOR_RED, "USAGE: /DMcar2 [playerid]");
}
pid = strval(tmpp);
if(!IsPlayerConnected(pid)) {
SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
}
}else if(IsPlayerInAnyVehicle(playerid)==0){
SendClientMessage(playerid, COLOR_RED, "Tu n'est pas en voiture !!!");

AVANT

bas ça ne change rien...
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Commande qui foire
« Réponse #3 le: 31 Mars 2008, 15:21:47 »
C'est pourtant pas très compliqué.
Bon, j'avais un peu le temps alors je te l'ai fait : http://pastebin.gtaonline.fr/pastebin.php?show=397

Au passage, j'ai corrigé quelques erreurs qui risquaient de faire planter ton serveur.
Et surtout, j'ai ajouter des return 1 un peu partout (après les messages d'erreurs).
D'ailleurs, je me rend compte que j'ai oublié celui de la fin (qui évitera l'affichage de "Unknown commande")

Et je n'ai pas corrigé les fautes d'orthographe dans les textes que tu affiches.

++
Syg
Courtesy of GtaManiac

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Commande qui foire
« Réponse #4 le: 31 Mars 2008, 23:43:11 »
Merci beaucoup SYG mais j'en demandais pas tant ;)  :happy

^^
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Commande qui foire
« Réponse #5 le: 01 Avril 2008, 19:16:09 »
Re désolé pour le double poste, mais voila, en faite j'ai pas eu le temps de la tester, ce que je viens de faire, et voila :

quand je suis en voiture et que je tape /DMcar2 ID ça ne fait rien, le DMcar2 ne se met pas en route et le player choisi ne vient pas....


    if(strcmp(cmdtext,"/DMcar2", true)==0)
{
    new pid, tmpp[256];
    new carid;
    new texte[256];
    new name[MAX_PLAYER_NAME];
    new name2[MAX_PLAYER_NAME];
    tmpp = strtok(cmdtext, idx);
    if(!strlen(tmpp))
    {
    SendClientMessage(playerid, COLOR_RED, "USAGE: /DMcar2 [playerid]");
    return 1;
    }
    pid = strval(tmpp);
    if(IsPlayerInAnyVehicle(playerid)==1)
    {
    if(!IsPlayerConnected(pid))
    {
    SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
    return 1;
    }
    }
    else if(IsPlayerInAnyVehicle(playerid)==0)
    {
    SendClientMessage(playerid, COLOR_RED, "Tu n'est pas en voiture !!!");
    return 1;
    }
    else
    {
    if(Checkcar ==0)
    SendClientMessage(playerid, COLOR_YELLOW," Dommage !! Une autre fois peut être ??");
    DMcar2[playerid]=0;
    DMcar2[pid] = 0;
    DMArena[playerid] = 0;
    return 1;
    }
    DMcar2[playerid] = 1;
    DMcar2[pid] = 1;
    DMArena[playerid] = 1;
    Checkcar = SetPlayerCheckpoint(playerid, -2372.9285,-1583.5168,498.7269, 5);
    Checkcar = SetPlayerCheckpoint(pid, -2372.9285,-1583.5168,498.7269, 5);
    GetPlayerName(playerid, name, sizeof(name));
    GetPlayerName(pid, name2, sizeof(name2));
    format(texte, sizeof(texte), " %s et son partener %s sont entrés dans le DMcar2, tapez /DMcar2 (ID partener) pour les rejoindre !!", name, name2);
    SendClientMessageToAll(COLOR_YELLOW, texte);
    SetPlayerInterior(playerid,0);
    SetPlayerInterior(pid,0);
    SendClientMessage(playerid, COLOR_YELLOW, "Le tireur essaie de tuer les autres pendant que le pilote va n'importe ou !!!");
    SendClientMessage(playerid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chiliad");
    GameTextForPlayer(playerid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
    SendClientMessage(pid, COLOR_YELLOW, "Le tireur essaie de tuer les autres pendant que le pilote va n'importe ou !!!");
    SendClientMessage(pid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chiliad");
    GameTextForPlayer(pid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
    SetVehiclePos(GetPlayerVehicleID(playerid), 2685.3147,2602.3281,10.5501);
    PutPlayerInVehicle(pid,GetPlayerVehicleID(playerid),1);
    GivePlayerWeapon(pid, 29, 9999);
    GivePlayerWeapon(pid, 34, 9999);
    SetVehicleHealth(carid, 500);
    return 1;
}

Je ne sais pas pourquoi...
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Commande qui foire
« Réponse #6 le: 01 Avril 2008, 20:06:17 »
Normal, tu ne fait qu'un seul strtok donc tu ne récupère que le nom de la commande.

En début, il faut faire :

    if(strcmp(cmdtext,"/DMcar2", true)==0)
    {
    new pid, tmpp[256];
    new carid;
    new texte[256];
    new name[MAX_PLAYER_NAME];
    new name2[MAX_PLAYER_NAME];
    idx=0; // Ca c'est pour être sûr qu'on part bien du début de la chaine cmdtext
    tmpp = strtok(cmdtext, idx); // Là on récupère la commande
    tmpp = strtok(cmdtext, idx); // Là on récupère le paramètre

Le reste ne change pas.
Ensuite, tout devrait marcher correctement, je n'ai pas regarder dans le détail ce que fait ta commande après.

++
Syg
Courtesy of GtaManiac

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Commande qui foire
« Réponse #7 le: 01 Avril 2008, 23:40:11 »
Merci encore une fois, il y a juste encore un prob, c'est que quand je tape la commande

/DMcar2 sans ID en dehors d'une voiture, il y a le message "utile : /DMcar2 [playerid]"

donc normale, si je suis en voiture pareil.

Mais la ou le prob persiste :

/DMcar2 avec ID player non connecté : aucun message et ce que je soit en dehors ou dans une voiture...

De plus si je met idx=0; et que je tape /Dmcar2 dans une voiture sans aucun ID, le DM se lance et je suis tout seul a le faire xDD ce qu'il ne faut surtout pas...

donc j'ai enlevé idx=0; .

Voila j'espère que tu pourra m'aider, j'ai retourné ma commande et je ne trouve pas comment faire, je ne suis pas très fort avec le strtok.....


EDIT: pour le idx=0; c'est bon c'est réglé, il ne me fait plus rentrer dans le DM tout seul, en faite il ne fait rien... xD la commande ne fonctionne toujours pas :(
« Modifié: 01 Avril 2008, 23:51:04 par [StAfF]mAn »
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Commande qui foire
« Réponse #8 le: 02 Avril 2008, 01:33:22 »
Ca vient de cette ligne :
if(strcmp(cmdtext,"/DMcar2", true)==0)Quand tu mets un ID derrière /DMcar2, cmdtext n'est plus égale à "/DMcar2".

Voici le bon début de commande à mettre dans ton script :


/* On extraie la commande */
cmd = strtok (cmdtext, idx); // A mettre au tout début de OnPlayerCommandText
                             // Si cmd n'est pas déclaré, il faut le faire au début de OnPlayerCommandText

if(strcmp(cmd,"/DMcar2", true)==0) // Attention, le test porte sur cmd maintenant, plus sur cmdtext
{
new pid, tmpp[256];
new carid;
new texte[256];
new name[MAX_PLAYER_NAME];
new name2[MAX_PLAYER_NAME];
tmpp = strtok(cmdtext, idx); // Maintenant il n'en fuat plus qu'un puisque la commande est déjà extraite plus haut donc ici on recupère le paramètre
if(!strlen(tmpp))
{
SendClientMessage(playerid, COLOR_RED, "USAGE: /DMcar2 [playerid]");
return 1;
}
pid = strval(tmpp);

Le reste est pareil.

++
Syg
Courtesy of GtaManiac

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Commande qui foire
« Réponse #9 le: 02 Avril 2008, 01:49:09 »
ça fonctionne toujours pas ... Maintenant quand on tape la commande hors d'un véhicule avec ou sans ID ça affiche : Tu n'es pas en voiture !!

Après si je rentre dans un véhicules que je tape /DMcar2 ou /DMcar2 ID ça n'affiche rien et aucunes actions ne se produits....

    if(strcmp(cmd,"/DMcar2", true)==0)
{
    new pid, tmpp[256];
    new carid;
    new texte[256];
    new name[MAX_PLAYER_NAME];
    new name2[MAX_PLAYER_NAME];
    idx=0;
    tmpp = strtok(cmdtext, idx);
                /* Pas de paramètre ? */
    if(!strlen(tmpp))
    {
    SendClientMessage(playerid, COLOR_RED, "USAGE: /DMcar2 [playerid]");
    return 1;
    }
    pid = strval(tmpp);
    if(IsPlayerInAnyVehicle(playerid)==1)
    {
    if(!IsPlayerConnected(pid))
    {
    SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
    }
    return 1;
    }
    if(IsPlayerInAnyVehicle(playerid)==0)
    {
    SendClientMessage(playerid, COLOR_RED, "Tu n'est pas en voiture !!!");
    return 1;
    }
                /* Je ne vois pas du tout comment on pourrait arriver ici, IsPlayerInAnyVehicle renvoie soit 0 soit 1 */
                /* Ce bloc pourrait être enlevé */
else if(Checkcar ==0){
    SendClientMessage(playerid, COLOR_YELLOW," Dommage !! Une autre fois peut être ??");
    DMcar2[playerid]=0;
    DMcar2[pid] = 0;
    DMArena[playerid] = 0;
return 1;
    }
....
reste de la commande
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Commande qui foire
« Réponse #10 le: 02 Avril 2008, 10:22:52 »
Enlève la ligne
idx=0;sinon le strtok suivant te renverra la commande et non pas le paramètre.

Petit cours sur la fonction strtok :

La fonction strotk sert à extraire des morceaux d'un chaîne définis par un délimiteur (caractère espace par défaut).
Cette fonction peut-être appellée plusieurs fois de suite et donne à chaque fois le morceau suivant (ou rien si il n'y a plus de morceau).
Pour savoir quel morceau elle doit renvoyer, on lui passe en paramètre l'index du dernier caractère du morceau précédent+1 (c'est à dire l'espace).

Exemple (à mettre dans le main d'un GM) :
main()
{
new cmdtext[255]= "Ceci est vraiment une chaine";
new idx = 0;
new tmp[255];

/* Premier appel */
tmp = strtok (cmdtext, idx);
printf ("tmp = %s, idx = %d", tmp, idx);

/* Deuxième appel */
tmp = strtok (cmdtext, idx);
printf ("tmp = %s, idx = %d", tmp, idx);

/* Troisième appel */
tmp = strtok (cmdtext, idx);
printf ("tmp = %s, idx = %d", tmp, idx);

/* Quatrième appel */
idx = 0;
tmp = strtok (cmdtext, idx);
printf ("tmp = %s, idx = %d", tmp, idx);
}

Résultat (bien que je vous conseille de faire des essais par vous même) :
tmp = Ceci, idx = 4
tmp = est, idx = 8
tmp = vraiment, idx = 17
tmp = Ceci, idx = 4


Comme on le voit ici, le fait de modifier la valeur de idx change le point de départ de recherche de la fonction strtok.

++
Syg
Courtesy of GtaManiac

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Commande qui foire
« Réponse #11 le: 02 Avril 2008, 14:05:15 »
Merci beaucoup je vais tester ;)

++

PS: sympa le petit cour, c'est toujours bon a savoir ;)


PSSSSSSSSS : Oh merci !! c'est fabuleux !!! ça marche !!!! mici mici mici mici mici !!!!  :D :laugh ;)
« Modifié: 02 Avril 2008, 14:12:48 par [StAfF]mAn »
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Commande qui foire
« Réponse #12 le: 03 Avril 2008, 23:02:52 »
Re désolé encore un double poste... Mais voila, les messages s'affiches bien a l'écran, c'est pour ça que je pensais que ça fonctionnait (j'suis un  :boulet), mais en faite, si un player est connecté et que je tape /Dmcar2 [son ID] rien ne se passe... Ni message (normale) ni téléportation... (moins normale :s ) De même s'il est dans le même véhicule que moi ou non....

la commandes en entière :

if(strcmp(cmd,"/DMcar2", true)==0)
{
    new pid, tmpp[256];
    new carid;
    new texte[256];
    new name[MAX_PLAYER_NAME];
    new name2[MAX_PLAYER_NAME];
    tmpp = strtok(cmdtext, idx);
    if(!strlen(tmpp))
    {
    SendClientMessage(playerid, COLOR_RED, "USAGE: /DMcar2 [playerid]");
    return 1;
    }
    pid = strval(tmpp);
    if(IsPlayerInAnyVehicle(playerid)==1)
    {
    if(!IsPlayerConnected(pid))
    {
    SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
    }
    return 1;
    }
    if(IsPlayerInAnyVehicle(playerid)==0)
    {
    SendClientMessage(playerid, COLOR_RED, "Tu n'est pas en voiture !!!");
    return 1;
    }
    DMcar2[playerid] = 1;
    DMcar2[pid] = 1;
    DMArena[playerid] = 1;
    Checkcar = SetPlayerCheckpoint(playerid, -2372.9285,-1583.5168,498.7269, 5);
    Checkcar = SetPlayerCheckpoint(pid, -2372.9285,-1583.5168,498.7269, 5);
    GetPlayerName(playerid, name, sizeof(name));
    GetPlayerName(pid, name2, sizeof(name2));
    format(texte, sizeof(texte), " %s et son partener %s sont entrés dans le DMcar2, tapez /DMcar2 (ID partener) pour les rejoindre !!", name, name2);
    SendClientMessageToAll(COLOR_YELLOW, texte);
    SetPlayerInterior(playerid,0);
    SetPlayerInterior(pid,0);
    SendClientMessage(playerid, COLOR_YELLOW, "Le tireur essaie de tuer les autres pendant que le pilote va n'importe ou !!!");
    SendClientMessage(playerid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chililiad");
    GameTextForPlayer(playerid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
    SendClientMessage(pid, COLOR_YELLOW, "Le tireur essaie de tuer les autres pendant que le pilote va n'importe ou !!!");
    SendClientMessage(pid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chililiad");
    GameTextForPlayer(pid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
    SetVehiclePos(GetPlayerVehicleID(playerid), 2685.3147,2602.3281,10.5501);
    PutPlayerInVehicle(pid,GetPlayerVehicleID(playerid),1);
    GivePlayerWeapon(pid, 29, 9999);
    GivePlayerWeapon(pid, 34, 9999);
    SetVehicleHealth(carid, 900);
    return 1;
 }

Voila j'ai essayé différentes choses mais sans succès.... SI quelqu'un peut m'aider ?? SVP ^^

PS : comme je suis casse cou**** ça sera ma dernière demande sur ce sujet ci ;) xD +++
« Modifié: 03 Avril 2008, 23:04:44 par [StAfF]mAn »
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Commande qui foire
« Réponse #13 le: 04 Avril 2008, 01:51:38 »
Je vais le répéter encore une fois :
L'INDENTATION CE N'EST PAS POUR FAIRE JOLI !!!!

Regarde là, on voit rien (ou presque) :
    pid = strval(tmpp);
    if(IsPlayerInAnyVehicle(playerid)==1)
    {
    if(!IsPlayerConnected(pid))
    {
    SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
    }
    return 1;
    }

Par contre ici, on voit bien que le return 1; est mal placé .....
    pid = strval(tmpp);
    if(IsPlayerInAnyVehicle(playerid)==1)
    {
        if(!IsPlayerConnected(pid))
        {
            SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
        }
        return 1;
    }

Je te laisse corriger tout seul.

++
Syg
Courtesy of GtaManiac

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Commande qui foire
« Réponse #14 le: 04 Avril 2008, 10:38:51 »
Ok c'est bon ;)

    pid = strval(tmpp);
    if(IsPlayerInAnyVehicle(playerid)==1)
    {
    if(!IsPlayerConnected(pid))
    {
    SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
    return 1;
    }
    }
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|