All pastes #897682 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-02-09 19:16 UTC
rendered paste body
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])))
        timer 1 1 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
}