All pastes #143683 Raw Edit

Someone

public text v1 · immutable
#143683 ·published 2006-08-22 03:47 UTC
rendered paste body
;######################################################################
;######################################################################
;######################################################################
;#########                                                  ###########
;#########               Pest Core Files                    ###########
;######### Updated Version - Changes:                       ###########
;#########  1) Deleted the auto-voice database              ###########
;#########  2) Added a "[@!]last" command                   ###########
;#########  3) New worlds are to be defined in the Op chan  ###########
;#########                                                  ###########
;#########  By using this script, you are acknowleging that ###########
;#########  you are never to share our worlds with any      ###########
;#########  other channels alike, and to keep this script   ###########
;#########  from other aswell                               ###########
;#########                                                  ###########
;######################################################################
;######################################################################
;######################################################################


alias -l c1 return $+(14,$1-,)

alias -l c2 return $+(07,$1-,)

on *:TEXT:!defineworld*:#pest,#pestops: {
  if (pegasus !ison $chan) {
    if ($nick isop #) || ($nick ishop #) && ($$2 isnum) {
    if ($chan == #pest) notice $nick The world is not to be defined in this room any longer | notice $nick Please use the PestOp channel instead.
      set %ownpc $$2
      set %ownpc $+ .time $ctime
      set %ownpc $+ .nick $nick
      .notice $nick New PC world set to %ownpc
      msg #pest $c2(------) $c1(The current) $c2(pc-world) $c1(has been changed!) $c2(------)
    }
  }
}
on $*:text:/^[@!]world/Si:#pest,#pestops: {
  if (pegasus !ison $chan) {
    if ($me isop $chan) || ($me ishop $chan) {
      if ($nick !isop #) && ($nick !ishop #) {
        hinc -mu45 flood $nick 1
        if ($hget(flood,$nick) >= 3) {
          ban -ku300 $chan $nick 2 Stop spamming the bot (Temp Banned - 5 mins)
          hdel flood $nick
        }
      }
    }
    if (%spam == $null) && ((%spamcount == $null) || (%spamcount < 15)) {
      if (!%ownpc) halt
      else {
        var %send = $iif(($left($1,1) == @) && (($nick isop #) || ($nick ishop #)),.msg $chan,.notice $nick)
        %send $c1(Current PC World:) $c2(%ownpc) $+ $c1(; Last Update:) $c2($duration($calc($ctime - $eval($+(%,ownpc,.time),2)))) 
        inc -u25 %spamcount 1
      }
    }
    if (%spamcount >= 15) { 
      set -u5 %spamcount 1
      set -u30 %spam 1 
      msg $chan $c1(Bot flooded -) $c2(!world) $c1(command is off for) $c2(30 seconds)
    }
  }
}
on *:DISCONNECT: {
  /unset %spamcount
  /unset %spam
  /unset %ownpc*
}


on *:TEXT:!pk *:#pest: {
  if (zeus !ison $chan) {
    if ($nick ishop #) || ($nick isop #) {
      if ($2 isvoice #) notice $nick Will not kick $2 - User is a voice!
      else {
        /inc %knum | /kick # $2 Your stats do not meet $chan $+ 's reqs - %knum
      }
    }
  }
}


on *:JOIN:#pest: {
  if (pegasus !ison $chan) {
    if ($nick == $me) || ($nick == Zeus) {
      halt
    }
    else {
      if ($len($nick) > 12) {
        notice $nick $c1(Usernames cannot be longer than) $c2(12) $c1(characters) $c2(-) $c1(Current characters used:) $c2($len($nick)) $c1(-) $c1(Please change your nick then) $c2(/hop) $c1(to be re-evaluated)
      }
      else {
        set $+(%,cmb.,%cmbcount,.nick1) $nick
        set $+(%,cmb.,%cmbcount,.chan) $chan
        set $+(%,cmb.,%cmbcount,.nick) $iif(` iswm $eval($+(%,cmb.,%cmbcount,.nick1),2),$replace($+(%,cmb.,%cmbcount,.nick1),$chr(96),$chr(95)),$eval($+(%,cmb.,%cmbcount,.nick1),2))   
        cmb $nick
      }
    }
  }
}
alias cmb {
  sockopen $+(cmb.,%cmbcount) vulcan.ueuo.com 80
  inc %cmbcount
}

on *:SOCKOPEN:cmb.*: {
  if ($sockerr) { msg $eval($+(%,cmb.,%cmbcount,.chan),2) Socket Error on Port $sockerr - Try again later | halt }
  VAR %path = /geniestats.php?rsname= $+ $eval($+(%,$sockname,.nick),2)
  sockwrite -n $sockname GET %path HTTP/1.1
  sockwrite -n $sockname Host: vulcan.ueuo.com
  sockwrite -t $sockname $crlf
}

on *:SOCKREAD:cmb.*: {
  if ($sockerr) { echo -a Error - $sockerr | halt }
  else {
    sockread %tmp
    ;echo -a * %tmp
    if ($regex(%tmp,/Genie:Attack\|[^|]*\|([^|]*)\|[^|]*/ig)) set $+(%,$sockname,.att) $iif($regml(1),$regml(1),0)
    elseif ($regex(%tmp,/Genie:Defence\|[^|]*\|([^|]*)\|[^|]*/ig)) set $+(%,$sockname,.def) $iif($regml(1),$regml(1),0)
    elseif ($regex(%tmp,/Genie:Strength\|[^|]*\|([^|]*)\|[^|]*/ig)) set $+(%,$sockname,.str) $iif($regml(1),$regml(1),0)
    elseif ($regex(%tmp,/Genie:Hitpoints\|[^|]*\|([^|]*)\|[^|]*/ig)) set $+(%,$sockname,.hp) $iif($regml(1),$regml(1),0)
    elseif ($regex(%tmp,/Genie:Ranged\|[^|]*\|([^|]*)\|[^|]*/ig)) set $+(%,$sockname,.r) $iif($regml(1),$regml(1),0)
    elseif ($regex(%tmp,/Genie:Prayer\|[^|]*\|([^|]*)\|[^|]*/ig)) set $+(%,$sockname,.p) $iif($regml(1),$regml(1),0)
    elseif ($regex(%tmp,/Genie:Magic\|[^|]*\|([^|]*)\|[^|]*/ig)) set $+(%,$sockname,.m) $iif($regml(1),$regml(1),0)
  }
}


ON *:SOCKCLOSE:cmb.*: {
  set $+(%,$sockname,.ranger) $round($calc(0.4875 * $eval($+(%,$sockname,.r),2) + 0.250 * ($eval($+(%,$sockname,.hp),2) + $eval($+(%,$sockname,.def),2)) + 0.125 * $eval($+(%,$sockname,.p),2)),2)
  set $+(%,$sockname,.mage) $round($calc(0.4875 * $eval($+(%,$sockname,.m),2) + 0.250 * ($eval($+(%,$sockname,.hp),2) + $eval($+(%,$sockname,.def),2)) + 0.125 * $eval($+(%,$sockname,.p),2)),2)
  set $+(%,$sockname,.melee) $round($calc(0.325 * ( $eval($+(%,$sockname,.att),2) + $eval($+(%,$sockname,.str),2) ) + 0.250 * ( $eval($+(%,$sockname,.hp),2) + $eval($+(%,$sockname,.def),2)) + 0.125 * $eval($+(%,$sockname,.p),2)),2)

  $iif($eval($+(%,$sockname,.ranger),2) > $eval($+(%,$sockname,.mage),2), set $+(%,$sockname,.combat) $eval($+(%,$sockname,.ranger),2), set $+(%,$sockname,.combat) $eval($+(%,$sockname,.mage),2))
  $iif($eval($+(%,$sockname,.combat),2) > $eval($+(%,$sockname,.melee),2), set $+(%,$sockname,.combat) $eval($+(%,$sockname,.combat),2), set $+(%,$sockname,.combat) $eval($+(%,$sockname,.melee),2))

  if ( $eval($+(%,$sockname,.combat),2) >= 100 ) || ( $eval($+(%,$sockname,.r),2) >= 90 ) || ( $eval($+(%,$sockname,.str),2) >= 90 ) {
    mode $eval($+(%,$sockname,.chan),2) +v $eval($+(%,$sockname,.nick),2)
    inc %voiced 1
    inc %used 1
    .write -c last.txt $eval($+(%,$sockname,.nick),2) 
    .write last.txt $iif(!$eval($+(%,$sockname,.combat),2),N/A,$eval($+(%,$sockname,.combat),2))
    .write last.txt $iif(!$eval($+(%,$sockname,.str),2),N/A,$eval($+(%,$sockname,.str),2))
    .write last.txt $iif(!$eval($+(%,$sockname,.r),2),N/A,$eval($+(%,$sockname,.r),2))
    unset %tmp $+(%,$sockname,.*)
  }
  else {
    .write -c last.txt $eval($+(%,$sockname,.nick),2)
    .write last.txt $eval($+(%,$sockname,.melee),2)
    .write last.txt $iif(!$eval($+(%,$sockname,.str),2),N/A,$eval($+(%,$sockname,.str),2))
    .write last.txt $iif(!$eval($+(%,$sockname,.r),2),N/A,$eval($+(%,$sockname,.r),2)) 
    msg $eval($+(%,$sockname,.chan),2) $c1(Rsn:) $c2($eval($+(%,$sockname,.nick),2)) $c1($chr(124) Combat:) $c2($iif(!$eval($+(%,$sockname,.combat),2),N/A,$eval($+(%,$sockname,.combat),2))) $c1(Strength:) $c2($iif(!$eval($+(%,$sockname,.str),2),N/A,$eval($+(%,$sockname,.str),2))) $c1(Range:) $c2($iif(!$eval($+(%,$sockname,.r),2),N/A,$eval($+(%,$sockname,.r),2))) 
    notice $eval($+(%,$sockname,.nick),2) The nickname $eval($+(%,$sockname,.nick),2) will not be voiced in $eval($+(%,$sockname,.chan),2) because you do not meet the requirement of: 100+ Cmb, 90+ range, or 90+ Str. If you feel you have received this message in error, please contact a(n) $eval($+(%,$sockname,.chan),2) operator.
    unset %tmp $+(%,$sockname,.*)
  }
}

on $*:TEXT:/^[@!]last/Si:#pest: {
  if (pegasus !ison $chan) {
    var %send = $iif(($left($1,1) == @) && (($nick isop #) || ($nick ishop #)),.msg $chan,.notice $nick)
    %send $c1(Last Joined:) $c2($read(last.txt,1)) $c1($chr(124)) Combat: $c2($read(last.txt,2)) $c1($chr(124)) Strength: $c2($read(last.txt,3)) $c1($chr(124)) Range: $c2($read(last.txt,4))
  }
}