[Débutant]Script qui bug!

Hydex Messages postés 2 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 4 juillet 2007 - 3 juil. 2007 à 23:25
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008 - 5 juil. 2007 à 19:32
Bonjour!

J'essaie d'adapter le script d'un collègue pour simuler un système de lancer de dés sur IRC. Bon je débute...et ça plante.

Ce que je veux faire : Pour le nombre de dés spécifiés après !sr, pour
chaque dé, si un random 1:6 donne 5 ou 6, incrémenter la variable
succès, et, à la fin, rendre la variable %succes dans un message

Mon script :

on *:TEXT:!sr*:*:{


  ;Vérifications que le script est correctement appelé

      if (!$2-) {

            msg $chan $nick Syntaxe :

            msg $chan $nick !sr [Nombre de dés]

            halt

        }


    ;Lanceur pour SR

        else {

              var %lance $rand(1,6)

              var %des 0

              var %succes 0

              while (%des < $2) {

                    if ((%lance 5) || (%lance 6)){

                        inc %succes 1

                        }

                    inc %des 1

            }


            msg $chan $nick obtient un Résultat d'Action de �3;0,1 %succes �3; en lançant les dés.

            halt

            }

      }


Apparemment %succès reste toujours à 0, ça ne me rend jamais rien d'aute. En plus j'ai ces erreurs dans la fenetre de statut :

        IF Unknown command

-

        INC Unknown command

-

        } Unknown command

...

Apparemment il reconnait presque rien


Si vous pourriez m'aider, j'apprécierais beaucoup ;)

Merci :)

5 réponses

COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
4 juil. 2007 à 01:01
Salut Hydex,

Dans les remotes de mIRC, appuis sur le bouton "{}" (qui te permet de voir si il manque des crochets à tes remotes) pour vérifier...Vérifie qu'il y ai bien un espace avant et après les "{" (regarde bien ta ligne:  if ((%lance <gras>5) || (%lance 6)){</gras>)

Voilà! Bonne continuation
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
4 juil. 2007 à 01:09
En gros il manque une { qui est masqué a cause de l'espace manquant
0
Hydex Messages postés 2 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 4 juillet 2007
4 juil. 2007 à 19:09
Merci, c'était bien ça :)

Maintenant j'ai une autre question, c'est possible de stocker quelque chose dans une variable globale qui porte le nom de celui qui a appelé le script?
Par exemple si Testeur fait !sr 1 le script crée chez moi une variable globale %testeur.
Ca me serait utile pour un autre script...
0
Corween Messages postés 73 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 31 juillet 2008
4 juil. 2007 à 23:04
Quand tu set ta variable %blabla

Pour qu'elle soit attachée à un user, tu peut faire : set %blabla $+ $nick

Si $nick  =  testeur alors ta variable sera alors %blablatesteur

Maintenant, pour appeler cette variable pour donner des points par exemple, il faut la sortir en %blabla [ $+ [ $nick ] ]

Par exemple, si " Jean85 " set une variable qui lui est attribué, alors pour qu'il voit ses points paar exemple, s'il tappe !pts il faut retourner %blabla [ $+ [ $nick ] ]

Je sais pas si tu comprend, fau dire j'arrive pas à m'éxpliquer ><
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008
5 juil. 2007 à 19:32
Euh... tu es sûr que ton script marche maintenant ?

Je pense que tu devrais mettre "var %lance $rand(1,6)" dans le while... sinon ça reviendra toujours au lancement d'un seul dés.
Tes halt n'ont pas l'air de servir à grand chose non plus.

Bonne chance pour la suite.

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