Trop complexe pour moi

Lorya51100 Messages postés 30 Date d'inscription vendredi 15 septembre 2006 Statut Membre Dernière intervention 9 mai 2007 - 7 oct. 2006 à 23:28
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008 - 8 oct. 2006 à 11:37
Salut à tous, voici mon sujet afin de vous éxpliquer mes soucis avec une remote.

Il sagit en tappant la commande !trouve "un nombre" de réussi à deviner le nombre qui a au hasard été défini par le bot, dans une autre remote, et par ceci : set %nombre [ $+ [ $nick ] ] $rand(0,100). La variable définie donc le nombre à trouver entre 0 et 100 pour un user.

Quelques éxplications avant la remote :

!trouve "un nombre" est la commande (exemple : !trouve 21).
set %nombre [ $+ [ $nick ] ] $rand(0,100) est ce qui va faire que le bot va choisir au hasard entre 0 et 100, un nombre à faire deviner à l'user.
%permis est une variable qui doit être obligatoirement à NON pour que la remote s'éxécute.
%essais est une variable qui est de 10 lorsque l'user tappe la commande !trouve "un nombre" pour la première fois. En fait, cela signifie qu'il a 10 éssais pour trouver le nombre. Si il se trompe, la variable est decrementer de 1. Une fois cette variable à 0, il ne doit en principe plus pouvoir tapper cette commande sans avoir le méssage adécquat en retour (voir remote ci-dessous).
$2 est pour moi le nombre qui est entré par l'user à la suite de la commande !trouve. Si l'user tappe !trouve 21, dans ce cas pour $2 est donc 21.
set %permis [ $+ [ $nick ] ] OUI | .caisse est ce qui se passera si l'user trouve le nombre. Dans ce cas, il sera renvoyer vers l'alias caisse.

Voici maintenant la remote :

on *:TEXT:*!trouve:#:{
  if (%permis [ $+ [ $nick ] ] == NON) && (%essais [ $+ [ $nick ] ] == 0) {
    .msg $chan �2;�3;12,15Trop tard pour�3;4,15 $nick �3;12,15! Il n'auras hélas pas son �3;4,15permis de conduire �3;12,15maintenant, et donc pas de voiture.
    unset %essais [ $+ [ $nick ] ] 0
  }
  if (%permis [ $+ [ $nick ] ] == NON) && (%essais [ $+ [ $nick ] ] >=1) {
    if ($2 != %nombre [ $+ [ $nick ] ]) { .msg $chan �2;�3;4,15Mauvaise réponse ! Nombre incorrect.�3;1,15 $nick �3;4,15perd�3;3,15 1 éssai�3;4,15. | dec %essais [ $+ [ $nick ] ] 1 }
    if ($2 == %nombre [ $+ [ $nick ] ]) { .msg $chan �2;�3;8,4Incroyable !�3;1,4 $nick �3;8,4trouve le nombre auquel je pensai et obtien son �3;0,4permis �3;8,4 ! | set %permis [ $+ [ $nick ] ] OUI | .caisse }
  }
}



alias caisse {
  .timercaisseun 1 5 .msg $chan �2;�3;13,15Génial !�3;4,15 $nick �3;13,15va pouvoir s'offrir �3;4,15une voiture �3;13,1!
  .timercaissedeux 1 10 .notice $nick �3;0,1La commande d'achat de véhicule est désormais disponible : �3;13,1!pangya.voiture �3;0,1pour consulter le catalogue.
  .timercaissetrois 1 10 set %achatscaisses [ $+ [ $nick ] ] 1
}


Vous l'avez surement compris, c'est une remote pour un bot de casino.

Je sais d'avance que comme cela, ça ne fonctionne pas, et j'aimerais qu'on me corrige mes erreurs en m'éxpliquant si cela est possible. Car il sagit d'une remote 100% de moi-même et un peu complexe vu mon niveau en mIRC.

En vous remerciant d'avance

1 réponse

S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008
8 oct. 2006 à 11:37
unset %essais [ $+ [ $nick ] ] 0
Pas de 0 à la fin.

dec %essais [ $+ [ $nick ] ] 1
Pas de 1 à la fin, puisque tu décrémentes uniquement de 1, c'est la valeur par défaut.

if ($2 == %nombre [ $+ [ $nick ] ]) {

Tu peux remplacer ça par un simple else {

.caisse
Remplace par .caisse $chan $nick et dans ton alias caisse, remplace les $nick par $2 et les $chan par $1.

Lorsque tu es dans le ON TEXT, $nick retourne la valeur du pseudo qui a
parlé, mais lorsque tu es dans caisse.... $nick n'a aucune valeur, de
même pour $chan, il faut donc les donner en arguments à ton alias.


Voilà... normalement ça devrait marcher, si les variables sont bien évaluées...

-------------------------------
Signature des parents :
0
Rejoignez-nous