Skip to content
MSN Addons Archive

Msn Addons December

A TG007 community discussion started by Ozzy10.

Closed discussion 5 posts
Page 1 of 1
Closed
Topic #2049 · 5 published posts · 1,866 views

Please feel free to post msn addons here, but also remember that some people dont know too much about msn and are learning.

 

Please make sure you post full code for your addon and that you add credits for other peoples work.

 

do NOT post disruptive code eg. takes and floods etc

Edited Dec 4, 2004 1:13 PM by OZZY_10â„¢

My code does NOT have bugs. It just develops random features.

this is the profile viewer vawluum made about a year and a half ago. this is the version that i had, he said he changed it a bit like displaying the info in a dialog and saving it/updating a saved file, had multiple view support, a profile checker thing, faster, etc... but he couldnt find it so he just said to post this one up

it does the job

but i dont know if itll work for paid msn

 

;;;;Profile Viewer v1.0 by vawluum

menu nicklist { 
 View Profile: prop $$1 puid 
}
menu @Profile_* { 
 Close: window -c $active 
}
raw 818:*: {
 if ($3 == PUID) {
   set %pv.p $4- | set %pv.n @Profile_ $+ $2
   .timer 1 3 $!prochk | window %pv.n Verdana | sockopen pvrofile members.msn.com 80
   echo %pv.n Profile Link: http://members.msn.com/ $+ %pv.p | echo %pv.n -
   haltdef
} }
raw 819:*: { if (%pv.p) { haltdef } }
alias -l prochk { if (!$sock(pvrofile)) { echo %pv.n You may need to login to see the Profile | echo %pv.n Click the above link to see it in your webbrowser | unset %pv.* } }
on *:sockopen:pvrofile: {
 sockwrite -tn pvrofile GET / $+ %pv.p HTTP/1.1 
 sockwrite -n pvrofile Accept: */* $+ $crlf $+ Accept-Language: en-us $+ $crlf $+ User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) 
 sockwrite -n pvrofile Host: members.msn.com $+ $crlf $+ Connection: close $+ $crlf $+ $crlf 
}
on *:sockread:pvrofile: {
 :sockread
 sockread -n &pv
 if ($sockbr == 0) { return }
 if ($bfind(&pv,1,<A name="MORE">)) && (!%pv.cnt) { set %pv.cnt 1 | if ($bvar(&pv,0) > 30) { goto more } | goto sockread }
 if (%pv.cnt) {
   if ($bfind(&pv,1,class=mdFinePrint>)) { set %pv.lu $bvar(&pv,1-).text | echo %pv.n 1,1- | echo %pv.n 15,1 $+ L $+ $mid($gettok($gettok(%pv.lu,2,62),1,60),2) | sockclose pvrofile | unset %pv.* | halt }
   if (%pv.cnt == 1) { inc %pv.cnt | goto more }
   inc %pv.cnt | goto sockread
 }
 if ($bvar(&pv,0).text > 750) { goto sockread }
 set %pv.r $bvar(&pv,1-).text
 if ($bfind(&pv,1,<font class=viewName>)) { echo %pv.n 1,15Msn Nickname:15,1 $pvd($mid(%pv.r,$calc($pos(%pv.r,viewName>,1) + 9),-7)) | goto sockread }
 if ($bfind(&pv,1,msnusers.com/mypicture?user=)) { echo %pv.n 1,15My Picture: $gettok($gettok(%pv.r,2,9),6,34) | goto sockread }
 if ($bfind(&pv,1,title="No photo available.")) { echo %pv.n 1,15My Picture: No photo available | goto sockread }
 if ($bfind(&pv,1,  My Stats</nobr>)) && (!%pv.nfo) { %pv.nfo = 1 | goto sockread }
 if (%pv.nfo) {
   .echo -q $regsub(%pv.r,/(<[^>]+>)/g,,%pv.nn)
   if (<B>Name</B> isincs %pv.r) { echo %pv.n 1,1- | echo %pv.n 1,15Real Name:15,1 $pvd($right($gettok(%pv.nn,1,9),-4)) | echo %pv.n 1,15Age:15,1 $right($gettok(%pv.nn,2,9),-3) | %pv.2 = 1 | goto sockread }
   if (%pv.2) {
     echo %pv.n 1,15Gender:15,1 $gettok(%pv.nn,1,9) | echo %pv.n 1,15Marital Status:15,1 $right($gettok(%pv.nn,2,9),-19) | echo %pv.n 1,15Location:15,1 $pvd($right($gettok(%pv.nn,3,9),-8))
     if ($gettok(%pv.nn,4,9) != Occupation) { unset %pv.nfo } | else { %pv.3 = 1 }
     unset %pv.2 | goto sockread
   }
   if (%pv.3) { echo %pv.n 1,15Occupation:15,1 $pvd($gettok(%pv.r,1,9)) | unset %pv.3 %pv.nfo | goto sockread } 
 }
 :more
 if (!%pv.cnt) { goto sockread }
 if ($bvar(&pv,0) < 20) { echo %pv.n 1,1- | goto sockread }
 :one
 if (%pv.9) { if (!$bfind(&pv,$calc(%pv.9 + 10),<table)) { goto sockread } | %pv.9 = $bfind(&pv,$calc(%pv.9 + 10),<table) }
 if (!%pv.9) { %pv.9 = $bfind(&pv,1,<table) }
 if (%pv.9 == 0) { goto sockread }
 %pv.8 = $bfind(&pv,%pv.9,</td>) | %pv.7 = $bfind(&pv,%pv.9,</table>) | %pv.6 = $bfind(&pv,%pv.7,</font><br><br>)
 %pv.j = $bvar(&pv,%pv.9,$calc(%pv.8 - %pv.9)).text | %pv.jj = $bvar(&pv,%pv.7,$calc(%pv.6 - %pv.7 + 7)).text
 if (<BR> isincs %pv.jj) { %pv.jj = $replacecs(%pv.jj,<BR>,$chr(10)) }
 echo %pv.n 1,1-
 if (*A*Little*About*Me* iswm %pv.j) { echo %pv.n 1,15A Little About Me: }
 if (*Favorite*Things* iswm %pv.j) { echo %pv.n 1,15Favorite Things: }
 if (*Hobbies*and*Interests* iswm %pv.j) { echo %pv.n 1,15Hobbies and Interests: }
 if (*Favorite*Quote* iswm %pv.j) { echo %pv.n 1,15Favorite Quote: }
 if (*My*Homepage* iswm %pv.j) { echo %pv.n 1,15Homepage: | echo %pv.n $gettok(%pv.jj,6,34) | goto one }
 pvchk $pvd($left($gettok(%pv.jj,4,62),-1))
 goto one
}
alias -l pvloo { return $pvd($mid($1,$calc($pos($1,>,4) + 1),$calc($pos($1,<,5) - $pos($1,>,4) - 1))) }
alias -l pvd { return $convert($replace($remove($1-,Â),",$chr(34),',$chr(39),&,$chr(38),<,<,>,>)) }
alias -l pvchk {
 if ($chr(10) isin $1-) {
   %t.t = "" | %t.tt = "" | %t.c = "" | %t.cc = "" | %t.ccc = ""
   %t.t = $count($1-,$chr(10)) | %t.c = 1 | while (%t.c <= %t.t) { %t.cc = %t.cc $pos($1-,$chr(10),%t.c) | inc %t.c }
   :e
   if (%t.cc) || (%t.ccc) {
     %t.tt = $mid($1-,$calc(%t.ccc + 1),$iif(%t.cc,$calc($gettok(%t.cc,1,32) - %t.ccc),$len($1-)))
     if (!%t.tt) || (%t.tt == $chr(10)) || (%t.tt == $chr(32)) { echo %pv.n $chr(160) } | else { echo %pv.n $iif($remove(%t.tt,$chr(10)) == $chr(32),$chr(160),$remove(%t.tt,$chr(10))) }
     %t.ccc = $gettok(%t.cc,1,32) | %t.cc = $deltok(%t.cc,1,32) | goto e
   }
   unset %t.t %t.tt %t.c %t.cc %t.ccc
 }
 else { echo %pv.n $1- }
}

it will work, it looks like a combination of what i have, and what vex has in ClearMSN. But as i said, there are many ways to do it. Though this will only work on members who are not using scripts/clone nicknames. If they are, then it wont work.

Edited Dec 24, 2004 11:20 AM by The Gate Keeper

this is the msn room viewer that vawluum made about 2 yrs ago

 

;replace $convert with your decoder

menu status,menubar {
 View Rooms: if ($dialog(rv)) { dialog -v rv } | else { dialog -md rv rv }
}
dialog rv {
 title "Room Viewer v2.1 by vawluum"
 size -1 -1 324 170
 option dbu
 list 1, 4 20 316 133, size hsbar vsbar
 combo 2, 55 7 68 80, drop
 text "Choose a Category:", 3, 5 8 49 8
 button "Go", 5, 125 7 15 11
 button "Stop", 6, 141 7 16 11
 button "Close", 7, 287 156 33 12, cancel
 check "User Created Only", 8, 163 8 55 10, left
 combo 9, 249 7 60 41, drop
 button "Join", 10, 5 156 33 12
 text "List from:", 11, 222 9 27 8
 edit "", 4, 41 157 199 11, read center autohs
 button "(re)Load x Page", 12, 243 156 41 12
}
on *:dialog:rv:init:0: {
 set %rvt.rms GN | set %rvt.cat General
 didtok rv 2 44 GN General,GE City Chats,CP Computing,EA Entertainment,EV Events,HE Health,II Interests
 didtok rv 2 44 LF Lifestyles,MU Music,NW News,PR Peers,RL Religion,RM Romance,SP Sports,TN Teens
 didtok rv 9 44 US and Worldwide,United States only,Worldwide only
 did -c rv 2,9 1
}
on *:dialog:rv:sclick:2: { set %rvt.rms $gettok($did(2).seltext,1,32) | set %rvt.cat $gettok($did(2).seltext,2-,32) }
on *:dialog:rv:sclick:9: {
 if ($did(9).sel == 2) { unset %rvt.ww | set %rvt.us 1 }
 elseif ($did(9).sel == 3) { unset %rvt.us | set %rvt.ww 1 }
 else { unset %rvt.ww %rvt.us }
}
on *:dialog:rv:sclick:5: { did -r rv 1 | msnrlist }
on *:dialog:rv:sclick:6: { sockclose rvooms* | unset %rv.* | did -ra rv 4 %rvt.cat Room List Loaded $iif(%rvt.us,- (United States)) $iif(%rvt.ww,- (Worldwide)) }
on *:dialog:rv:sclick:8: { if ($did(8).state == 1) { set %rvt.uro 1 } | else { unset %rvt.uro } }
on *:dialog:rv:sclick:1: { clipboard $gettok($did(1).seltext,1,32) | did -ra rv 4 $replace($s_rn($convert($gettok($did(1).seltext,1,32))),\b,$chr(32),\c,$chr(44)) }
on *:dialog:rv:sclick:10: {
 if ($left($gettok($did(1).seltext,1,32),2) != $chr(37) $+ $chr(35)) { echo -s Please Choose a room from the list to join it }
 else { join $gettok($did(1).seltext,1,32) }
}
on *:dialog:rv:sclick:12: {
 :num
 set %rv.pgs $$input(Enter page number to (re)Load:,e,Enter Page Number)
 if ($len(%rv.pgs) < 3) && (%rv.pgs isnum) {
   dialog -v rv | set %rv.vrt2 1 | did -r rv 1 | sockopen rvooms $+ %rv.pgs chat.msn.com 80 | unset %rvt.ww %rvt.us | did -c rv 9 1
   did -a rv 1 -----Page $+ $chr(160) $+ %rv.pgs | did -ra rv 4 Loading the %rvt.cat Room List Page %rv.pgs
 }
 else { goto num }
}
on *:dialog:rv:close:0: { sockclose rvooms* | unset %rv.* %rvt.* }
alias -l s_rn { if ($len($1) > 80) { return $right($1,80) } | else { return $1 } }
alias -l msnrlist { unset %rv.* | sockopen rvooms1 chat.msn.com 80 | did -ra rv 4 Loading the $iif(%rvt.us,United States) $iif(%rvt.ww,Worldwide) %rvt.cat Room List... }
on *:sockopen:rvooms*: {
 if ($sockname == rvooms1) { sockwrite -n rvooms1 GET /find.msnw?cat= $+ %rvt.rms HTTP/1.1 | unset %rv.pgs }
 else { sockwrite -tn $sockname GET $+(/find.msnw?cat=,%rvt.rms,&page=,$gettok(%rv.pgs,1,32)) HTTP/1.1 | set %rv.vrt2 1 | %rv.pgs = $deltok(%rv.pgs,1,32) }
 sockwrite -n $sockname Accept: */* $+ $crlf $+ Accept-Language: en-us $+ $crlf $+ User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
 sockwrite -n $sockname Host: chat.msn.com $+ $crlf $+ Connection: close $+ $crlf $+ $crlf
}
on *:sockread:rvooms*: {
 :sockread
 bunset &rv
 sockread -n &rv
 if ($sockbr == 0) { return }
 if (!%rv.vrt2) {
   if ($bfind(&rv,1,class=descwlinks>List)) {
     %rv.uw = $bfind(&rv,1,List chat rooms created on: the) | %rv.uwl = $bvar(&rv,%rv.uw,160).text | set %rv.wwl $gettok($gettok(%rv.uwl,4,34),3,61) | unset %rv.uw*
 } }
 if ($bfind(&rv,1,$+($chr(9),<,/,TD,>))) && (%rv.cn == 1) { set %rv.chatl $bfind(&rv,1,$+($chr(9),<,/TD,>)) | set %rv.np 1 | goto chan }
 if (!$bfind(&rv,1,<a href="/chatroom.msnw?)) { if ($bvar(&rv,0) > 850) { goto sockread } | set %rv.r $bvar(&rv,1,160).text }
 if (!%rv.vrt2) {
   if ($+(*href*find,$chr(46),msnw,?,cat*page*) iswm %rv.r) && (Next !isin %rv.r) { set %rv.pn 1 | goto sockread }
   if (%rv.pn == 1) && ($gettok(%rv.r,1,32) isnum) { set %rv.pn 0 | set %rv.pgs %rv.pgs $gettok(%rv.r,1,32) | goto sockread }
 }
 if (%rv.wwl) && (%rv.pgs) {
   if (%rvt.us) && ($mid($sockname,7) >= %rv.wwl) { sockclose $sockname | unset %rv.pgs | mnextpage | return }
   if (%rvt.ww) && ($mid($sockname,7) < %rv.wwl) { sockclose $sockname | mnextpage | return }
 }
 if ($bfind(&rv,1,<a href="/chatroom.msnw?)) { set %rv.chatl $bfind(&rv,1,<a href="/chatroom.msnw?) }
 if (*img src*users.gif*Room*Topic*Language* iswm $bvar(&rv,1,%rv.chatl).text) {
   set %rv.su1 $left($gettok($bvar(&rv,1,%rv.chatl).text,-3,62),-4) | set %rv.cn 1 | goto sockread
 }
 :chan
 if (!%rv.cn) { goto sockread }
 set %rv.v $bvar(&rv,1,%rv.chatl).text | set %rv.sc $mid($gettok(%rv.v,1,60),6,-5) | set %rv.su %rv.su1
 if (!%rv.np) { set %rv.su1 $mid($gettok(%rv.v,13,60),20) }
 if (%rvt.uro) { if ($bfind(&rv,1,images/msn_room.gif")) { goto sockread } }
 set %rv.st $mid($gettok(%rv.v,7,60),20) | set %rv.sl $mid($gettok(%rv.v,9,60),20)
 if (%rv.sl == English) { did -a rv 1 $chr(37) $+ $chr(35) $+ $replace(%rv.sc,$chr(32),\b,$chr(44),\c) $str($chr(160),7) $iif($bfind(&rv,1,images/msn_room.gif"),<-BUTTERFLY->) ( $+ %rv.su $+ )- $+ $chr(91) $iif(%rv.st,$convert(%rv.st),$chr(45)) $chr(93) }
 unset %rv.v | bunset &rv
 if (%rv.np == 1) { sockclose $sockname | mnextpage | return }
 goto sockread
}
alias -l mnextpage {
 if (%rv.pgs) {
   if (!%rv.vrt2) {
     if (%rvt.us) { set %rv.pgs $gettok(%rv.pgs,1- $+ $calc($findtok(%rv.pgs,%rv.wwl,1,32) - 1),32) }
     if (%rvt.ww) { set %rv.pgs $gettok(%rv.pgs,$calc(%rv.wwl - 1) $+ - $+ $numtok(%rv.pgs,32),32) }
   }
   if ($left($did(rv,1,$did(rv,1).lines).text,1) == -) { noEoU }
   unset %rv.r | set %rv.np 0 | set %rv.cn 0 | .timer -m 1 1 sockopen rvooms $+ $gettok(%rv.pgs,1,32) chat.msn.com 80
   did -ra rv 4 Loading the $iif(%rvt.us,United States) $iif(%rvt.ww,Worldwide) %rvt.cat Room List $iif(%rvt.ww,from) Page $gettok(%rv.pgs,1,32) $iif(%rvt.ww,to,of) $gettok(%rv.pgs,$numtok(%rv.pgs,32),32) $+ ...
   did -a rv 1 -----Page $+ $chr(160) $+ $gettok(%rv.pgs,1,32) | did -z rv 1
 }
 else {
   unset %rv.* | did -ra rv 4 %rvt.cat Room List Loaded $iif(%rvt.us,- (United States)) $iif(%rvt.ww,- (Worldwide)) | did -z rv 1
   if ($did(rv,1).lines == 0) || ($left($did(rv,1,$did(rv,1).lines).text,1) == -) { noEoU }
} }

alias -l noEoU { did -a rv 1 $replace(No English only or User created Rooms were found in $right($did(rv,1,$did(rv,1).lines).text,-5),$chr(32),$chr(160)) }

 

vawluum says that its strange that no one ever really payed attention to his stuff way back then and how people get all excited when somebody else does it.

but i think its because he doesnt really talk too much and doesnt like too much attention that he doesnt go around saying to everybody, hey look what i did!!! and post like 2 or 3 different screenshots of it in action.

but hes a cool guy when you get to know him, really funny sometimes.

Love You Man!!!

Edited Dec 26, 2004 5:59 PM by b0st0n

this is the most helpfull addon you will ever find

 

on *:start: { .timer.help 1 10 help }

Edited Dec 26, 2004 11:29 PM by OZZY_10â„¢

My code does NOT have bugs. It just develops random features.