RuneScape Dialog Helper

By sunslayer on Aug 23, 2009

been a really long time since my last post so here it is :)

its a RuneScape Dialog helper, i got the idea from [-srankie-]
but since the code doesnt work anymore i decided to make my own

u need to have MDX, save the code below into ur $mircdirRuneScapeDialog\RuneScapedialog.ini and load it and it should start downloading some extra files

after the download is finished the Download dialog will close and the main dialog will open

Features

  • recent News from runescape.com
  • personal stats lookup
  • comparison stats lookup
  • NPC info
  • a seperate dialog showing a picture of the monster and some FAQ's
  • Grand Exchange Price Checker
  • Item Info
  • an extra dialog showing FAQ's about items with a picture of the item
  • a Combat Calculator (Using the Combat formula) for both P2P and F2P
  • a Calculator
  • a list of Clans that match parameters given, results from
  • Clan Info for specific clans from
  • Cost calculator for both high/low alchemy
  • Grand Exchange updater
  • Default rsn setter
  • Runescape username availability checker
  • Coin share split calculator
  • NPC Drop list
    enjoy :p

a pic of the dialog:
http://img3.imageshack.us/img3/6153/rsddx.jpg

dialog RSD {
  title "RuneScape Dialog Helper - by SunSlayer"
  size -1 -1 253 147
  option dbu
  tab "News", 15, 0 -3 253 156
  tab "Player Stats", 1
  tab "Monsters", 2
  tab "Prices", 3
  tab "Items", 17
  tab "Combat Calc", 23
  tab "Misc I", 48
  tab "Misc II", 105
  box "Alch Loss", 66, 1 54 248 52, tab 48
  combo 68, 3 73 51 26, tab 48 drop
  list 4, -1 11 251 121, tab 1 size
  list 5, -1 11 250 121, tab 2 size
  list 6, -1 11 250 121, tab 3 size
  list 19, -1 11 250 121, tab 17 size
  button "Look Up!", 7, 60 134 37 12, tab 1
  button "Look Up!", 8, 60 134 37 12, tab 2
  button "Look Up!", 9, 60 134 37 12, tab 3
  button "Look Up!", 20, 60 134 37 12, tab 17
  button "&Close", 10, 209 134 37 12, cancel
  button "Compare", 14, 116 134 32 12, tab 1
  edit "", 11, 5 136 50 10, tab 1 autohs
  edit "", 12, 5 136 50 10, tab 2 autohs
  edit "", 13, 5 136 50 10, tab 3 autohs
  edit "", 21, 5 136 50 10, tab 17 autohs
  icon 16, 0 96 252 38, $rsdir(head_image_mob.jpg), 0 tab 15
  text "Loading...", 22, 0 137 207 8, tab 15 center
  icon 24, 37 19 15 12, $rsdir(skill_icon_Attack1.gif), 0 tab 23
  icon 25, 37 38 15 12, $rsdir(skill_icon_Strength1.gif), 0 tab 23
  icon 26, 37 55 15 12, $rsdir(skill_icon_Defence1.gif), 0 tab 23
  icon 27, 37 74 15 11, $rsdir(skill_icon_Hitpoints1.gif), 0 tab 23
  icon 28, 126 18 15 11, $rsdir(skill_icon_Ranged1.gif), 0 tab 23
  icon 29, 126 38 15 11, $rsdir(skill_icon_Magic1.gif), 0 tab 23
  icon 30, 126 55 15 11, $rsdir(skill_icon_Prayer1.gif), 0 tab 23
  icon 31, 126 74 15 11, $rsdir(skill_icon_Summoning1.gif), 0 tab 23
  edit "1", 32, 55 20 40 10, tab 23
  edit "1", 33, 55 38 40 10, tab 23
  edit "1", 34, 55 55 40 10, tab 23
  edit "10", 35, 55 73 40 10, tab 23
  edit "1", 36, 146 18 40 10, tab 23
  edit "1", 37, 146 38 40 10, tab 23
  edit "1", 38, 146 56 40 10, tab 23
  edit "1", 39, 146 74 40 10, tab 23
  text "3.4", 40, 74 92 20 8, tab 23
  button "Calc", 41, 98 104 32 10, tab 23
  button "Get Data", 42, 67 134 40 10, tab 23
  edit "", 43, 122 134 40 10, tab 23 autohs
  text "", 44, 102 136 95 8, tab 2
  text "", 45, 102 136 95 8, tab 3
  text "", 46, 102 136 95 8, tab 17
  text "RuneScape News", 18, 0 12 251 8, tab 15 center
  edit "Loading...", 47, 1 20 250 65, tab 15 read multi vsbar
  link "www.RuneScape.com", 49, 2 137 53 8, tab 48
  link "www.Zybez.net", 50, 57 137 40 8, tab 48
  link "www.tip.it", 51, 98 137 27 8, tab 48
  link "www.RuneHQ.com", 52, 125 137 46 8, tab 48
  link "www.mirc.com", 53, 173 137 36 8, tab 48
  box "Calculator", 54, 1 13 97 41, tab 48
  edit "", 55, 1 21 95 10, tab 48
  edit "", 56, 1 44 95 10, tab 48 read autohs
  button "Clear", 57, 1 32 30 10, tab 48
  button "Calculate", 58, 33 32 30 10, tab 48
  button "Clipboard", 59, 65 32 30 10, tab 48
  box "Clan Info", 60, 99 13 149 41, tab 48
  edit "", 61, 133 21 65 10, tab 48
  text "Clan Name:", 62, 102 21 28 8, tab 48
  combo 63, 133 36 64 33, tab 48 drop
  text "Type:", 64, 102 37 29 8, tab 48
  button "Search", 65, 206 27 32 12, tab 48
  edit "", 67, 3 62 96 10, tab 48
  text "Gain/Loss:", 69, 3 86 26 8, tab 48
  edit "", 70, 34 86 64 10, tab 48 read
  button "Search", 71, 57 72 40 12, tab 48
  text "Current Nature Rune Price:", 72, 108 62 68 8, tab 48
  edit "", 73, 185 61 50 10, tab 48 read
  text "Item Alch Price:", 74, 108 86 41 8, tab 48
  edit "", 75, 185 84 50 10, tab 48 read autohs
  text "", 76, 2 96 240 8, tab 48 center
  text "Current Item Price:", 77, 108 74 46 8, tab 48
  edit "", 78, 185 73 50 10, tab 48 read
  box "Other", 87, 1 104 249 29, tab 48
  radio "Always on Top Desktop", 88, 5 112 65 8, tab 48 group
  radio "Always on Top of mIRC", 89, 5 122 65 8, tab 48
  button "Refresh News", 90, 115 110 45 10, tab 48
  button "Refresh Players", 91, 115 121 45 10, tab 48
  button "Refresh Dialog", 92, 180 110 45 10, tab 48
  text "P2P Level:", 93, 37 92 27 8, tab 23 center
  text "F2P Level:", 94, 126 92 27 8, tab 23 center
  text "3.4", 95, 161 92 24 8, tab 23
  button "Clear Dialog", 99, 180 121 45 10, tab 48
  radio "Default", 102, 75 117 31 8, tab 48
  combo 104, 7 85 236 35, tab 15 drop
  box "Grand Exhange Update", 106, 2 13 163 33, tab 105
  text "The Grand Exchange was last updated:", 107, 6 23 149 8, tab 105 center
  button "Update!", 108, 65 33 32 11, tab 105
  box "Default Nickname", 109, 166 13 84 33, tab 105
  edit "", 110, 172 22 74 10, tab 105 limit 0
  button "Set Defname", 111, 191 32 37 12, tab 105
  box "Coin Share", 112, 2 48 163 42, tab 105
  edit "", 113, 55 58 54 10, tab 105 autohs
  text "Item name:", 114, 5 58 29 8, tab 105
  text "Number of people:", 115, 5 68 46 8, tab 105
  edit "", 116, 55 68 29 10, tab 105
  button "Search", 117, 110 62 39 12, tab 105
  text "Approximately:", 118, 26 79 39 8, tab 105
  edit "", 119, 73 79 60 10, tab 105 read autohs
  box "Username Availability Checker", 120, 166 48 84 42, tab 105
  edit "", 121, 172 58 68 10, tab 105 limit 0
  button "Check", 122, 188 68 32 11, tab 105
  text "", 123, 172 80 68 8, tab 105 center
  box "NPC Drops", 124, 2 90 248 42, tab 105
  link "www.Hawkee.com", 125, 2 137 45 8, tab 105
  link "www.mirc.net", 126, 51 137 36 8, tab 105
  link "www.Rscript.org", 127, 91 137 42 8, tab 105
  link "www.SwiftIRC.net", 128, 139 137 46 8, tab 105
  text "NPC name:", 129, 5 98 28 8, tab 105
  edit "", 130, 36 98 50 10, tab 105 autohs
  edit "", 131, 88 96 157 33, tab 105 read multi vsbar
  button "Search", 132, 25 109 32 12, tab 105
  text "", 133, 5 122 79 8, tab 105 center
  menu "&File", 79
  item "&Save Settings", 96, 79
  item "break", 97, 79
  item "&Close", 80, 79
  menu "View", 81
  item "Always on &top", 82, 81
  item "Always on top of &mIRC", 83, 81
  item "&Default", 103, 81
  menu "&Refresh", 84
  item "Refresh News", 85, 84
  item "Refresh Players", 86, 84
  item "Refresh Dialog", 100, 84
  item "break", 98, 84
  item "Clear Dialog", 101, 84
}

