GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: DrEnzo; le 01 Octobre 2011, 20:58:05

Titre: Commande qui ne s'exécute pas..
Posté par: DrEnzo; le 01 Octobre 2011, 20:58:05
Bonjour, alors je vient de me lancé dans un petit script tout con. Ou pour le moment pratiquement aucune commande et de moi, en dehort des quelques modifications.

Seulement, mes commandes ne se lise pas. J'ai beau taper nimporte quoi. Rien ne s'affiche si se naisse que les message du genre : "ee", "Salut"..

Sinon, appart cas. Aucune erreur ni Warning..

Source : http://pastebin.com/fexfuLzp (http://pastebin.com/fexfuLzp)

Merci de votre aide..
Titre: Re : Commande qui ne s'exécute pas..
Posté par: Gilux le 01 Octobre 2011, 21:00:38
Salut,
Il n'y a pas de return 0; à la fin de OnPlayerCommandText, ça doit venir d'ici.
Sinon évite les commandes avec des paramètres (genre /kick [ID][Raison]), surtout avec strtok qui posent souvent des problèmes au début.

++
Titre: Re : Re : Commande qui ne s'exécute pas..
Posté par: DrEnzo; le 01 Octobre 2011, 21:10:11
Salut,
Il n'y a pas de return 0; à la fin de OnPlayerCommandText, ça doit venir d'ici.
Sinon évite les commandes avec des paramètres (genre /kick [ID][Raison]), surtout avec strtok qui posent souvent des problèmes au début.

++

D'accord. Je le retire. Peut tu m'aider ?

- Ou on mais les return 1; / return ; ?
- Que me conseil tu d'utiliser ?
- Comment puije recuperé des informations d'une fenetre (ShowPlayerDialog)

Je t'en poseré d'autre en temps voulu ;)

EDIT : Il n'y a pas de return 0; :O

Ou a tu vu sa ??
Titre: Re : Commande qui ne s'exécute pas..
Posté par: Gilux le 01 Octobre 2011, 22:57:41
Justement, le return 0; doit être ajouté à la fin de la callback.

Pour les commandes, ça marche comme ça : Un return 1 à la fin du code de chaque commande (Pour indiquer que le serveur a bien exécuté la commande) et un return 0; à la fin si aucune commande ne correspond (Ce qui correspond au "SERVER : Unknown command" que tu peux avoir en jeu)



public OnPlayerCommandText(playerid,cmdtext[])
{
        if(strcmp..............) // Commande 1
       {
               // Ta commande
               return 1;
       }
       if(strcmp...........) // Commande 2
       {
              // Idem
              return 1;
       }
      return 0;
}



Et pour récupérer les données des boites de dialogue c'est avec OnDialogResponse. Essaye de chercher sur le wiki, tu auras quelques tutos en fonction du type de boîte et je crois qu'il y en a un ici.


++
           
Titre: Re : Commande qui ne s'exécute pas..
Posté par: DrEnzo; le 01 Octobre 2011, 23:06:08
J'ai bien modifier par return 0;

Mais, ca ne fonctionne toujours pas..

Merci de votre aide..

EDIT : J'ai enfain trouvé. Sa plante au niveau des ID MESSAGE comme tu le disé.

Peut tu me donnée t'a manière ? Pour que je voye. Car la je ne peut plus me servire de commande avec quelque chose d'autre.

Merci