rendered paste bodyon 19:TEXT:!disconnect:#: { quit !disconnect used by $nick }
on *:TEXT:!pestoff:#: { if ( $nick isop $chan && %status == on ) {
msg $chan $nick has disabled my scripts. | set %status off }
elseif ( $nick isop $chan && %status == off ) { notice $nick My scripts are currently disabled. } }
on *:TEXT:!peston:#: { if ( $nick isop $chan && %status == off ) { m
msg $chan $nick has enabled my scripts. | set %status on }
elseif ( $nick isop $chan && %status == on ) { notice $nick My scripts are currently enabled. } }
on *:TEXT:!av*:#: { if ( $nick isop $chan || $nick ishop $chan ) {
if ( %status == on ) {
/guser 3 $$2 2
/mode $chan +v $$2
/notice $nick $$2 has been added to the AVOICE list.
/notice $$2 $nick has added you to the AVOICE list. }
elseif ( %status == off ) { halt } } }
on 3:JOIN:#: { if ( %status == on ) { mode $chan +v $nick } }
on 19:TEXT:!global*:#: { if ( $$2 == act ) { ame $3- }
else { amsg 4[Global4] $2- } }
on *:TEXT:[-X|Bot-], leave:#: { if ( $nick isop $chan ) { part $chan Parted by $nick } }
on 19:TEXT:!join #*:?: { join $$2-
close -m }
on *:TEXT:!lag:#: { if ( $nick isop $chan ) { msg $chan Currently my lag is %zlag.current $+ s. } }
on *:CONNECT: { if ( $network == SwiftIRC ) { msg NickServ IDENTIFY 041692
mode $me +B
join #thepc
join #thepc.staff password } }
on 19:TEXT:!reset:#: { s $server }
on 19:TEXT:!say*:#: { msg $chan $2- }
on *:TEXT:!change *:#: { if ( $nick isop $chan || $nick ishop $chan ) {
if ( %status == off || $nick isvoice $chan ) { halt }
else { set %world $$2
set %ht $ctime
set %nick $nick
amsg 12|| NEW PEST CONTROL WORLD SET BY %nick || } }
else { halt } } }
on *:TEXT:!world:#: { if ( %status == on ) { notice $nick 4[2Pest-Control4]10 %world 4[2Set by %nick $duration($calc($ctime - %ht)) ago $+ 4] } }
on *:TEXT:!pcw:#: { if ( %status == on ) { notice $nick 4[2Pest-Control4]10 %world 4[2Set by %nick $duration($calc($ctime - %ht)) ago $+ 4] } }
;zLagbar by DrunkDwarf
on *:start:lag.start
on *:unload:lag.unload
alias lag.start {
if ($version < 6.01) { echo -a * Sorry, this addon does not work with your mIRC verson | unload -rs $lag.q($script) | halt }
if ($window(@zLagbar)) { window -ar @zLagbar | clear @zLagbar }
else { window -ahBfp +d @zLagbar 0 0 200 21 }
if (!%zlag.style) { %zlag.style = graph }
if (!$len(%zlag.peak)) { %zlag.peak = 5 }
if (!$len(%zlag.colour1)) { %zlag.colour1 = 16776960 }
if (!$len(%zlag.colour2)) { %zlag.colour2 = 0 }
if (!$len(%zlag.colour3)) { %zlag.colour3 = $rgb(text) }
if (!$len(%zlag.font)) { %zlag.font = Verdana }
if (!$len(%zlag.font.size)) { %zlag.font.size = 11 }
if (!$len(%zlag.delay)) { %zlag.delay = 5 }
if (!$len(%zlag.method)) { %zlag.method = pong }
if ($len(%zlag.checking)) { unset %zlag.checking }
if (!$exists(tempcolour.bmp)) {
window -hBpf +d @temp.colour -1 -1 64 64
drawrect -fr @temp.colour $rgb(0,0,0) 1 0 0 64 64
drawsave @temp.colour tempcolour.bmp
window -c @temp.colour
}
drawrect -rf @zLagbar $rgb(face) 1 0 0 200 21
dll $lag.q($scriptdirtbwin.dll) Attach @zLagbar
dll $lag.q($scriptdirtbwin.dll) OnSize /lag.size
dll $lag.q($scriptdirtbwin.dll) Select @zLagbar
if ($appactive) { window -ar @zLagbar }
lag.size $dll($lag.q($scriptdirtbwin.dll), GetTBInfo, NOT_USED)
if (%zlag.style == graph) {
drawline -rn @zLagbar $rgb(shadow) 1 78 0 200 0
drawline -rn @zLagbar $rgb(shadow) 1 78 0 78 21
drawline -rn @zLagbar $rgb(hilight) 1 78 20 199 20
drawline -rn @zLagbar $rgb(hilight) 1 199 1 199 21
drawrect -rnf @zLagbar %zlag.colour2 1 79 1 120 19
}
if (%zlag.style == line) {
drawline -rn @zLagbar $rgb(shadow) 1 78 0 200 0
drawline -rn @zLagbar $rgb(shadow) 1 78 0 78 21
drawline -rn @zLagbar $rgb(hilight) 1 78 20 199 20
drawline -rn @zLagbar $rgb(hilight) 1 199 1 199 21
drawrect -rnf @zLagbar %zlag.colour2 1 79 1 120 19
}
if (%zlag.style == bar) {
drawline -rn @zLagbar $rgb(shadow) 1 78 5 200 5
drawline -rn @zLagbar $rgb(shadow) 1 78 5 78 16
drawline -rn @zLagbar $rgb(hilight) 1 78 15 199 15
drawline -rn @zLagbar $rgb(hilight) 1 199 5 199 16
drawrect -rnf @zLagbar %zlag.colour2 1 79 6 120 9
}
var %temp.textpos = $round($calc((21 - $height(Lag:,%zlag.font,%zlag.font.size)) / 2)),0)
drawtext -rnc @zLagbar %zlag.colour3 %zlag.font %zlag.font.size 1 %temp.textpos 75 18 Lag: N/A
drawdot @zLagbar
lag.check
.timerlag -io 0 %zlag.delay lag.check
}
alias lag.refresh {
drawrect -nrf @zLagbar $rgb(face) 1 0 0 200 21
if ($readini($mircini,Background,toolbar)) {
lag.temp.bkg
if (%zlag.style == bar) {
drawpic -nsl @zLagbar 78 0 122 5 $calc($gettok(%zlag.pos,1,32) + 78) $gettok(%zlag.pos,2,32) 122 5 $lag.q($scriptdirlagbkg.bmp)
drawpic -nsl @zLagbar 78 16 122 5 $calc($gettok(%zlag.pos,1,32) + 78) $calc($gettok(%zlag.pos,2,32) + 16) 122 5 $lag.q($scriptdirlagbkg.bmp)
}
drawpic -nsl @zLagbar 0 0 78 21 %zlag.pos 78 21 $lag.q($scriptdirlagbkg.bmp)
drawdot @zLagbar
}
if (%zlag.style == graph) {
drawline -rn @zLagbar $rgb(shadow) 1 78 0 200 0
drawline -rn @zLagbar $rgb(shadow) 1 78 0 78 21
drawline -rn @zLagbar $rgb(hilight) 1 78 20 199 20
drawline -rn @zLagbar $rgb(hilight) 1 199 1 199 21
drawrect -rnf @zLagbar %zlag.colour2 1 79 1 120 19
}
if (%zlag.style == line) {
drawline -rn @zLagbar $rgb(shadow) 1 78 0 200 0
drawline -rn @zLagbar $rgb(shadow) 1 78 0 78 21
drawline -rn @zLagbar $rgb(hilight) 1 78 20 199 20
drawline -rn @zLagbar $rgb(hilight) 1 199 1 199 21
drawrect -rnf @zLagbar %zlag.colour2 1 79 1 120 19
}
if (%zlag.style == bar) {
drawline -rn @zLagbar $rgb(shadow) 1 78 5 200 5
drawline -rn @zLagbar $rgb(shadow) 1 78 5 78 16
drawline -rn @zLagbar $rgb(hilight) 1 78 15 199 15
drawline -rn @zLagbar $rgb(hilight) 1 199 5 199 16
drawrect -rnf @zLagbar %zlag.colour2 1 79 6 120 9
}
var %temp.textpos = $round($calc((21 - $height(Lag:,%zlag.font,%zlag.font.size)) / 2)),0)
drawtext -rnc @zLagbar %zlag.colour3 %zlag.font %zlag.font.size 1 %temp.textpos 75 18 Lag: $iif(%zlag.current,%zlag.current $+ s,N/A)
drawdot @zLagbar
}
alias lag.check {
if ($appactive) { window -ar @zLagbar }
if ($server) {
if (%zlag.checking) return
if (%zlag.method == pong) { raw -q ping lag. [ $+ [ $ticks ] ] }
if (%zlag.method == ctcp) { .ctcp $me lag. [ $+ [ $ticks ] ] }
if (%zlag.method == raw) { lag. [ $+ [ $ticks ] ] }
set -u60 %zlag.checking on
}
}
alias lag.size {
%zlag.pos = $calc($1 - 204) $int($calc(($2 - 18) / 2))
if ($readini($mircini,Background,toolbar)) {
lag.temp.bkg
if (%zlag.style == bar) {
drawpic -nsl @zLagbar 78 0 122 5 $calc($gettok(%zlag.pos,1,32) + 78) $gettok(%zlag.pos,2,32) 122 5 $lag.q($scriptdirlagbkg.bmp)
drawpic -nsl @zLagbar 78 16 122 5 $calc($gettok(%zlag.pos,1,32) + 78) $calc($gettok(%zlag.pos,2,32) + 16) 122 5 $lag.q($scriptdirlagbkg.bmp)
}
drawpic -nsl @zLagbar 0 0 78 21 %zlag.pos 78 21 $lag.q($scriptdirlagbkg.bmp)
drawdot @zLagbar
}
window @zLagbar %zlag.pos 200 21
}
on *:close:@zLagbar:{ dll $lag.q($scriptdirtbwin.dll) Detach @zLagbar }
menu @zLagbar {
Style
.$iif(%zlag.style == graph,$style(1)) Graph:{ set %zlag.style graph | lag.refresh }
.$iif(%zlag.style == line,$style(1)) Line Graph:{ set %zlag.style line | lag.refresh }
.$iif(%zlag.style == bar,$style(1)) Percent bar:{ set %zlag.style bar | lag.refresh }
Colour
.Text:{ set %temp.coloursel 3 | set %temp.colour3 $dialog(lagcolour.select,lagcolour.select,-2) | if ($len(%temp.colour3)) { set %zlag.colour3 %temp.colour3 | lag.refresh } | unset %temp.colour* }
.Foreground:{ set %temp.coloursel 1 | set %temp.colour1 $dialog(lagcolour.select,lagcolour.select,-2) | if ($len(%temp.colour1)) { set %zlag.colour1 %temp.colour1 | lag.refresh } | unset %temp.colour* }
.Background:{ set %temp.coloursel 2 | set %temp.colour2 $dialog(lagcolour.select,lagcolour.select,-2) | if ($len(%temp.colour2)) { set %zlag.colour2 %temp.colour2 | lag.refresh } | unset %temp.colour* }
Method
.$iif(%zlag.method == pong,$style(1)) Pong:{ %zlag.method = pong }
.$iif(%zlag.method == ctcp,$style(1)) CTCP:{ %zlag.method = ctcp }
.$iif(%zlag.method == raw,$style(1)) Raw:{ %zlag.method = raw }
Font:{ var %temp.font = $$?="Enter Font" | var %temp.font.size = $$?="Enter Font Size" | if (%temp.font) { %zlag.font = %temp.font } | if (%temp.font.size) { %zlag.font.size = %temp.font.size } }
Peak $chr(40) $+ %zlag.peak $+ s $+ $chr(41):{ var %zlag.temp.peak = $$?="Enter Peak number of seconds" | if (%zlag.temp.peak isnum) { %zlag.peak = %zlag.temp.peak } }
Delay $chr(40) $+ %zlag.delay $+ s $+ $chr(41):{ var %zlag.temp.delay = $$?="Enter Delay" | if (%zlag.temp.delay isnum) { %zlag.delay = %zlag.temp.delay | .timerlag -io 0 %zlag.delay lag.check } }
-
Reset to Defaults:{ lag.var.default }
-
Unload Lagbar:{ unload -rs $lag.q($script) | halt }
}
on ^*:pong:{ if (lag.* iswm $2) && (%zlag.method == pong) { lag.reply $gettok($2,2,46) | haltdef } }
ctcp *:lag.*:?:{ if ($nick == $me) && ($gettok($1,2,46) isnum) && (%zlag.method == ctcp) { lag.reply $gettok($1,2,46) | haltdef } }
raw 421:*:{ if (%zlag.method == raw) && (lag.* iswm $2) { lag.reply $gettok($2,2,46) | haltdef } }
alias lag.reply {
if ($1) {
unset %zlag.checking
if (!%zlag.style) { %zlag.style = graph }
if (!$len(%zlag.peak)) { %zlag.peak = 5 }
if (!$len(%zlag.colour1)) { %zlag.colour1 = 16776960 }
if (!$len(%zlag.colour2)) { %zlag.colour2 = 0 }
if (!$len(%zlag.colour3)) { %zlag.colour3 = $rgb(text) }
if (!$len(%zlag.font)) { %zlag.font = Verdana }
if (!$len(%zlag.font.size)) { %zlag.font.size = 11 }
if (!$len(%zlag.method)) { %zlag.method = pong }
%zlag.old = %zlag.current
%zlag.current = $calc(($ticks - $1) / 1000)
%zlag.perc = $round($calc(%zlag.current * 100 / %zlag.peak),0)
%zlag.perc = $iif(%zlag.perc > 100,100,%zlag.perc)
%zlag.perc2 = $calc((18 / 100) * %zlag.perc)
if (%zlag.current > %zlag.highest) || (!%zlag.highest) { %zlag.highest = %zlag.current }
if (%zlag.current < %zlag.lowest) || (!%zlag.lowest) { %zlag.lowest = %zlag.current }
if ($appactive) { window -a @zLagbar }
drawrect -nrf @zLagbar $rgb(face) 1 0 0 78 21
if ($readini($mircini,Background,toolbar)) {
lag.temp.bkg
drawpic -nsl @zLagbar 0 0 78 21 %zlag.pos 78 21 $lag.q($scriptdirlagbkg.bmp)
}
var %temp.textpos = $round($calc((21 - $height(Lag:,%zlag.font,%zlag.font.size)) / 2)),0)
drawtext -nrc @zLagbar %zlag.colour3 %zlag.font %zlag.font.size 1 %temp.textpos 75 18 Lag: %zlag.current $+ s
if (%zlag.style == bar) {
if ($readini($mircini,Background,toolbar)) {
lag.temp.bkg
drawpic -nsl @zLagbar 78 0 122 5 $calc($gettok(%zlag.pos,1,32) + 78) $gettok(%zlag.pos,2,32) 122 5 $lag.q($scriptdirlagbkg.bmp)
drawpic -nsl @zLagbar 78 16 122 5 $calc($gettok(%zlag.pos,1,32) + 78) $calc($gettok(%zlag.pos,2,32) + 16) 122 5 $lag.q($scriptdirlagbkg.bmp)
}
if (!$readini($mircini,Background,toolbar)) {
drawrect -nrf @zLagbar $rgb(face) 1 78 0 122 5
drawrect -nrf @zLagbar $rgb(face) 1 78 16 122 5
}
drawrect -rnf @zLagbar %zlag.colour2 1 79 6 120 9
drawrect -nrf @zLagbar %zlag.colour1 1 79 6 $calc((120 / 100) * %zlag.perc) 9
}
if (%zlag.style == graph) || (!%zlag.style) {
drawline -rn @zLagbar %zlag.colour2 1 198 19 198 0
drawline -rn @zLagbar %zlag.colour1 1 198 19 198 $calc(19 - %zlag.perc2)
drawscroll -n @zLagbar -1 0 79 1 120 19
}
if (%zlag.style == line) {
var %zlag.oldperc = $round($calc(%zlag.old * 100 / %zlag.peak),0)
var %zlag.oldperc = $iif(%zlag.oldperc > 100,100,%zlag.oldperc)
var %zlag.oldperc2 = $calc((18 / 100) * %zlag.oldperc)
drawscroll -n @zLagbar -4 0 79 1 120 19
drawrect -rfn @zLagbar %zlag.colour2 1 194 1 5 19
drawline -rn @zLagbar %zlag.colour1 1 198 $calc(19 - %zlag.perc2) 192 $calc(19 - %zlag.oldperc2)
}
drawdot @zLagbar
unset %zlag.perc %zlag.perc2
}
}
alias lag {
if ($isid) {
if ($1 == highest) { return %zlag.highest }
if ($1 == lowest) { return %zlag.lowest }
return %zlag.current
}
if (!$isid) {
set %zlag.temp.message $chr(91) $+ Lag: %zlag.current $+ s $chr(40) $+ Highest: %zlag.highest $+ s Lowest: %zlag.lowest $+ s $+ $chr(41) $+ $chr(93)
if ($active ischan) || ($query($active)) { msg $active %zlag.temp.message }
else { echo $colour(info text).dd -at * %zlag.temp.message }
unset %zlag.temp.message
}
}
alias lag.unload { .timerlag off | dll $lag.q($scriptdirtbwin.dll) Detach @zLagbar | window -c @zLagbar }
dialog lagcolour.select {
title "Select Colour"
size -1 -1 273 102
scroll "", 1, 48 7 150 16, range 255 horizontal bottom
scroll "", 2, 48 31 150 16, range 255 horizontal bottom
scroll "", 3, 48 55 150 16, range 255 horizontal bottom
button "Ok", 4, 127 79 70 21, ok
icon 5, 205 7 64 64, tempcolour.bmp, 0, noborder
edit "", 6, 3 5 40 21
edit "", 7, 3 29 40 21
edit "", 8, 3 53 40 21
edit "", 9, 30 78 70 21, result hide
button "Cancel", 10, 201 79 70 21, cancel
}
on *:dialog:lagcolour.select:init:*:{
if (%temp.coloursel) {
set %temp.colourrgb $rgb(%zlag.colour [ $+ [ %temp.coloursel ] ])
did -a $dname 6 $gettok(%temp.colourrgb,1,44) | did -a $dname 7 $gettok(%temp.colourrgb,2,44) | did -a $dname 8 $gettok(%temp.colourrgb,3,44) | did -a $dname 9 %zlag.colour [ $+ [ %temp.coloursel ] ]
did -c $dname 1 $gettok(%temp.colourrgb,1,44) | did -c $dname 2 $gettok(%temp.colourrgb,2,44) | did -c $dname 3 $gettok(%temp.colourrgb,3,44)
}
if (!%temp.coloursel) {
did -a $dname 6 0 | did -a $dname 7 0 | did -a $dname 8 0 | did -a $dname 9 0
}
window -hBpf +d @temp.colour -1 -1 64 64
drawrect -fr @temp.colour $rgb($did(6),$did(7),$did(8)) 1 0 0 64 64
drawsave @temp.colour tempcolour.bmp
did -g $dname 5 tempcolour.bmp
}
on *:dialog:lagcolour.select:scroll:*:{
if ($did == 1) { did -o $dname 6 1 $did(1).sel }
if ($did == 2) { did -o $dname 7 1 $did(2).sel }
if ($did == 3) { did -o $dname 8 1 $did(3).sel }
if ($istok(1 2 3,$did,32)) {
drawrect -fr @temp.colour $rgb($did(6),$did(7),$did(8)) 1 0 0 64 64
drawsave @temp.colour tempcolour.bmp
did -g $dname 5 tempcolour.bmp
did -o $dname 9 1 $rgb($did(6),$did(7),$did(8))
}
}
on *:dialog:lagcolour.select:edit:*:{
if ($did == 6) { if (!$len($did(6))) || ($did(6) !isnum) { did -o $dname 6 1 0 } | did -c $dname 1 $did(6) }
if ($did == 7) { if (!$len($did(7))) || ($did(7) !isnum) { did -o $dname 7 1 0 } | did -c $dname 2 $did(7) }
if ($did == 8) { if (!$len($did(8))) || ($did(8) !isnum) { did -o $dname 8 1 0 } | did -c $dname 3 $did(8) }
if ($istok(6 7 8,$did,32)) {
drawrect -fr @temp.colour $rgb($did(6),$did(7),$did(8)) 1 0 0 64 64
drawsave @temp.colour tempcolour.bmp
did -g $dname 5 tempcolour.bmp
did -o $dname 9 1 $rgb($did(6),$did(7),$did(8))
}
}
on *:dialog:lagcolour.select:close:*:{ window -c @temp.colour }
alias lag.temp.bkg {
if ($exists($readini($mircini,Background,Toolbar))) {
if (!%zlag.temp.crc) || (%zlag.temp.crc != $crc($readini($mircini,Background,Toolbar))) {
window -hBfp +d @zlagtemp -1 -1 $window(-1).dw 100
drawpic -sl @zlagtemp 0 0 $window(-1).dw 100 $lag.q($readini($mircini,Background,Toolbar))
drawsave @zlagtemp $lag.q($scriptdirlagbkg.bmp)
window -c @zlagtemp
%zlag.temp.crc = $crc($readini($mircini,Background,Toolbar))
}
}
}
alias lag.var.default {
%zlag.peak = 5
%zlag.colour1 = 16776960
%zlag.colour2 = 0
%zlag.colour3 = $rgb(text)
%zlag.font = Verdana
%zlag.font.size = 11
%zlag.delay = 5
}
alias lag.q { return " $+ $1- $+ " }
alias c1 { return $+(12,$1-) }
alias c2 { return $+(04,$1-) }
on *:text:*:#: {
tokenize 32 $strip($1-)
if ($left($1,1) !isin @!.) halt
if ($right($1,-1) == stats) var %style = astats
elseif ($regex($1,/co?mb(at)?/Si)) var %style = combat
elseif ($setskill($remove($1,@,!,.))) var %style = istat, %skill = $setskill($remove($1,@,!,.))
elseif ($right($1,-1) == defname) && ($2) {
writeini DefRSN.ini RSNs $mask($fulladdress,3) $replace($2-,$chr(32),-)
.notice $nick 7You're default RSN for the host 4 $mask($fulladdress,3) 7has been set to $2-
halt
}
else halt
inc %ID
if ($len($2-) > 12) {
4 $($+(%,stats.display.,%ID),2) $c1(The nick) $c2($2-) $c1(is too long)
cleanup %ID
halt
}
elseif ($2) set $+(%,stats.rsn.,%ID) $replace($2-,$chr(32),-)
elseif ($readini(DefRSN.ini,RSNs,$mask($fulladdress,3))) set $+(%,stats.rsn.,%ID) $ifmatch
elseif ($readini(DefRSN.ini,RSNs,$nick)) set $+(%,stats.rsn.,%ID) $ifmatch
else set $+(%,stats.rsn.,%ID) $nick
set $+(%,stats.style.,%ID) %style
set $+(%,stats.skill.,%ID) %skill
set $+(%,stats.display.,%ID) $iif($left($1,1) == @,msg $chan,notice $nick)
sockopen $+(stats.,%ID) hiscore.runescape.com 80
}
on *:sockopen:stats.*: {
var %id = $gettok($sockname,2,46)
sockwrite -n $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ $($+(%,stats.rsn.,%ID),2) HTTP/1.1
sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf
}
on *:sockread:stats.*: {
sockread &Incoming
bwrite $sockname -1 -1 &Incoming
if ($bfind(&Incoming, 1, </html>).text) makehash $sockname
elseif ($bfind(&Incoming, 1, does not feature in the hiscores.).text) {
$($+(%,stats.display.,%ID),2) $c1(The nick) $c2($($+(%,stats.rsn.,%ID),2)) $c1(Does not appear in the hiscores)
cleanup $gettok($sockname,2,46)
}
}
alias -l makehash {
var %file = $1
bread %file 1 $file(%file).size &stats
var %currentstat, %x = 1
while (%x) {
var %x = $bfind(&stats,$calc(%x + 1),<a href="overall.ws?table=)
var %currentstat = $striptags($bvar(&stats,%x,200).text)
tokenize 10 %currentstat
hadd -m %file $1 $2 $3 $4 $xp2next($3,$4)
}
process %file
}
alias process {
var %table = $1, %id = $gettok($1,2,46), %x = 0, $&
%display = $($+(%,stats.display.,%ID),2), $&
%rsn = $($+(%,stats.rsn.,%ID),2), $&
%skill = $($+(%,stats.skill.,%ID),2), $&
%style = $($+(%,stats.style.,%ID),2)
;shoot;
if (%style == astats) {
while (%x <= 22) {
tokenize 32 $hget(%table,$setskill(%x))
if ($2) var %statline = %statline $c1($setskill(%x)) $c2($2)
inc %x
}
%display $c1(Stats for) $c2(%rsn) $+ $c1(:)
%display %statline
}
elseif (%style == istat) {
if (!$hget(%table,%skill)) 7 %display $c1(The nick) $c2(%rsn) $c1(does not appear in the hiscores for) $c2(%skill)
else {
tokenize 32 $hget(%table,%skill)
%display $c2(%skill) $c1(stats for) $c2(%rsn) $+ $c1(:)
%display $c1(Rank:) $c2($1) $c1(Level:) $c2($bytes($2,b)) $c1(Exp:) $c2($3) $&
$iif(%skill != Overall,$c1(Exp to lvl) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($4,b)))
}
}
elseif (%style == combat) {
var %a.mult = .32707, %s.mult = .324, %d.mult = .25, %h.mult = .25, %p.mult = .124, %r.mult = .487, %m.mult = .487
var %a = $iif($gettok($hget(%table,attack),2,32),$v1,-), $&
%s = $iif($gettok($hget(%table,strength),2,32),$v1,-), $&
%d = $iif($gettok($hget(%table,defence),2,32),$v1,-), $&
%h = $iif($gettok($hget(%table,hitpoints),2,32),$v1,-), $&
%r = $iif($gettok($hget(%table,ranged),2,32),$v1,-), $&
%m = $iif($gettok($hget(%table,magic),2,32),$v1,-), $&
%p = $iif($gettok($hget(%table,prayer),2,32),$v1,-)
var %meleecombat = $calc(%a * %a.mult + %s * %s.mult + %d * %d.mult + %h * %h.mult + %p * %p.mult), $&
%RangedCombat = $calc(%r * %r.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult), $&
%MagicCombat = $calc(%m * %m.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult)
if (%MagicCombat == %RangedCombat) && (%MagicCombat == %RangedCombat) {
%display $c1(The nick) $c2(%rsn) $c1(does not appear in the hiscores for any combat skills)
cleanup %id
halt
}
elseif (%MagicCombat > %RangedCombat) && (%MagicCombat > %MeleeCombat) var %cmbstyle = Magic, %Combat = %MagicCombat
elseif (%RangedCombat > %MeleeCombat) var %cmbstyle = Ranged, %Combat = %RangedCombat
else var %cmbstyle = melee, %combat = %MeleeCombat
var %cmb.temp = $abs($calc($int($calc(%combat +1)) - %combat)), $&
%a.2lvl = $ceil($calc(%cmb.temp / %a.mult)), %s.2lvl = $ceil($calc(%cmb.temp / %s.mult)), $&
%d.2lvl = $ceil($calc(%cmb.temp / %d.mult)), %m.2lvl = $ceil($calc(%cmb.temp / %m.mult)), $&
%r.2lvl = $ceil($calc(%cmb.temp / %r.mult)), %p.2lvl = $ceil($calc(%cmb.temp / %p.mult))
if (%cmbstyle == magic) var %dynamic.2lvl = $c1(Magic:) $c2(%m.2lvl)
elseif (%cmbstyle == Ranged) var %dynamic.2lvl = $c1(Ranged:) $c2(%r.2lvl)
else var %dynamic.2lvl = $c1(Att:) $c2(%a.2lvl) $c1(Str:) $c2(%s.2lvl)
var %combat = $round(%combat,2), %next = $ceil(%combat)
%display $c2(%rsn) $c1(is) $c2(%combat) $c1(%cmbstyle style combat)
%display $c1(Attack:) $c2(%a) $c1(Defence:) $c2(%d) $c1(Strength:) $c2(%s) $c1(Hits:) $c2(%h) $&
$c1(Mage:) $c2(%m) $c1(Range:) $c2(%r) $c1(Pray:) $c2(%p)
%display $c1(Levels for) $c2(%next) $+ $c1(:) %dynamic.2lvl $&
$c1(Def/Hp:) $c2(%d.2lvl) $c1(Prayer:) $c2(%p.2lvl)
}
cleanup %id
}
alias -l cleanup {
unset $+(%,stats.*.,$1)
sockclose $+(Stats.,$1)
.remove $+(Stats.,$1)
}
alias -l xp {
var %x = 1, %level = $calc($1 - 1), %xp = 0
while (%x <= %level) {
var %TempXp = $calc((%x + 300 * 2^(%x / 7)) /4)
inc %xp %TempXp
inc %x
}
return $int(%xp)
}
alias -l xp2Next {
var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1))
return $calc(%nextxp - %xp)
}
alias -l striptags { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x }
alias -l setskill {
if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall
elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack
elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defenc
elseif ($1 == 3) || ($regex($1,/^str(ength)?$/Si)) return Strength
elseif ($1 == 4) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints
elseif ($1 == 5) || ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged
elseif ($1 == 6) || ($regex($1,/^Pray(er)?$$/Si)) return Prayer
elseif ($1 == 7) || ($regex($1,/^mag(e|ic)$$/Si)) return Magic
elseif ($1 == 8) || ($regex($1,/^cook(ing)?$/Si)) return Cooking
elseif ($1 == 9) || ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting
elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return Fletching
elseif ($1 == 11) || ($regex($1,/^fish(ing)?$/Si)) return Fishing
elseif ($1 == 12) || ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking
elseif ($1 == 13) || ($regex($1,/^craft(ing)?$/Si)) return Crafting
elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing
elseif ($1 == 15) || ($regex($1,/^mine(ing)?$/Si)) return Mining
elseif ($1 == 16) || ($regex($1,/^herb(law|lore)?$/Si)) return Herblore
elseif ($1 == 17) || ($regex($1,/^agil(ity)?$/Si)) return Agility
elseif ($1 == 18) || ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving
elseif ($1 == 19) || ($regex($1,/^slay(er|ing)?$/Si)) return Slayer
elseif ($1 == 20) || ($regex($1,/^farm(er|ing)?$/Si)) return Farming
elseif ($1 == 21) || ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft
elseif ($1 == 22) || ($regex($1,/^(construct)(ion|ing)?$/si)) return Construction
}