on *:dialog:rsd:*:*: {
  if ($devent == init) {
    didtok $dname 63 32 Non-Clan Both Clan
    didtok $dname 68 32 High-Alch Low-Alch
    did -c $dname 63 3
    did -c $dname 68 1
    did -c $dname $iif($hget(rsd,dialog_type),$v1,102)
    did -ra $dname 11 $hget(RSD,Defname)
    rsd.sopen players geniebots.net
    rsd.sopen getnews news.runescape.com
    if (!$rsd.mdxs) { 
      rsd.mdx SetMircVersion $version
      rsd.mdx MarkDialog $dname
    }
    rsd.mdx SetControlMDX $dname 4,5,6,19 ListView report showsel rowselect > $rsd.mdxf(views)
    did -i $dname 4 1 headerdims 125:1 115:2 119:3 118:4
    did -i $dname 4 1 headertext +c Skill $chr(9) $+ +c Level $chr(9) $+ +c Experience $chr(9) $+ +c Rank
    did -i $dname 5 1 headerdims 120:1 80:2 50:3 75:4 85:5 60:6
    did -i $dname 5 1 headertext +c Monster's Name $chr(9) $+ +c Combat Level $chr(9) $+ +c HP $chr(9) $+ +c Race $chr(9) $+ +c Members Only? $chr(9) $+ +c Quest?
    did -i $dname 6 1 headerdims 125:1 123:2 110:3 105:4
    did -i $dname 6 1 headertext +c Item $chr(9) $+ +c Price $chr(9) $+ +c Price Change $chr(9) $+ +c Members Item?
    did -i $dname 19 1 headerdims 160:1 110:2 100:3 100:4 0:5
    did -i $dname 19 1 headertext +c Item $chr(9) $+ +c Category $chr(9) $+ +c Members Item? $chr(9) $+ +c Quest Item?
    did -ra $dname 47 $str($chr(9),4) Loading...
  }
  elseif ($devent == sclick) {
    if ($did == 7) rsd.sopen stats hiscore.runescape.com $did(11) $chr(9) 4
    elseif ($did == 8) rsd.sopen monsters tip.it $did(12) $chr(9) 5
    elseif ($did == 9) rsd.sopen prices itemdb-rs.runescape.com $did(13) $chr(9) 6
    elseif ($did == 14) rsd.dopen rsd.compare
    elseif ($did == 20) rsd.sopen items tip.it $did(21) $+ $chr(9) 19
    elseif ($did == 41) { rsd.p2pc | rsd.f2pc }
    elseif ($did == 42) { did -ra $dname 32-34,36-39 1 | did -ra $dname 35 10 | rsd.sopen cmbstats rscript.org $did(43) }
    elseif ($istok(49 50 51 52 53 125 126 127 128,$did,32)) url $did($did)
    elseif ($did == 57) did -r $dname 55,56
    elseif ($did == 58) did -ra $dname 56 $did(55) = $calc($did(55))
    elseif ($did == 59) clipboard $did(55)
    elseif ($did == 65) {
      if ($did(61)) {
        rsd.dopen rsd.Clanres
        rsd.sopen Clanres runehead.com $+($did(61),|,$did(63).sel)
      }
      else rsd.err You Did not Enter a Clan name/Initials to be searched!
    }
    elseif ($did == 71) { rsd.sopen getnat itemdb-rs.runescape.com $chr(9) 70,73,75,76,78 | did -ra rsd 76 Looking up Nature Rune Price. }
    elseif ($did == 80) { dialog -x $dname | hadd -m RSD dialog_type $did }
    elseif ($did == 88) { dialog -o $dname | hadd -m RSD dialog_type $did }
    elseif ($did == 89) { dialog -na $dname | hadd -m RSD dialog_type $did }
    elseif ($did == 90) noop $rsd.refresh($dname).news
    elseif ($did == 91) noop $rsd.refresh($dname).players
    elseif ($did == 92) noop $rsd.refresh($dname).refreshall
    elseif ($did == 99) { dialog -nao $dname | hadd -m RSD dialog_type $did }
    elseif ($did == 101) noop $rsd.refresh($dname).clear
    elseif ($did == 104) {
      if (!$sock(rsd.getnews) && !$sock(rsd.news)) {
        did -ra $dname 47 $str($chr(9),$iif($len($gettok($did(104).seltext,1,45)) >= 25,3,4)) $gettok($did(104).seltext,1,45) $+ $str($crlf,3)
        rsd.sopen news news.runescape.com $gettok($did(104).seltext,2,45)
      }
      else rsd.err ERROR: News Socket already open!
    }
    elseif ($did == 108) rsd.sopen geupdate rscript.org $chr(9)
    elseif ($did == 111) hadd -m RSD Defname $did(110)
    elseif ($did == 117) rsd.sopen cshare itemdb-rs.runescape.com $did(113) $chr(9) 119
    elseif ($did == 122) rsd.sopen rsna parsers.stirk.org $did(121) $chr(9) 123
    elseif ($did == 132) { rsd.sopen gmid www.tip.it $did(130) $chr(9) 131 | did -ra $dname 133 Looking up NPC id }
  }
  elseif ($devent == dclick) {
    if ($did == 5) {
      var %a = $replace($deltok($gettok($gettok($did(5).seltext,2,43),$+(-,$calc($numtok($gettok($did(5).seltext,2,43),32) - 4),-),32),-1,32),$chr(32),_) ,%b = $iif($mid($deltok(%a,-1,45),-1,1) == _,$deltok(%a,-1,45),%a) ,%c = $iif($right(%b,1) == _,$mid(%b,1,$calc($len(%b) -1)),%b)
      rsd.dopen rsd.monsters
      rsd.sopen minfo rscript.org %c
      mpicdl %c
    }
    elseif ($did == 19) {
      var %a = $gettok($did(19).seltext,-1,32) ,%b = $gettok($gettok($did(rsd,19).seltext,1,9),6-,32)
      rsd.dopen rsd.iinfo
      rsd.sopen iinfo tip.it $+(%a,|,%b)
      ipicdl %b
    }      
  }
  elseif ($devent == menu) {
    if ($did == 80) dialog -x $dname
    elseif ($did == 82) dialog -o $dname
    elseif ($did == 83) dialog -na $dname
    elseif ($did == 85) noop $rsd.refresh($dname).news
    elseif ($did == 86) noop $rsd.refresh($dname).players
    elseif ($did == 100) noop $rsd.refresh($dname).refreshall
    elseif ($did == 96) rsd.save
    elseif ($did == 103) noop $rsd.refresh($dname).clear
    elseif ($did == 103) dialog -nd $dname
  }
  elseif ($devent == close) sockclose rsd.*
}

on $*:sockopen:/rsd\.((cmb)?stats|prices|m(onsters|info|drops)|(get)?news|players|items|iinfo|images|SCalc|Compare|clan(info|res)|get(nat|id)|(alch|item)price|geupdate|cshare|rsna|gmid)/i: {
  if ($regml(1) == stats) {
    sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,$rsd.sm($sockname)) HTTP/1.1 
    sockwrite -nt $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf 
  }
  elseif ($regml(1) == prices) { 
    sockwrite -nt $sockname GET $+(/results.ws?query=,$sock($sockname).mark,&price=all&members=) HTTP/1.1 
    sockwrite -nt $sockname HOST: itemdb-rs.runescape.com $+ $crlf $+ $crlf 
  }
  elseif ($regml(1) == monsters) { 
    sockwrite -n $sockname GET $+(/runescape/index.php?rs2monster=&orderby=0&keywords=,$rsd.sm($sockname),&levels=All&race=0) HTTP/1.1 
    sockwrite -n $sockname HOST: tip.it $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == getnews) { 
    sockwrite -n $sockname GET /list.ws HTTP/1.1 
    sockwrite -n $sockname HOST: news.runescape.com $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == players) { 
    sockwrite -n $sockname GET /parsers/servers2.php?type=total HTTP/1.1 
    sockwrite -n $sockname HOST: geniebots.net $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == news) { 
    sockwrite -n $sockname GET $+(/newsitem.ws?id=,$rsd.sm($sockname)) HTTP/1.1 
    sockwrite -n $sockname HOST: news.runescape.com $+ $crlf $+ $crlf
    did -ra RSD 47 $str($chr(9),$iif($len($gettok($did(RSD,104).seltext,1,45)) >= 25,3,4)) $gettok($did(RSD,104).seltext,1,45) $str($crlf,3)
  }
  elseif ($regml(1) == items) {
    sockwrite -n $sockname GET /runescape/index.php?rs2item=&orderby=0&keywords= $+ $rsd.sm($sockname) $+ &Players=all&category=0&subcategory=0&cmd=8&action=Manage_Items&search=1&submit=Simple+Search 
    sockwrite -n $sockname HOST: www.tip.it $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == iinfo) { 
    sockwrite -nt $sockname GET $+(/runescape/index.php?rs2item_id=,$gettok($rsd.sm($sockname),1,124)) HTTP/1.1 
    sockwrite -nt $sockname host: www.tip.it $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == images) {
    sockwrite -n $sockname GET /runescape/mon2/ $+ $rsd.sm($sockname) HTTP/1.0 
    sockwrite -n $sockname Accept: */* | sockwrite -n $sockname Host: tip.it $+ $crlf $+ $crlf 
  }
  elseif ($regml(1) == minfo) { 
    sockwrite -n $sockname GET $+(/lookup.php?type=zmdb&search=,$rsd.sm($sockname)) HTTP/1.1 
    sockwrite -n $sockname HOST: rscript.org $+ $crlf $+ $crlf 
  }
  elseif ($regml(1) == cmbstats) {
    sockwrite -n $sockname GET $+(/lookup.php?type=stats&user=,$rsd.sm($sockname)) HTTP/1.1 
    sockwrite -n $sockname HOST: rscript.org $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == Compare) {
    sockwrite -n $sockname GET $+(/compare.ws?user1=,$gettok($rsd.sm($sockname),2,124),&user2=,$gettok($rsd.sm($sockname),1,124)) HTTP/1.1 
    sockwrite -n $sockname HOST: hiscore.runescape.com $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == getnat) {
    sockwrite -n $sockname GET /results.ws?query="nature+rune"&price=all&members= HTTP/1.1
    sockwrite -n $sockname HOST: itemdb-rs.runescape.com $+ $crlf $+ $crlf 
  }
  elseif ($regml(1) == getid) { 
    sockwrite -n $sockname GET $+(/runescape/index.php?rs2item=&orderby=0&keywords=,$gettok($rsd.sm($sockname),1,124),&Players=all&category=0&subcategory=0&cmd=8&action=Manage_Items&search=1&submit=Simple+Search) HTTP/1.1 
    sockwrite -n $sockname HOST: tip.it $+ $crlf $+ $crlf 
  }
  elseif ($regml(1) == clanres) { 
    sockwrite -n $sockname GET $+(/feeds/lowtech/searchclan.php?search=,$gettok($sock($sockname).mark,1,124),&type=,$gettok($sock($sockname).mark,2,124)) HTTP/1.1 
    sockwrite -n $sockname HOST: runehead.com $+ $crlf $+ $crlf 
  }
  elseif ($regml(1) == claninfo) { 
    sockwrite -n $sockname GET $+(/clans/ml.php?clan=,$rsd.sm($sockname)) HTTP/1.1 
    sockwrite -n $sockname HOST: www.runehead.com $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == alchprice) {
    sockwrite -n $sockname GET $+(/runescape/index.php?rs2item_id=,$gettok($rsd.sm($sockname),1,124)) HTTP/1.1 
    sockwrite -n $sockname HOST: tip.it $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == itemprice) {
    sockwrite -n $sockname GET $+(/results.ws?query=,$rsd.sm($sockname),&price=all&members=) HTTP/1.1 
    sockwrite -n $sockname HOST: itemdb-rs.runescape.com $+ $crlf $+ $crlf 
  }
  elseif ($regml(1) == geupdate) {
    sockwrite -n $sockname GET /lookup.php?type=geupdate HTTP/1.1
    sockwrite -n $sockname HOST: www.rscript.org $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == cshare) {
    sockwrite -n $sockname GET $+(/results.ws?query=,$rsd.sm($sockname),&price=all&members=) HTTP/1.1 
    sockwrite -n $sockname HOST: itemdb-rs.runescape.com $+ $crlf $+ $crlf 
  }
  elseif ($regml(1) == rsna) {
    sockwrite -n $sockname GET $+(/usercheck.php?user=,$rsd.sm($sockname)) HTTP/1.1
    sockwrite -n $sockname HOST: parsers.stirk.org $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == gmid) {
    sockwrite -n $sockname GET $+(/runescape/index.php?rs2monster=&orderby=0&keywords=,$rsd.sm($sockname),&levels=All&race=0) HTTP/1.1 
    sockwrite -n $sockname HOST: www.tip.it $+ $crlf $+ $crlf
  }
  elseif ($regml(1) == mdrops) {
    sockwrite -n $sockname GET $+(/runescape/index.php?rs2monster_id=,$rsd.sm($sockname)) HTTP/1.1
    sockwrite -n $sockname HOST: www.tip.it $+ $crlf $+ $crlf
  }
}

on *:sockread:rsd.stats: {
  var %stats | sockread %stats 
  hadd -m Stats AllStats Overall.Attack.Defence.Strength.Hitpoints.Prayer.Ranged.Magic.Cooking.Woodcutting.Fletching.Fishing.Firemaking.Crafting.Mining.Smithing.Herblore.Agility.Thieving.Slayer.Farming.Runecrafting.Hunter.Construction.Summoning.Fist of Guthix.Bounty Hunter.Bounty Hunter Rogues.Mobilising Armies
  if ($rsd.stats(%stats) || $regex(%stats,/<td class="alL" colspan="2">(.*)) && !$hget(Stats,Curstat)) { hadd -m Stats curstat $replace($iif($htmlfree(%stats),$v1,$gettok(%stats,2,62)),$chr(32),_) | set -u2 %num 3 }
  if (*class="not_ranked">Not*Ranked</td> iswm %stats && $hget(Stats,Curstat)) { hadd Stats $hget(Stats,Curstat) $htmlfree(%stats) | hdel Stats Curstat }
  elseif (<td*class="alL">* iswm %stats && $hget(Stats,Curstat)) { hadd Stats $hget(Stats,Curstat) $addtok($hget(Stats,$hget(Stats,Curstat)),$htmlfree(%stats),124) | dec %num | if (%num <= 0) hdel Stats Curstat }
  elseif ($regex(%stats,/You have to be in the top 2 million in a category and reach a)) rsd.err $replace($sock($sockname).mark,+,$chr(32)) Was not found in the Runescape Hiscores Database! $chr(9) $sockname
  elseif (</body> == %stats) {
    var %a 1
    while (%a <= $numtok($hget(Stats,AllStats),46)) {
      if ($hget(Stats,$gettok($hget(Stats,AllStats),%a,46))) did -a rsd 4 0 +c 0 0 0 $gettok($hget(Stats,Allstats),%a,46) $chr(9) $+ +c 0 0 0 $gettok($v1,2,124) $chr(9) $+ +c 0 0 0 $gettok($v1,3,124) $chr(9) $+ +c 0 0 0 $gettok($v1,1,124)
      inc %a
    }
    hfree Stats
  }
}

on *:sockread:rsd.monsters: {
  var %monsters | sockread %monsters
  if (%monlvl == 1) { set -u2 %rsd.curmonlvl $htmlfree(%monsters) | unset %monlvl }
  if (*</tr><tr>* iswm %monsters) set -u2 %monlvl 1
  if (*<td><a href="?rs2monster_id=* iswm %monsters && %rsd.curmonlvl) { 
    hadd -m Monsters CurMon $replace($htmlfree(%monsters),$chr(32),_)
    hadd Monsters $hget(Monsters,curmon) %rsd.curmonlvl
    unset %rsd.curmonlvl
    set -u2 %num 5
  }
  elseif ($regex(%monsters,/<td align="center">(\w*)</td>) && $hget(Monsters,Curmon)) {
    hadd Monsters $hget(monsters,Curmon) $addtok($hget(monsters,$hget(Monsters,Curmon)),$regml(1),124)
    dec %num
    if (%num <= 1) hdel Monsters Curmon
  }
  elseif (</body> == %monsters) {
    if ($hget(Monsters)) {
      var %a 1
      while (%a <= $hget(Monsters,0).item) {
        var %mon = $hget(Monsters,%a).data
        did -a RSD 5 0 +c 0 0 $rsd.cap($replace($hget(Monsters,%a).item,_,$chr(32))) $chr(9) $+ +c 0 0 0 $gettok(%mon,1,124) $chr(9) $+ +c 0 0 0 $gettok(%mon,-1,124) $chr(9) $+ +c 0 0 0 $gettok(%mon,2,124) $chr(9) $+ +c 0 0 0 $gettok(%mon,3,124) $chr(9) $+ +c 0 0 0 $gettok(%mon,-2,124)
        inc %a
      }
      did -ra RSD 44 $hget(Monsters,0).item Results Found.
      hfree monsters
    }
    else rsd.err No Monsters Found! $chr(9) $sockname
  }
}

on *:sockread:rsd.prices: {
  var %price | sockread %price
  if ($regex(%price,/(\d+) items matched the search term: '<i>(.*)</i>'/.<br>)) set -u2 %b $regml(1)
  elseif ($regex(%price,/<td>(.*)</a></td>)) set -u2 %c $addtok(%c,$htmlfree(%price),9)
  elseif ($regex(%price,/<td>(.*)</td>) || $regex(%price,/<td>(\d*)</td>$) && <table> !isin %price && <img !isin %price) {
    if (*span*class* !iswm %price) set -u2 %ge.price %ge.price $iif($right($htmlfree(%price),1) isnum,$+($htmlfree(%price),gp),$htmlfree(%price)) $chr(9)
    elseif (*span*class* iswm %price) set -u2 %price.change %price.change  $iif($right($htmlfree(%price),1) isnum,$+($htmlfree(%price),gp),$htmlfree(%price)) $chr(9)
  }
  elseif ($regex(%price,/(.*)title="(Members' item|Free game item)/i)) set -u2 %price.mem %price.mem $iif($gettok($noqt($gettok(%price,-1,61)),1,32) == Members',Yes,No) $chr(9)
  elseif (</body> == %price) {
    var %num 1
    while (%num <= $numtok(%c,9)) {
      did -a RSD 6 0 +c 0 0 0 $gettok(%c,%num,9) $chr(9) $+ +c 0 0 0 $gettok(%ge.price,%num,9) $chr(9) $+ +c 0 0 0 $gettok(%price.change,%num,9) $chr(9) $+ +c 0 0 0 $gettok(%price.mem,%num,9)
      inc %num
    }
    did -ra RSD 45 %b Results Found.
    sockclose $sockname
  }
}

on *:sockread:rsd.items: {
  var %items | sockread %items
  if ($regex(%items,/<p><strong>(\d+)</strong> items matched your search.</p>$)) set -u2 %items.results $regml(1)
  if ($regex(%items,/<td><a href="index\.php\?rs2item_id=(\d*)">(.*)</a></td>/i)) { 
    hadd -m Items CurItem $replace($htmlfree(%items),$chr(32),_)
    set %items.id $remove($gettok($regml(2),-1,61),",>) $chr(124) %items
    set %rsd.num 3 
  }
  elseif ($regex(%items,/<td>((\w*)|Raw Material|Discontinued Items)</td>/i) && %rsd.num) {
    hadd Items $hget(Items,CurItem) $instok($hget(Items,$hget(Items,CurItem)),$regml(1),$calc($numtok($hget(Items,$hget(Items,CurItem)),124) +1),124)
    dec %rsd.num
    if (%rsd.num <= 0) {
      hadd Items $hget(Items,CurItem) $addtok($hget(Items,$hget(Items,CurItem)),%items.id,124)
      unset %items.id 
      hdel Items CurItem 
    }
  }
  elseif (</body> == %items) { 
    var %a 1
    while (%a <= $hget(Items,0).item) {
      var %item = $hget(Items,%a).data
      did -a RSD 19 0 +c 0 0 $remove($replace($hget(Items,%a).item,_,$chr(32)),$chr(9)) $chr(9) $+ +c 0 0 0 $gettok(%item,1,124) $chr(9) $+ +c 0 0 0 $gettok(%item,2,124) $chr(9) $+ +c 0 0 0 $gettok(%item,3,124) $chr(9) $+ +c 0 0 0 $gettok(%item,4,124)
      inc %a
    }
    did -ra RSD 46 %items.results Matches found.
    hfree Items
    unset %rsd.items %rsd.num
  }
  elseif (*No*items*matched*your*search* iswm %items) { 
    rsd.err No Items Found   $sockname
    hfree Items
    unset %rsd.items %rsd.num
  }
}

on *:sockread:rsd.minfo: {
  var %minfo | sockread %minfo
  if (*name:* iswm %minfo) did -ra rsd.monsters 3 $gettok(%minfo,2,58)
  elseif (*Hitpoints:* iswm %minfo) did -ra rsd.monsters 5 $gettok(%minfo,2,58)
  elseif (*maxhit:* iswm %minfo) did -ra rsd.monsters 7 $gettok(%minfo,2,58)
  elseif (*race:* iswm %minfo) did -ra rsd.monsters 9 $gettok(%minfo,2,58)
  elseif (*members:* iswm %minfo) did -ra rsd.monsters 20 $gettok(%minfo,2,58)
  elseif (*quest:* iswm %minfo) did -ra rsd.monsters 21 $gettok(%minfo,2,58)
  elseif (*nature:* iswm %minfo) did -ra rsd.monsters 22 $gettok(%minfo,2,58)
  elseif (*attackstyle:* iswm %minfo) did -ra rsd.monsters 23 $gettok(%minfo,2,58)
  elseif (*examine:* iswm %minfo) did -ra rsd.monsters 15 $gettok(%minfo,2,58)
  elseif (*topdrops:* iswm %minfo) did -ra rsd.monsters 17 $gettok(%minfo,2,58)
  elseif (*wherefound:* iswm %minfo) did -ra rsd.monsters 19 $gettok(%minfo,2,58)
  elseif (END == %minfo) {
    dialog -t rsd.monsters Monsters Info - $replace($sock($sockname).mark,_,$chr(32))
    var %a 23
    while (%a > 0) { 
      if (!$did(rsd.monsters,%a) && !$istok(0 1,%a,32)) { did -a rsd.monsters %a N/A }
      dec %a 
    }
  }
}

on *:sockread:rsd.cmbstats: {
  var %cmbstats | sockread %cmbstats
  tokenize 32 %cmbstats
  if ($regex(%cmbstats,/STAT:(Attack|Strength|Defence|Hitpoints|Ranged|Magic|Prayer|Summoning)/i)) did -ra RSD $rsd.getdid($regml(1)) $3
  elseif (STAT:*not*found iswm %cmbstats) rsd.err No Stats Found!    $sockname
}

on *:sockclose:rsd.cmbstats:{ rsd.F2Pc | rsd.P2Pc }

on *:sockread:rsd.iinfo: {
  var %iinfo | sockread %iinfo
  if ($regex(%iinfo,/<b>(Members|Quest|Tradeable)\?</b> (Yes|No)(.*)</td>/i)) {
    did -ra rsd.iinfo $iif($regml(1) == Members,14,$iif($regml(1) == Quest,27,$iif($regml(1) == Tradeable,15))) $regml(2)
  }
  elseif ($regex(%iinfo,/<b>Stackable\?</b>/i)) {
    sockread %iinfo
    did -ra rsd.iinfo 16 $htmlfree(%iinfo)
  }
  elseif ($regex(%iinfo,/<td colspan="3"> <b>Examine:</b>/i)) {
    sockread %iinfo
    did -ra rsd.iinfo 17 $nochr($htmlfree(%iinfo),9)
    sockread %iinfo | sockread %iinfo
    did -ra rsd.iinfo 18 $nochr($htmlfree(%iinfo),9)
  }
  elseif ($regex(%iinfo,/((sub-)?Category)/i)) {
    sockread %iinfo | sockread %iinfo
    sockread %iinfo
    did -ra rsd.iinfo $iif($regml(2) == sub-,20,19) $nochr($htmlfree(%iinfo),9)
  }
  elseif ($regex(%iinfo,/<td class="header" width="25%">High Alchemy</td>/i)) {
    sockread %iinfo | sockread %iinfo
    var %a = $nochr($nochr($htmlfree(%iinfo),32),9)
    sockread %iinfo | sockread %iinfo | sockread %iinfo | sockread %iinfo
    did -ra rsd.iinfo 21 $addtok($nochr(%a,32),$nochr($htmlfree(%iinfo),9),45)
  }
  elseif ($regex(%iinfo,/<td class="header"( width="139")?> (Location|Uses|Notes)</td>/i)) {
    var %a = $iif(location isin $htmlfree(%iinfo),22,$iif(uses isin $htmlfree(%iinfo),23,$iif(Notes isin $htmlfree(%iinfo),24)))
    sockread %iinfo | sockread %iinfo
    did -ra rsd.iinfo %a $nochr($htmlfree(%iinfo),9)
  }
}

on *:sockclose:rsd.iinfo: {
  did -ra rsd.iinfo 13 $replace($gettok($sock($sockname).mark,2,124),+,$chr(32))
  var %a 14
  while (%a <= 27) {
    if (%a !isnum 13-24,27 && !$did(rsd.iinfo,%a)) { did -ra rsd.iinfo %a N/A }
    inc %a
  }
}

on *:sockread:rsd.compare: {
  var %compare | sockread %compare
  if ($rsd.stats(%compare)) { set %skill %compare | set %user $calc(%user +1) }
  elseif ($regex(%compare,/<td ?(colspan="2")? class="al(C|L)">(.+)</td>/i) && %skill) { 
    var %a $iif($iseven(%user),STATS.1,STATS.2) 
    hadd -m %a %skill $addtok($hget(%a,%skill),$htmlfree(%compare),124)
  }
  elseif ($regex(%compare,/<td colspan="4" class="not_ranked">Not Ranked</td>) && %skill) { 
    hadd -m $iif($iseven(%user),STATS.1,STATS.2) %skill $htmlfree(%compare)
    unset %skill
  }
  elseif (</body> isin %compare) {
    var %a 1
    while (%a <= $numtok($hget(RSD,Stats),46)) {
      if ($hget(Stats.1,$gettok($hget(RSD,Stats),%a,46))) did -a rsd.compare 1 0 +c 0 0 $gettok($hget(RSD,Stats),%a,46) $chr(9) $+ +c 0 0 0 $gettok($v1,2,124) $chr(9) $+ +c 0 0 0 $gettok($v1,3,124) $chr(9) $+ +c 0 0 0 $gettok($v1,1,124) 
      inc %a
    }
    var %a = 1
    while (%a <= $numtok($hget(RSD,Stats),46)) {
      if ($hget(Stats.2,$gettok($hget(RSD,Stats),%a,46))) did -a rsd.compare 2 0 +c 0 0 $gettok($hget(RSD,Stats),%a,46) $chr(9) $+ +c 0 0 0 $gettok($v1,2,124) $chr(9) $+ +c 0 0 0 $gettok($v1,3,124) $chr(9) $+ +c 0 0 0 $gettok($v1,1,124) 
      inc %a
    }
    var %a = 2,%b = 5
    while (%a <= 26) {
      var %c = $remove($gettok($gettok($gettok($didtok(rsd.compare,1,2),%a,2),-2,43),-2,32),Ranked,$chr(44)) ,%d = $remove($gettok($gettok($gettok($didtok(rsd.compare,2,2),%a,2),-2,43),-2,32),Ranked,$chr(44))
      did -g rsd.compare %b $rsdir($iif(%c > %d,arrowup.gif,$iif(%c == %d,arrowequal.gif,$iif(%c < %d,arrowdown.gif))))
      inc %a
      inc %b
    }
    hfree -w STATS.*
    unset %skill %user
    sockclose $sockname
  }
}

on *:sockread:rsd.news: {
  var %news | sockread %news
  if ($regex(%news,/<div class="newsJustify">)) set -u2 %newsready $true
  elseif ($regex(%news,/<(p|li)>(.*)</(pli)>) && %newsready) { did -a RSD 47 $iif($mid($htmlfree(%news),1,3) == Mod,$chr(9) $+ -,$iif($regml(1) == li,$str($chr(9),2) $+ $chr(7))) $htmlfree(%news) $+ $str($crlf,$iif($regml(1) == li,2,1)) }
  elseif ($regex(%news,/<div class="clear"></div>)) unset %newsready
}

on *:sockread:rsd.getnews: {
  var %getnews | sockread %getnews
  if ($regex(%getnews,/<td valign="middle"><a href="newsitem.ws\?id=(\d*)">(.+)</a></td>)) {
    if (!%gotnew) {
      rsd.sopen news news.runescape.com $regml(1)
      hadd -m RSD Recent_News $regml(2)
      did -ra RSD 104 $replace($regml(2),&amp;,&) - $regml(1)
      did -c RSD 104 1
      set -u2 %gotnew $true
    }
    else did -a RSD 104 $replace($regml(2),&amp;,&) - $regml(1)
  }
}

on *:sockread:rsd.players: {
  var %players | sockread %players
  if (*TOTAL* iswm %players) { did -ra rsd 22 There are currently $rsd.rep($gettok(%players,2,124)) people playing runescape! | sockclose $sockname }
}

on *:sockread:rsd.getnat: {
  var %natprice | sockread %natprice
  if ($regex(%natprice,/<td><a href="http://itemdb-rs\.runescape\.com/Nature_rune/viewitem\.ws\?obj=561"> Nature rune</a></td>)) {
    sockread %natprice
    rsd.sopen getid tip.it $+($did(rsd,67),|,$did(rsd,68).sel) 
    did -a rsd 73 $htmlfree(%natprice) 
    did -ra rsd 76 Getting Item ID | sockclose $sockname 
  }
}

on *:sockread:rsd.getid: {
  var %id | sockread %id
  if ($regex(%id,/<p><strong>0</strong> items matched your search.</p>)) {
    rsd.err Item Not Found! $chr(9) $sockname
    did -r rsd 73,75,76,78
    did -ra rsd 69 Gain/Loss:
  }
  if ($regex(%id,/<td><a href="index.php\?rs2item_id=(\d*)">.*</a></td>)) { rsd.sopen alchprice tip.it $+($regml(1),|,$rsd.sm($sockname)) | did -ra rsd 76 Found item ID | sockclose $sockname }
}

on *:sockread:rsd.alchprice: {
  var %alch,%type = $gettok($sock($sockname).mark,-1,124),%type = $iif(%type = 1,High,Low) | sockread %alch
  if ($regex(%alch,<td class="header" width="25%">High Alchemy</td>)) {
    sockread %alch | sockread %alch
    var %highalch = $remove(%alch,$chr(9))
    sockread %alch | sockread %alch | sockread %alch | sockread %alch
    var %lowalch = $remove(%alch,$chr(9)),%type = $iif(%type = High,%highalch,%lowalch)
    did -r rsd 76
    did -ra rsd 75 %type
  }
  elseif ($regex(%alch,/<td>Market Price</td>)) {
    sockread %alch | sockread %alch | sockread %alch | sockread %alch | sockread %alch
    did -ra rsd 78 $gettok($remove($htmlfree(%alch),$chr(9)),1,32) $+ gp
    did -ra rsd 70 $rsd.rep($calc($calc($remcom($did(rsd,73)) + $remcom($did(rsd,78))) - $remcom($did(rsd,75)))) $+ gp
    var %a = $left($did(rsd,70),1)
    if (%a = -) {
      did -ra rsd 70 $remove($did(rsd,70),-)
      did -ra rsd 69 Gain:
    }
    elseif (%a != -) did -ra rsd 69 Loss:
    sockclose $sockname
  }
}
on *:sockread:rsd.Clanres: {
  var %clanres | sockread %clanres
  if ($chr(124) isin %clanres) did -a rsd.clanres 2 0 +c 0 0 $gettok(%clanres,1,124) $chr(9) $+ +c 0 0 0 $gettok(%clanres,5,124) $chr(9) $+ +c 0 0 0 $gettok(%clanres,3,124)
  elseif (@@Not*Found iswm %clanres) rsd.err No Clans Found!
}

on *:sockread:rsd.claninfo: {
  var %claninfo,%dialog = rsd.claninfo | sockread %claninfo
  if ($regex(%claninfo,/<title>(.*) Memberlist</title>)) did -ra %dialog 1 $regml(1)
  if ($regex(%claninfo,/<li><b>Total Members:</b> (\d*)</li>)) did -ra %dialog 18 $regml(1)
  elseif ($regex(%claninfo,/<li><b>Average P2P Combat:</b> (.*)</li>)) did -ra %dialog 19 $regml(1)
  elseif ($regex(%claninfo,/<li><b>Average F2P Combat:</b> (.*)</li>)) did -ra %dialog 20 $regml(1)
  elseif ($regex(%claninfo,/<li><b>Average Hitpoints:</b> (.*)</li>)) did -ra %dialog 21 $regml(1) 
  elseif ($regex(%claninfo,/<li><b>Average Overall:</b> (.*)</li>)) did -ra %dialog 22 $regml(1)
  elseif ($regex(%claninfo,/<li class='gap'><b>Total XP:</b> (.*)</li>)) did -ra %dialog 23 $regml(1)
  elseif ($regex(%claninfo,/<li><b>Category:</b> (.*)</li>)) did -ra %dialog 24 $regml(1)
  elseif ($regex(%claninfo,/<li><b>Stats Last Updated:</b> (.*)</li>)) did -ra %dialog 26 $regml(1)
  elseif ($Regex(%claninfo,/<p><b>F2P or P2P: </b>(.*)</p>)) did -ra %dialog 25 $regml(1)
  elseif ($regex(%claninfo,/<p><b>Cape Colour: </b>(.*)</p>)) did -ra %dialog 27 $regml(1)
  elseif ($regex(%claninfo,/<p><b>Clan Initials: </b>(.*)</p>)) did -ra %dialog 28 $regml(1)
  elseif ($regex(%claninfo,/<p><b>Website: </b><a href='(.*)' title='.*'>.*</a></p>)) did -ra %dialog 3 $regml(1)
  elseif ($regex(%claninfo,/<p><b>Time Base: </b>(.*)</p>)) did -ra %dialog 29 $replace($regml(1),&amp;,And)
  elseif ($regex(%claninfo,/<p><b>Home World: </b>(.*) <img src='images/flags/.*' alt='' title='.*' style='vertical-align: middle; padding-bottom: 1px;' /></p>)) did -ra %dialog 30 $regml(1)
  elseif ($regex(%claninfo,/<p><b>Clan Signature: <a href='(.*)' title='Clan Signatures'>Click here</a></b></p>)) did -ra %dialog 31 $regml(1)
  elseif ($regex(%claninfo,/<p><b>IRC Channel: </b><a href='http://.*' title='http://.*'>(.*)</a></p>)) did -ra %dialog 32 $regml(1)
}

on *:sockread:rsd.geupdate: {
  var %geupdate | sockread %geupdate
  if ($gettok(%geupdate,1,32) == UPDATETIME:) did -ra RSD 107 The Grand Exchange was last updated: $duration($calc($ctime - $gettok(%geupdate,2,32)),1)
}

on *:sockread:rsd.cshare: {
  var %cshare | sockread %cshare
  if ($regex(%cshare,/(\d*) items matched the search term: '<i>.*</i>'.<br>)) { if ($regml(1) = 0) rsd.err No Items found! $chr(9) $sockname }
  if ($regex(%cshare,/<td><a href="http://itemdb-rs.runescape.com/.*/viewitem.ws\?obj=\d*">.*</a></td>)) {
    sockread %cshare
    var %a = $htmlfree(%cshare)
    did -ra RSD 119 $round($calc($left(%a,-1)/$did(rsd,116))) $+ $right(%a,1)
    sockclose $sockname
  }
}

on *:sockread:rsd.rsna: {
  var %rsn | sockread %rsn
  if ($regex(%rsn,/.*\W-\W(un)?available.*/i)) did -ra RSD 123 $did(rsd,121) is $iif($regml(1),not) available
}

on *:sockread:rsd.gmid: {
  var %mid | sockread %mid
  if ($regex(%mid,/<td><a href="\?rs2monster_id=(\d*)">(.*)</a></td>) && $regml(2)) {
    sockclose $sockname
    rsd.sopen mdrops tip.it $regml(1)
    did -ra RSD 133 getting drop info...
  }
}
on *:sockread:rsd.mdrops: {
  var %drops | sockread %drops
  if (drops: isin %drops) {
    sockread %drops
    while (%drops) {
      if (</td> isin %drops) break
      did -a RSD 131 $replace($nochr($htmlfree(%drops),9),$chr(44),$crlf)
      sockread %drops
      did -a RSD 131 $crlf
    }
  }
  elseif ($regex(%drops,/<td colspan="2" rowspan="4" align="center" valign="middle" bgcolor="#CCCCCC"><img border="0" src="mon2/.*.gif" alt="(.*)" /></td>)) did -ra RSD 133 $regml(1)
}

;;;;;; Err Dialog

dialog rsd.err {
  title "Error!"
  size -1 -1 106 35
  option dbu
  button "&Ok", 1, 35 21 38 12, ok
  text "", 2, 1 1 103 18, center multi
}
on *:dialog:rsd.err:init:*:did -ra $dname 2 $gettok($hget(rsd,err),1,9)

;;;;;; Monster Info Dialog

dialog rsd.Monsters {
  title "Monsters Info"
  size -1 -1 278 169
  option dbu
  icon 1, 120 0 155 100
  text "Name:", 2, 5 2 16 8
  text "", 3, 32 2 81 8
  text "Hitpoints:", 4, 4 12 24 9
  text "", 5, 33 12 15 9
  text "Max Hit:", 6, 4 24 23 8
  text "", 7, 33 24 23 8
  text "Race:", 8, 4 35 18 9
  text "", 9, 33 35 50 9
  text "Members?", 10, 4 48 27 9
  text "Quest?", 11, 4 60 20 9
  text "Nature:", 12, 4 73 21 8
  text "Attack Style:", 13, 4 86 31 8
  text "Examine Info:", 14, 4 104 35 8
  text "", 15, 45 103 230 9
  text "Top Drops:", 16, 4 118 30 9
  text "", 17, 45 116 231 19
  text "Location:", 18, 4 141 25 7
  text "", 19, 45 141 231 19
  text "", 20, 35 48 50 8
  text "", 21, 35 60 50 8
  text "", 22, 35 73 50 8
  text "", 23, 39 86 50 8
}
on *:dialog:rsd.monsters:close:*:if ($sock(rsd.minfo)) sockclose $v1

;;;;;; Item Info Dialog

dialog rsd.iinfo {
  title "Item Info"
  size -1 -1 297 168
  option dbu
  text "Name:", 1, 5 5 17 8
  text "Members?", 2, 5 15 25 8
  text "Quest?", 26, 5 25 25 8
  text "Tradeable?", 3, 5 35 27 8
  text "Stackable?", 4, 5 45 25 8
  text "Examine:", 5, 5 55 23 8
  text "Weight:", 6, 5 65 20 8
  text "Category:", 7, 5 75 25 8
  text "Sub-Category:", 8, 5 85 37 8
  text "High/Low Alchemy:", 9, 5 95 46 8
  text "Location:", 10, 5 105 23 8
  text "Uses:", 11, 5 126 15 8
  text "Notes:", 12, 5 146 18 8
  text "", 13, 35 5 75 8, nowrap
  text "", 14, 35 15 11 8
  text "", 27, 35 25 11 8
  text "", 15, 35 35 11 8
  text "", 16, 35 45 11 8
  edit "", 17, 35 55 75 10, read autohs
  text "", 18, 35 65 75 8
  text "", 19, 35 75 75 8
  text "", 20, 45 85 65 8
  text "", 21, 55 95 55 8
  edit "", 22, 35 105 260 20, read vsbar multi
  edit "", 23, 35 126 260 20, read vsbar multi
  edit "", 24, 35 147 260 20, read vsbar multi
  icon 25, 122 5 174 88
}

;;;;;; Comparison Dialog

dialog rsd.compare {
  title "Skill Comparison"
  size -1 -1 327 248
  option dbu
  list 1, 6 21 152 227, size
  list 2, 169 21 152 227, size
  edit "Player 1", 3, 40 7 81 10, center limit 0
  edit "Player 2", 4, 205 7 81 10, center limit 0
  icon 5, 159 33 10 10
  icon 6, 159 41 10 10
  icon 7, 159 50 10 10
  icon 8, 159 59 10 10
  icon 9, 159 68 10 10
  icon 10, 159 76 10 10
  icon 11, 159 84 10 10
  icon 12, 159 92 10 10
  icon 13, 159 101 10 10
  icon 14, 159 110 10 10
  icon 15, 159 118 10 10
  icon 16, 159 127 10 10
  icon 17, 159 136 10 10
  icon 18, 159 144 10 10
  icon 19, 159 152 10 10
  icon 20, 159 161 10 10
  icon 21, 159 170 10 10
  icon 22, 159 179 10 10
  icon 23, 159 187 10 10
  icon 24, 159 196 10 10
  icon 25, 159 204 10 10
  icon 26, 159 212 10 10
  icon 27, 159 221 10 10
  icon 28, 159 230 10 10
  icon 29, 159 239 10 10 
  button "Compare", 30, 144 6 36 11
}

on *:dialog:rsd.compare:*:*: {
  if ($devent == init) {
    hadd -m RSD Stats Overall.Attack.Defence.Strength.Hitpoints.Prayer.Ranged.Magic.Cooking.Woodcutting.Fletching.Fishing.Firemaking.Crafting.Mining.Smithing.Herblore.Agility.Thieving.Slayer.Farming.Runecrafting.Hunter.Construction.Summoning.Fist of Guthix.Bounty Hunter.Bounty Hunter Rogues.Mobilising Armies
    if ($did(rsd,11)) did -ra $dname 3 $v1
    if (!$rsd.mdxs) { 
      rsd.mdx SetMircVersion $version
      rsd.mdx MarkDialog $dname
    }
    rsd.mdx SetControlMDX $dname 1,2 ListView report showsel rowselect > $rsd.mdxf(views)
    did -i $dname 1,2 1 headerdims 100:1 60:2 70:3 70:4
    did -i $dname 1,2 1 headertext +c Skill $chr(9) $+ +c Level $chr(9) $+ +c XP $chr(9) $+ +c Rank
  }
  elseif ($devent == sclick) {
    if ($did == 30) {
      if ($did(3) && $did(4)) { rsd.sopen Compare hiscore.runescape.com $+($did(3),$chr(124),$did(4)) | did -r $dname 1,2 }
      else rsd.err You did not enter 2 Usernames to compare!
    }
  }      
}

;;;;;; Download Dialog

dialog rsd.download {
  title "Downloading Runescape Dialog"
  size -1 -1 159 34
  option dbu
  text "Some Files of this Script are being Downloaded, this may take a few moments", 1, 0 0 159 15, center
  text "0%", 2, 62 24 32 8, center
  text "Text", 3, 53 15 50 8, center
}
on *:dialog:rsd.download:init:*: {
  if (!$rsd.mdxs) { 
    rsd.mdx SetMircVersion $version
    rsd.mdx MarkDialog $dname
  }
  rsd.mdx SetControlMDX $dname 3 ProgressBar smooth > $rsd.mdxf(ctl_gen)
}

;;;;;; Clan Results Dialog

dialog rsd.clanres {
  title "Clan Search Results"
  size -1 -1 171 62
  option dbu
  text "Clans Found", 1, 58 0 50 7, center
  list 2, 0 15 173 48, size
  text "(Double Click on a clan to see info)", 3, 37 6 93 8, center
}

on *:dialog:rsd.clanres:*:*: {
  if ($devent == init) {
    if (!$rsd.mdxs) { 
      rsd.mdx SetMircVersion $version
      rsd.mdx MarkDialog $dname
    }
    rsd.mdx SetControlMDX $dname 2 ListView report showsel rowselect > $rsd.mdxf(views)
    did -i $dname 2 1 headerdims 200:1 120:2 0:3
    did -i $dname 2 1 headertext +c Clan Name $chr(9) $+ +c Clan Initials $chr(9) $+ +c
  }
  elseif ($devent == dclick) {
    if ($did == 2) {
      rsd.dopen rsd.ClanInfo
      rsd.sopen claninfo runehead.com $gettok($did(2).seltext,-1,61)
    }
  }
}

;;;;;; Clan Info Dialog

dialog rsd.claninfo {
  title "Clan Info Dialog"
  size -1 -1 238 122
  option dbu
  text "Clan Name", 1, 0 5 238 8, center
  text "Total Members:", 2, 15 25 39 8
  link "", 3, 70 113 115 8
  text "Average P2P Combat:", 4, 15 35 54 8
  text "Average F2P Combat:", 5, 15 45 54 8
  text "Average Hitpoints:", 6, 15 55 47 8
  text "Average Overall:", 7, 15 65 42 8
  text "Total Expirience:", 8, 15 75 41 8
  text "Category:", 9, 15 85 27 8
  text "Stats Last Updated:", 10, 60 100 50 8
  text "F2P or P2P?", 11, 130 84 31 8
  text "Cape Color:", 12, 130 25 29 8
  text "Clan Initials:", 13, 130 35 30 8
  text "Time Base:", 14, 130 45 28 8
  text "Home World:", 15, 130 55 32 8
  text "Clan Signiture:", 16, 130 65 37 8
  text "IRC Channel:", 17, 130 75 33 8
  text "", 18, 72 25 55 8
  text "", 19, 72 35 55 8
  text "", 20, 72 45 55 8
  text "", 21, 72 55 55 8
  text "", 22, 72 65 55 8
  text "", 23, 72 75 55 8
  text "", 24, 72 85 55 8
  text "", 25, 165 85 72 8
  text "", 26, 113 100 50 8
  text "", 27, 165 25 72 8
  text "", 28, 165 35 72 8
  text "", 29, 165 45 72 8
  text "", 30, 165 55 72 8
  edit "", 31, 165 64 72 10, read autohs
  link "", 32, 165 75 72 8
}
on *:dialog:rsd.claninfo:sclick:3,32:$iif($did = 3,url,join) $did($did)

;;;;;; Image Downloader

alias rsdidl {
  var %a = rsdidl. $+ $r(1,$ticks)
  if ($regex($1,/^-[mic]$)) {
    hadd -m %a rsd $right($1,1)
    if ($regex(idl,$2,/^((?:https?:\/\/)?((?:www.)?[^/]*)(.*/([^/]*\.(jpg|gif|bmp|png))))$/i)) {
      sockopen %a $regml(idl,2) 80
      sockmark %a start
      hadd %a Site $regml(idl,2)
      hadd %a path $regml(idl,3)
      hadd %a location $iif($hget(%a,rsd) == m,$monsters.dir($regml(idl,4)),$iif($hget(%a,rsd) == i,$items.dir($regml(idl,4)),$rsdir($regml(idl,4))))
      if ($isfile($hget(%a,location))) .remove $hget(%a,location)
    }
  }
}
on *:sockopen:rsdidl.*: {
  sockwrite -n $sockname GET $hget($sockname,path) HTTP/1.1
  sockwrite -n $sockname HOST: $hget($sockname,site)
  sockwrite -n $sockname $crlf
}
on *:sockread:rsdidl.*: {
  var %a
  if ($sock($sockname).mark = start) {
    while ($sock($sockname).rq) {
      sockread %a
      if (!%a) { sockmark $sockname read | break }
      elseif ($regex(%a,/Content-length: (\d*)/i)) hadd $sockname Size $regml(1)
    }
  }
  if ($hget($sockname,Size)) {
    var %a = $sockname
    while ($sock($sockname).rq) {
      sockread &idl
      bwrite $hget(%a,location) -1 -1 &idl
    }
    if ($file($hget(%a,location)).size == $hget(%a,Size)) {
      $rsd.flag($hget(%a,rsd)) $hget(%a,location)
      hfree %a
    }
  }
}
on *:sockclose:rsdidl.*:if ($hget($sockname)) { rsd.imgfail | .remove $hget($sockname,location) | hfree $sockname }

alias -l rsd.flag {
  var %a = $1
  if (%a == m) return rsd.img
  elseif (%a = i) return rsd.itemimg
  elseif (%a = c) return stat.imgs
}
alias -l rsd.imgfail rsd.err Error Downloading Image!
alias -l rsd.itemimg .signal rsd.itemimg $1-
alias -l rsd.img .signal rsd.images $1-
alias -l stat.imgs .signal RSD.cmbimgs IMGLOAD $1-
on $*:signal:/RSD\.(images|cmbimgs|itemimg)/i: {
  if ($regml(1) == images && $dialog(rsd.monsters)) { did -g rsd.monsters 1 $1- }
  elseif ($regml(1) == itemimg && $dialog(rsd.iinfo)) { did -g rsd.iinfo 25 $1- }
  elseif ($regml(1) == cmbimgs) {
    rsd.getstats
    if ($dialog(rsd.download)) {
      did -ra rsd.download 2 $calc($gettok($did(rsd.download,2),1,37) +9)  $+ %
      did -a rsd.download 3 $calc($gettok($did(rsd.download,3),1,32) +9)
      if ($did(rsd.download,2) == 100%) { did -ra rsd.download 1 Download Complete! | dialog -x rsd.download | rsd }
    }
    if (%gotimgs >= 12) { unset %gotimgs | halt }
  }
}

;;;;; Aliases

