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))
}
}