Advertisement
Guest User

Untitled

a guest
May 27th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 3.11 KB | None | 0 0
  1. on $*:TEXT:/^[!.](start|end)war( .|$)/Si:*: {
  2.   var %rsn = $strip($replace($iif($2 == $null,$nick,$2-),-,_,+,_,$chr(32),_)), %cmd = $regml(1), %pattern = /^[a-zA-Z0-9_]{1,12}$/
  3.   if ($len(%rsn) > 12) { .notice $nick The RuneScape username %rsn is too long. }
  4.   elseif (!$regex(%rsn,%pattern)) { .notice $nick The RuneScape username %rsn contains invalid characters. }
  5.   else {
  6.     if ((%cmd == start) && (%wartrack. [ $+ [ %rsn ] ])) { .notice $nick %rsn is already being tracked. You may finsh tracking this player by using: !endwar %rsn }
  7.     elseif ((%cmd == end) && (!%wartrack. [ $+ [ %rsn ] ])) { .notice $nick %rsn is not being tracked. You may begin tracking this player by using: !startwar %rsn }
  8.     elseif (!$sock(wartrack. $+ %rsn)) {
  9.       sockopen wartrack. $+ %rsn hiscore.runescape.com 80
  10.       sockmark wartrack. $+ %rsn $iif($chan,msg $chan,.notice $nick)
  11.     }
  12.   }
  13. }
  14.  
  15. on *:SOCKOPEN:wartrack.*: {
  16.   if ($sockerr) { $sock($sockname).mark The following error occured while trying to track $+($gettok($sockname,2,46),: $chr(91),$sock($sockname).wserr,$chr(93)) $sock($sockname).wsmsg }
  17.   else {
  18.     sockwrite -n $sockname GET /index_lite.ws?player= $+ $gettok($sockname,2,46) HTTP/1.0
  19.     sockwrite -n $sockname Host: hiscore.runescape.com
  20.     sockwrite -n $sockname $crlf
  21.   }
  22. }
  23.  
  24. on *:SOCKREAD:wartrack.*: {
  25.   var %msg = $sock($sockname).mark, %rsn = $gettok($sockname,2,46), %count, %read
  26.   if ($sockerr) { %msg The following error occured while trying to track $+(%rsn,: $chr(91),$sock($sockname).wserr,$chr(93)) $sock($sockname).wsmsg }
  27.   else {
  28.     while ($sock($sockname).rq) {
  29.       sockread %read
  30.       if (404 Not Found isin %read) {
  31.         %msg Player %rsn could not be found in the RuneScape Highscores.
  32.         sockclose $sockname
  33.         halt
  34.       }
  35.       elseif (*,*,* iswm %read) {
  36.         if (%count isin 123457) { set %wartrack. [ $+ [ %rsn ] ] %wartrack. [ $+ [ %rsn ] ] $gettok(%read,3,44) }
  37.         if ($v1 == 7) {
  38.           tokenize 32 %wartrack. [ $+ [ %rsn ] ] $chr(124)
  39.           if (%isEnd. [ $+ [ %rsn ] ]) {
  40.             var %mxp = $12 - $6, %tot = $calc(($12 - $6)+($11 - $5)+($10 - $4)+($9 - $3)+($8 - $2)+($7 - $1))
  41.             %msg [War Track]: %rsn End Exp: Att: $bytes($7,b) (Gained: $bytes($calc($7 - $1),b) $+ ) $13 Str: $bytes($9,b) (Gained: $bytes($calc($9 - $3),b) $+ ) $13 Def: $bytes($8,b) (Gained: $bytes($calc($8 - $2),b) $+ ) $13 Range: $bytes($11,b) (Gained: $bytes($calc($11 - $5),b) $+ ) $13 Hp: $bytes($10,b) (Gained: $bytes($calc($10 - $4),b) $+ ) $13 Mage: $bytes($12,b) (Estimated Binds: $bytes($ceil($calc(%mxp / 30)),b) $13 Estimated Teleports: $bytes($ceil($calc(%mxp / 100)),b) $13 (Gained: $bytes(%mxp,b) $+ ) ) $13 Total EXP: $bytes(%tot,b)
  42.             unset %wartrack. [ $+ [ %rsn ] ] %isEnd. [ $+ [ %rsn ] ]
  43.           }
  44.           else {
  45.             %msg [War Track]: %rsn Start Exp: Att: $bytes($1,b) $7 Str: $bytes($3,b) $7 Def: $bytes($2,b) $7 Range: $bytes($5,b) $7 Hp: $bytes($4,b) $7 Mage: $bytes($6,b)
  46.             set %isEnd. [ $+ [ %rsn ] ] 1
  47.           }
  48.           sockclose $sockname
  49.           halt
  50.         }
  51.         inc %count
  52.       }
  53.     }
  54.   }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement