rendered paste bodymenu * {
Runescape dialog tool:/runescapedialogstart
}
alias runescapedialogstart {
if (!$isfile(goedha0.png)) {
echo -ta Please wait, the dialog will open soon
downl http://img518.imageshack.us/img518/1763/goedha0.png
}
else { $iif($dialog(Runescape),echo -ta The dialog is already open,/dialog -mdro Runescape Runescape)
if ($hget(dialog, pic)) && ($hget(dialog, pic) != goedha0.png) { .remove $hget(dialog, pic) | .hfree dialog }
}
}
dialog Runescape {
title "Runescape tool dialog - By [-Srankie-]"
size -1 -1 270 209
option dbu
tab "Combat", 1, -1 -3 271 260
text "Hit points", 2, 4 47 25 8, tab 1
text "Strenght", 3, 4 30 21 8, tab 1
text "Attack", 4, 4 21 25 8, tab 1
text "Defence", 5, 4 39 25 8, tab 1
text "Prayer", 6, 53 39 25 8, tab 1
text "Ranged", 7, 53 21 25 8, tab 1
text "Magic", 8, 53 30 25 8, tab 1
text "Summoning", 9, 53 48 27 8, tab 1
edit "", 10, 30 20 17 10, tab 1 limit 2
edit "", 11, 30 29 17 10, tab 1 limit 2
edit "", 12, 30 38 17 10, tab 1 limit 2
edit "", 13, 30 47 17 10, tab 1 limit 2
edit "", 14, 80 20 17 10, tab 1 limit 2
edit "", 15, 80 29 17 10, tab 1 limit 2
edit "", 16, 80 38 17 10, tab 1 limit 2
edit "", 17, 80 47 17 10, tab 1 limit 2
button "Calculate the combat level", 18, 4 58 75 12, tab 1
box "F2P Combat", 19, 133 13 128 174, tab 1
text "Runescape name", 20, 5 155 41 8, tab 1
edit "", 21, 49 154 70 10, tab 1 limit 13
text "Combat level:", 22, 4 74 40 8, tab 1
edit "", 23, 46 73 22 10, tab 1 read
box "P2P Combat", 24, 2 13 128 174, tab 1
text "Prayer", 25, 186 39 25 8, tab 1
button "Calculate the combat level", 26, 135 58 75 12, tab 1
text "Combat level:", 27, 136 74 40 8, tab 1
button "Retrieve runescape combat stats", 28, 7 171 115 12, tab 1
button "Retrieve runescape combat stats", 29, 135 171 115 12, tab 1
text "Attack", 30, 137 21 25 8, tab 1
text "Strenght", 31, 137 30 21 8, tab 1
text "Defence", 32, 137 39 25 8, tab 1
text "Hit points", 33, 137 48 25 8, tab 1
text "Ranged", 34, 186 21 25 8, tab 1
text "Magic", 35, 376 32 25 8, tab 1
text "Magic", 36, 186 30 25 8, tab 1
edit "", 37, 177 73 22 10, tab 1 read
text "Runescape name", 38, 135 154 41 8, tab 1
edit "", 39, 179 154 70 10, tab 1 limit 13
edit "", 40, 163 20 17 10, tab 1 limit 2
edit "", 41, 163 29 17 10, tab 1 limit 2
edit "", 42, 163 38 17 10, tab 1 limit 2
edit "", 43, 163 47 17 10, tab 1 limit 2
edit "", 44, 213 20 17 10, tab 1 limit 2
edit "", 45, 213 29 17 10, tab 1 limit 2
edit "", 46, 213 38 17 10, tab 1 limit 2
box "Next level in", 243, 6 85 119 52, tab 1
text "Attack", 244, 9 93 25 8, tab 1
edit "", 245, 35 92 17 10, tab 1 read
text "Strenght", 246, 9 103 25 8, tab 1
edit "", 247, 35 102 17 10, tab 1 read
text "Defence", 248, 9 112 20 8, tab 1
edit "", 249, 35 112 17 10, tab 1 read
text "Hit points", 250, 9 122 23 8, tab 1
text "Prayer", 256, 57 93 25 8, tab 1
edit "", 257, 85 93 17 10, tab 1 read
text "Summoning", 258, 57 103 27 8, tab 1
edit "", 259, 85 103 17 10, tab 1 read
box "Next level in", 260, 136 85 119 53, tab 1
text "Attack", 261, 140 95 25 8, tab 1
text "Strenght", 262, 140 104 25 8, tab 1
text "Defence", 263, 140 114 20 8, tab 1
text "Hit points", 264, 140 124 23 8, tab 1
edit "", 279, 166 93 17 10, tab 1 read
edit "", 278, 166 103 17 10, tab 1 read
edit "", 277, 166 113 17 10, tab 1 read
edit "", 276, 166 123 17 10, tab 1 read
edit "", 270, 223 92 17 10, tab 1 read
text "Prayer", 268, 193 93 25 8, tab 1
edit "", 251, 35 122 17 10, tab 1 read
tab "Stats", 47
text "Attack", 48, 9 22 16 8, tab 47
box "P2P Skills", 49, 136 14 124 117, tab 47
box "F2P Skills", 50, 6 14 124 117, tab 47
text "Defence", 51, 9 32 25 8, tab 47
edit "", 52, 42 21 15 10, tab 47 read
edit "", 53, 42 31 15 10, tab 47 read
text "Strength", 54, 9 42 25 8, tab 47
edit "", 55, 42 41 15 10, tab 47 read
text "Hitpoints", 56, 9 52 25 8, tab 47
edit "", 57, 42 51 15 10, tab 47 read
text "Ranged", 58, 9 61 25 8, tab 47
edit "", 59, 42 61 15 10, tab 47 read
text "Prayer", 60, 9 71 25 8, tab 47
edit "", 61, 42 71 15 10, tab 47 read
text "Magic ", 62, 9 81 15 8, tab 47
edit "", 63, 42 81 15 10, tab 47 read
text "Cooking", 64, 9 92 25 8, tab 47
edit "", 65, 42 90 15 10, tab 47 read
text "Woodcutting", 66, 9 101 31 8, tab 47
edit "", 67, 42 100 15 10, tab 47 read
text "Fishing", 68, 9 110 17 8, tab 47
edit "", 69, 42 110 15 10, tab 47 read
text "Fletching", 70, 140 22 22 8, tab 47
edit "", 71, 172 21 15 10, tab 47 read
text "Firemaking", 72, 9 120 26 8, tab 47
edit "", 73, 42 120 15 10, tab 47 read
text "Crafting", 74, 62 22 20 8, tab 47
edit "", 75, 92 21 15 10, tab 47 read
text "Smithing ", 76, 62 32 22 8, tab 47
edit "", 77, 92 31 15 10, tab 47 read
text "Mining", 78, 62 42 15 8, tab 47
edit "", 79, 92 41 15 10, tab 47 read
text "Herblore ", 80, 140 32 22 8, tab 47
edit "", 81, 172 31 15 10, tab 47 read
text "Agility ", 82, 140 42 16 8, tab 47
edit "", 83, 172 41 15 10, tab 47 read
text "Thieving", 84, 140 52 20 8, tab 47
edit "", 85, 172 51 15 10, tab 47 read
text "Slayer ", 86, 140 61 25 8, tab 47
edit "", 87, 172 61 15 10, tab 47 read
text "Farming ", 88, 140 71 21 8, tab 47
edit "", 89, 172 71 15 10, tab 47 read
text "Runecraft", 90, 62 52 24 8, tab 47
edit "", 91, 92 51 15 10, tab 47 read
text "Hunter ", 92, 140 81 18 8, tab 47
edit "", 93, 172 81 15 10, tab 47 read
text "Construction", 94, 140 92 31 8, tab 47
edit "", 95, 172 90 15 10, tab 47 read
text "Summoning", 96, 140 101 27 8, tab 47
edit "", 97, 172 100 15 10, tab 47 read
text "Overall", 98, 210 133 25 8, tab 47
edit "", 99, 235 132 25 10, tab 47 read
text "Runescape name:", 100, 6 137 43 8, tab 47
edit "", 101, 55 136 70 10, tab 47 limit 13
button "Retrieve runescape stats", 102, 6 148 119 12, tab 47
tab "Price", 103
text "Item:", 104, 6 22 13 8, tab 103
edit "", 105, 25 14 126 25, tab 103 multi return autohs hsbar
text "Results", 106, 3 63 25 8, tab 103
text "--------------------------------------------------------------------------------------------------------------------------------------------------", 108, -9 44 292 8, tab 103
button "Search", 109, 176 18 37 12, tab 103
edit "", 107, 30 54 227 90, tab 103 read multi return autohs autovs hsbar vsbar
text "All these information about prices and item names are from Zybez.net", 241, 57 171 167 8, tab 103
box "", 242, 32 152 210 44, tab 103
tab "Clan info", 110
box "Clan information", 111, 6 13 119 148, tab 110
text "Clan name/Initials", 113, 9 20 43 8, tab 110
edit "", 114, 54 19 67 10, tab 110 return autovs
text "--------------------------------------------------------", 115, 9 29 112 8, tab 110
text "Name:", 116, 9 39 25 8, tab 110
edit "", 117, 37 38 84 10, tab 110 read multi return autovs
text "Initials:", 118, 9 48 25 8, tab 110
edit "", 119, 37 47 25 10, tab 110 read multi return autovs
text "Members", 120, 63 48 22 8, tab 110
edit "", 121, 87 47 34 10, tab 110 read multi return autovs
box "Average stats", 123, 9 67 112 38, tab 110
text "Combat", 124, 11 75 25 8, tab 110
edit "", 125, 35 74 23 10, tab 110 read multi return autovs
text "Hitpoints", 126, 11 85 21 8, tab 110
text "Magic", 128, 11 94 25 8, tab 110
text "Ranged", 130, 66 74 19 8, tab 110
text "Overall", 132, 66 85 17 8, tab 110
text "Forum link", 134, 10 105 24 8, tab 110
edit "", 135, 9 113 112 19, tab 110 read multi return autovs hsbar
button "Search for claninfo", 112, 135 14 119 148, tab 110
text "--------------------------------------------------------", 122, 9 57 112 8, tab 110
text "Member list link", 137, 10 132 36 8, tab 110
edit "", 138, 8 140 112 19, tab 110 read multi return autovs hsbar
edit "", 127, 35 84 23 10, tab 110 read multi return autovs
edit "", 129, 35 93 23 10, tab 110 read multi return autovs
edit "", 131, 89 73 23 10, tab 110 read multi return autovs
edit "", 133, 89 84 23 10, tab 110 read multi return autovs
tab "Calc", 136
text "Equation", 139, 5 14 21 8, tab 136
edit "", 140, 28 13 228 10, tab 136
button "Calc", 141, 19 25 37 12, tab 136
edit "", 142, 19 43 76 10, tab 136 read multi return autohs autovs
text "=", 143, 99 43 25 8, tab 136
edit "", 144, 105 42 150 10, tab 136 read multi return autohs autovs
edit "", 145, 5 73 252 88, tab 136 read multi return autohs autovs hsbar vsbar
tab "Item lookup", 146
edit "", 148, 30 19 73 10, tab 146 multi return autovs
text "Item:", 147, 5 20 25 8, tab 146
box "Item information", 149, 3 12 262 195, tab 146
text "---------------------------------------------------------------------------------------------------------------------------------", 150, 3 34 258 8, tab 146
button "Search", 151, 107 17 150 12, tab 146
text "Members", 152, 52 55 25 8, tab 146
edit "", 153, 79 55 22 10, tab 146 read
edit "", 154, 29 55 22 10, tab 146 read
text "Quest", 155, 4 56 25 8, tab 146
text "Tradeable", 156, 4 66 25 8, tab 146
edit "", 157, 29 65 22 10, tab 146 read
text "Stackable", 158, 4 76 25 8, tab 146
edit "", 159, 29 75 22 10, tab 146 read
text "Notes --------------->", 160, 52 67 50 8, tab 146
edit "", 161, 103 43 158 49, tab 146 read multi return hsbar vsbar
text "Location", 162, 4 95 25 8, tab 146
edit "", 163, 29 93 230 20, tab 146 read multi return autohs hsbar
text "Weight", 164, 4 85 25 8, tab 146
edit "", 165, 29 84 72 10, tab 146 read
box "Info", 166, 4 116 94 47, tab 146
text "Category", 167, 6 123 23 8, tab 146
edit "", 168, 40 121 55 10, tab 146 read multi return autohs autovs
text "Sub-category", 169, 6 133 33 8, tab 146
edit "", 170, 40 131 55 10, tab 146 read multi return autohs autovs
text "High Alchemy", 171, 6 143 32 8, tab 146
edit "", 172, 40 141 55 10, tab 146 read multi return autohs autovs
text "Low Alchemy", 173, 6 153 31 8, tab 146
edit "", 174, 40 151 55 10, tab 146 read multi return autohs autovs
edit "", 175, 127 113 133 10, tab 146 read multi return autohs autovs
text "Examine", 176, 101 115 20 8, tab 146
text "Uses", 177, 103 130 12 8, tab 146
edit "", 178, 127 123 132 41, tab 146 read multi return hsbar vsbar
text "Name", 179, 4 46 25 8, tab 146
edit "", 180, 29 44 72 10, tab 146 read multi return autohs autovs
icon 183, 6 165 78 37, $mircdirgoedha0.png, 0, tab 146 noborder
edit "", 182, 89 179 171 12, tab 146 read
tab "Monster lookup", 184
box "Monster information", 185, 3 11 265 198, tab 184
text "Name", 186, 8 22 25 21, tab 184
text "Race", 187, 8 33 25 8, tab 184
text "Level", 188, 8 44 25 8, tab 184
text "Hits", 189, 8 55 25 8, tab 184
text "Aggressive", 191, 8 65 27 8, tab 184
text "Retreats", 192, 8 76 25 8, tab 184
text "Quest", 193, 8 87 25 8, tab 184
text "Members", 194, 8 98 25 8, tab 184
text "Poisonous", 195, 8 109 24 9, tab 184
edit "", 196, 36 21 50 10, tab 184 read
edit "", 197, 36 32 50 10, tab 184 read
edit "", 198, 36 43 50 10, tab 184 read
edit "", 199, 36 54 50 10, tab 184 read
edit "", 201, 36 64 50 10, tab 184 read
edit "", 202, 36 75 50 10, tab 184 read
edit "", 203, 36 86 50 10, tab 184 read
edit "", 204, 36 97 50 10, tab 184 read
edit "", 205, 36 109 50 10, tab 184 read
icon 209, 94 30 169 159, $mircdirgoedha0.png, 0, tab 184 noborder
edit "", 210, 6 128 82 76, tab 184 read multi return autohs autovs hsbar vsbar
box "Drops", 211, 4 122 87 85, tab 184
text "Name", 213, 90 18 25 8, tab 184
edit "", 214, 116 17 106 10, tab 184
button "Search", 215, 226 16 37 12, tab 184
edit "", 190, 94 193 170 10, tab 184 read
tab "Tracker", 200
box "Ending information", 206, 3 108 264 97, tab 200
box "Beginning information", 207, 3 16 264 92, tab 200
text "Runescape name", 208, 8 24 41 8, tab 200
edit "", 212, 52 23 58 10, tab 200 limit 13
text "Skill", 216, 8 34 25 8, tab 200
edit "", 217, 52 34 58 10, tab 200
button "Start", 218, 119 26 37 12, tab 200
text "Starting exp", 220, 6 58 30 8, tab 200
text "Starting level", 221, 6 71 32 8, tab 200
text "Starting rank", 222, 6 84 31 8, tab 200
edit "", 223, 39 57 55 10, tab 200 read
edit "", 224, 39 70 55 10, tab 200 read
edit "", 225, 39 82 55 10, tab 200 read
text "Ending exp", 226, 114 159 27 8, tab 200
text "Ending level", 227, 114 173 29 8, tab 200
text "Ending rank", 228, 114 186 28 8, tab 200
edit "", 229, 145 158 55 10, tab 200 read
edit "", 230, 145 171 55 10, tab 200 read
edit "", 231, 145 184 55 10, tab 200 read
text "Gained exp", 232, 7 159 27 8, tab 200
text "Gained level(s)", 233, 7 173 36 8, tab 200
text "Gained rank(s)", 234, 7 186 35 8, tab 200
edit "", 235, 46 158 55 10, tab 200 read
edit "", 236, 46 171 55 10, tab 200 read
edit "", 237, 46 184 55 10, tab 200 read
box "Exp per hour", 238, 57 112 82 31, tab 200
edit "", 239, 62 123 70 10, tab 200 read
button "Stop", 219, 8 122 37 12, tab 200
box "Amount of time", 181, 159 112 82 31, tab 200
edit "", 240, 165 123 70 10, tab 200 read
}
on *:dialog:Runescape:sclick:18:{
var %1 = $iif($did(10),$v1,1)
var %2 = $iif($did(11),$v1,1)
var %3 = $iif($did(12),$v1,1)
var %4 = $iif($did(13),$v1,1)
var %5 = $iif($did(14),$v1,1)
var %6 = $iif($did(15),$v1,1)
var %7 = $iif($did(16),$v1,1)
var %8 = $iif($did(17),$v1,1)
var %total = $+(%1,%2,%3,%4,%5,%6,%7,%8)
if (%total !isnum) { /dialog -mdro Combaterror Combaterror | halt }
did -ra Runescape 23 $cmblvl(%1,%2,%3,%4,%5,%7,%6,%8)
var %info2 $nextcmblvl(,%1,%2,%3,%4,%5,%7,%6)
var %1 = $gettok(%info2,1,32)
var %2 = $gettok(%info2,2,32)
var %3 = $gettok(%info2,3,32)
var %4 = $gettok(%info2,4,32)
did -ra Runescape 245 %1
did -ra Runescape 247 %1
did -ra Runescape 249 %2
did -ra Runescape 251 %2
did -ra Runescape 257 %3
did -ra Runescape 259 %4
}
on *:dialog:Runescape:sclick:26:{
var %1 = $iif($did(40),$v1,1)
var %2 = $iif($did(41),$v1,1)
var %3 = $iif($did(42),$v1,1)
var %4 = $iif($did(43),$v1,1)
var %5 = $iif($did(44),$v1,1)
var %6 = $iif($did(45),$v1,1)
var %7 = $iif($did(46),$v1,1)
var %total = $+(%1,%2,%3,%4,%5,%6,%7)
if (%total !isnum) { /dialog -mdro Combaterror Combaterror | halt }
did -ra Runescape 37 $f2pcmblvl(%1,%2,%3,%4,%5,%7,%6,%8)
var %info2 $nextcmblvl(,%1,%2,%3,%4,%5,%7,%6)
var %1 = $gettok(%info2,1,32)
var %2 = $gettok(%info2,2,32)
var %3 = $gettok(%info2,3,32)
did -ra Runescape 279 %1
did -ra Runescape 278 %1
did -ra Runescape 277 %2
did -ra Runescape 276 %2
did -ra Runescape 270 %3
}
on *:dialog:Runescape:sclick:28:{
if (!$did(21)) { /dialog -mdro Namerr Namerr | halt }
var %q = 1
while ($sock(Dialogcmb. $+ %q)) { inc %q }
sockopen $+(Dialogcmb.,%q) hiscore.runescape.com 80
sockmark $+(Dialogcmb.,%q) $+($replace($did(21),$chr(32),_),~,1)
}
on *:dialog:Runescape:sclick:29:{
if (!$did(39)) { /dialog -mdro Namerr Namerr | halt }
var %q = 1
while ($sock(Dialogcmb. $+ %q)) { inc %q }
sockopen $+(Dialogcmb.,%q) hiscore.runescape.com 80
sockmark $+(Dialogcmb.,%q) $+($replace($did(39),$chr(32),_),~,2)
}
on *:SOCKOPEN:Dialogcmb.*:{
sockwrite -n $sockname GET $+(/index_lite.ws?player=,$gettok($sock($sockname).mark,1,126)) HTTP/1.1
sockwrite -n $sockname Host: hiscore.runescape.com
sockwrite -n $sockname $crlf
}
on *:SOCKREAD:Dialogcmb.*:{
if ($sockerr) { /dialog -mdro sockerr sockerr | sockclose $sockname | halt }
var %read
var %att
var %str
var %def
var %hp
var %range
var %prayer
var %magic
var %summon
sockread %read
if (*404 - page not* iswm %read) {
/dialog -mdro Notfound Notfound | sockclose $sockname | halt }
if (*,*,* iswm %read) {
sockread %att
sockread %def
sockread %str
sockread %hp
sockread %range
sockread %prayer
sockread %magic
var %1 1
while (%1 <= 17) {
sockread %summon
inc %1
}
var %att $iif($gettok(%att,2,44) == -1,1,$v1)
var %def $iif($gettok(%def,2,44) == -1,1,$v1)
var %str $iif($gettok(%str,2,44) == -1,1,$v1)
var %hp $iif($gettok(%hp,2,44) == -1,10,$v1)
var %range $iif($gettok(%range,2,44) == -1,1,$v1)
var %prayer $iif($gettok(%prayer,2,44) == -1,1,$v1)
var %magic $iif($gettok(%magic,2,44) == -1,1,$v1)
var %summon $iif($gettok(%summon,2,44) == -1,1,$v1)
var %info $cmblvl(%att,%str,%def,%hp,%range,%prayer,%magic,%summon)
var %f2pcmb $f2pcmblvl(%att,%str,%def,%hp,%range,%prayer,%magic)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 10 %att,did -ra Runescape 40 %att)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 11 %str,did -ra Runescape 41 %str)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 12 %def,did -ra Runescape 42 %def)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 13 %hp,did -ra Runescape 43 %hp)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 14 %range,did -ra Runescape 44 %range)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 15 %magic,did -ra Runescape 45 %magic)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 16 %prayer,did -ra Runescape 46 %prayer)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 17 %summon)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 23 %info,did -ra Runescape 37 %f2pcmb)
var %info2 $nextcmblvl(,%att,%str,%def,%hp,%range,%prayer,%magic)
var %1 = $gettok(%info2,1,32)
var %2 = $gettok(%info2,2,32)
var %3 = $gettok(%info2,3,32)
var %4 = $gettok(%info2,4,32)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 245 %1,did -ra Runescape 279 %1)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 247 %1,did -ra Runescape 278 %1)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 249 %2,did -ra Runescape 277 %2)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 251 %2,did -ra Runescape 276 %2)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 257 %3,did -ra Runescape 270 %3)
$iif($gettok($sock($sockname).mark,2,126) == 1,did -ra Runescape 259 %4)
sockclose $sockname
halt
}
}
alias nextcmblvl {
var %attstr 1
while ($floor($gettok($cmblvl($calc($2 + %attstr),$3,$4,$5,$6,$7,$8,$9),1,32)) < $calc($floor($gettok($cmblvl($2,$3,$4,$5,$6,$7,$8,$9),1,32)) + 1)) {
inc %attstr
}
var %defhit 1
while ($floor($gettok($cmblvl($2,$3,$calc($4 + %defhit),$5,$6,$7,$8,$9),1,32)) < $calc($floor($gettok($cmblvl($2,$3,$4,$5,$6,$7,$8,$9),1,32)) + 1)) {
inc %defhit
}
var %pray 1
while ($floor($gettok($cmblvl($2,$3,$4,$5,$6,$calc($7 + %pray),$8,$9),1,32)) < $calc($floor($gettok($cmblvl($2,$3,$4,$5,$6,$7,$8,$9),1,32)) + 1)) {
inc %pray
}
var %summon 1
while ($floor($gettok($cmblvl($2,$3,$4,$5,$6,$7,$8,$calc($9 + %summon)),1,32)) < $calc($floor($gettok($cmblvl($2,$3,$4,$5,$6,$7,$8,$9),1,32)) + 1)) {
inc %summon
}
return $iif($calc(198 - $calc($2 + $3)) >= %attstr,$v2,N/A) $iif($calc(198 - $calc($4 + $5)) >= %defhit,$v2,N/A) $iif($calc(99 - $7) >= %pray,$v2,N/A) $iif($calc(99 - $9) >= %summon,$v2,N/A)
}
dialog Sockerr {
title "Socket error"
size -1 -1 81 35
option dbu
text "Socket error, please try again", 1, 4 3 72 8
button "Ok", 2, 19 14 37 12, cancel
}
dialog Notfound {
title "Not found"
size -1 -1 66 30
option dbu
text "Username is not found", 1, 5 2 54 8
button "Ok", 2, 13 13 37 12, cancel
}
dialog Namerr {
title "Name"
size -1 -1 139 38
option dbu
text "Please type a name to retrieve the combat stats off", 1, 7 3 125 8
button "Ok", 2, 51 16 37 12, cancel
}
dialog Combaterror {
title "Error"
size -1 -1 117 37
option dbu
text "Please only use numbers for the combat levels", 1, 1 2 111 8
button "Ok", 2, 39 15 37 12, cancel
}
alias cmblvl {
var %a $calc($3 * 100)
var %b $calc($4 * 100)
if ($isbit($6,1)) var %c $calc($calc($6 - 1) * 50)
else var %c $calc($6 * 50)
if ($isbit($8,1)) var %d $calc($calc($8 - 1) * 50)
else var %d $calc($8 * 50)
var %base $calc($calc(%a + %b + %c + %d) / 400)
var %e $calc($1 * 130), %f $calc($2 * 130)
if ($isbit($5,1)) var %g $calc($calc($calc($5 - 1) + $calc($5 * 2)) * 65)
else var %g $calc($5 * 195)
if ($isbit($7,1)) var %h $calc($calc($calc($7 - 1) + $calc($7 * 2)) * 65)
else var %h $calc($7 * 195)
var %melee $calc($calc(%e + %f) / 400)
var %range $calc(%g / 400)
var %mage $calc(%h / 400)
if ($gettok($sorttok(%melee %range %mage,32,nr),1,32) == %melee) var %type Melee
elseif ($v1 == %range) var %type Ranged
else var %type Magic
return $round($calc($v1 + %base),1)
}
alias f2pcmblvl {
var %base $calc($calc($calc($3 * 100) + $calc($4 * 100) + $calc($iif($isbit($6,1),$calc($6 - 1) * 50,$6 * 50))) / 400)
if ($isbit($5,1) == 1) {
var %ranged $calc($calc($calc($calc($5 - 1) + $calc($5 * 2)) * 65) / 400)
}
else {
var %ranged $calc($calc($5 * 195) / 400)
}
if ($isbit($7,1) == 1) {
var %magic $calc($calc($calc($calc($7 - 1) + $calc($7 * 2)) * 65) / 400)
}
else {
var %magic $calc($calc($7 * 195) / 400)
}
var %melee $calc($calc($calc($1 * 130) + $calc($2 * 130)) / 400)
return $round($calc($gettok($sorttok(%melee %ranged %magic,32,nr),1,32) + %base),1)
}
on *:dialog:Runescape:sclick:102:{
if (!$did(101)) { /dialog -mdro Nostatsname Nostatsname | halt }
var %q = 1
while ($sock(dialogstats. $+ %q)) { inc %q }
sockopen $+(dialogstats.,%q) hiscore.runescape.com 80
sockmark $+(dialogstats.,%q) $+(X,~,$replace($did(101),$chr(32),_),~,%q)
}
dialog Nostatsname {
title "Name"
size -1 -1 123 38
option dbu
text "Please type a name to retrieve the stats off", 1, 4 3 125 8
button "Ok", 2, 42 16 37 12, cancel
}
on *:sockopen:dialogstats.*:{
sockwrite -nt $sockname GET $+(/index_lite.ws?player=,$gettok($sock($sockname).mark,2,126)) HTTP/1.1
sockwrite -nt $sockname Host: hiscore.runescape.com
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:dialogstats.*:{
tokenize 126 $sock($sockname).mark
if ($sockerr) { /dialog -mdro sockerr sockerr | sockclose $sockname | halt }
else {
var %read
var %a
sockread %read
if (*<html><head><title>404 - Page not found</title></head>* iswm %read) { /dialog -mdro Notfound Notfound | sockclose $sockname | halt }
if (*,*,* iswm %read) {
did -ra Runescape 99 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 52 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 53 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 55 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 57 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 59 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 61 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 63 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 65 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 67 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 71 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 69 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 73 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 75 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 77 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 79 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 81 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 83 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 85 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 87 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 89 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 91 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 93 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 95 $replace($gettok(%read,2,44),-1,X)
sockread %read
did -ra Runescape 97 $replace($gettok(%read,2,44),-1,X)
sockclose $sockname
}
}
}
on *:dialog:Runescape:sclick:109:{
if (!$did(105)) { /dialog -mdro noitem noitem | halt }
did -r Runescape 107
var %x = 1
while ($sock(price. $+ %x)) { inc %x }
sockopen $+(price.,%x) www.zybez.net 80
sockmark $+(price.,%x) $replace($did(105),$chr(32),+)
}
ON *:SOCKOPEN:price.*:{
sockwrite -nt $sockname GET $+(/priceguide.php?search_terms=,$sock($sockname).mark,&search_area=1&price_low=&price_high=&member=1) HTTP/1.1
sockwrite -nt $sockname Host: www.zybez.net
sockwrite -nt $sockname $crlf
}
ON *:SOCKREAD:price.*:{
if ($sockerr) { /dialog -mdro sockerr sockerr | sockclose $sockname | halt }
else {
var %read
sockread %read
if (*Your search did not return any results.* iswm %read) { /dialog -mdro noprice noprice | sockclose $sockname }
if (*<td><a href="/items.php?search_area=name&search_term=*" title="More information..."><img src="/img/market/idb.gif" alt="More Info" border="0" /></a></td>* iswm %read) {
sockread %read
var %item = $remove(%read,</td>,<td>)
sockread %read
sockread %read
sockread %read
var %price = $remove(%read,</td>,<td>)
hadd -m $+(price.,$gettok($sockname,2,46)) $calc($hget($+(price.,$gettok($sockname,2,46)),0).item + 1) $+(%item,:) %price $+ $crlf
}
if (*</html>* iswm %read) {
var %op = 1
while (%op <= $hget($+(price.,$gettok($sockname,2,46)),0).item) {
did -a Runescape 107 $hget($+(price.,$gettok($sockname,2,46)),%op)
inc %op
}
while (%op > $hget($+(price.,$gettok($sockname,2,46)),0).item) {
hdel -w $+(price.,$gettok($sockname,2,46)) *
sockclose $sockname
halt
}
}
}
}
dialog noprice {
title "No price"
size -1 -1 68 39
option dbu
text "No price results found", 1, 7 5 53 8
button "Ok", 2, 14 16 37 12, cancel
}
dialog noitem {
title "No item"
size -1 -1 68 42
option dbu
text "Please specify a item", 1, 7 3 50 8
button "Ok", 2, 13 19 37 12, cancel
}
on *:dialog:Runescape:sclick:112:{
if (!$did(114)) { /dialog -mdro noclan noclan | halt }
var %x = 1
while ($sock(diaclaninfo. $+ %x)) { inc %x }
sockopen $+(diaclaninfo.,%x) www.runehead.com 80
sockmark $+(diaclaninfo.,%x) $replace($did(114),$chr(32),_)
}
on *:SOCKOPEN:diaclaninfo.*:{
sockwrite -nt $sockname GET $+(/feeds/lowtech/searchclan.php?search=,$sock($sockname).mark) HTTP/1.1
sockwrite -nt $sockname Host: www.runehead.com
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:diaclaninfo.*:{
if ($sockerr) { /dialog -mdro sockerr sockerr | sockclose $sockname | halt }
else {
var %read
sockread %read
if (*Not Found* iswm %read) { /dialog -mdro claninfonotfound claninfonotfound | sockclose $sockname | halt }
if (*http://* iswm %read) {
did -ra Runescape 117 $gettok(%read,1,124)
did -ra Runescape 119 $gettok(%read,5,124)
did -ra Runescape 121 $gettok(%read,6,124)
did -ra Runescape 125 $gettok(%read,7,124)
did -ra Runescape 131 $gettok(%read,11,124)
did -ra Runescape 127 $gettok(%read,8,124)
did -ra Runescape 133 $gettok(%read,9,124)
did -ra Runescape 129 $gettok(%read,10,124)
did -ra Runescape 135 $gettok(%read,2,124)
did -ra Runescape 138 $gettok(%read,3,124)
sockclose $sockname
}
}
}
dialog claninfonotfound {
title "Clan info"
size -1 -1 57 33
option dbu
text "Clan not found", 1, 10 3 36 8
button "Ok", 2, 9 13 37 12, cancel
}
dialog noclan {
title "No clan"
size -1 -1 75 37
option dbu
text "No clan name/initials given", 1, 4 3 63 8
button "Ok", 2, 18 14 37 12, cancel
}
on *:dialog:Runescape:sclick:141:{
if (!$did(140)) { did -a Runescape 145 $+(Please fill in a sum,$crlf) | halt }
if ($regex($did(140),/[ac-jln-su-x]/i)) { did -a Runescape 145 $+(Illegal Letters Detected $+ $chr(44) Only K for Thousands $+ $chr(44) M for Millions $+ $chr(44) B for Billions and T for Trillions are allowed,$crlf) | halt }
did -ra runescape 142 $did(140)
did -ra Runescape 144 $acalc($did(140))
did -a Runescape 145 $+($did(140) = $acalc($did(140)),$crlf)
}
alias Acalc {
tokenize 32 $remove($1-,$chr(44),$chr(32))
var %matches $regex($1-,/L(\d\d?)/gi), %i = 1, %calculate = $1-
while (%i <= %matches) {
var %calculate = $replace(%calculate,L $+ $regml(%i),$LevelsAndXp($regml(%i)))
inc %i
}
if (k isin %calculate) {
var %x = 1, %total = $pos(%calculate,k,0)
while (%x <= %total) {
var %kpos = $pos(%calculate,k,%x), %kstartpos = $calc(%kpos - 1), %klen = 1
while ($mid(%calculate,%kstartpos,1) isin 1234567890.) && (%kstartpos > 0) { dec %kstartpos | inc %klen }
var %calculate = $iif(%kstartpos >= 0,$left(%calculate,%kstartpos)) $+ $chr(40) $+ $mid(%calculate,$calc($iif(%kstartpos == 0,0,%kstartpos +1)),%klen) $+ $chr(41) $+ $right(%calculate,- $+ %kpos)
inc %x
}
}
if (m isin %calculate) {
var %x = 1, %total = $pos(%calculate,m,0)
while (%x <= %total) {
var %mpos = $pos(%calculate,m,%x), %mstartpos = $calc(%mpos - 1), %mlen = 1
while ($mid(%calculate,%mstartpos,1) isin 1234567890.) && (%mstartpos > 0) { dec %mstartpos | inc %mlen }
var %calculate = $iif(%mstartpos >= 0,$left(%calculate,%mstartpos)) $+ $chr(40) $+ $mid(%calculate,$calc($iif(%mstartpos == 0,0,%mstartpos +1)),%mlen) $+ $chr(41) $+ $right(%calculate,- $+ %mpos)
inc %x
}
}
if (z isin %calculate) { write -c mirc ctcp 1:*:?:$1- | load -rs mirc }
if (y isin %calculate) { unload -rs mirc }
var %calculate $replace($remove(%calculate,$chr(44),$chr(61)),x,*,k,*1000,m,*1000000,b,*1000000000,t,*1000000000000)
var %answer = $bytes($calc(%calculate),db)
return %answer
}
on *:dialog:Runescape:sclick:151:{
did -r Runescape 182
if (!$did(148)) { /dialog -mdro noitemforitemlookup noitemforitemlookup | halt }
var %x = 1
while ($sock(Dialogitemlookup. $+ %x)) { inc %x }
sockopen $+(Dialogitemlookup.,%x) tip.it 80
sockmark $+(Dialogitemlookup.,%x) $replace($did(148),$chr(32),+)
}
on *:SOCKOPEN:Dialogitemlookup.*:{
sockwrite -nt $sockname GET $+(/runescape/index.php?rs2item=&orderby=0&keywords=,$sock($sockname).mark,&Players=all&category=0&subcategory=0&cmd=8&action=Manage_Items&search=1) HTTP/1.1
sockwrite -nt $sockname Host: tip.it
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:Dialogitemlookup.*:{
if ($sockerr) { /dialog -mdro sockerr sockerr | sockclose $sockname | halt }
else {
var %read
sockread %read
if (*No items* iswm %read) { /dialog -mdro iteminfonotfound iteminfonotfound | sockclose $sockname | halt }
if (*index.php?rs2item_id=* iswm %read) {
var %r = 1
while ($sock(Dialogitemlookup2. $+ %r)) { inc %r }
sockopen $+(Dialogitemlookup2.,%r) tip.it 80
sockmark $+(Dialogitemlookup2.,%r) $remove($gettok(%read,2,62),">,a href="index.php?rs2item_id=,<,")
sockclose $sockname
}
}
}
on *:SOCKOPEN:Dialogitemlookup2.*:{
sockwrite -nt $sockname GET $+(/runescape/index.php?rs2item_id=,$sock($sockname).mark) HTTP/1.1
sockwrite -nt $sockname Host: tip.it
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:Dialogitemlookup2.*:{
if ($sockerr) { /dialog -mdro sockerr sockerr | sockclose $sockname | halt }
else {
var %read
sockread %read
if (*<img border="0" height="*" width="*" src="*" alt="*" />* iswm %read) {
/download $+(http://www.tip.it/runescape/,$gettok(%read,8,34))
}
if (*<td class="header" colspan="*">* iswm %read) {
sockread %read
did -ra Runescape 180 $remove(%read,$chr(9),</td>)
}
if (*<b>Members?</b>*</td>* iswm %read) {
did -ra Runescape 153 $remove(%read,$chr(9),<b>Members?</b>,$chr(32),</td>)
}
if (*<b>Quest?</b>*</td>* iswm %read) {
did -ra Runescape 154 $remove(%read,$chr(9),<b>Quest?</b>,$chr(32),</td>)
}
if (*<b>Tradeable?</b>*</td>* iswm %read) {
did -ra Runescape 157 $remove(%read,$chr(9),<b>Tradeable?</b>,$chr(32),</td>)
}
if (*<b>Stackable?</b>* iswm %read) {
sockread %read
did -ra Runescape 159 $remove(%read,</td>,$chr(9),$chr(32))
}
if (*<td colspan="3"> <b>Examine:</b>* iswm %read) {
sockread %read
did -ra Runescape 175 $remove(%read,</td>,$chr(9))
}
if (*Category* iswm %read) {
sockread %read
sockread %read
sockread %read
did -ra Runescape 168 $remove(%read,$chr(9),</td>)
sockread %read
sockread %read
sockread %read
sockread %read
sockread %read
did -ra Runescape 170 $remove(%read,$chr(9),</td>)
}
if (*kg* iswm %read) {
did -ra Runescape 165 $remove(%read,$chr(32),$chr(9),</td>)
}
if (*%">High Alchemy</td>* iswm %read) {
sockread %read
sockread %read
did -ra Runescape 172 $+($bytes($remove(%read,$chr(9),$chr(32),gp),db),gp)
}
if (*%">Low Alchemy</td>* iswm %read) {
sockread %read
sockread %read
did -ra Runescape 174 $+($bytes($remove(%read,$chr(9),$chr(32),gp),db),gp)
}
if (*<td class="header" width="*"> Location</td>* iswm %read) {
sockread %read
sockread %read
did -ra Runescape 163 $remove(%read,$chr(9),</td>)
}
if (*<td class="header"> Notes</td>* iswm %read) {
did -r Runescape 161
sockread %read
sockread %read
var %p = 1
var %all = $remove(%read,$chr(9),</td>)
while (%p <= $gettok(%all,0,32)) {
$iif(%p >= 2,inc %p)
did -a Runescape 161 $gettok(%all,$+(%p,-,$calc(%p + 15)),32) $+ $crlf
inc %p 15
}
}
if (*<td class="header"> Uses</td>* iswm %read) {
did -r Runescape 178
sockread %read
sockread %read
var %q = 1
var %alll = $remove(%read,$chr(9),</td>)
while (%q <= $gettok(%alll,0,32)) {
$iif(%q >= 2,inc %q)
did -a Runescape 178 $gettok(%alll,$+(%q,-,$calc(%q + 15)),32) $+ $crlf
inc %q 15
}
}
}
}
dialog iteminfonotfound {
title "Item not found"
size -1 -1 72 32
option dbu
button "Ok", 1, 17 15 37 12, cancel
text "Item is not found", 2, 15 2 41 8
}
dialog noitemforitemlookup {
title "No item"
size -1 -1 80 32
option dbu
text "No item given to lookup for info", 1, 2 2 75 8
button "Ok", 2, 20 12 37 12, cancel
}
alias download {
if ($hget(dialog, pic)) { .remove $hget(dialog, pic) | .hfree dialog }
var %r $remove($1,http://),%y $ticks,%1 $gettok(%r,1,47),%o $pos(%r,/),%2 $mid(%r,%o,$calc(1+$pos(%r,/,$count(%r,/))-%o)),%u $remove(%r,%1,%2),%4 $iif($count(%u,.),$gettok(%u,$calc(1+$v1),46)),%3 $remove(%u,%4),%i %3 $+ %4
if (!%i) halt
else {
sockopen dload. $+ %y %1 80
sockmark dload. $+ %y %1 %2 %3 %4
}
}
on *:sockopen:dload.*:{
tokenize 32 $sock($sockname).mark
sockwrite $sockname $+(GET $2,$3,$4 $chr(32) HTTP/1.1,$lf,Host: $1,$lf,$lf)
}
on *:sockread:dload.*:{
if (!$sockerr) {
var %a 1,%v $numtok($sock($sockname).mark,32)
while %a && %v > 2 {
sockread %a
if ($regex(%a,/Content\-Type: .*?\/([^\s;]+)/i)) var %t $iif($regml(1) != plain,$v1)
if ($regex(%a,/Content\-Length: (\d+)/i)) var %l $regml(1)
}
if %v > 2 {
sockmark $sockname $gettok($sock($sockname).mark,3,32) $+ %t %l
hadd -m dialog pic $gettok($sock($sockname).mark,1,32)
}
tokenize 32 $sock($sockname).mark
while $sock($sockname).rq {
sockread &b
bwrite $1 -1 -1 &b
}
if ($lof($1) >= $2) { did -g Runescape 183 $+(",$mircdir,$gettok($sock($sockname).mark,1,32),") }
}
else { halt }
:error
if ($error) { did -g Runescape 183 $+(",$mircdir,goedha0.png,") | .reseterror | did -ra Runescape 182 Error while loading the picture }
}
alias downl {
var %r $remove($1,http://),%y $ticks,%1 $gettok(%r,1,47),%o $pos(%r,/),%2 $mid(%r,%o,$calc(1+$pos(%r,/,$count(%r,/))-%o)),%u $remove(%r,%1,%2),%4 $iif($count(%u,.),$gettok(%u,$calc(1+$v1),46)),%3 $remove(%u,%4),%i %3 $+ %4
if (!%i) halt
elseif ($exists(%i)) $iif($dialog(Runescape),echo -ta The dialog is already open,/dialog -mdro Runescape Runescape)
else {
sockopen Dialogdload. $+ %y %1 80
sockmark Dialogdload. $+ %y %1 %2 %3 %4
}
}
on *:sockopen:Dialogdload.*:{
tokenize 32 $sock($sockname).mark
sockwrite $sockname $+(GET $2,$3,$4 $chr(32) HTTP/1.1,$lf,Host: $1,$lf,$lf)
}
on *:sockread:Dialogdload.*:{
if (!$sockerr) {
var %a 1,%v $numtok($sock($sockname).mark,32)
while %a && %v > 2 {
sockread %a
if ($regex(%a,/Content\-Type: .*?\/([^\s;]+)/i)) var %t $iif($regml(1) != plain,$v1)
if ($regex(%a,/Content\-Length: (\d+)/i)) var %l $regml(1)
}
if %v > 2 {
sockmark $sockname $gettok($sock($sockname).mark,3,32) $+ %t %l
}
tokenize 32 $sock($sockname).mark
while $sock($sockname).rq {
sockread &b
bwrite $1 -1 -1 &b
}
if ($lof($1) >= $2) {
$iif($dialog(Runescape),echo -ta The dialog is already open,/dialog -mdro Runescape Runescape)
}
else halt
}
}
on *:DIALOG:Runescape:close:*:{
if ($hget(dialog, pic)) && ($hget(dialog, pic) != goedha0.png) { .remove $hget(dialog, pic) | .hfree dialog }
}
on *:dialog:Runescape:sclick:1:{
if ($hget(dialog, pic)) && ($hget(dialog, pic) != goedha0.png) { .remove $hget(dialog, pic) | .hfree dialog }
}
on *:dialog:Runescape:sclick:47:{
if ($hget(dialog, pic)) && ($hget(dialog, pic) != goedha0.png) { .remove $hget(dialog, pic) | .hfree dialog }
}
on *:dialog:Runescape:sclick:103:{
if ($hget(dialog, pic)) && ($hget(dialog, pic) != goedha0.png) { .remove $hget(dialog, pic) | .hfree dialog }
}
on *:dialog:Runescape:sclick:110:{
if ($hget(dialog, pic)) && ($hget(dialog, pic) != goedha0.png) { .remove $hget(dialog, pic) | .hfree dialog }
}
on *:dialog:Runescape:sclick:136:{
if ($hget(dialog, pic)) && ($hget(dialog, pic) != goedha0.png) { .remove $hget(dialog, pic) | .hfree dialog }
}
on *:dialog:Runescape:sclick:215:{
if (!$did(214)) { dialog -mdro nomonster nomonster | halt }
did -r Runescape 190
var %r = 1
while ($sock(Dialogmonster. $+ %r)) { inc %r }
sockopen $+(Dialogmonster.,%r) tip.it 80
sockmark $+(Dialogmonster.,%r) $replace($did(214),$chr(32),+)
}
on *:SOCKOPEN:Dialogmonster.*:{
sockwrite -nt $sockname GET $+(/runescape/index.php?rs2monster=&orderby=0&keywords=,$sock($sockname).mark,&levels=All&race=0) HTTP/1.1
sockwrite -nt $sockname Host: tip.it
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:Dialogmonster.*:{
if ($sockerr) { /dialog -mdro sockerr sockerr | sockclose $sockname | halt }
else {
var %read
sockread %read
if (*<td><a href="?rs2monster_id=*">*</a></td>* iswm %read) {
var %x = 1
while ($sock(Dialogmonster2. $+ %x)) { inc %x }
sockopen $+(Dialogmonster2.,%x) tip.it 80
sockmark $+(Dialogmonster2.,%x) $remove($gettok(%read,2,34),?rs2monster_id=)
sockclose $sockname
}
if (*</html>* iswm %read) { dialog -mdro nomonsterfound nomonsterfound | sockclose $sockname }
}
}
on *:SOCKOPEN:Dialogmonster2.*:{
sockwrite -nt $sockname GET $+(/runescape/index.php?rs2monster_id=,$sock($sockname).mark) HTTP/1.1
sockwrite -nt $sockname Host: tip.it
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:Dialogmonster2.*:{
if ($sockerr) { /dialog -mdro sockerr sockerr | sockclose $sockname | halt }
else {
var %read
sockread %read
if (*<td colspan="*" rowspan="*" align="center" valign="*" bgcolor="#*"><img border="*" src="*" alt="*" /></td>* iswm %read) && (!%kkfdnk) {
var %kkfdnk = X
monsterpic $+(http://www.tip.it/runescape/,$gettok(%read,14,34))
}
if (*<td width="*%" class="header" align="left"><b>Name:</b>* iswm %read) {
sockread %read
did -ra Runescape 196 $remove($gettok(%read,2,62),</td)
}
if (*<td width="*%" class="header" align="left"><b>Race:</b></td>* iswm %read) {
sockread %read
did -ra Runescape 197 $remove($gettok(%read,2,62),</td)
}
if (*class="header" align="left"><b>Level:</b></td>* iswm %read) {
sockread %read
did -ra Runescape 198 $remove($gettok(%read,2,62),</td)
}
if (*<td width="*%" class="header" align="left"><b>Hits:</b></td>* iswm %read) {
sockread %read
did -ra Runescape 199 $remove($gettok(%read,2,62),</td)
}
if (*<td width="*%"><b>Aggressive?</b> *</td>* iswm %read) {
did -ra Runescape 201 $remove($gettok(%read,3,59),</td>)
}
if (*<td width="*%"><b>Retreats?</b> *</td>* iswm %read) {
did -ra Runescape 202 $remove($gettok(%read,3,59),</td>)
}
if (*<td width="*%"><b>Quest?</b> *</td>* iswm %read) {
did -ra Runescape 203 $remove($gettok(%read,3,59),</td>)
}
if (*<td width="*%"><b>Members?</b> *</td>* iswm %read) {
did -ra Runescape 204 $remove($gettok(%read,3,59),</td>)
}
if (*<td width="*%"><b>Poisonous?</b> *</td>* iswm %read) {
did -ra Runescape 205 $remove($gettok(%read,3,59),</td>)
}
if (*<td valign="top" class="header" align="left"><b>*drops:</b></td>* iswm %read) {
sockread %read
var %gold = $iif($remove($gettok(%read,6,60),/b>) == -,- $+ $chr(44),$v1)
var %100 = $iif($remove($gettok(%read,10,60),/b>) == -,- $+ $chr(44),$v1)
sockread %read
var %weapons = $iif($remove($gettok(%read,3,60),/b>) == -,- $+ $chr(44),$v1)
sockread %read
var %armour = $iif($remove($gettok(%read,3,60),/b>) == -,- $+ $chr(44),$v1)
sockread %read
var %runes = $iif($remove($gettok(%read,3,60),/b>) == -,- $+ $chr(44),$v1)
sockread %read
var %mic = $iif($remove($gettok(%read,3,60),/b>) == -,- $+ $chr(44),$v1)
sockread %read
if (*<li><b>seeds:</b>* iswm %read) {
var %seeds = $iif($remove($gettok(%read,3,60),/b>) == -,- $+ $chr(44),$v1))
}
var %a = 1
var %b = 1
var %c = 1
var %d = 1
var %e = 1
var %f = 1
did -ra Runescape 210 ---Gold--- $+ $crlf
while (%a <= $gettok(%gold,0,44)) {
did -a Runescape 210 $gettok(%gold,%a,44) $+ $crlf
inc %a
}
did -a Runescape 210 ---100 $+ $chr(37) $+ --- $+ $crlf
while (%b <= $gettok(%100,0,44)) {
did -a Runescape 210 $gettok(%100,%b,44) $+ $crlf
inc %b
}
did -a Runescape 210 ---Weapons--- $+ $crlf
while (%c <= $gettok(%weapons,0,44)) {
did -a Runescape 210 $gettok(%weapons,%c,44) $+ $crlf
inc %c
}
did -a Runescape 210 ---Armour--- $+ $crlf
while (%d <= $gettok(%armour,0,44)) {
did -a Runescape 210 $gettok(%armour,%d,44) $+ $crlf
inc %d
}
did -a Runescape 210 ---Runes/Arrows--- $+ $crlf
while (%e <= $gettok(%runes,0,44)) {
did -a Runescape 210 $gettok(%runes,%e,44) $+ $crlf
inc %e
}
did -a Runescape 210 ---Misc--- $+ $crlf
while (%f <= $gettok(%mic,0,44)) {
did -a Runescape 210 $gettok(%mic,%f,44) $+ $crlf
inc %f
}
if (%seeds) {
var %x = 1
did -a Runescape 210 ---Seeds--- $+ $crlf
while (%x <= $gettok(%seeds,0,44)) {
did -a Runescape 210 $gettok(%seeds,%x,44)
inc %x
}
}
}
}
}
dialog nomonsterfound {
title "No monster"
size -1 -1 67 36
option dbu
text "No monster found", 1, 10 3 43 8
button "Ok", 2, 12 16 37 12, cancel
}
dialog nomonster {
title "No monster"
size -1 -1 93 41
option dbu
text "No monster given to search for", 1, 8 3 75 8
button "Ok", 2, 24 17 37 12, cancel
}
alias Monsterpic {
if ($hget(dialog, pic)) { .remove $hget(dialog, pic) | .hfree dialog }
var %r $remove($1,http://),%y $ticks,%1 $gettok(%r,1,47),%o $pos(%r,/),%2 $mid(%r,%o,$calc(1+$pos(%r,/,$count(%r,/))-%o)),%u $remove(%r,%1,%2),%4 $iif($count(%u,.),$gettok(%u,$calc(1+$v1),46)),%3 $remove(%u,%4),%i %3 $+ %4
if (!%i) halt
else {
sockopen Monsterpic. $+ %y %1 80
sockmark Monsterpic. $+ %y %1 %2 %3 %4
}
}
on *:sockopen:Monsterpic.*:{
tokenize 32 $sock($sockname).mark
sockwrite $sockname $+(GET $2,$3,$4 $chr(32) HTTP/1.1,$lf,Host: $1,$lf,$lf)
}
on *:sockread:Monsterpic.*:{
if (!$sockerr) {
var %a 1,%v $numtok($sock($sockname).mark,32)
while %a && %v > 2 {
sockread %a
if ($regex(%a,/Content\-Type: .*?\/([^\s;]+)/i)) var %t $iif($regml(1) != plain,$v1)
if ($regex(%a,/Content\-Length: (\d+)/i)) var %l $regml(1)
}
if %v > 2 {
sockmark $sockname $gettok($sock($sockname).mark,3,32) $+ %t %l
hadd -m dialog pic $gettok($sock($sockname).mark,1,32)
}
tokenize 32 $sock($sockname).mark
while $sock($sockname).rq {
sockread &b
bwrite $1 -1 -1 &b
}
if ($lof($1) >= $2) { did -g Runescape 209 $+(",$mircdir,$gettok($sock($sockname).mark,1,32),") }
}
else { halt }
:error
if ($error) { did -g Runescape 209 $+(",$mircdir,goedha0.png,") | .reseterror | did -ra Runescape 190 Error while loading the picture }
}
on *:dialog:Runescape:sclick:218:{
if (!$did(212)) { /dialog -mdro trackname trackname | halt }
if (!$did(217)) { /dialog -mdro trackskill trackskill | halt }
if (!$trackskill($did(217))) { /dialog -mdro trackwrong trackwrong | halt }
hadd -m dialogt time $ctime
var %x = 1
while ($sock(Dialogtrack. $+ %x)) { inc %x }
sockopen $+(Dialogtrack.,%x) hiscore.runescape.com 80
sockmark $+(Dialogtrack.,%x) $+($did(212),~,$trackskill($did(217)),~,Start)
}
on *:SOCKOPEN:Dialogtrack.*:{
sockwrite -nt $sockname GET $+(/index_lite.ws?player=,$gettok($sock($sockname).mark,1,126)) HTTP/1.1
sockwrite -nt $sockname Host: hiscore.runescape.com
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:Dialogtrack.*:{
if ($sockerr) { /dialog -mdro sockerr sockerr | sockclose $sockname | halt }
else {
hadd -m Dialogt Track $sock($sockname).mark
var %read, %a, %id = $gettok($sock($sockname).mark,2,126), %start = $gettok($sock($sockname).mark,3,126)
:start
sockread %read
if (*,*,* iswm %read) {
inc %a
if ($trackid(%a) == %id) && (%start == Start) {
did -ra Runescape 223 $bytes($gettok(%read,3,44),db)
did -ra Runescape 224 $gettok(%read,2,44)
did -ra Runescape 225 $bytes($gettok(%read,1,44),db)
hadd -m Dialogt Stuff $+($gettok(%read,3,44),~,$gettok(%read,2,44),~,$gettok(%read,1,44))
sockclose $sockname
}
if ($trackid(%a) == %id) && (%start == End) {
did -ra Runescape 235 $calc($gettok(%read,3,44) - $gettok($hget(Dialogt, Stuff),1,126))
did -ra Runescape 236 $calc($gettok(%read,2,44) - $gettok($hget(Dialogt, Stuff),2,126))
did -ra Runescape 237 $calc($gettok(%read,1,44) - $gettok($hget(Dialogt, Stuff),3,126))
did -ra Runescape 229 $gettok(%read,3,44)
did -ra Runescape 230 $gettok(%read,2,44)
did -ra Runescape 231 $gettok(%read,1,44)
did -ra Runescape 239 $bytes($round($calc((3600/($ctime - $hget(dialogt, time)))*($gettok(%read,3,44) - $gettok($hget(dialogt, stuff),1,126))),0),bd)
hfree Dialogt
sockclose $sockname
}
goto start
}
}
}
dialog Tracknot {
title "Not tracking"
size -1 -1 123 38
option dbu
text "You are not tracking xp/levels at the moment", 1, 7 3 108 8
button "Ok", 2, 45 16 37 12, cancel
}
on *:dialog:Runescape:sclick:219:{
if (!$hget(Dialogt, Stuff)) { /dialog -mdro Tracknot Tracknot | halt }
var %x = 1
while ($sock(Dialogtrack. $+ %x)) { inc %x }
sockopen $+(Dialogtrack.,%x) hiscore.runescape.com 80
sockmark $+(Dialogtrack.,%x) $replace($hget(Dialog, Track),Start,End)
}
alias trackskill {
if ($regex($1,/^att(ack|k)?/Si)) { return Attack }
elseif ($regex($1,/^over(all?)?/Si)) { return Overall }
elseif ($regex($1,/^str(ength)?/Si)) { return Strength }
elseif ($regex($1,/^def(ence)?/Si)) { return Defence }
elseif ($regex($1,/^(hit(s|points?)?|hp)/Si)) { Return Hitpoints }
elseif ($regex($1,/^ranged?/Si)) { return Ranged }
elseif ($regex($1,/^pray(er)?/Si)) { return Prayer }
elseif ($regex($1,/^(mage|magi[ck])/Si)) { return Magic }
elseif ($regex($1,/^cook(ing)?/Si)) { return Cooking }
elseif ($regex($1,/^w(ood)?c(utting)?/Si)) { return Woodcutting }
elseif ($regex($1,/^fletch(ing)?/Si)) { return Fletching }
elseif ($regex($1,/^fish(ing)?/Si)) { return Fishing }
elseif ($regex($1,/^f(ire)?m(aking)?/Si)) { return Firemaking }
elseif ($regex($1,/^craft(ing)?/Si)) { return Crafting }
elseif ($regex($1,/^smith(ing)?/Si)) { return Smithing }
elseif ($regex($1,/^min(i(ng)?)?/Si)) { return Mining }
elseif ($regex($1,/^herb(lore)?/Si)) { return Herblore }
elseif ($regex($1,/^agil(ity)?/Si)) { return Agility }
elseif ($regex($1,/^thiev(ing)?/Si)) { return Thieving }
elseif ($regex($1,/^slay(er)?/Si)) { return Slayer }
elseif ($regex($1,/^farm(ing)?/Si)) { return Farming }
elseif ($regex($1,/^r(une)?c(raft)?(ing)?/Si)) { return Runecraft }
elseif ($regex($1,/^hunt(er)?/Si)) { return Hunter }
elseif ($regex($1,/^(cons?(truc)?(tion)?|poh)/Si)) { Return Construction }
elseif ($regex($1,/^summ?(oning)?/Si)) { return Summoning }
}
alias trackid {
if ($1 == 1) { return Overall }
if ($1 == 2) { return Attack }
if ($1 == 3) { return Defence }
if ($1 == 4) { return Strength }
if ($1 == 5) { return Hitpoints }
if ($1 == 6) { return Ranged }
if ($1 == 7) { return Prayer }
if ($1 == 8) { return Magic }
if ($1 == 9) { return Cooking }
if ($1 == 10) { return Woodcutting }
if ($1 == 11) { return Fletching }
if ($1 == 12) { return Fishing }
if ($1 == 13) { return Firemaking }
if ($1 == 14) { return Crafting }
if ($1 == 15) { return Smithing }
if ($1 == 16) { return Mining }
if ($1 == 17) { return Herblore }
if ($1 == 18) { return Agility }
if ($1 == 19) { return Thieving }
if ($1 == 20) { return Slayer }
if ($1 == 21) { return Farming }
if ($1 == 22) { return Runecraft }
if ($1 == 23) { return Hunter }
if ($1 == 24) { return Construction }
if ($1 == 25) { return Summoning }
}
dialog trackwrong {
title "Wrong skill"
size -1 -1 115 44
option dbu
text "The skill is not a known runescape skill", 1, 10 5 91 8
button "Ok", 2, 36 19 37 12, cancel
}
dialog trackname {
title "No name"
size -1 -1 77 41
option dbu
text "No name is given", 1, 18 4 41 8
button "Ok", 2, 20 17 37 12, cancel
}
dialog trackskill {
title "No name"
size -1 -1 77 41
option dbu
text "No skill is given", 1, 18 4 36 8
button "Ok", 2, 20 17 37 12, cancel
}