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