• 09 Juillet 2025, 14:17:26


Auteur Sujet: Probleme commande  (Lu 909 fois)

0 Membres et 1 Invité sur ce sujet

vincentdu90

  • Invité
Probleme commande
« le: 25 Août 2010, 17:41:09 »
Bonjour/Bonsoir

Je m'interesse depuis assez longtemps au pawn et j'ai quelques connaissances , et pour apprendre et m'execer j'ai voulu créer une commande /argent [montant] qui donnerai de l'argent au joueur avec strtok , en suivant l'exemple du samp wiki (j'ai pas fait du copier coller  :D)

Mais le problème c'est que j'ai beau taper /montant 10000 par exemple et ça me donne rien .

new cmd[128], index;
strtok(cmd,index);

if(strcmp(cmd,"/argent",true) == 0)
{
new tmp[128];
   tmp = strtok(cmd,index);
   
   if (strlen(tmp) == 0)
   {
SendClientMessage(playerid,ROUGE,"Utilisation /Argent [Montant]");
   }
   else
   {
GivePlayerMoney(playerid,strval(tmp));
}
return 1;
}

Merci d'avance de votre aide  :)
« Modifié: 26 Août 2010, 15:32:03 par vincentdu90 »

Hors ligne D0os-Nox

  • Connais toi - toi même
  • *
  • Tueur en série
  • Retourne toi, t'es déjà mort
  • Messages: 144
    • Voir le profil
    • :.. UG - Communauté d'entraide, de production vidéo games et multigaming ..:
Re : Probleme commande
« Réponse #1 le: 25 Août 2010, 18:19:49 »
Bonjour, La valeur TMP(C'est un exemple sa pourrai être argent[128]  ...) permet de stocker les valeurs ecrite ( Donc le Montant )


GivePlayerMoney(playerid,tmp);
 :closedeyes D0os-Nox  :laugh

« Modifié: 25 Août 2010, 18:21:22 par D0os-Nox »




Citer
La vrai paix n'existe pas, nous somme le reflet de l'ignorance d'un monde détruit par la guerre ![/glow]
Citer
Chaque jours, la haine nous renferme dans l'obscurité ![/glow]
(Citations par D0os)

vincentdu90

  • Invité
Re : Probleme commande
« Réponse #2 le: 25 Août 2010, 19:56:38 »
Je sais que c'est un exemple la valeur TMP et j'ai enlevé la fonction strval et j'ai l'erreur 035 > argument type mismatch (argument 2)

Hors ligne minimicro

  • *
  • Tueur
  • Codeur Php / Mysql / Pawno
  • Messages: 53
    • Voir le profil
Re : Probleme commande
« Réponse #3 le: 25 Août 2010, 22:14:07 »
Surtout pas donner TMP comme cela, c'est une variable type "Chaine de Caractere", qu'il faut convertir en Nombre entier (Integer), d'ou l'utilisation de la fonction strval(tmp), qui revoit la valeur numérique contenue dans TMP.

Laisse strval, par contre, pour index, en haut, initialise le à 0 : index = 0;
Codeur Php / Pawno / MySql - Administration et maintenance serveur

Hors ligne D0os-Nox

  • Connais toi - toi même
  • *
  • Tueur en série
  • Retourne toi, t'es déjà mort
  • Messages: 144
    • Voir le profil
    • :.. UG - Communauté d'entraide, de production vidéo games et multigaming ..:
Re : Probleme commande
« Réponse #4 le: 26 Août 2010, 04:42:05 »
RE : Oui ou sinon, Définir une simple variable comme étant = a strval(tmp) !

new argent;
argent = strval(tmp);

GivePlayerMoney(playerid, argent);

 ::) D0os-Nox  :dry




Citer
La vrai paix n'existe pas, nous somme le reflet de l'ignorance d'un monde détruit par la guerre ![/glow]
Citer
Chaque jours, la haine nous renferme dans l'obscurité ![/glow]
(Citations par D0os)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Probleme commande
« Réponse #5 le: 26 Août 2010, 10:23:12 »
Il faut toujours tout regarder avant de donner une réponse.

Le problème vient de la deuxième ligne de son bout de script :
strtok (cmd, index);
Cette ligne ne fait rien.
Donc la variable cmd ne contient rien et le test if (strcmp(cmd, "/argent", true) == 0) n'est jamais vérifié et la commande n'est jamais exécutée.

Il faut donc remplacer la ligne citée ci-dessus par :
cmd = strtok (cmdtext, index); // On extraie la commande et on la place dans la variable cmd
Le reste du code est correct.

++
Syg
Courtesy of GtaManiac

vincentdu90

  • Invité
Re : Probleme commande
« Réponse #6 le: 26 Août 2010, 10:46:23 »
Merci Syg en plus de ça je l'avais fait plus bas et j'ai vu aussi que j'avais une autre erreur à la ligne

tmp = strtok(cmd,index);

Il fallait mettre cmdtext .

Merci à vous  ;)

Hors ligne minimicro

  • *
  • Tueur
  • Codeur Php / Mysql / Pawno
  • Messages: 53
    • Voir le profil
Re : Probleme commande
« Réponse #7 le: 26 Août 2010, 11:03:38 »
Ohoh, bien vu, j'avais zappé les arguments du OnPlayerCommandText  :bangin :jesors
Codeur Php / Pawno / MySql - Administration et maintenance serveur

vincentdu90

  • Invité
Re : Probleme commande
« Réponse #8 le: 26 Août 2010, 11:05:49 »
Syg est et reste le maître  :D
« Modifié: 26 Août 2010, 15:52:11 par vincentdu90 »