Im using anticollide.tcl available on this site but they don't work
This is the error message:
[babbione] [13:11] Mass collide detected! Changing nick..
[babbione] [13:11] TCL error [got_sign]: can't read "nickchange": no such variable
And this is the code of the tcl:
bind dcc n botnick dcc_botnick
bind dcc n randnick nickchanger
set keep-nick 0
proc dcc_botnick {hand idx argo} {
if {$argo != ""} {
putserv "NICK $argo"
putdcc $idx "Nick changed.."
}
if {$argo == ""} {
putdcc $idx "usage: .botnick nick"
}
return 1
}
proc nickchanger { handle idx arg } {
global nickchange
global keep-nick
if ![info exists nickchange] { set nickchange 0 }
if {$nickchange==1} {
set nickchange 0
putdcc $idx "Nick changing started"
set keep-nick 1
return 0
}
if {$nickchange==0} {
set nickchange 1
putdcc $idx "Nick changing stopped"
set keep-nick 0
change_nick
}
}
proc change_nick {} {
global nickchange
if {$nickchange==1} {
set temp1 [rand 10]
set temp2 [rand 10]
set temp3 [rand 10]
set temp4 [rand 10]
set temp5 [rand 10]
set temp6 [rand 10]
set temp7 [rand 10]
set tempie ac$temp1$temp2$temp3$temp4$temp5$temp6$temp7
putserv "NICK $tempie"
timer 1 change_nick
}
}
bind raw - ERROR raw:checkquit
bind bot - nickcollide bot:nickcollide
set antikill 1
set killcount 0
set lastkill 0
if {![info exists antikill]} { set antikill 0 }
if {![info exists killthresh]} { set killthresh 2 }
if {![info exists killtime]} { set killtime 15 }
bind sign - * got_sign
proc got_sign {nick uhost hand channel reason} {
global antikill lastkill killtime killcount killthresh
if {($antikill) && ([regexp "Killed.* .*." $reason])} {
if {([unixtime] - $lastkill) > $killtime} {
set lastkill [unixtime]
set killcount 1
} {
incr killcount
if {$killcount >= $killthresh} {
putlog "Mass collide detected! Changing nick.."
change_nick
set lastkill 0
}
}
}
}
proc raw:checkquit { from keyword arg } {
global botnick
set text [string tolower $arg]
set blah1 [lindex $text 0]
set blah2 [lindex $text 3]
set blah3 [lindex $text 6]
if {$blah1 != ":closing"} { return 0 }
if {$blah2 != "(killed"} { return 0 }
if {$blah3 != "<-"} { return 0 }
putallbots "nickcollide"
putlog "I was nick-collided, telling other bots!"
collide:switchnick
}
proc bot:nickcollide {bot cmd arg} {
putlog "$bot was nick collided."
collide:switchnick
}
proc collide:switchnick { } {
global nickchange keep-nick
putlog "Switching nicks for the next 10 minutes"
set nickchange 1
set keep-nick 0
change_nick
timer 10 collide:end
}
proc collide:end { } {
global nickchange keep-nick
set nickchange 0
set keep-nick 1
putserv "NICK $botnick"
}
If someone is in a position to arranging the error it I pray to help me