Else marche pas ?

Résolu
cs_Lodan51 Messages postés 57 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 19 janvier 2006 - 19 août 2005 à 19:04
Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006 - 20 août 2005 à 15:35
Voilà je reviens vers vous car dans le remote qui suit, tout marche sauf une chose : les deux else présent dedans et je voudrais savoir pourquoi ?

on *:text:!poupon.jouer*:#:{
if ( [ [ $+(%,px,$nick) ] ] = 1 ) {
/msg $chan 12 $nick 4 tu reçois un oeuf de13 poupon4 ! | $+(timerpoupon,$nick,1) 1 10 /msg $chan 12 $nick 4ton3 oeuf4 va éclore prochainement. 2Durée avant éclosion :7 20 minutes4 !
$+(timerpoupon,$nick,2) 1 300 /msg $chan 12 $nick 4ton3 oeuf4 va bientôt éclore. 2Durée avant éclosion :7 15 minutes4 !
$+(timerpoupon,$nick,3) 1 600 /msg $chan 12 $nick 4ton3 oeuf4 va bientôt éclore. 2Durée avant éclosion :7 10 minutes4 !
$+(timerpoupon,$nick,4) 1 900 /msg $chan 12 $nick 4ton3 oeuf4 ne va pas tarder à éclore. 2Durée avant éclosion :7 5 minutes4 !
$+(timerpoupon,$nick,5) 1 1140 /msg $chan 12 $nick 4éclosion imminente !!!! 2Durée avant éclosion :7 1 minute4 !
$+(timerpoupon,$nick,6) 1 1200 /msg $chan 12 $nick 4 enfin le moment est arrivé :) Voici un joli13 poupon4! | $+(timerpoupon,$nick,7) 1 1202 /notice $nick 6Tu as désormais accés à toutes les commandes car ton poupon est né. Tape !poupon.aide pour voir les commandes ! | inc $+(%,px,$nick) 1
else { notice $nick 6Tu ne t'es pas identifié à l'aide de la commande !poupon.go }
}
elseif ( [ [ $+(%,px,$nick) ] ] = 2 ) {
/msg $chan 12 $nick 4ton13 poupon4 atteindra le niveau supérieur dans7 12 minutes4 !
$+(timerpoupon,$nick,8) 1 300 /msg $chan 12 $nick 4ton13 poupon4 a gagné14 8 grammes4 et toute sa santé ! 2Durée avant évolution :7 7 minutes4 ! | /inc [ [ $+(%,sa,$nick) ] ] 100 | /inc [ [ $+(%,ps,$nick) ] ] 8
$+(timerpoupon,$nick,9) 1 600 /msg $chan 12 $nick 4ton13 poupon4 ne va pas tarder à évoluer vers le niveau supérieur ! 2Durée avant évolution :7 2 minutes4 !
$+(timerpoupon,$nick,10) 1 720 /msg $chan 12 $nick 4ton13 poupon4 à atteind le niveau supérieur !!!! | $+(timerpoupon,$nick,11) 1 722 /notice $nick 6Tape !poupon.etat pour voir les statistiques de ton poupon ! | /inc $+(%,px,$nick) 1
else { notice $nick 6Tu ne t'es pas identifié à l'aide de la commande !poupon.go }
}
}

En fait tant que ce probléme ne sera pas résolu, pas la peine que je rallonge le remote ( car elle va être trés longue à la fin ) lool !
Merci de votre aide :)

Lodan51

6 réponses

Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006
20 août 2005 à 15:35
Il faut bien comprendre le sens des commandes :
if : on teste la condition.
elseif : on teste la condition seulement si une condition précédente n'a pas été vérifiée.
else : on effectue l'action si la condition précédente n'a pas été vérifiée.

Dans ton cas, il vaudrait mieux vérifier en premier lieu si ta variable %pxnick existe (ou n'existe pas) avant d'envoyer les autres tests.

ton code devient :

on *:text:!poupon.jouer*:#:{

if ( [ [ $+(!%,px,$nick) ] ] ) { notice $nick 6Tu ne t'es pas identifié à l'aide de la commande !poupon.go }

elseif ( [ [ $+(%,px,$nick) ] ] = 1 ) {
/msg $chan 12 $nick 4 tu reçois un oeuf de13 poupon4 ! | $+(timerpoupon,$nick,1) 1 10 /msg $chan 12 $nick 4ton3 oeuf4 va éclore prochainement. 2Durée avant éclosion :7 20 minutes4 !
$+(timerpoupon,$nick,2) 1 300 /msg $chan 12 $nick 4ton3 oeuf4 va bientôt éclore. 2Durée avant éclosion :7 15 minutes4 !
$+(timerpoupon,$nick,3) 1 600 /msg $chan 12 $nick 4ton3 oeuf4 va bientôt éclore. 2Durée avant éclosion :7 10 minutes4 !
$+(timerpoupon,$nick,4) 1 900 /msg $chan 12 $nick 4ton3 oeuf4 ne va pas tarder à éclore. 2Durée avant éclosion :7 5 minutes4 !
$+(timerpoupon,$nick,5) 1 1140 /msg $chan 12 $nick 4éclosion imminente !!!! 2Durée avant éclosion :7 1 minute4 !
$+(timerpoupon,$nick,6) 1 1200 /msg $chan 12 $nick 4 enfin le moment est arrivé :) Voici un joli13 poupon4! | $+(timerpoupon,$nick,7) 1 1202 /notice $nick 6Tu as désormais accés à toutes les commandes car ton poupon est né. Tape !poupon.aide pour voir les commandes ! | inc $+(%,px,$nick) 1
}

elseif ( [ [ $+(%,px,$nick) ] ] = 2 ) {
/msg $chan 12 $nick 4ton13 poupon4 atteindra le niveau supérieur dans7 12 minutes4 !
$+(timerpoupon,$nick,8) 1 300 /msg $chan 12 $nick 4ton13 poupon4 a gagné14 8 grammes4 et toute sa santé ! 2Durée avant évolution :7 7 minutes4 ! | /inc [ [ $+(%,sa,$nick) ] ] 100 | /inc [ [ $+(%,ps,$nick) ] ] 8
$+(timerpoupon,$nick,9) 1 600 /msg $chan 12 $nick 4ton13 poupon4 ne va pas tarder à évoluer vers le niveau supérieur ! 2Durée avant évolution :7 2 minutes4 !
$+(timerpoupon,$nick,10) 1 720 /msg $chan 12 $nick 4ton13 poupon4 à atteind le niveau supérieur !!!! | $+(timerpoupon,$nick,11) 1 722 /notice $nick 6Tape !poupon.etat pour voir les statistiques de ton poupon ! | /inc $+(%,px,$nick) 1
}
}

Pour ce genre de jeu je te conseillerais de stocker toutes tes données dans des hash tables ou fichiers ini plutôt que d'utiliser des variables personnalisées, c'est beaucoup plus facile à gérer.
3
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
19 août 2005 à 19:09
Manque un "}" au dessus du else ...
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
19 août 2005 à 19:27
tu es obligé de créer un topic par question ?
0
cs_Lodan51 Messages postés 57 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 19 janvier 2006
19 août 2005 à 21:23
Désolé pour les topics
Sinon il y a encore un prob apparement même en mettant au dessus des else ce que vous m'avez conseillez, qu'est ce qu'il ne va pas ce coup-ci ?

on *:text:!poupon.jouer*:#:{
if ( [ [ $+(%,px,$nick) ] ] = 1 ) {
/msg $chan 12 $nick 4 tu reçois un oeuf de13 poupon4 ! | $+(timerpoupon,$nick,1) 1 10 /msg $chan 12 $nick 4ton3 oeuf4 va éclore prochainement. 2Durée avant éclosion :7 20 minutes4 !
$+(timerpoupon,$nick,2) 1 300 /msg $chan 12 $nick 4ton3 oeuf4 va bientôt éclore. 2Durée avant éclosion :7 15 minutes4 !
$+(timerpoupon,$nick,3) 1 600 /msg $chan 12 $nick 4ton3 oeuf4 va bientôt éclore. 2Durée avant éclosion :7 10 minutes4 !
$+(timerpoupon,$nick,4) 1 900 /msg $chan 12 $nick 4ton3 oeuf4 ne va pas tarder à éclore. 2Durée avant éclosion :7 5 minutes4 !
$+(timerpoupon,$nick,5) 1 1140 /msg $chan 12 $nick 4éclosion imminente !!!! 2Durée avant éclosion :7 1 minute4 !
$+(timerpoupon,$nick,6) 1 1200 /msg $chan 12 $nick 4 enfin le moment est arrivé :) Voici un joli13 poupon4! | $+(timerpoupon,$nick,7) 1 1202 /notice $nick 6Tu as désormais accés à toutes les commandes car ton poupon est né. Tape !poupon.aide pour voir les commandes ! | inc $+(%,px,$nick) 1
}
else { notice $nick 6Tu ne t'es pas identifié à l'aide de la commande !poupon.go }
}
elseif ( [ [ $+(%,px,$nick) ] ] = 2 ) {
/msg $chan 12 $nick 4ton13 poupon4 atteindra le niveau supérieur dans7 12 minutes4 !
$+(timerpoupon,$nick,8) 1 300 /msg $chan 12 $nick 4ton13 poupon4 a gagné14 8 grammes4 et toute sa santé ! 2Durée avant évolution :7 7 minutes4 ! | /inc [ [ $+(%,sa,$nick) ] ] 100 | /inc [ [ $+(%,ps,$nick) ] ] 8
$+(timerpoupon,$nick,9) 1 600 /msg $chan 12 $nick 4ton13 poupon4 ne va pas tarder à évoluer vers le niveau supérieur ! 2Durée avant évolution :7 2 minutes4 !
$+(timerpoupon,$nick,10) 1 720 /msg $chan 12 $nick 4ton13 poupon4 à atteind le niveau supérieur !!!! | $+(timerpoupon,$nick,11) 1 722 /notice $nick 6Tape !poupon.etat pour voir les statistiques de ton poupon ! | /inc $+(%,px,$nick) 1
}
else { notice $nick 6Tu ne t'es pas identifié à l'aide de la commande !poupon.go }
}
}

Car quand je clique sur OK ce qui enregistre les modifications et que je re rentre dedans, tout est décalé aussi ?
Re merci d'avance !

Lodan51
0

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

Posez votre question
cs_Lodan51 Messages postés 57 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 19 janvier 2006
19 août 2005 à 21:30
ah et maintenant c'est le elseif qui marche plus !

Lodan51
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
19 août 2005 à 21:47
les syntaxes sont simples pourtant !

deja il faut deux '==' dans les conditions > if (blabla == truc)

de plus tes comparaisons n'ont aucun sens





on *:text:!poupon.jouer*:#:{
if ( [ [ $+(%,px,$nick) ] ] = 1 ) {

blabla

}
elseif ( [ [ $+(%,px,$nick) ] ] = 2 ) {

blabla

}
else {


blabla


}
}
0