rendered paste bodymenu * {
Combat Dialog {
/dialog -m Combat Combat
}
}
dialog Combat {
title "Combat"
size -1 -1 166 90
option dbu
text "Username:", 2, 5 9 57 12, center
edit "", 3, 70 10 63 10, center
edit "", 4, 36 66 14 10, read
edit "", 5, 36 52 14 10, read
edit "", 6, 36 39 14 10, read
edit "", 7, 90 66 14 10, read
edit "", 8, 90 52 14 10, read
edit "", 9, 90 39 14 10, read
edit "", 10, 144 61 14 10, read
edit "", 11, 144 48 14 10, read
box "Levels", 1, 2 28 160 60
box "Combat", 13, 2 2 160 86
text "Attack:", 14, 5 38 25 8, center
text "Defence:", 15, 5 51 25 8, center
text "Strength:", 16, 5 65 25 8, center
text "Hitpoints:", 17, 60 38 25 8, center
text "Ranged:", 18, 60 51 25 8, center
text "Prayer:", 19, 60 65 25 8, center
text "Magic:", 12, 114 47 25 8, center
text "Summon:", 20, 114 60 25 8, center
text "F2P level:", 21, 5 77 28 8, center
edit "", 22, 36 77 16 10, read
text "|", 23, 62 77 25 8, center
text "P2P level:", 24, 93 77 28 8, center
edit "", 25, 124 77 16 10, read
button "Look up", 26, 41 21 58 9, flat
}
on *:DIALOG:Combat:sclick:26:{
if (!$did(3)) {
did -ra Combat 3 Error, No username.
}
if ($len($did(3)) > 12) {
did -ra Combat 3 Error, Invalid username.
}
else {
var %s = $ticks
var %User $replace($did(3),$chr(32),$chr(95))
sockopen Combat. [ $+ [ %s ] ] hiscore.runescape.com 80
sockmark Combat. [ $+ [ %s ] ] $+(username,~,%User)
}
}
on *:SOCKOPEN:Combat.*:{
var %User $gettok($sock($sockname).mark,2,126)
sockwrite -n $sockname GET $+(/index_lite.ws?player=,%User) HTTP/1.1
sockwrite -n $sockname Host: hiscore.runescape.com
sockwrite -n $sockname $crlf
}
on *:SOCKREAD:Combat.*:{
var %s = $gettok($sockname,2,$asc(.))
if ($sockerr) { sockclose $sockname | did -ra Combat 3 Socket error. | halt }
else {
var %Combat
sockread %Combat
if (*404 - Page not found* iswm %Combat) {
did -ra Combat 3 User not found.
}
if (*,*,* iswm %Combat) {
set %Stats. [ $+ [ %s ] ] %Stats. [ $+ [ %s ] ] $gettok(%Combat,2,44)
tokenize 32 %Stats. [ $+ [ %s ] ]
;str = 4, attk = 6,def = 5, hp = 5, pray = 7,range = 8, mage = 8,summon = 10
did -ra Combat 4 $4
did -ra Combat 6 $2
did -ra Combat 5 $3
did -ra Combat 7 $7
did -ra Combat 8 $6
did -ra Combat 9 $5
did -ra Combat 10 $25
did -ra Combat 11 $8
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 22 %cmbf2p
did -ra Combat 25 %cmbp2p
}
}
}
on *:SOCKCLOSE:Combat.*:{
var %s = $gettok($sockname,2,$asc(.))
unset %Stats. [ $+ [ %s ] ]
sockclose $sockname
}
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
}