alias 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 { var %r = $rand(1,999) set %Testname. [ $+ [ %r ] ] $replace($did(2),$chr(35),$chr(95)) sockopen CmbTest. [ $+ [ %r ] ] hiscore.runescape.com 80 } } on *:SOCKOPEN:CmbTest.*:{ var %r = $gettok($sockname,2,$asc(.)) sockwrite -nt $sockname GET $+(/index_lite.ws?player=,%TestName. [ $+ [ %r ] ]) HTTP/1.1 sockwrite -nt $sockname Host: hiscore.runescape.com sockwrite -nt $sockname $crlf } on *:SOCKREAD:CmbTest.*:{ var %r = $gettok($sockname,2,$asc(.)) if ($sockerr) { did -ra Combat 13 Socket Error try later. unset %Testname. [ $+ [ %r ] ] sockclose $sockname } else { var %Test sockread %Test if (*404 - Page not found* iswm %Test) { did -ra Combat 13 The username $+(",%Testname. [ $+ [ %r ] ],") was not found. unset %Testname sockclose $sockname } else { if (*,*,* iswm %Test) { set %Stats. [ $+ [ %r ] ] %Stats. [ $+ [ %r ] ] $gettok(%Test,2,44) tokenize 32 %Stats. [ $+ [ %r ] ] 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. [ $+ [ %r ] ],") is level $iif(-1 iswm $25,$+(%cmbf2p,$chr(32),[F2P]),$+($remove(%cmbp2p,$chr(32)),$chr(47),%cmbf2p,$chr(32),[P2P/F2P]))) clean %r } } } } alias clean { unset %Stats. [ $+ [ $1 ] ] unset %Testname. [ $+ [ $1 ] ] } 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 }