This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

One script conversion mirc->tcl

Old posts that have not been replied to for several years.
Locked
N
Neomaster
Voice
Posts: 25
Joined: Mon Feb 23, 2004 5:24 pm

One script conversion mirc->tcl

Post by Neomaster »

Code: Select all

on *:JOIN:#:{
  if ( $nick == $me ) {
    who $chan N%NA
  }
  else {
    who $nick N%NA
  }
}

RAW 354:*:{
  If ( ( $3 == 0 ) || ( $3 == $NULL ) ) {
    CTCP $2 FINGER
  }
}

RAW 315:*:{
  HALTDEF
}

on *:CTCPREPLY:FINGER*:{
  var %txt = $Chr(40) $+ ZZZ $+ $Chr(41)
  If ( %txt IsIn $2- ) {
    /chanserv $chan kb $nick Virus Drone
  }
}
Currently, if you finger a virus, it always return ZZZ in the string. The above do this check, and if you join the channel do a whol channel check.

If ZZZ is in the string is detected, the user gets kick banned. Any idea on how to convert this mirc script in tcl?
User avatar
awyeah
Revered One
Posts: 1580
Joined: Mon Apr 26, 2004 2:37 am
Location: Switzerland
Contact:

Post by awyeah »

It should be something like this. Although I haven't tested it... so there could be some errors in the lindex numbers.

Code: Select all

#Set the channel for this script to work on
set chan_name "#blablachan"


bind join - "*" who:chan

proc who:chan {nick uhost hand chan} {
 global chan_name
  if {![string equal -nocase $chan_name $chan]} { return 0 }
   if {[isbotnick $nick]} {
    putserv "WHO $chan N%NA"
    }
   else {
    putserv "WHO $chan N%NA"
    }
}


bind raw - 354 check:ctcp

proc check:ctcp {from key arg} {
  if {([lindex $arg 3] == 0) || ([lindex $arg 3] == "")} {
   putserv "PRIVMSG [lindex $arg 2] :\001FINGER\001" 
   return 1
   }
}


bind raw - 315 do:halt

proc do:halt {from key arg} {
 return 1
}


bind ctcr - FINGER ban:virus

proc ban:virus {nick uhost hand dest key text} { 
 global chan_name
  if {([string match "*(ZZZ)*" $text]} {
   putserv "PRIVMSG ChanServ :$chan_name kb $nick virus drone!"
   }
} 
·­awyeah·

==================================
Facebook: jawad@idsia.ch (Jay Dee)
PS: Guys, I don't accept script helps or requests personally anymore.
==================================
Locked