rendered paste bodyalias Combat {
/dialog -m Combat Combat
}
dialog Combat {
title "Combat"
size -1 -1 194 127
option dbu
text "RuneScape Username:", 1, 3 9 67 16
edit "", 2, 94 10 75 10
button "Check Combat Level", 3, 5 31 168 12
text "Attack:", 4, 6 47 20 14
text "Strength:", 5, 6 61 25 14
text "Defence:", 6, 6 75 24 14
edit "", 7, 30 47 14 10
edit "", 8, 33 61 14 10
edit "", 9, 33 75 14 10
edit "", 10, 140 70 14 10
edit "", 11, 136 54 14 10
edit "", 12, 78 77 14 10
edit "", 14, 80 63 14 10
edit "", 15, 80 47 14 10
text "Hitpoints:", 17, 52 47 25 11
text "Ranged:", 18, 52 63 25 11
text "Magic:", 19, 52 78 21 8
text "Prayer:", 20, 105 55 25 8
text "Summoning:", 21, 105 71 31 8
edit "", 13, 11 95 172 17
box "Combat Calculator", 16, 1 2 189 115
link "http://runescape.com", 22, 48 118 90 8
}
on *:DIALOG:Combat:sclick:3:{
if (!$did(2)) {
did -ra Combat 2 No username was specified.
}
else {
set %Testname $replace($did(2),$chr(35),$chr(95))
sockopen CmbTest hiscore.runescape.com 80
}
}
on *:SOCKOPEN:CmbTest:{
sockwrite -nt $sockname GET $+(/index_lite.ws?player=,%TestName) HTTP/1.1
sockwrite -nt $sockname Host: hiscore.runescape.com
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:CmbTest:{
if ($sockerr) {
did -ra Combat 13 Socket Error try later.
unset %Testname
sockclose $sockname
}
else {
var %Test
sockread %Test
if (*404 - Page not found* iswm %Test) {
did -ra Combat 13 The username $+(",%Testname,") was not found on RuneScape Highscores.
unset %Testname
sockclose $sockname
}
else {
if (*,*,* iswm %Test) {
set %Stats %Stats $gettok(%Test,2,44)
}
}
}
}
on *:SOCKCLOSE:Combat:{
tokenize 32 %Stats
var %cmbp2p = $remove($cmbp2p($2,$3,$4,$5,$6,$7,$8,$iif(-1 iswm $25,1,$25)),Melee,Ranged,Magic,Based)
var %cmbf2p = $remove($cmbf2p($2,$3,$4,$5,$6,$7,$8),Melee,Ranged,Magic,Based)
did -ra Combat 7 $2
did -ra Combat 8 $4
did -ra Combat 9 $3
did -ra Combat 10 $25
did -ra Combat 11 $7
did -ra Combat 12 $8
did -ra Combat 14 $6
did -ra Combat 15 $5
did -ra Combat 13 $+(",%Testname,") is level $iif(-1 iswm $25,$+(%cmbf2p,$chr(32),$chr(40),F2P,$chr(41)),$+($remove(%cmbp2p,$chr(32)),$chr(47),%cmbf2p,$chr(32),$chr(40),P2P,$chr(47),F2P,$chr(41)))
}
alias -l cmbp2p {
;$cmb(attack,defence,strength,hitpoints,ranged,prayer,magic,summoning)
var %a = $calc($2 * 100), %b = $calc($4 * 100), %e = $calc($1 * 130), %f = $calc($3 * 130)
var %c = $iif($and($6,1) == 1,$calc($calc($6 - 1) * 50),$calc($6 * 50)), %d = $iif($and($8,1) == 1,$calc($calc($8 - 1) * 50),$calc($8 * 50))
var %g = $iif($and($5,1) == 1,$calc($calc($calc($5 - 1) + $calc($5 * 2)) * 65),$calc($5 * 195)), %h = $iif($and($7,1) == 1,$calc($calc($calc($7 - 1) + $calc($7 * 2)) * 65),$calc($7 * 195))
var %base = $calc($calc(%a + %b + %c + %d) / 400), %mclass = $calc($calc(%e + %f) / 400), %rclass = $calc(%g / 400), %maclass = $calc(%h / 400)
if ((%mclass > %rclass) && (%mclass > %maclass)) { return $calc(%mclass + %base) Melee Based }
elseif ((%rclass > %mclass) && (%rclass > %maclass)) { return $calc(%rclass + %base) Ranged Based }
elseif ((%maclass > %mclass) && (%maclass > %rclass)) { return $calc(%maclass + %base) Magic Based }
}
alias -l cmbf2p {
tokenize 32 $1-
var %rsc1 [ $+ [ $8 ] ] $calc((($1 * 130) + ($3 * 130)) / 400)
var %rsc2 [ $+ [ $8 ] ] $calc($iif($and($5,1) == 0,$calc($5 * 195),$calc((($5 - 1) + ($5 * 2)) * 65)) / 400)
var %rsc3 [ $+ [ $8 ] ] $calc($iif($and($7,1) == 0,$calc($7 * 195),$calc((($7 - 1) + ($7 * 2)) * 65)) / 400)
if ((%rsc1 [ $+ [ $8 ] ] >= %rsc2 [ $+ [ $8 ] ]) && (%rsc1 [ $+ [ $8 ] ] >= %rsc3 [ $+ [ $8 ] ])) return $calc(%rsc1 [ $+ [ $8 ] ] + ((($2 * 100) + ($4 * 100) + ($iif($and($6,1) == 0,$6,$calc($6 - 1)) * 50)) / 400)) Melee Based
elseif ((%rsc2 [ $+ [ $8 ] ] >= %rsc3 [ $+ [ $8 ] ]) && (%rsc2 [ $+ [ $8 ] ] >= %rsc1 [ $+ [ $8 ] ])) return $calc(%rsc2 [ $+ [ $8 ] ] + ((($2 * 100) + ($4 * 100) + $iif($and($6,1) == 0,$6,$calc($6 - 1)) * 50) / 400)) Ranged Based
elseif ((%rsc3 [ $+ [ $8 ] ] >= %rsc1 [ $+ [ $8 ] ]) && (%rsc3 [ $+ [ $8 ] ] >= %rsc2 [ $+ [ $8 ] ])) return $calc(%rsc3 [ $+ [ $8 ] ] + ((($2 * 100) + ($4 * 100) + $iif($and($6,1) == 0,$6,$calc($6 - 1)) * 50) / 400)) Magic Based
}