##################################### #Menu # ##################################### menu * { RuneScape Stats:/dialog -m RsStats RsStats } ##################################### #Dialog Events # ##################################### on *:Dialog:Skill:*:*: { if ($devent == sclick) { if ($did isnum 1-23) { set %skill $setskill($did($did).text) } if ($did == 34) { if ($sock(RsStats)) sockclose RsStats sockopen RsStats parsers.o-ss.net 80 set %rsn $replace($did(26),$chr(32),_) } } if ($devent == init) { did -ar $dname 26 $did(RsStats,5) dcx Mark $dname AKA xdialog -b $dname +ty xdialog -c $dname 100 listview 5 120 537 180 report grid fullrow singlesel notrack showsel xdid -t $dname 100 +c 0 295 Item $tab +c 0 100 Exp $tab +c 0 120 Amount if (%skill) { did -c $dname $skills($did(RsStats,13).text) if ($sock(RsStats)) sockclose RsStats sockopen RsStats parsers.o-ss.net 80 set %rsn $replace($did(26),$chr(32),_) } } } on *:Dialog:Stats:*:*: { if ($devent == init) { dialog -t Stats Stats for $did(RsStats,5) dcx Mark $dname AKA xdialog -b $dname +ty xdialog -c $dname 10 listview 5 5 445 345 report grid fullrow singlesel noscroll notrack showsel xdid -t $dname 10 +c 0 90 Skill $tab +c 0 50 Rank $tab +c 0 45 Level $tab +c 0 85 Exp $tab +c 0 95 Exp-To-Next $tab +c 0 75 Percentage if ($sock(RsStats)) sockclose RsStats sockopen RsStats parsers.o-ss.net 80 set %rsn $replace($did(RsStats,5),$chr(32),_) } } on *:Dialog:RsStats:*:*: { if ($devent == sclick) { if ($did == 7) { if ($did(5).text == $null) { did -a $dname 5 $$?="You need to supply a runescape name." halt } if ($did(5).text != $null) { if ($did(13).text == All Stats) { dialog -md Stats Stats } elseif ($did(13).text == Skill) { dialog -m Skill Skill } elseif ($setskill($did(13).text)) { dialog -m Skill Skill unset %skill set %skill $did(13).text } elseif ($did(13).text == Closest Skill) { dialog -m CloseSkill CloseSkill } elseif ($did(13).text == Combat) { dialog -m Combat Combat } } } } elseif ($devent == init) { did -a $dname 13 All Stats did -a $dname 13 Combat did -a $dname 13 Attack did -a $dname 13 Defence did -a $dname 13 Strength did -a $dname 13 Hitpoints did -a $dname 13 Ranged did -a $dname 13 Prayer did -a $dname 13 Magic did -a $dname 13 Cooking did -a $dname 13 Woodcutting did -a $dname 13 Fletching did -a $dname 13 Fishing did -a $dname 13 Firemaking did -a $dname 13 Crafting did -a $dname 13 Smithing did -a $dname 13 Mining did -a $dname 13 Herblore did -a $dname 13 Agility did -a $dname 13 Thieving did -a $dname 13 Slayer did -a $dname 13 Farming did -a $dname 13 Runecraft did -a $dname 13 Construction did -a $dname 13 Hunter did -a $dname 13 Closest Skill did -a $dname 13 Skill } } on *:Dialog:CloseSkill:*:*: { if ($devent == init) { dcx Mark $dname AKA xdialog -b $dname +ty xdialog -c $dname 100 listview 193 5 350 115 report grid fullrow singlesel notrack showsel xdid -t $dname 100 +c 0 120 Item $tab +c 0 85 Exp $tab +c 0 100 Amount did -ar $dname 26 $did(RsStats,5) set %Close on if ($sock(RsStats)) sockclose RsStats sockopen RsStats parsers.o-ss.net 80 set %rsn $replace($did(26),$chr(32),_) } elseif ($devent == sclick) { if ($did == 34) { set %Close on if ($sock(RsStats)) sockclose RsStats sockopen RsStats parsers.o-ss.net 80 set %rsn $replace($did(26),$chr(32),_) } } } on *:Dialog:Combat:*:*: { if ($devent == init) { did -ar $dname 2 $did(RsStats,5) dialog -x Rsstats Rsstats set %combat on if ($sock(RsStats)) sockclose RsStats sockopen RsStats parsers.o-ss.net 80 set %rsn $replace($did(2),$chr(32),_) } if ($devent == sclick) { if ($did == 24) { set %combat on if ($sock(RsStats)) sockclose RsStats sockopen RsStats parsers.o-ss.net 80 set %rsn $replace($did(2),$chr(32),_) } } } ########################################### #Socket # ########################################### on *:SOCKOPEN:RsStats:{ sockwrite -n $sockname GET /stats.php?user= $+ %rsn HTTP/1.1 sockwrite -n $sockname Host: parsers.o-ss.net sockwrite -n $sockname $crlf } on *:SOCKREAD:RsStats:{ if ($sockerr) { did -a Stats 5 Sockerr: $sockerr sockclose RsStats } else { var %read sockread %read tokenize 32 %read if (!$setskill(%skill) && %Close != on && %combat != on) { if ($setskill($1)) { if ($setskill($1) == Overall) { writeini StatsLookup.ini Overall Rank $remove($2,$chr(44)) writeini StatsLookup.ini Overall Level $remove($3,$chr(44)) writeini StatsLookup.ini Overall Exp $remove($4,$chr(44)) } var %rank = $2, $& %level = $3, $& %exp = $4, $& %ExpToNext = $bytes($iif($setskill($1) != Overall,$calc($exp($calc($3 + 1)) - $4),-),db), $& %percent = $round($calc(($remove(%exp,$chr(44)) / $readini(StatsLookup.ini,Overall,Exp)) * 100),2), $& %skill = $setskill($1) xdid -a Stats 10 0 0 + 0 0 0 0 -1 -1 %skill $tab + 0 %rank $tab + 0 %level $tab + 0 %exp $tab + 0 $iif(%level >= 99,-,%ExpToNext) $& $tab + 0 $iif(%skill == Overall,100%,$+(%percent,$chr(37))) } } if ($setskill($1) == %skill && %Close != on && $dialog(Skill) && %combat != on) { if ($1 == %skill) { did -ar Skill 28 $4 did -ar Skill 32 $calc($3 + 1) did -ar Skill 29 $bytes($calc($exp($did(Skill,32)) - $remove($4,$chr(44))),db) var %x = 1, %ExpToNext = $calc($exp($did(Skill,32)) - $remove($4,$chr(44))) xdid -r Skill 100 while ($ini(Object.ini,$setskill(%skill),%x)) { xdid -a Skill 100 0 0 + 0 0 0 0 -1 -1 $v1 $tab + 0 $readini(Object.ini,%skill,$v1) $tab + 0 $bytes($int($calc(%ExpToNext / $readini(Object.ini,%skill,$v1))),db) inc %x } unset %skill } } if (%Close == on && $setskill($1) && $1 != Overall && %combat != on) { if (%ExpToNext == $null) { set %ExpToNext $calc($exp($calc($3 + 1)) - $remove($4,$chr(44))) set %ExpToNextSkill $1 set %ExpToNextLevel $3 } elseif (%ExpToNext > $calc($exp($calc($3 + 1)) - $remove($4,$chr(44)))) { set %ExpToNext $calc($exp($calc($3 + 1)) - $remove($4,$chr(44))) set %ExpToNextSkill $1 set %ExpToNextLevel $3 } } if (%Combat == on && $Combat($1)) { if ($1 == Attack) did -ar Combat 10 $3 if ($1 == Defence) did -ar Combat 11 $3 if ($1 == Strength) did -ar Combat 12 $3 if ($1 == HitPoints) did -ar Combat 13 $3 if ($1 == Ranged) did -ar Combat 14 $3 if ($1 == Prayer) did -ar Combat 15 $3 if ($1 == Magic) did -ar Combat 16 $3 } if (*END* iswm $1-) { sockclose $sockname if ($dialog(RsStats)) dialog -x RsStats RsStats unset %rsn unset %skill if (%Close == on) { did -ar CloseSkill 28 $bytes(%ExpToNextLevel,db) did -ar CloseSkill 29 $bytes(%ExpToNext,db) did -ar CloseSkill 2 %ExpToNextSkill unset %ExpToNext* xdid -r CloseSkill 100 var %x = 0 while ($ini(Object.ini,$setskill(%ExpToNextSkill),%x)) { xdid -a CloseSkill 100 0 0 + 0 0 0 0 -1 -1 $v1 $tab + 0 $readini(Object.ini,%ExpToNextSkill,$v1) $& $tab + 0 $bytes($int($calc(%ExpToNext / $readini(Object.ini,%ExpToNextSkill,$v1))),db) inc %x } unset %close } if (%Combat == on) { var %a = $did(Combat,10), %s = $did(Combat,11), $& %d = $did(Combat,12), %h = $did(Combat,13), $& %r = $did(Combat,14), %m = $did(Combat,16), $& %p = $did(Combat,15) did -ar Combat 21 $combat(%a,%s,%d,%h,%r,%p,%m) did -ar Combat 23 $combat(%a,%s,%d,%h,%r,%p,%m).style unset %Combat } } } } ########################################### #Main Dialogs # ########################################### dialog -l Combat { title "Combat Calc" size -1 -1 169 111 option dbu text "Username", 1, 4 7 24 8 edit "", 2, 38 6 50 10 text "Attack", 3, 4 23 25 8 text "Defence", 4, 4 33 25 8 text "Strength", 5, 4 43 25 8 text "HitPoints", 6, 4 53 25 8 text "Ranged", 7, 4 63 25 8 text "Magic", 8, 4 73 25 8 text "Prayer", 9, 4 83 25 8 edit "", 10, 38 22 50 10 edit "", 11, 38 32 50 10 edit "", 12, 38 42 50 10 edit "", 13, 38 52 50 10 edit "", 14, 38 62 50 10 edit "", 15, 38 72 50 10 edit "", 16, 38 82 50 10 button "Exit", 17, 34 97 37 12, ok cancel box "Information", 18, 1 -1 90 95 box "Combat", 19, 92 -1 76 95 text "Level", 20, 96 8 25 8 edit "", 21, 122 6 42 10 text "Style", 22, 96 18 25 8 edit "", 23, 122 17 42 10 button "Lookup", 24, 89 97 37 12 } dialog -l CloseSkill { title "Closest skill" size -1 -1 274 61 option dbu text "User", 25, 2 3 14 8 edit "", 26, 45 2 50 10, limit 12 text "Level", 27, 2 13 12 8 edit "", 28, 45 12 50 10 edit "", 29, 45 22 50 10 text "Exp To level", 30, 2 23 30 8 button "Exit", 33, 11 47 37 12, ok cancel button "Lookup", 34, 53 47 37 12 text "Skill", 1, 2 33 9 8 edit "", 2, 45 32 50 10 } dialog -l Skill { title "Skills" size -1 -1 274 168 option dbu radio "Attack", 2, 98 5 28 10 radio "Defence", 3, 98 14 32 10 radio "Strength", 4, 98 24 32 10 radio "Hitpoints", 5, 98 34 32 10 radio "Ranged", 6, 98 44 31 10 radio "Magic", 7, 134 15 26 10 radio "Prayer", 8, 134 5 28 10 radio "Agility", 9, 134 25 27 10 radio "Herblore", 10, 134 35 32 10 radio "Theiving", 1, 134 44 31 10 radio "RuneCraft", 11, 169 5 36 10 radio "Crafting", 12, 169 14 32 10 radio "Fletching", 13, 169 24 32 10 radio "FireMake", 14, 205 25 31 10 radio "Mining", 15, 169 34 32 10 radio "Fishing", 16, 205 5 28 10 radio "Smithing", 17, 169 44 31 10 radio "Cooking", 18, 205 15 29 10 radio "WoodCut", 19, 205 35 32 10 radio "Slayer", 20, 205 44 27 10 radio "Farming", 21, 237 5 34 10 radio "Construct", 22, 237 15 32 10 radio "Hunter", 23, 237 24 27 10 box "Skills", 24, 97 -1 175 57 text "User", 25, 2 3 14 8 edit "", 26, 45 2 50 10, limit 12 text "Exp", 27, 2 13 12 8 edit "", 28, 45 12 50 10 edit "", 29, 45 22 50 10 text "Exp To level", 30, 2 23 30 8 text "Goal", 31, 2 33 14 8 edit "", 32, 45 32 50 10, limit 2 button "Exit", 33, 204 154 37 12, ok cancel button "Lookup", 34, 53 44 37 9 } dialog -l RsStats { title "RuneScape Stats" size -1 -1 226 48 option dbu box "Info", 1, 1 1 224 25 text "RuneScape Name", 4, 4 10 42 8 edit "Couch_Potat1", 5, 48 9 45 10, limit 12 combo 13, 100 9 60 167, sort drop button "Veiw Stats", 7, 29 32 37 12, ok button "Exit", 8, 150 32 37 12, ok cancel menu "File", 2 menu "Settings", 3 } dialog -l Stats { title "Stats" size -1 -1 455 420 } on *:Load: { //echo -a Made by Jordie (Also known as Couch) //echo -a Have fun with this scripts, if you //echo -a have any suggestions, stop by #X and //echo -a tell them to us! /join #X timer 1 1 msg #X I use the Script Couch made! } ############################################################### #Aliases # ############################################################### alias -l tab return $chr(9) alias -l dcx { if ($isid) return $dll($findfile($mircdir,dcx.dll,1),$1,$2-) else dll " $+ $findfile($mircdir,dcx.dll,1) $+ " $1 $2- } alias -l xdid { if ($isid) return $dcx(_xdid,$1 $2 $prop $3-) else dcx xdid $2 $3 $1 $4- } alias -l xdialog { if ($isid) return $dcx(_xdialog,$1 $prop $2-) else dcx xdialog $2 $1 $3- } alias -l AKA return Fields,Skill,Rank,Level,Xp,Xp to lvl,% of total Xp alias -l Combat { if ($1 == Attack) return Yes if ($1 == Defence) return Yes if ($1 == Strength) return Yes if ($1 == Magic) return Yes if ($1 == Prayer) return Yes if ($1 == Ranged) return Yes if ($1 == HitPoints) return Yes } alias -l combat { if (($isid) && ($7)) { var %a = $3 * 100, %b = $4 * 100, %c = $calc(($6 $iif($and($6,1),- 1)) * 50), %bcl = $calc((%a + %b + %c) / 400), %d = $1 * 130, %e = $2 * 130, $& %f = $iif($and($5,1),$calc((($5 - 1) + ($5 * 2)) * 65),$5 * 195), %g = $iif($and($7,1),$calc((($5 - 1) + ($7 * 2)) * 65),$7 * 195), $& %mccl = $calc((%d + %e) / 400), %rccl = %f / 400, %maccl = %g / 400, %flev = $gettok($sorttok(%mccl %rccl %maccl,32,nr),1,32) return $iif($prop == style,$iif(%flev == %mccl,Melee,$iif(%flev == %rccl,Range,Mage)),$round($calc(%flev + %bcl),2))) } } alias -l skills { if ($1 == Attack) return 2 elseif ($1 == Defence) return 3 elseif ($1 == Strength) return 4 elseif ($1 == HitPoints) return 5 elseif ($1 == Ranged) return 6 elseif ($1 == Prayer) return 8 elseif ($1 == Magic) return 7 elseif ($1 == Agility) return 9 elseif ($1 == Herblore) return 10 elseif ($1 == Theiving) return 1 elseif ($1 == RuneCraft) return 11 elseif ($1 == Crafting) return 12 elseif ($1 == Fletching) return 13 elseif ($1 == Mining) return 15 elseif ($1 == Smithing) return 17 elseif ($1 == Fishing) return 16 elseif ($1 == Cooking) return 18 elseif ($1 == FireMake) return 14 elseif ($1 == WoodCut) return 19 elseif ($1 == Slayer) return 20 elseif ($1 == Farming) return 21 elseif ($1 == Construct) return 22 elseif ($1 == Hunter) return 23 } alias setskill { if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall elseif ($1 == 1) || ($regex($1,/^at(t|t?k|tack)$/Si)) return Attack elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence elseif ($1 == 3) || ($regex($1,/^str(eng[th][th])?$/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 == 23) || ($regex($1,/^(poh|cons?(truct)?(ion|ing)?|carp(entry)?)$/si)) return Construction elseif ($1 == 22) || ($regex($1,/^hunt(er|ing)?$/Si)) return Hunter }