on *:TEXT:!sethop*:#: {
if ($nick !isop #) && ($nick !ishop #) { notice $nick Only halfop's can set the hopping allowance for $chan $+ . }
elseif ($nick isop #) || ($nick ishop #) && ($2 !isnum) {
notice $nick Please choose a number for the amount of timer a user can hop in 1 minute.
}
elseif ($nick isop #) || ($nick ishop #) && ($2 isnum) {
if ($2 == 0) {
set %hop.mode [ $+ [ $chan ] ] off
msg $chan { 12Hop protection for $chan has been disabled. }
}
elseif ($2 > 0) {
set %hop.mode [ $+ [ $chan ] ] on
set %hop.allowance [ $+ [ $chan ] ] $2
msg $chan { 12The hopping allowance for $chan has been set to $2 hop/s per user. }
}
}
else {
notice $nick Unknown error. Please make sure you have followed the syntax; !sethop <number>. Remember you need to be a halfop or an op to use !sethop.
}
}
on *:TEXT:!setban*:#: {
if (%hop.mode [ $+ [ $chan ] ] == off) {
notice $nick Hop protection for $chan has been disabled. A ban length will not be set.
halt
}
elseif (%hop.mode [ $+ [ $chan ] ] == on) && ($nick isop #) || ($nick ishop #) && ($2 !isnum) {
notice $nick Please chose a number (In seconds) to hold a ban on a banned user for hop protection.
}
elseif (%hop.mode [ $+ [ $chan ] ] == on) && ($nick isop #) || ($nick ishop #) && ($2 isnum) {
set %ban.timer $2
msg $chan 12The amount of time a user will remain banned on $chan for hopping is 4 $2 seconds.
}
}
on *:PART:#: {
if (%hop.mode [ $+ [ $chan ] ] == off) { halt }
elseif (%hop.mode [ $+ [ $chan ] ] == on) && (%hop.allowance [ $+ [ $chan ] ] == %hop.check [ $+ [ $nick ] ]) {
ban $+(-,ku,$calc(%ban.timer * 1)) 12$chan $nick You are only allowed to hop %hop.allowance [ $+ [ $chan ] ] time/s per 60 seconds.
unset %hop.check [ $+ [ $nick ] ]
halt
}
elseif (%hop.mode [ $+ [ $chan ] ] == on) && (%hop.check [ $+ [ $nick ] ] == $null) {
set %hop.check [ $+ [ $nick ] ] 0
inc %hop.check [ $+ [ $nick ] ]
timerunset $+ $nick $+ $chan 1 60 unset %hop.check [ $+ [ $nick ] ]
}
elseif (%hop.mode [ $+ [ $chan ] ] == on) && (hop.check [ $+ [ $nick ] ] != %hop.mode [ $+ [ $chan ] ]) {
inc %hop.check [ $+ [ $nick ] ]
}
}