alias -l htmlfree { 
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;)
  return $replace(%x,&quot;,",&lt;,<,&gt;,>,$cr,. $+ $chr(32),$lf,. $+ $chr(32),&amp;,&)
}
alias rsd dialog $iif(!$dialog(rsd),$+(-m,$rsd.dtype(rsd)) rsd,-v) rsd
alias items.dir return $qt($rsdir(Items\ $+ $1-))
alias monsters.dir return $qt($rsdir(Monsters\ $+ $1-))
alias rsdir return $qt($mircdirRuneScapeDialog\ $+ $1-)
alias -l rsd.dtype if ($hget(RSD,dialog_type)) return $iif($v1 == 88,o,$iif($v1 == 89,na,$iif($v1 == 102,nd)))
alias -l remcom return $remove($1-,$chr(44))
alias -l iseven return $iif($regex($mid($1,-1,1),^d*[02468]),$true,$false)
alias -l rsd.stats return $iif($istok(Overall.Attack.Defence.Strength.Hitpoints.Prayer.Ranged.Magic.Cooking.Woodcutting.Fletching.Fishing.Firemaking.Crafting.Mining.Smithing.Herblore.Agility.Thieving.Slayer.Farming.Runecrafting.Hunter.Construction.Summoning.Fist of Guthix.Bounty Hunter.Bounty Hunter Rogues.Mobilising Armies,$1-,46),$true,$false)
alias rsd.rep {
  if ($chr(46) !isin $1-) return $bytes($replace($1-,b,000000000,k,000,m,000000,x,*,t,000000000000),db)
  else {
    var %a = $1-,%b = $left($gettok(%a,2,46),-1),%c = 1
    %a = $bytes($replace($gettok(%a,1,46) $+ $right(%a,1),b,000000000,k,000,m,000000,x,*,t,000000000000),db)
    while (%c <= $len(%a)) {
      if ($mid(%a,%c,1) == 0) { dec %c | break }
      else inc %c
    }
    %a = $mid(%a,1,%c) $+ %b $+ $mid(%a,%c,$calc($len(%a) - $len(%c))))
    return $rsd.rep($left($remove(%a,$chr(44)),-1))))
  }
}
alias -l rsd.save hsave RSD $rsdir(rsd.txt)
alias -l rsd.clear did -r rsd 47,22,4,11,5,12,44,6,13,45,19,21,46,32-40,95,43,55,56,61,67,70,73,78,75,104,107,110,113,116,119,121,130,131,133
alias -l rsd.refreshall {
  rsd.sopen getnews news.runescape.com $chr(9) 47
  rsd.sopen players geniebots.net $chr(9) 22
}
alias -l rsd.refresh {
  var %a = $prop
  if (%a = news) rsd.sopen getnews news.runescape.com $chr(9) 47
  elseif (%a = players) rsd.sopen players geniebots.net $chr(9) 22
  elseif (%a = clear) rsd.clear
  elseif (%a = refreshall) { rsd.clear | rsd.refreshall }
  else { rsd.err Error: Invalid Refresh ID | halt }
}
alias -l rsd.chkstart {
  if (!$isdir($monsters.dir)) mkdir $rsdir(Monsters)
  if (!$isdir($items.dir)) mkdir $rsdir(Items)
  if (!$hget(RSD,dialog_type)) hadd -m RSD Dialog_Type 102
  hadd -m RSD version 1.0
  hadd RSD Stats Overall.Attack.Defence.Strength.Hitpoints.Prayer.Ranged.Magic.Cooking.Woodcutting.Fletching.Fishing.Firemaking.Crafting.Mining.Smithing.Herblore.Agility.Thieving.Slayer.Farming.Runecrafting.Hunter.Construction.Summoning.Fist of Guthix.Bounty Hunter.Bounty Hunter Rogues.Mobilising Armies
  rsd.dopen rsd.download rsd.download
  did -ra rsd.download 2 1%
  did -a rsd.download 3 1 0 100
  rsdidl -c $+(http://www.runescape.com/img/main/layout/head_image_mob.jpg) $rsdir
  set %gotimgs 1
  rsd.getstats
}
alias -l rsd.mainpics {
  if (%gotimgs <= 12 && %gotimgs >= 8) {
    var %a = arrowequal.gif arrowup.gif arrowdown.gif head_image_mob.jpg 
    if ($gettok(%a,$calc(%gotimgs -8),32)) { 
      var %b = $v1
      if ($v1 != head_image_mob.jpg) rsdidl -c $+(http://www.runescape.com/img/hiscores/,%b)
      else rsdidl -c $+(http://www.runescape.com/img/main/layout/head_image_mob.jpg)
    }
  }
  else { hfree -w HTTP* | unset %gotimgs }
}
alias -l rsd.getdid {
  if ($1 == Attack) return 32
  elseif ($1 == Strength) return 33
  elseif ($1 == Defence) return 34
  elseif ($1 == Hitpoints) return 35
  elseif ($1 == Ranged) return 36
  elseif ($1 == Magic) return 37
  elseif ($1 == Prayer) return 38
  elseif ($1 == Summoning) return 39
}
alias -l rsd.loadicons {
  if ($dialog(RSD)) {
    var %a = 1,%b = Attack Strength Defence Hitpoints Ranged Magic Prayer Summoning
    if ($isfile($rsdir(head_image_mob.jpg))) did -g 16 RSD $rsdir(head_image_mob.jpg)
    elseif( inc %c
    while (%a <= $numtok(%b,32)) {
      if ($isfile($rsdir($+(skill_icon_,$gettok(%b,%a,32),1.gif)))) did -g RSD $calc(%a +23) $rsdir($+(skill_icon_,$gettok(%b,%a,32),1.gif))
      else inc %c
      inc %a
    }
    noop $iif(%c > 1,rsd.err Some Images Couldn't be located!)
  }
}
alias -l rsd.err {
  hadd -m RSD err $1-
  if ($gettok($1-,2,9)) sockclose $v1
  rsd.dopen rsd.err rsd.err
  beep 1
}
alias -l rsd.p2pc {
  var %a = $calc($did(rsd,34) *100) , %b = $calc($did(rsd,35) *100) , %c = $iif($iseven($did(rsd,38)),$calc($did(rsd,38) *50),$calc(( $did(rsd,38) -1) *50)) , %d = $iif($iseven($did(rsd,39)),$calc($did(rsd,39) *50),$calc(( $did(rsd,39) -1) *50)) , %e = $calc($did(rsd,32) *130) , %g = $calc($did(rsd,33) *130) , %h = $iif($iseven($did(rsd,36)),$calc($did(rsd,36) *195),$calc(( $did(rsd,36) *195) -65)) , %i = $iif($iseven($did(rsd,37)),$calc($did(rsd,37) *195),$calc( ($did(rsd,38) *195) -65))
  var %rsd.base = $calc(( %a + %b + %c + %d )/400) , %rsd.melee = $calc(( %e + %g) /400) , %rsd.mage = $calc(%h /400) , %rsd.ranged = $calc(%i /400) , %rsd.cmb = $calc(%rsd.base + $rsd.big(%rsd.melee,%rsd.ranged,%rsd.mage))
  did -ra $dname 40 %rsd.cmb
}
alias -l rsd.f2pc {
  var %a = $calc($did(rsd,34) *100),%b = $calc($did(rsd,35) *100),%c = $iif($iseven($did(rsd,38)),$calc($did(rsd,38) *50),$calc(( $did(rsd,38) -1) *50)),%e = $calc($did(rsd,32) *130),%g = $calc($did(rsd,33) *130),%h = $iif($iseven($did(rsd,36)),$calc($did(rsd,36) *195),$calc(( $did(rsd,36) *195) -65)),%i = $iif($iseven($did(rsd,37)),$calc($did(rsd,37) *195),$calc( ($did(rsd,38) *195) -65))
  var %rsd.base = $calc(( %a + %b + %c + %d )/400) , %rsd.melee = $calc(( %e + %g) /400) , %rsd.mage = $calc(%h /400) , %rsd.ranged = $calc(%i /400) , %rsd.cmb = $calc(%rsd.base + $rsd.big(%rsd.melee,%rsd.ranged,%rsd.mage))
  did -ra $dname 95 %rsd.cmb
}
alias -l rsd.sopen {
  if ($gettok($1-,2,9)) did -r RSD $v1
  var %sopen = $iif($right($3-,1) == $chr(32),$mid($3-,1,$calc($len($3-) -1)),$3-)
  sockopen $+(rsd.,$1) $gettok($1-,2,32) 80
  sockmark $+(rsd.,$1) $replace($gettok($iif(%sopen,$v1,$gettok($3-,1,9)),1,9),$chr(32),+)
}
alias -l rsd.dopen {
  var %a = $1
  if ($dialog(%a)) dialog -x $v1
  dialog $+(-,$iif(%a = rsd,$rsd.dtype,-mo)) %a %a
}
alias -l ipicdl rsdidl -i $+(http://www.tip.it/runescape/item2/,$rsd.lower($1-),.gif)
alias -l mpicdl rsdidl -m  $+(http://www.tip.it/runescape/mon2/,$1,.gif)
alias -l rsd.getstats {
  var %allpics = Attack Strength Defence Hitpoints Ranged Magic Prayer Summoning,%curpic = $gettok(%allpics,%gotimgs,32)
  if (!$isfile($rsdir($+(%curpic,.gif))) && %gotimgs <= 8) { rsdidl -c $+(http://www.runescape.com/img/hiscores/skill_icon_,%curpic,1.gif) $rsdir | inc %gotimgs }
  elseif (%gotimgs >= 8 && %gotimgs <= 12) { rsd.mainpics | inc %gotimgs }
  elseif (%gotimgs <= 8) { rsd.getstats | inc %gotimgs }
}
alias -l rsd.sm return $sock($1).mark
alias -l nochr return $remove($1,$chr($2))
alias -l rsd.lower {
  var %a 1
  while (%a <= $numtok($1-,32)) {
    var %b = $upper($mid($1,1,1)),%c = $+(%b,$lower($mid($1-,2,$calc($len($1-) -1))))
    inc %a
  }
  return $replace(%c,$chr(32),_)
}
alias -l rsd.cap {
  var %a 1
  while (%a <= $numtok($1-,32)) var %c = $gettok($1-,%a,32),%b = $addtok(%b,$+($upper($mid(%c,1,1)),$mid(%c,2,$calc($len(%c) -1))),32),%a = $calc(%a +1)
  return %b
}
alias -l rsd.big {
  var %a = $round($1,2) ,%b = $round($2,2) ,%c = $round($3,2)
  return $iif(%a > %b && %a > %c,%a,$iif(%b > %c && %c < %a,%c,%b))
}
alias -l rsd.re {
  var %a = $1,%b = $left($gettok(%a,2,46),-1),%c = 1
  %a = $bytes($replace($gettok(%a,1,46) $+ $right(%a,1),b,000000000,k,000,m,000000,x,*,t,000000000000),db)
  while (%c <= $len(%a)) {
    if ($mid(%a,%c,1) == 0) { dec %c | break }
    else inc %c
  }
  %a = $mid(%a,1,%c) $+ %b $+ $mid(%a,%c,$calc($len(%a) - $len(%c))))
  return $rsd.rep($left($remove(%a,$chr(44)),-1))))
}
alias -l rsd.mdxc return $iif($findfile($mircdir,mdx.dll,0),$true,$false)
alias -l rsd.mdx $iif($rsd.mdxc,noop,halt) $dll($rsd.mdxl,$1,$2-)
alias -l rsd.mdxf return $+($nofile($rsd.mdxl),$1,.mdx)
alias -l rsd.mdxl return $findfile($mircdir,mdx.dll,1)
alias -l rsd.mdxs return $iif($isalias(jnnch),$true,$false)

on *:load: {
  if (!$isdir($items.dir)) mkdir $items.dir
  if (!$isdir($monsters.dir)) mkdir $monsters.dir
  if (!$rsd.mdxc) { rsd.err Warning! MDX could not be found | halt }
}
on *:start: {
  if ($rsd.mdxc) {
    if (!$hget(RSD)) hmake RSD 10
    if ($isfile($rsdir(RSD.txt))) { hload RSD $rsdir(RSD.txt) | .timerrsdsave 0 300 hsave RSD $rsdir(RSD.txt) }
    elseif ($hget(RSD,Version) != 1.0) { rsd.chkstart }
  }
}
on *:unload: {
  rsd.save
  .timerrsdsave off
}

menu channel {
  RuneScape Dialog:rsd
}

Comments

Sign in to comment.
sunslayer   -  May 15, 2010

@bertjuh1 this snippet is so old most of the images this retrieves don't even exist anymore, not including all the sites this uses that probably have all changed by now. if i get some time i might completely redo this and release it as a script instead

 Respond  
bertjuh1   -  May 15, 2010
  • /dialog: 'rsd' error loading icon '"C:\Users\Baldgod\AppData\Roaming\NoNameScript\RuneScapeDialog\head_image_mob.jpg"' (line 981, script1.mrc)
  • /dialog: 'rsd' error loading icon '"C:\Users\Baldgod\AppData\Roaming\NoNameScript\RuneScapeDialog\head_image_mob.jpg"' (line 981, script1.mrc)
 Respond  
Testor   -  Sep 26, 2009

Yeah it looks a bit weird all right.
I dunno what else you could put there, Could just get some ideas from some RuneScape bot's command list and write up a similar one of those.

Maybe a choice to set some Defaults, EG your RSN and stuff.
Name availability checker? :p

 Respond  
sunslayer   -  Sep 26, 2009

updated alot of the code and replaced TheImrac's Image downloader with mine and added a ge update checker, although i had to add another tab with only that in it which makes it look kind of ugly so any ideas of what else to put there?

i also added a checker for MDX so if you dont have mdx you will get a error dialog when you try to load it.

 Respond  
Testor   -  Sep 26, 2009

Oh, didn't notice that :p.

 Respond  
sunslayer   -  Sep 26, 2009

im working on an update of the code and ill try to squeeze that somewhere in the dialog but in the spot you got it at now it covers up the number of results found

 Respond  
Testor   -  Sep 26, 2009

You should include a GEUpdate checker, like this in it (i just changed some stuff around from an on text one: http://pastebin.com/d186161b0 To make it even hawter.

 Respond  
sunslayer   -  Sep 24, 2009

thanks :p

 Respond  
Testor   -  Sep 24, 2009

BTW Giving 10/10 (Deserved since you've helped us all that have needed it) and a like :)

 Respond  
sunslayer   -  Sep 23, 2009

about the hiscores tho RuneScape is having some problems with their hiscores databases atm tho im not sure why but its causing some ppl not to be on the highscores unless they log in and then out making it update. id assume it has something to do with the isp change that's going on tho
it should be fixed when they finish their isp switch

 Respond  
Testor   -  Sep 23, 2009

yeah something wrong with highscores. I was off it too, but (of course..) zezima will show.

 Respond  
iAndrew   -  Sep 23, 2009

Thanks for sending me the file. I can get the window open but like Testor, things like 'Stats' don't work. 'my rsn 4 was not found in the Runescape Highscores Database! rsd.stats' The only thing that seems to work is the news section and the calcs.

 Respond  
sunslayer   -  Sep 23, 2009

@iandrew i sent you the file

@testor thnx fixed

 Respond  
Testor   -  Sep 23, 2009

Thanks!
And something you should know:
Line 140:

     elseif ($did == 42) { did -ra $dname 32-34,36-39 1 | did ra $dname 35 10 | rsd.sopen cmbstats rscript.org $did(43) }

Change to..

     elseif ($did == 42) { did -ra $dname 32-34,36-39 1 | did -ra $dname 35 10 | rsd.sopen cmbstats rscript.org $did(43) }

Forgot the - of -ra

 Respond  
iAndrew   -  Sep 23, 2009

I've sent you my e-mail

 Respond  
sunslayer   -  Sep 23, 2009

try removing the hsh table and file then redownload it if that doesnt work just give me your email address and ill email you the .zip file
i also updated the pic of the dialog:
http://img3.imageshack.us/img3/6153/rsddx.jpg

 Respond  
iAndrew   -  Sep 23, 2009

When I try to run the script, I get this.

  • /dialog: 'rsd' error loading icon '"C:\Users\Andrew\AppData\Roaming\mIRC\RuneScapeDialog\head_image_mob.jpg"' (line 926, script62.ini)

I'm prety sure I've done MDX right and I've got the image downloader script but nothing happens. Any ideas?

 Respond  
sunslayer   -  Sep 23, 2009

@testor ye sorry missed two tab's should work now

@asakura its a really small download, not including the actual code its probably only like 100kb at most i would think

 Respond  
asakura   -  Sep 23, 2009

i cant get it to work but from the images it looks amazing :o everyones done runescape scripts but this is great. and i havent got it to work because i cba to download stuff (:

 Respond  
Testor   -  Sep 23, 2009

This script is hawt :o.
Thanks for fixing that bug or whatever it was.
3 Problems: i don't think it auto-makes the /Items/ directory, and has to be added manually.
Socket rsd.minfo doesent auto-close when the sub-menu (for further monster info) is shut.
Monsters doesent display Race/Members Only? or Quest?

 Respond  
Testor   -  Sep 23, 2009

i think the source may have been updated, as the irc ge bot broke for me at one point and gave a really weird result :p. Could also, like you said, be an isp change as well as the moving of servers.

 Respond  
sunslayer   -  Sep 23, 2009

hmm i think the reason why its working is because the "grab the code" thing doesnt support the tab character should work once i update it in a sec

about the hiscores tho RuneScape is having some problems with their hiscores databases atm tho im not sure why but its causing some ppl not to be on the highscores unless they log in and then out making it update. id assume it has something to do with the isp change that's going on tho

 Respond  
Testor   -  Sep 23, 2009

I don't get how this doesent work for me >.< or just doesent like me.
I followed the steps above. i removed the mdx aliases from NNS in favour of those you have, and it won't work for me :(.
mIRC v6.35

Screens:
http://img294.imageshack.us/img294/632/screenshot025.png
http://img294.imageshack.us/img294/8623/screenshot026.png
http://img294.imageshack.us/img294/7405/screenshot028.png
http://img294.imageshack.us/img294/3280/screenshot029p.png

 Respond  
sunslayer   -  Sep 22, 2009

you can get MDX here

1) once you download it(preferably into your $mircdir) extract the .zip file into a sub directory using a program like winrar and [size=16]REMEMBER THE FILE PATH![/size]

2) if you load it, the MDX.mrc file has several aliases but only two that you need for this script so its best not to even load the file as this just complicates matters

3) once you've extracted the .zip file open your remotes and go to the and click on the alias's tab and add two aliases(without using the alias prefix) an ex could be:

mdxfile { return $+($mircdir,mdx\,$1,.mdx) }
mdx { var %dll = $mircdirMDX\mdx.dll | return $dll(%dll,$1,$2-) }

change the file path to the one that you saved MDX.dll into(the one from step 1)

 Respond  
iAndrew   -  Sep 22, 2009

I don't understand MDX. What do I do with the files? Were do I put them? How do I get it to work? I really don't get it >.<

 Respond  
sunslayer   -  Sep 16, 2009

np ;p

if the downloader doesnt work for any1 else pm me your email address and ill email you the full script

 Respond  
lone0001   -  Sep 16, 2009

It's downloading them now but then just stops and doesn't get them all, I get this

  • /did: invalid parameters (line 851, rsdialog.mrc)

the download stops and then I get this when I try to run it:

  • /dialog: 'rsd' error loading icon '"C:\Users\Lone\Documents\mIRC\Scripts\RuneScapeDialog\skill_icon_hitpoints1.gif"' (line 869, rsdialog.mrc)

EDIT: Email received, it works, thanks. :)

 Respond  
sunslayer   -  Sep 16, 2009

hmm worked for me several times for me dont think anyone else had a prob with it either, if it freezes type this:

//remove $rsdir(RSD.txt) | hfree RSD

then reload the script

if that fails i can email you the full script

edit: i updated the img downloader a little and should download the pictures a lil bit faster and tried it about 5 seperate times and it all seemed to download fine on my end

 Respond  
lone0001   -  Sep 16, 2009
  • /dialog: 'rsd' error loading icon '"C:\Users\Lone\Documents\mIRC\Scripts\RuneScapeDialog\head_image_mob.jpg"' (line 877, RSDialog.mrc)

img downloader doesn't seem to be working(seems like it) :/

 Respond  
Testor   -  Sep 15, 2009

thanx :D

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.