Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- on $*:TEXT:/^[!.](start|end)war( .|$)/Si:*: {
- var %rsn = $strip($replace($iif($2 == $null,$nick,$2-),-,_,+,_,$chr(32),_)), %cmd = $regml(1), %pattern = /^[a-zA-Z0-9_]{1,12}$/
- if ($len(%rsn) > 12) { .notice $nick The RuneScape username %rsn is too long. }
- elseif (!$regex(%rsn,%pattern)) { .notice $nick The RuneScape username %rsn contains invalid characters. }
- else {
- if ((%cmd == start) && (%wartrack. [ $+ [ %rsn ] ])) { .notice $nick %rsn is already being tracked. You may finsh tracking this player by using: !endwar %rsn }
- elseif ((%cmd == end) && (!%wartrack. [ $+ [ %rsn ] ])) { .notice $nick %rsn is not being tracked. You may begin tracking this player by using: !startwar %rsn }
- elseif (!$sock(wartrack. $+ %rsn)) {
- sockopen wartrack. $+ %rsn hiscore.runescape.com 80
- sockmark wartrack. $+ %rsn $iif($chan,msg $chan,.notice $nick)
- }
- }
- }
- on *:SOCKOPEN:wartrack.*: {
- 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 }
- else {
- sockwrite -n $sockname GET /index_lite.ws?player= $+ $gettok($sockname,2,46) HTTP/1.0
- sockwrite -n $sockname Host: hiscore.runescape.com
- sockwrite -n $sockname $crlf
- }
- }
- on *:SOCKREAD:wartrack.*: {
- var %msg = $sock($sockname).mark, %rsn = $gettok($sockname,2,46), %count, %read
- if ($sockerr) { %msg The following error occured while trying to track $+(%rsn,: $chr(91),$sock($sockname).wserr,$chr(93)) $sock($sockname).wsmsg }
- else {
- while ($sock($sockname).rq) {
- sockread %read
- if (404 Not Found isin %read) {
- %msg Player %rsn could not be found in the RuneScape Highscores.
- sockclose $sockname
- halt
- }
- elseif (*,*,* iswm %read) {
- if (%count isin 123457) { set %wartrack. [ $+ [ %rsn ] ] %wartrack. [ $+ [ %rsn ] ] $gettok(%read,3,44) }
- if ($v1 == 7) {
- tokenize 32 %wartrack. [ $+ [ %rsn ] ] $chr(124)
- if (%isEnd. [ $+ [ %rsn ] ]) {
- var %mxp = $12 - $6, %tot = $calc(($12 - $6)+($11 - $5)+($10 - $4)+($9 - $3)+($8 - $2)+($7 - $1))
- %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)
- unset %wartrack. [ $+ [ %rsn ] ] %isEnd. [ $+ [ %rsn ] ]
- }
- else {
- %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)
- set %isEnd. [ $+ [ %rsn ] ] 1
- }
- sockclose $sockname
- halt
- }
- inc %count
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement