All pastes #796658 Raw Edit

Anonymous

public text v1 · immutable
#796658 ·published 2007-11-25 06:47 UTC
rendered paste body
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 ] ]
  }
}