Communauté Eggdrop
Beug changement de nick. - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : Beug changement de nick. (/showthread.php?tid=368)



Beug changement de nick. - IluZi0n - 06/04/2009

Bonjour à tous !

Voila j'ai une erreur dans un TCL, si je change de nick en rajoutant "/nick Afk]" par exemple j'ai:

Citation :*** Notice -- Lien avec Eva.IRCw.info annulé: Le serveur Eva.IRCw.info[irc.IRCw.info] a fermé la connection (<>)
*** Notice -- NetSplit: irc.IRCw.info Eva.IRCw.info (Le serveur Eva.IRCw.info[irc.IRCw.info] a fermé la connection (<>))

Cela vien du signe "]" & "[" - Je ne sais pas trop comment faire :s

voila le code:

tcl
if {$event=="NICK"} {
     if {[string equal [lindex $arg 3] "1"]} {
	set pseudo "[split [string trim [lindex $arg 2] :]]"
	set identd "[lindex $arg 5]"
	set host "[lindex $arg 6]"
	set serv "[lindex $arg 7]"
	set name "[string trim [lrange $arg 8 end] :]"
       set ip "[lindex $arg 6]"
       if {$pseudo=="Thema"} { return 0 }
      set hostc($pseudo) "$ip"
	if [info exists hostclone($ip)] {
       putlog "yes"
	incr hostclone($ip) 1
       if {$hostclone($ip)>="4"} {
       if {$ip!="irc.IRCw.info"} {
       send ":$eva(serv) WALLOPS



Merci de votre aide !
Bien Cordialement,


RE: Beug changement de nick. - Merwin - 06/04/2009

http://xineos.free.fr/listes_tcl.html

Ca viens du fait que à un moment tu as utilise [split] ou [lindex] sur des variables non adaptés, lis mon tutorial pour comprendre d'ou vient l'erreur.


RE: Beug changement de nick. - IluZi0n - 06/04/2009

Coucou,

Merci Merwin, mais j'ai essayé de comprendre ton tuto, mais jy arrive pas telement... excuse moi :s
Moi et le TCL... je debute seulement !


RE: Beug changement de nick. - Merwin - 06/04/2009

Ce que je peux te conseiller, c'est de préfixer le nom de tes variables par 'lst' ou 'str', selon le type de données que tu mets.
Exemple:

tcl
set strArg "ceci est un texte !"
set lstArg [split $arg]
set strMot_1 [lindex $lstArg 0]



Ensuite tu sais que tu ne peux utiliser les fonctions lindex, lrange, etc que sur des variables de type liste.
Ca évitera le genre d'erreurs que tu as eus la.