psykowarrior
Messages postés18Date d'inscriptionlundi 26 février 2007StatutMembreDernière intervention22 mai 2007
-
14 mars 2007 à 21:17
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 2010
-
15 mars 2007 à 18:17
Bonjour à tous,
J'ai fait un bout de code d'identification qui foire, le voila, merci de me dire pourquoi :
elseif (!ident isin $1) {
if (%2 != % [ $+ [ $nick ] $+ [ .pass ] ]) { /msg $nick 3;42;Mot de passe incorect }
else { set % $+ $nick $+ .statut. 1 | /msg $nick 3;52;Mot de passe accepté, vous avez été identifié ! }
halt
}
Merci =)
A voir également:
Condition avec une variable "% [ $+ [ $nick ] $+ [ .pass ] ]"
Panthouffle
Messages postés281Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention14 avril 2008 14 mars 2007 à 22:16
Salut, perso je te conseil de mettre les mots de passe dans un fichier ini ou dans un fichier texte (limite fichier hash table) parce qu'à la longue il va y avoir beaucoup de variables, enfin bon, ça reste une question de goût, mais sache que les variables sont pas le moyen le plus rapide pour le stockage
sinon pour ton code, déjà y'avait le %2 qui, à moins d'être une variable, s'écrit bien $2 :) je crois que ce code devrait fonctionner :
elseif (!ident isin $1) {
if ($2 != % [ $+ [ $+($nick,.pass) ] ]) msg $nick Mot de pass incorrect
else { set % $+ $nick $+ .statut. 1 | msg $nick 3;2;Mot de passe accepté, vous avez été identifié ! }
}
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 15 mars 2007 à 18:17
Mettre des $+ [ ] ca te pourris la lecture d'un code, utilise $eval(,2) qui s'écris aussi $(,2) qui force l'evaluation.Par exemple le premier if deviendrais :
if ($2 != $($+(%,$nick,.pass),2))
Un autre truc : regarder si un mot "est contenu" dans un autre reviens a dire si ce mot est égal a l'autre.Ton isin devrait etre un == même si ca ne change strictement rien :).