un kick ban euhhh sadique
#7
ours_en_peluche, ton code doit très certainement fonctionner, mais il est mal présenté, dans le sens ou c'est moyen pour s'y retrouver.

Exemple avec toi :
TCL
if {$machin} {
   # ...
} else {
   if {$bidule} {
      # ...
   } else {
      if {$prout} {
         # ...
      }
   }
}



Alors que tu pourais très simplement te simplifier la vie.
Exemple :
TCL
if {$machin} {
   # ...
   return 0
}
if {$bidule} {
   # ...
   return 0
}
if {$prout} {
   # ...
   return 0
}
# Et la ton code valide une fois que toute les conditions sont passé


L'avantage dans cette méthode, c'est que tu évites tout les else ... et au final, tu peux aligner ces conditions sur une seule ligne quand c'est court.
Exemple :
TCL
set commande(choix) "!"
 
bind pub - $commande(choix)attaque     pub:attaque
 
proc pub:attaque {nick host hand chan arg} {
   global commande
   set who [lindex $arg 0]
   if {$who == ""} { puthelp "NOTICE $nick :Non mais, met un pseudo ispice de boulet !!"; return 0 }
   if {![matchattr $hand 0]} { puthelp "PRIVMSG $chan :Non mais tu y croyais toi !! Faut pas réver !!"; return 0 }
   if {![botisop $chan]} { puthelp "NOTICE $nick :Désolé, je ne suis pas op sur ce chan"; return 0 }
   if {![onchan $who $chan]} { puthelp "NOTICE $nick :Désolé, mais la personne n'est pas sur le chan"; return 0 }
 
   set usermask [lindex [split [getchanhost $who $chan] "@"] 0]
   set ipmask [lindex [split [maskhost $who![getchanhost $who $chan]] "@"] 1]
   set nickidenthostermask $who![getchanhost $who $chan]
   set identhostmask [lindex [split $nickidenthostermask "!"] 1]
   set hostmask [lindex [split $identhostmask "@"] 1]  
 
   puthelp "PRIVMSG $chan :Hello $who"
   puthelp "PRIVMSG $chan :Je suis le bot de ce chan"
   puthelp "PRIVMSG $chan :On m a dit de m'occuper de toi"
   puthelp "MODE $chan -qaohv $who $who $who $who $who"
   puthelp "PRIVMSG $chan :Alors, comme je suis obéissant"
   puthelp "PRIVMSG $chan :Alors, pour débuter, je pose deux bans"
   puthelp "MODE $chan +bb $who *!*$usermask*@*"
   puthelp "PRIVMSG $chan :Oh et puis soyons fou, un troisieme :)))"
   puthelp "MODE $chan +b *!*@$hostmask"
   puthelp "PRIVMSG $chan :Et maintenant, je te kick"
   puthelp "KICK $chan $who On m a demandé de t attaquer alors au revoir !!!!!!!"
}


Voila qui est plus propre je trouve comme code, d'autant plus que dans ta source ours_en_peluche, tu avais déjà mit des "return 0", donc le système des else était pas pratique du tout.
Encore autre chose, prend l'habitude de mettre les mots clef de commande IRC en majuscule, on s'y retrouve plus.
Exemple : "privmsg" devient "PRIVMSG"


Voili voilou, good luck have fun !
Répondre Avertir


Messages dans ce sujet
un kick ban euhhh sadique - par caline012 - 29/11/2007, 11:36
RE: un kick ban euhhh sadique - par CrazyCat - 29/11/2007, 13:18
RE: un kick ban euhhh sadique - par caline012 - 29/11/2007, 14:08
RE: un kick ban euhhh sadique - par caline012 - 11/05/2008, 20:03
RE: un kick ban euhhh sadique - par DaV34 - 04/06/2008, 17:54

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté