Skip to content
MSN

Vincula Connection Problems to My FHN Chat

A TG007 community discussion started by MikeB.

Discussion 3 posts
Page 1 of 1
Open
Topic #4023 · 3 published posts · 493 views

Hi. I'm having some problems connecting to My FHN Chat with a script that has been editted for that chat server. Although I did only take the connection from the script which I downloaded for the purpose of connecting the the server. When I added the connection script to a blank mIRC, It does the whole opening lookup server connections.... and stuff then it does Error 910: Authentication failed. When I attempt to update the profiles it wont update, I would like any help you could give me.

--------------- Coding ----------------

Below is the coding on the vincula script that has been editted for the FHN servers. If you find any mistakes please tell me.

 

;--- Vincula Neo (v4.9)

;--- http://exonyte.dyndns.org

;--- Tnx to Exonyte. Fixed for SIRCxServer (FHN/LOGChat/Napulee)

;--- by SiberianSTAR and further edited by Iniquity

 

;--- Aliases

 

if ($group(#debug).status == on) {

alias msn.sockwrite {

sockwrite $1-

if ($msn.ini(debug)) echo @debug sockwrite $1-

}

}

 

on *:exit:{

sockclose *

}

raw KNOCK:*: {

if ($2 == 913) echo $colour(info) -t $1 * Knock: $msn.ifdecode($nick) ( $+ $address $+ ) (Access Ban): $nick

elseif ($2 == 471) echo $colour(info) -t $1 * Knock: $msn.ifdecode($nick) ( $+ $address $+ ) (Room is full): $nick

elseif ($2 == 473) echo $colour(info) -t $1 * Knock: $msn.ifdecode($nick) ( $+ $address $+ ) (Room is invite only): $nick

elseif ($2 == 474) echo $colour(info) -t $1 * Knock: $msn.ifdecode($nick) ( $+ $address $+ ) (Banned): $nick

elseif ($2 == 475) echo $colour(info) -t $1 * Knock: $msn.ifdecode($nick) ( $+ $address $+ ) (Need room key): $nick

else echo $colour(info) -t $1 * Knock: $msn.ifdecode($nick) ( $+ $address $+ ) (Numeric: $2 $+ ): $nick

haltdef

}

 

if ($group(#debug).status == on) {

alias msndebug {

window @debug | msn.ini debug $true

}

}

 

alias msn {

if ($sock(msn.look.main) == $null) {

echo $color(info2) -at * Lookup servers resetting, please wait a moment and try again

msn.lookcon

return

}

 

if ($msn.ini(selpp) == $null) {

if ($1 == -c) tokenize 32 -cg $2-

elseif ($1 !isin -g -cg -gc) tokenize 32 -g $1-

}

 

var %x $1, %y $2, %g $false, %c $false, %s, %n

 

if ($server == $null) %msnc.newcon = $cid

else unset %msnc.newcon

 

if ($1 == -g) {

if ($len($remove($2,$chr(37) $+ $chr(35))) > 198) { echo $color(info2) -at * Couldn't join the room, the name is too long (must be 200 characters or less) | return }

else {

%n = %msnc.connick

%x = $$2

%y = $3

%g = $true

}

}

elseif ($1 == -c) {

if ($len($remove($2,$chr(37) $+ $chr(35))) > 198) { echo $color(info2) -at * Couldn't join the room, the name is too long (must be 200 characters or less) | return }

else {

%n = $msn.getnick(p)

%x = $$2

%y = $3

%c = $true

if (($calc($msn.ppdata($msn.ini(selpp),updated) + ($msn.ini(autouptime) * 3600)) < $ctime) && ($msn.ini(autoup))) {

%msnc.noask = $true

%msnc.connick = %n

%msnc.doconnect = msn -c $1-

msn.getpp

return

}

}

}

elseif (($1 == -cg) || ($1 == -gc)) {

if ($len($remove($2,$chr(37) $+ $chr(35))) > 198) { echo $color(info2) -at * Couldn't join the room, the name is too long (must be 200 characters or less) | return }

else {

%n = $msn.getnick(g)

%x = $$2

%y = $3

%g = $true

%c = $true

}

}

else {

if ($len($remove($1,$chr(37) $+ $chr(35))) > 198) { echo $color(info2) -at * Couldn't join the room, the name is too long (must be 200 characters or less) | return }

else {

 

if (($calc($msn.ppdata($msn.ini(selpp),updated) + ($msn.ini(autouptime) * 3600)) < $ctime) && ($msn.ini(autoup))) {

%msnc.noask = $true

%msnc.connick = %n

%msnc.doconnect = msn $1-

msn.getpp

return

}

}

}

 

if (?#* !iswm %x) %x = $+($chr(37),$chr(35),%x)

 

if ($hget(msn.999)) hfree msn.999

unset %msn*.999

unset %msnc.*

%msnc.jointime = $ticks

%msnc.looktime = $ticks

sockclose *.999

 

if ($server == $null) %msnc.newcon = $cid

else unset %msnc.newcon

 

hmake msn.999 1

if (%g) msn.set 999 guest %g

if (%n) msn.set 999 nick %n

msn.set 999 room $chr(37) $+ $chr(35) $+ $right($right(%x,-2),88)

msn.set 999 fullroom %x

msn.set 999 shortroom $left($chr(37) $+ $chr(35) $+ $right($right(%x,-2),88),60)

if (%y) msn.set 999 pass %y

msn.set 999 fname $msn.ini(font)

msn.set 999 fcolor $msn.ini(fcolor)

msn.set 999 fstyle $msn.ini(fstyle)

msn.set 999 fscriptf $msn.ini(script)

msn.set 999 fscript $gettok($msn.ini(script),$numtok($msn.ini(script),32),32)

if ($msn.ini(frand)) msn.set 999 frand $msn.ini(frand)

if ($msn.ini(decode)) msn.set 999 decode $msn.ini(decode)

if ($msn.ini(encode)) msn.set 999 encode $msn.ini(encode)

if ($msn.ini(docolor)) msn.set 999 docolor $true

if ($msn.ini(hjoin)) msn.set 999 hjoin $msn.ini(hjoin)

if ($msn.ini(hpart)) msn.set 999 hpart $msn.ini(hpart)

if ($msn.ini(hkick)) msn.set 999 hkick $msn.ini(hkick)

 

unset %msn*.999

sockclose msn*.999

 

if (%y) %msnp.qkey. [ $+ [ $right($msn.get(999,room),-2) ] ] = %y

 

if ((!%g) && (!%c)) msn.recent msn $right(%x,-2)

elseif ((%g) && (!%c)) msn.recent msn -g $right(%x,-2)

elseif ((!%g) && (%c)) msn.recent msn -c $right(%x,-2)

elseif ((%g) && (%c)) msn.recent msn -cg $right(%x,-2)

 

if (!%c) sockwrite -tn msn.look.main FINDS %x

else sockwrite -tn msn.look.comm FINDS %x

}

 

alias clone {

if ($sock(msn.look.main) == $null) {

echo $color(info2) -at * Lookup servers resetting, please wait a moment and try again

msn.lookcon

return

}

 

var %x $1, %y $2, %g $false, %c $false, %s, %n

 

%g = $msn.get($cid,guest)

%x = $msn.get($cid,fullroom)

 

if ($1 == -c) {

%n = $2

%y = $3

%c = $true

if (($calc($msn.ppdata($msn.ini(selpp),updated) + ($msn.ini(autouptime) * 3600)) < $ctime) && ($msn.ini(autoup)) && (!%g)) {

%msnc.doconnect = clone $1-

msn.getpp

return

}

}

else {

%n = $1

%y = $2

if (($calc($msn.ppdata($msn.ini(selpp),updated) + ($msn.ini(autouptime) * 3600)) < $ctime) && ($msn.ini(autoup)) && (!%g)) {

%msnc.doconnect = clone $1-

msn.getpp

return

}

}

 

if ($hget(msn.999)) hfree msn.999

unset %msn*.999

unset %msnc.*

%msnc.jointime = $ticks

%msnc.looktime = $ticks

sockclose *.999

 

hmake msn.999 1

if (%g) msn.set 999 guest %g

if (%n) msn.set 999 nick %n

msn.set 999 room $chr(37) $+ $chr(35) $+ $right($right(%x,-2),88)

msn.set 999 fullroom %x

msn.set 999 shortroom $left($chr(37) $+ $chr(35) $+ $right($right(%x,-2),88),60)

if (%y) msn.set 999 pass %y

msn.set 999 fname $msn.ini(font)

msn.set 999 fcolor $msn.ini(fcolor)

msn.set 999 fstyle $msn.ini(fstyle)

msn.set 999 fscriptf $msn.ini(script)

msn.set 999 fscript $gettok($msn.ini(script),$numtok($msn.ini(script),32),32)

if ($msn.ini(frand)) msn.set 999 frand $msn.ini(frand)

if ($msn.ini(decode)) msn.set 999 decode $msn.ini(decode)

if ($msn.ini(encode)) msn.set 999 encode $msn.ini(encode)

if ($msn.ini(hjoin)) msn.set 999 hjoin $msn.ini(hjoin)

if ($msn.ini(hpart)) msn.set 999 hpart $msn.ini(hpart)

if ($msn.ini(hkick)) msn.set 999 hkick $msn.ini(hkick)

 

disconnect

%msnc.newcon = $cid

 

if (%y) %msnp.qkey. [ $+ [ $right($msn.get(999,room),-2) ] ] = %y

 

if (!%c) sockwrite -tn msn.look.main FINDS %x

else sockwrite -tn msn.look.comm FINDS %x

}

 

; msn.ipjoin $cid roomip $me $msn.get(%s,fullroom)

alias msn.ipjoin {

if ($4) var %c = $1, %ip = $2, %n = $3, %g, %x = $$4

else var %ip = $1, %n = $2, %g, %x = $$3

if (>* iswm %n) %g = $true

 

if ($hget(msn.999)) hfree msn.999

unset %msn*.999

unset %msnc.*

%msnc.jointime = $ticks

sockclose *.999

 

hmake msn.999 1

if (%g) msn.set 999 guest %g

if (%n) msn.set 999 nick %n

msn.set 999 room $chr(37) $+ $chr(35) $+ $right($right(%x,-2),88)

msn.set 999 fullroom %x

msn.set 999 shortroom $left($chr(37) $+ $chr(35) $+ $right($right(%x,-2),88),60)

if (%y) msn.set 999 pass %y

msn.set 999 fname $msn.ini(font)

msn.set 999 fcolor $msn.ini(fcolor)

msn.set 999 fstyle $msn.ini(fstyle)

msn.set 999 fscriptf $msn.ini(script)

msn.set 999 fscript $gettok($msn.ini(script),$numtok($msn.ini(script),32),32)

if ($msn.ini(frand)) msn.set 999 frand $msn.ini(frand)

if ($msn.ini(decode)) msn.set 999 decode $msn.ini(decode)

if ($msn.ini(encode)) msn.set 999 encode $msn.ini(encode)

if ($msn.ini(docolor)) msn.set 999 docolor $true

if ($msn.ini(hjoin)) msn.set 999 hjoin $msn.ini(hjoin)

if ($msn.ini(hpart)) msn.set 999 hpart $msn.ini(hpart)

if ($msn.ini(hkick)) msn.set 999 hkick $msn.ini(hkick)

 

unset %msn*.999

sockclose msn*.999

 

if (%c) %msnc.newcon = %c

else unset %msnc.newcon

 

socklisten msn.mirc.in $rand(10000,30000)

if (%msnc.newcon) scid %msnc.newcon server 127.0.0.1 $sock(msn.mirc.in).port

else server -m 127.0.0.1 $sock(msn.mirc.in).port

sockopen msn.server.999 %ip 6668

var %port = $rand(2000,9000)

while (!$portfree(%port)) inc %port

socklisten msn.client.rmc %port

}

 

alias join {

if ((!$server) || (($msn.get($cid,fullroom) != $1) && ($sock(msn.server. $+ $cid)))) msn $1-

else join $1-

}

 

alias joinhex {

if (($1 == -g) || ($1 == -c) || ($1 == -cg) || ($1 == -gc)) msn $1 $msn.unhex($2) $3

else msn $msn.unhex($1) $2

}

 

alias joins {

if ($msn.decode($1-) == $1-) tokenize 32 $msn.encode($1-)

if ($1 == -k) msn $replace($3-,$chr(32),\B) $2

elseif (($1 == -g) || ($1 == -c) || ($1 == -cg) || ($1 == -gc)) msn $1 $replace($2-,$chr(32),\b,$chr(44),\c)

elseif (($1 == -gk) || ($1 == -kg)) msn -c $replace($3-,$chr(32),\b,$chr(44),\c) $2

elseif (($1 == -ck) || ($1 == -kc)) msn -c $replace($3-,$chr(32),\b,$chr(44),\c) $2

elseif ((-??? iswm $1) && (c isin $1) && (g isin $1) && (k isin $1)) msn -cg $replace($3-,$chr(32),\b,$chr(44),\c) $2

else msn $replace($1-,$chr(32),\b,$chr(44),\c)

}

 

alias joinurl {

if (($1 == -g) || ($1 == -c) || ($1 == -cg) || ($1 == -gc)) {

var %x = $replace($msn.urldecode($2-),$chr(32),\B)

if (rhx= isin $gettok(%x,2-,63)) joinhex $1 $remove($wildtok($gettok(%x,2-,63),rhx=*,1,38),rhx=) $3

elseif (rm= isin $gettok(%x,2-,63)) msn $1 $remove($wildtok($gettok(%x,2-,63),rm=*,1,38),rm=) $3

else echo $color(info) -ta * Couldn't find a room name in the URL

}

else {

var %x = $replace($msn.urldecode($1-),$chr(32),\B)

if ($isid) {

if (rhx= isin $gettok(%x,2-,63)) return $remove($wildtok($gettok(%x,2-,63),rhx=*,1,38),rhx=)

elseif (rm= isin $gettok(%x,2-,63)) return $msn.tohex($remove($wildtok($gettok(%x,2-,63),rm=*,1,38),rm=))

}

else {

if (rhx= isin $gettok(%x,2-,63)) joinhex $remove($wildtok($gettok(%x,2-,63),rhx=*,1,38),rhx=) $2

elseif (rm= isin $gettok(%x,2-,63)) msn $remove($wildtok($gettok(%x,2-,63),rm=*,1,38),rm=) $2

else echo $color(info) -ta * Couldn't find a room name in the URL

}

}

}

 

alias hop {

if ($window($msn.get($cid,room))) sockwrite -tn msn.server. $+ $cid PART $msn.get($cid,fullroom)

if ($msn.ini(usepass)) var %p = $msn.roompass($msn.get($cid,room))

sockwrite -tn msn.server. $+ $cid JOIN $msn.get($cid,fullroom) %p

}

 

alias find {

if (!$1) dialog -m msn.faf msn.faf

else {

%msnc.findnick = $1-

sockwrite -tn msn.look.main FINDU $1-

}

}

 

alias msndecode {

if ($1 == on) msn.set $cid decode $true

else msn.unset $cid decode

echo $color(info2) -ta * MSN Decode is now $iif($msn.get($cid,decode),on,off)

}

 

alias msnencode {

if ($1 == on) msn.set $cid encode $true

else msn.unset $cid encode

echo $color(info2) -ta * MSN Encode is now $iif($msn.get($cid,encode),on,off)

}

 

alias msncolor {

if ($1 == on) msn.set $cid docolor $true

else msn.unset $cid docolor

echo $color(info2) -ta * MSN Colorizing is now $iif($msn.get($cid,docolor),on,off)

}

 

alias msncolour msncolor $1-

 

alias msn.recent {

if ($isid) {

if ($2 == 1) {

if (-g == $gettok(%msnr. [ $+ [ $1 ] ] ,2,32)) {

if ($len($gettok(%msnr. [ $+ [ $1 ] ] ,3,32)) > 60) return $chr(160) $+ ... $+ $right($gettok(%msnr. [ $+ [ $1 ] ] ,3,32),60) (guest)

else return $$gettok(%msnr. [ $+ [ $1 ] ] ,3,32) (guest)

}

elseif (-c == $gettok(%msnr. [ $+ [ $1 ] ] ,2,32)) {

if ($len($gettok(%msnr. [ $+ [ $1 ] ] ,3,32)) > 60) return $chr(160) $+ ... $+ $right($gettok(%msnr. [ $+ [ $1 ] ] ,3,32),60) (groups)

else return $$gettok(%msnr. [ $+ [ $1 ] ] ,3,32) (groups)

}

elseif ((-cg == $gettok(%msnr. [ $+ [ $1 ] ] ,2,32)) || (-gc == $gettok(%msnr. [ $+ [ $1 ] ] ,2,32))) {

if ($len($gettok(%msnr. [ $+ [ $1 ] ] ,3,32)) > 60) return $chr(160) $+ ... $+ $right($gettok(%msnr. [ $+ [ $1 ] ] ,3,32),60) (groups, guest)

else return $$gettok(%msnr. [ $+ [ $1 ] ] ,3,32) (groups, guest)

}

else {

if ($len($gettok(%msnr. [ $+ [ $1 ] ] ,2,32)) > 60) return $chr(160) $+ ... $+ $right($gettok(%msnr. [ $+ [ $1 ] ] ,2,32),60) (normal)

else return $$gettok(%msnr. [ $+ [ $1 ] ] ,2,32) (normal)

}

}

else return %msnr. [ $+ [ $1 ] ]

}

else {

var %l 1, %i 9, %o 10

while (%l <= 10) {

if (%msnr. [ $+ [ %l ] ] == $1-) {

%i = $calc(%l - 1)

%o = %l

}

inc %l

}

while (%i >= 1) {

%msnr. [ $+ [ %o ] ] = %msnr. [ $+ [ %i ] ]

dec %i

dec %o

}

%msnr.1 = $1-

}

}

 

alias msn.set {

if (msn.*.* iswm $1) hadd msn. $+ $gettok($$1,3,46) $$2-

else hadd msn. $+ $$1 $$2-

}

 

alias msn.unset {

if (msn.*.* iswm $1) hdel msn. $+ $gettok($$1,3,46) $$2

else hdel msn. $+ $$1 $$2

}

 

alias msn.clear {

if ((msn.*.* iswm $1) && ($hget(msn. $+ $gettok($1,3,46)))) hfree msn. $+ $gettok($1,3,46)

elseif ($hget(msn. $+ $1)) hfree msn. $+ $$1

}

 

alias msn.ren {

if ($hget(msn.999) != $null) {

var %old, %new, %l 1

 

if (msn.*.* iswm $1) %old = $gettok($1,3,46)

else %old = $1

 

if (msn.*.* iswm $2) %new = $gettok($2,3,46)

else %new = $2

 

if ($hget(msn. $+ %new)) hfree msn. $+ %new

hsave -o msn. $+ %old temp $+ %old $+ .txt

hmake msn. $+ %new 1

hload msn. $+ %new temp $+ %old $+ .txt

hfree msn. $+ %old

.remove temp $+ %old $+ .txt

 

sockrename msn.server. $+ %old msn.server. $+ %new

sockrename msn.mirc. $+ %old msn.mirc. $+ %new

scid %new .timer.noop. $+ %new -o 0 100 msn.noop %new

}

}

 

alias msn.noop {

if (($scid($1)) && ($sock(msn.server. $+ $1))) sockwrite -tn msn.server. $+ $1 NOOP

else .timer.noop. $+ $1 off

}

 

alias msn.geturl {

if ($chr(37) $+ $chr(35) $+ * !iswm $1-) {

if ($1 == h) var %x http://www.logchat.com/chatroom.php?rhx= $+ $msn.tohex($msn.get($cid,fullroom))

else var %x http://www.logchat.com/chatroom.php?rm= $+ $right($msn.get($cid,fullroom),-2)

}

else {

if ($2 == h) var %x http://www.logchat.com/chatroom.php?rhx= $+ $msn.tohex($1)

else var %x http://www.logchat.com/chatroom.php?rm= $+ $right($1,-2)

}

var %x = $replace(%x,\b,$chr(37) $+ 20)

if ($isid) return %x

echo $color(info2) -t * Room URL: %x

clipboard %x

}

 

alias msn.getpass {

var %o Owner key is unknown, %h Host key is unknown

if ($msn.ownerkey($1)) %o = Owner: $msn.ownerkey($1)

if ($msn.hostkey($1)) %h = Host: $msn.hostkey($1)

echo $color(info2) -t $1 * Last stored keys: %o / %h

}

 

alias pass {

if ($1) mode $me +h $1-

else mode $me +h $$input(Enter a password:,130,Password Entry)

}

 

alias msn.enchash {

var %in € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ †• – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À à Â Ã Ä Å Æ Ç È É Ê Ë Ì à Î à à Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü à Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

var %out € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ � • –  ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À � Â Ã Ä Å Æ Ç È É Ê Ë Ì � Î � � Ñ Ò Ó ÆÕ Ö × Ø Ù Ú Û Ü � Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

var %l 1

if ($hget(msn.enc)) hfree msn.enc

hmake msn.enc 13

while (%l <= 123) {

hadd msn.enc $gettok(%in,%l,32) $gettok(%out,%l,32)

inc %l

}

}

 

alias msn.vver return 4.9p

 

alias msn.getpp {

if ($timer(.msn.agpp) >= 1) {

echo $color(info2) -atq * Please wait until the Passport Updater is finished before trying to update again

return

}

if ($msn.ini(selpp) == $null) {

echo $color(info2) -atq * You must have a passport selected in order to update it!

return

}

var %p

if (%msnpp.passwd == $null) %p = $$input(Please enter the password for the %msnpp.email passport:,130,Enter Password)

else %p = %msnpp.passwd

if ($show) msn.dogetpp $msn.ini(selpp) %msnpp.email %p

else .msn.dogetpp $msn.ini(selpp) %msnpp.email %p

}

 

alias msnchat.update msn.getpp

 

alias msn.update {

if ($1- == $null) msn.getpp

else {

var %n, %e, %p

if ($1 == -p) {

%n = $replace($gettok($2-,1- $+ $calc($numtok($2-,32) - 1),32),$chr(32),$chr(160))

%p = $gettok($2-,$numtok($2-,32),32)

}

else {

%n = $replace($1-,$chr(32),$chr(160))

if ($msn.ppdata(%n,passwd) == $null) %p = $$input(Please enter the password for the %e passport:,130,Enter Password)

else %p = $msn.ppdata(%n,passwd)

}

%e = $msn.ppdata(%n,email)

if (%e == $null) {

echo $color(info2) -at * Can't update because Vincula doesn't know the " $+ %n $+ " passport

return

}

 

msn.dogetpp %n %e %p

}

}

 

;msn.dogetpp passport email password

alias msn.dogetpp {

%msnpp.lotime = $ticks

%msnpp.loupdate = $1

%msnpp.lourl = http://chat.myfhn.net/ui_login.php?&email= $+ $replace($2,@,$chr(37) $+ 40) $+ &pwd= $+ $3 $+ &ru=http://chat.myfhn.net/conduct.php&t=1

 

 

echo $color(info2) -atq * Updating the " $+ %msnpp.loupdate $+ " passport, please wait...

if ($window(@VinculaPPU)) window -c @VinculaPPU

window -ph @VinculaPPU

var %s $msn.ndll(attach,$window(@VinculaPPU).hwnd)

%s = $msn.ndll(handler,msn.hnd.getpp)

;if ($findfile($msn.registry(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\\Cookies),*passport*.txt,1)) %s = $msn.ndll(navigate,%msnpp.lourl)

;elseif ($findfile($msn.registry(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\\Directory),*passport*.txt,1))

;%s = $msn.ndll(navigate,http://login.passport.com/login.srf)

%s = $msn.ndll(navigate,%msnpp.lourl)

}

 

alias msn.doconnect %msnc.doconnect

 

alias msn.hnd.getpp {

var %s

if (navigate_begin == $2) {

 

 

}

elseif ($msn.ini(errcod) iswm $3-) {

var %r

.timer 1 0 window -c @VinculaPPU

if (http://*ec=e5a*'>http://*ec=e5a* iswm $3) %r = you gave the wrong password

elseif (http://*ec=e5b*'>http://*ec=e5b* iswm $3) %r = the e-mail address is not registered as a passport

elseif (http://*ec=e5d*'>http://*ec=e5d* iswm $3) %r = the e-mail address is invalid

elseif (http://*ec=e5e*'>http://*ec=e5e* iswm $3) %r = it's missing part of the e-mail

elseif (http://*ec=e1*'>http://*ec=e1* iswm $3) %r = you didn't give the whole e-mail or password

elseif (http://*ec=e2*'>http://*ec=e2* iswm $3) %r = you didn't give the e-mail address for passport

elseif (http://*ec=e3*'>http://*ec=e3* iswm $3) %r = you didn't give the password for the passport

else %r = of a reason unknown to Vincula

echo $color(info2) -at * Passport update for " $+ %msnpp.loupdate $+ " failed because %r ( $+ $calc(($ticks - %msnpp.lotime) / 1000) seconds)

unset %msnpp.loupdate

unset %msnpp.lotime

unset %msnc.*

return S_CANCEL

}

elseif (navigate_complete == $2) {

if ((*conduct.php* iswm $3-) && (*ui_login.php* !iswm $3-)) {

var %pt $right($wildtok($3,t=*,1,38),-2), %pp $right($wildtok($3,p=*,1,38),-2)

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate ticket %pt

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate profile %pp

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate updated $ctime

if (%msnpp.loupdate == $msn.ini(selpp)) {

%msnpp.ticket = %pt

%msnpp.profile = %pp

}

echo $color(info2) -at * Passport info for " $+ %msnpp.loupdate $+ " is now updated ( $+ $calc(($ticks - %msnpp.lotime) / 1000) seconds)

unset %msnpp.loupdate

unset %msnpp.lotime

unset %msnpp.lourl

}

}

return S_OK

}

 

alias msn.mgetpp {

if ($timer(.msn.agpp) >= 1) {

echo $color(info2) -at * Please wait until the Passport Updater is finished before trying to update again

return

}

if ($msn.ini(selpp) == $null) {

echo $color(info2) -at * You must have a passport selected in order to update it!

return

}

%msnpp.loupdate = $msn.ini(selpp)

msn.doppupdate " $+ $$sfile($scriptdir $+ *.*,Choose a file that contains your passport information) $+ "

}

 

alias msn.doppupdate {

var %f = $1-, %sp, %ep, %uc, %ut, %up, %p 1

 

bread -t %f %p 2000 &r

while ($bfind(&r,1,MSNREGCookie) == 0) {

inc %p $calc($bvar(&r,0) + 2)

bread -t %f %p 2000 &r

if (%p > $file(%f).size) goto notfound

}

%sp = $calc($bfind(&r,1,MSNREGCookie) + 22)

%ep = $calc($bfind(&r,%sp,34) - %sp)

%uc = $bvar(&r,%sp,%ep).text

 

%sp = $calc($bfind(&r,1,PassportTicket) + 23)

%ep = $calc($bfind(&r,%sp,34) - %sp)

%ut = $bvar(&r,%sp,%ep).text

 

%sp = $calc($bfind(&r,1,PassportProfile) + 24)

%ep = $calc($bfind(&r,%sp,34) - %sp)

%up = $bvar(&r,%sp,%ep).text

 

if ((%uc != $null) && (%ut != $null) && (%up != $null)) { goto found }

:notfound

echo $color(info2) -at * Passport information was not found or was incomplete in the file $nopath(%f) $+ !

return

 

:found

if (%msnpp.loupdate == $msn.ini(selpp)) {

%msnpp.cookie = %uc

%msnpp.ticket = %ut

%msnpp.profile = %up

}

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate cookie %uc

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate ticket %ut

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate profile %up

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate updated $ctime

 

echo $color(info2) -at * Passport information was found in the file $nopath(%f)

unset %msnpp.lo*

}

 

alias msn.getcookie {

if ($timer(.msn.agpp) >= 1) {

echo $color(info2) -atq * Please wait until the Passport Updater is finished before trying to update again

return

}

if ($msn.ini(selpp) == $null) {

echo $color(info2) -atq * You must have a passport selected in order to update it!

return

}

var %p

if (%msnpp.passwd == $null) %p = $$input(Please enter the password for the %msnpp.email passport:,130,Enter Password)

else %p = %msnpp.passwd

if ($show) msn.dogetcookie $msn.ini(selpp) %msnpp.email %p

else .msn.dogetcookie $msn.ini(selpp) %msnpp.email %p

}

 

alias msn.dogetcookie {

%msnpp.lotime = $ticks

%msnpp.loupdate = $1

%msnpp.lourl = https://loginnet.passport.com/ppsecure/post...TheLobby&login= $+ $replace($2,@,$chr(37) $+ 40) $+ &passwd= $+ $3

echo $color(info2) -atq * Updating the " $+ %msnpp.loupdate $+ " passport, please wait...

;var %s = $findfile($msn.registry(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\\Directory),*chatroom_ui*.msnw*,0,.remove " $+ $1- $+ ")

%msnpp.lofiletime = $ctime

if ($window(@VinculaPPU)) window -c @VinculaPPU

window -ph @VinculaPPU

var %s = $msn.ndll(attach,$window(@VinculaPPU).hwnd)

%s = $msn.ndll(handler,msn.hnd.cookie)

%s = $msn.ndll(navigate,%msnpp.lourl)

}

 

alias msn.hnd.cookie {

var %s

if ($2 == status_change) {

if (Start*https://*silent.srf* iswm $3-) {

%s = $msn.ndll(navigate,%msnpp.lourl)

return S_CANCEL

}

}

elseif (navigate_begin == $2) {

if ($msn.ini(errcod) iswm $3-) {

var %r

.timer 1 0 window -c @VinculaPPU

if (http://*ec=e5a* iswm $3) %r = you gave the wrong password

elseif (http://*ec=e5b* iswm $3) %r = the e-mail address is not registered as a passport

elseif (http://*ec=e5d* iswm $3) %r = the e-mail address is invalid

elseif (http://*ec=e5e* iswm $3) %r = it's missing part of the e-mail

elseif (http://*ec=e1* iswm $3) %r = you didn't give the whole e-mail or password

elseif (http://*ec=e2* iswm $3) %r = you didn't give the e-mail address for passport

elseif (http://*ec=e3* iswm $3) %r = you didn't give the password for the passport

else %r = of a reason unknown to Vincula

echo $color(info2) -at * Passport update for " $+ %msnpp.loupdate $+ " failed because %r ( $+ $calc(($ticks - %msnpp.lotime) / 1000) seconds)

unset %msnpp.loupdate

unset %msnpp.lotime

unset %msnc.*

return S_CANCEL

}

elseif ($msn.ini(switch) iswm $3-) {

%s = $msn.ndll(navigate,http://login.passport.com/logout.srf?id=486)

return S_CANCEL

}

elseif ($msn.ini(cookie) iswm $3-) {

%s = $msn.ndll(navigate,http://login.passport.com/login.srf)

return S_CANCEL

}

elseif ($msn.ini(login1) iswm $3-) {

%s = $msn.ndll(navigate,%msnpp.lourl)

return S_CANCEL

}

elseif ($msn.ini(lgout3) iswm $3-) {

.timer 1 0 window -c @VinculaPPU

return S_CANCEL

}

}

elseif (navigate_complete == $2) {

if ($msn.ini(lgout1) iswm $3) {

%s = $msn.ndll(navigate,%msnpp.lourl)

return S_CANCEL

}

}

elseif (document_complete == $2) {

if ($msn.ini(chatui) iswm $3-) {

;var %f = $findfile($msn.registry(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\\Directory),*chatroom_ui*.msnw*,1)

var %f = $findfile($msn.registry(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\\Directory),*chatroom_ui*.msnw*,0,.msn.cookie.file " $+ $1- $+ ")

if (%msnpp.locookiefile) {

.copy -o %msnpp.locookiefile $+(",$scriptdir,pptemp.dat")

%s = $msn.ndll(navigate,http://login.passport.com/logout.srf?id=2260)

.timer 1 0 msn.cookieupdate

return S_CANCEL

}

}

}

return S_OK

}

 

alias msn.cookie.file {

if (%msnpp.lofiletime < $file($1-).mtime) {

%msnpp.lofiletime = $file($1-).mtime

%msnpp.locookiefile = $1-

}

}

 

alias msn.cookieupdate {

var %f = $+(",$scriptdir,pptemp.dat"), %sp, %ep, %uc, %ut, %up, %p 1

 

bread -t %f %p 2000 &r

while ($bfind(&r,1,MSNREGCookie) == 0) {

inc %p $calc($bvar(&r,0) + 2)

bread -t %f %p 2000 &r

if (%p > $file(%f).size) goto notfound

}

%sp = $calc($bfind(&r,1,MSNREGCookie) + 22)

%ep = $calc($bfind(&r,%sp,34) - %sp)

%uc = $bvar(&r,%sp,%ep).text

 

%sp = $calc($bfind(&r,1,PassportTicket) + 23)

%ep = $calc($bfind(&r,%sp,34) - %sp)

%ut = $bvar(&r,%sp,%ep).text

 

%sp = $calc($bfind(&r,1,PassportProfile) + 24)

%ep = $calc($bfind(&r,%sp,34) - %sp)

%up = $bvar(&r,%sp,%ep).text

 

if ((%uc != $null) && (%ut != $null) && (%up != $null)) { goto found }

:notfound

echo $color(info2) -at * Passport update failed

return

 

:found

if (%msnpp.loupdate == $msn.ini(selpp)) {

%msnpp.cookie = %uc

%msnpp.ticket = %ut

%msnpp.profile = %up

}

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate cookie %uc

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate ticket %ut

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate profile %up

writeini $+(",$scriptdir,vpassport.dat") %msnpp.loupdate updated $ctime

 

echo $color(info2) -at * Passport info for " $+ %msnpp.loupdate $+ " is now updated ( $+ $calc(($ticks - %msnpp.lotime) / 1000) seconds)

unset %msnpp.lo*

.remove " $+ $scriptdir $+ pptemp.dat"

}

 

alias msn.loadpp {

tokenize 32 $replace($1-,$chr(32),$chr(160))

 

if ($msn.ppdata($$1,showprof) == $null) {

echo $color(info2) -atq * Couldn't load the passport named " $+ $1 $+ "

return

}

 

msn.ini selpp $1

%msnpp.nick = $msn.ppdata($1,nick)

%msnpp.email = $msn.ppdata($1,email)

%msnpp.passwd = $msn.ppdata($1,passwd)

%msnpp.cookie = $msn.ppdata($1,cookie)

%msnpp.ticket = $msn.ppdata($1,ticket)

%msnpp.profile = $msn.ppdata($1,profile)

%msnpp.showprof = $msn.ppdata($1,showprof)

echo $color(info2) -atq * Now using the " $+ $1 $+ " passport

}

 

alias msn.roomexists {

var %x %msnc.making

msn.clear 999

unset %msnc.*

if ($input(The room %x already exists $+ $chr(44) do you want to join the room?,136,Join Existing Room)) msn %x

}

 

alias msn.msnocx run regsvr32 /s $+(",$msn.registry(HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ActiveX Cache\\0),\MSNChat45.ocx")

 

alias msn.hackocx run regsvr32 /s $+(",$scriptdir,msnchatx.ocx")

 

alias msn.resetocx msn.hackocx | .timer 1 5 msn.msnocx

 

;--- Local Aliases

alias msn.sockerr {

if (msn.look.* iswm $1) {

.timer $+ $1 off

window -c @Vincula $+ $gettok($1,3,46)

.timer 1 1 msn.lookcon

}

else scid $activecid echo $color(kick) -at * Socket $2 error in $1 $+ : $sock($1).wsmsg

}

 

alias msn.setaways {

scid $1

var %aa 1, %fline

while ($hget(msn.setaways,%aa) != $null) {

if (-r * iswm $hget(msn.setaways,%aa)) {

%fline = $fline($msn.get($1,room),$right($hget(msn.setaways,%aa),-3),1,1)

if (%fline != $null) cline -lr $msn.get($1,room) %fline

}

else {

%fline = $fline($msn.get($1,room),$hget(msn.setaways,%aa),1,1)

if (%fline != $null) cline -l $color(gray) $msn.get($1,room) %fline

}

inc %aa

}

if ($hget(msn.setaways)) hfree msn.setaways

scid -r

}

 

alias msn.donav {

var %s, %x = $$1, %p = $$

}

 

alias -l msn.chklst.join scid $2 | if ($1 !ison $msn.get($2,room)) names $msn.get($2,room) | scid -r

alias -l msn.chklst.part scid $2 | if ($1 ison $msn.get($2,room)) names $msn.get($2,room) | scid -r

 

;--- Identifiers

alias msn.ndll return $dll($scriptdir $+ nHTMLn_2.92.dll,$$1,$2)

 

alias msn.ini {

if ($isid) return $readini($scriptdir $+ vincula.ini,n,main,$$1)

else {

if ($1 == -r) remini " $+ $scriptdir $+ vincula.ini" main $$2

else {

if ($2 == $null) remini " $+ $scriptdir $+ vincula.ini" main $$1

else writeini " $+ $scriptdir $+ vincula.ini" main $$1 $2-

}

}

}

 

alias msn.authkey return $base($len(%msnpp.ticket),10,16,8) $+ %msnpp.ticket $+ $base($len(%msnpp.profile),10,16,8) $+ %msnpp.profile

 

;This identifier was obtained from the mircscripts.org Snippets section.

;Very big thank you to Techster, who submitted it. Dude, you saved me alot

;of time!

;URL: http://www.mircscripts.org/comments.php?id=1225

alias msn.urldecode {

var %decode = $replace($eval($1-,1), +, $eval(%20,0))

while ($regex($eval(%decode,1), /\%([a-fA-F0-9]{2})/)) var %t = $regsub($eval(%decode,1), /\%([a-fA-F0-9]{2})/, $chr($base($regml(1),16,10)), %decode)

return $replace(%decode, $eval(%20,0), +)

}

 

; $msn.registry(<Key>\\<Value>)

alias msn.registry return $dll($scriptdir $+ registry.dll,GetKeyValue,$1)

 

alias msn.ud1 return $msn.registry(HKEY_CURRENT_USER\Software\Microsoft\MSNChat\4.0\\UserData1)

 

alias msn.decode {

var %r, %l 1

%r = $replacecs($1-,ï?‚,B,ï‚ ,-,ï€>,-,,-,ï€?,-,ï?…,E,ï?Æ’,C,ï??,A,ï?’,R,ï?‹,K,ï?¹,y,ﺘ,i,ﺉ,s,דּ,t,טּ,u,ﻉ,e,ï?«,k,ï?†,F,ï?µ,u,ï?§,g,Χ,X,,>,,$chr(37),,8,ï?¤,d,ï?­,m,ï?¨,h,ï»›,s,ï?‡,G,ï??,M,ï?¬,l,ï?³,s,ï?Ÿ,_,ï?â€,T,ï?²,r,ï?¡,a,ï?®,n,ï?£,c,ï?Â¥,e,ï?Ž,N,ï?¡,a,ï?´,t,ï?©,i,ï?¯,o,ï?®,n,ï?¦,f,ï?·,w,ï?Å“,\,ï?¼,|,ï?€,@,ï??,P,ï?„,D,,',, ,,$chr(40),,$chr(41),,*,,:,ï?›,[,ï??,],ï?°,p,,.)

%r = $replacecs(%r,ا,I,ή,n,ņ,n,Ω,n,»·,y,Ñ€,p,à,P,Ã…â„¢,r,Ñ…,x,Ä®,I,Ä»,L,ä,o,Ĉ,C,Ã…?,o,Å©,u,Å„,n,Ä¢,G,Å•,r,Å›,s,Ä·,k,Å–,R,×–,i,ε,e,×§,r,Ñ›,h,ü,m,ØŒ,·,Ä«,i,‘,‘,’,’,Û±,',Ä“,e,¢,¢,ï?“,S,•,•,ï??,O,ï?‰,I,Ά,A,ÑŠ,b,Å Ã,T,Φ,o,Â,b,Ñ?,r,Ã?,E,ô,A,ÃÅ¡,K,ÄŽ,D,ø,n,θ,o,ÃÅ“,M,Ç,I,â,T,Ä,e,Ǻ,A,ö,ö,ä,ä,–,–,·,·,Ö,Ö,Ü,Ü,Ë,Ë,Ñ•,s,Ä…,a,Ä­,i,ù,n,ò,b,þ,o,ш,w,Äž,G,Ä‘,d,÷,e,Ŧ,T,α,a,ÄŸ,g,ú,ú,Ã…â€,R,Ä„,A,ć,c,Ä?,Ã,ÃŽÅ¡,K,Ñž,y,µ,µ,Ã?,Ã,‹,‹,¦,¦,Õ,Õ,Ù,Ù,À,À,Π,N,Ò“,f,ΰ,u,Ä¿,L,Ã…?,o,Â,c,Ä‹,c,ħ,h,į,i,ŧ,t,Ζ,Z,Þ,Þ,þ,þ,ç,ç,á,á,¾,¾,ž,ž,Ç,Ç, $+ $chr(173),-,Ã?,Ã,…,…,¨,¨,ý,ý,ˉ,¯,â€?,â€,Û,Û,ì,ì,Ã?,p,έ,e,ó,r,à,à,È,È,¼,¼,ĵ,j,ã,ã,Ä™,e,ÅŸ,s,º,º,Ñ,Ñ,ã,ã,Æ,Æ,Ëš,°,ï,R,Ëœ,Ëœ,ÃŽ,ÃŽ,Ê,Ê,Ã?,Ã,Ã?,Ã,É,É,‡,‡,ÃŒ,ÃŒ,ª,ª,ó,ó,â„¢,â„¢,Ã’,Ã’,í,í,¿,¿,Ä,Ä,¶,¶,ü,ü,Æ’,Æ’,ð,ð,ò,ò,õ,õ,¡,¡,é,é,ß,ß,¤,¤,×,×,ô,ô,Å ,Å ,ø,ø,›,›,â,â,î,î,€,€,Å¡,Å¡,ï,ï,ÿ,ÿ,Ã…Æ’,N,©,©,®,®,û,û,†,†,°,°,§,§,±,±,è,è)

%r = $replacecs(%r,Ƥ,P,Ç,X,Ň,N,Û°,·,Ä´,J,Æ,I,Σ,E,ι,i,Ã…?,O,δ,o,×¥,y,ν,v,×¢,y,מ,n,Ž,Ž,Å‘,o,ÄŒ,C,Ä—,e,₤,L,Ã…Å’,O,ά,a,Ä ,G,Ω,O,Ã?,H,ể,e,ẵ,a,Ö,K,á»?,e,ế,e,á»—,o,Å«,u,â‚£,F,∆,a,Ắ,A,á»§,u,Ķ,K,Ť,T,Åž,S,ÃŽËœ,O,è,W,Î’,B,ß,N,ẅ,w,ﻨ,i,ﯼ,s,ÑŸ,u,Ñ’,h,¹,¹,Ỳ,Y,λ,a,á,C,à $+ $chr(173),E,Ű,U,Ī,I,Ä?,c,Äâ€,E,Ã…Å“,S,Ị,I,Ä?,g,Å€,l,Ñ—,i,Ù­,*,ʼn,n,Ħ,H,Ãâ€,A,ÃŽÅ“,M,Ñ‘,e,æ,U,Ñ?,e,“,“,Ñ„,o,у,y,Ñ?,c,ú,k,Ã…,Ã…,℞,R,ï “,I,ɳ,n,Ê—,c,â–«,·,Ñ“,r,ệ,e,ắ,a,ẳ,a,ů,u,Ľ,L,ư,u,·,·,Ë™,',η,n,â„“,l,Â?,?,Â?,?,Â?,?,×€,i,Ä¡,g,Å´,W,ÃŽâ€,A,ﮊ,J,μ,µ,Ÿ,Ÿ,Ä¥,h,β,ß,ì,b,ų,u,Ñâ€,e,É,w,ÄŠ,C,Ñ–,i,Å‚,l,Ç¿,o,∫,l,ż,z,Å£,t,æ,æ,≈,=,Ã…?,L,Å‹,n,Ú¯,S,Ä?,d,È,w,ÃÆ’,o,Ä£,g,Ή,H,ÃŽ?,i,Ò‘,r,κ,k,Ã…Å ,N,Å“,\,,/,¬,¬,щ,w,Û•,o,×?,o,³,³,½,½,İ,I,ľ,l,Ä•,e,Å¢,T,Ã…?,s,Å·,y,ľ,l,Ä©,i,Ãâ€,Ô,Ã…Å¡,S,Ĺ,L,ð,a,õ,e,Ρ,P,È,J,ÃŽ?,N,Ç»,a,Ñ’,h,ί,l,Å’,Å’,¯,¯,Ä?,a,ŵ,w,Â,Â,Ã,Ã,ý,H,ˇ,',¸,¸,Ì£,$chr(44),Ø·,b,Ó,Ó,Ãâ„¢,N,«,«,ù,ù,Ø,Ø,ê,ê)

%r = $replacecs(%r,²,²,û,n,Ñ‹,bl,ñ,6,ש,w,―,-,Ϊ,I,ï? ,`,Å­,u,ổ,o,Ǿ,Ø,ẫ,a,ầ,a,ï?±,q,Ẃ,W,Ĥ,H,á»?,o,−,-,ï?ž,^,ล,a,Äœ,G,ﺯ,j,Ù‰,s,ÃÆ’,r,ứ,u,â—?,·,Ã?,u,,0,,7,,",Ó©,O,Ç?,i,Ç‘,O,Æ ,O,,2,Ò¯,y,ï?¶,v,Ã?,A,≤,<,≥,>,ẩ,a,ï?ˆ,H,Ù¤,e,ﺂ,i,ÃÅ’,K,Ū,U,,;,ă,a,ĸ,k,Ć,C,Ĭ,I,ň,n,Ĩ,I,ÃŽâ„¢,I,Ϋ,Y,ï?Å ,J,ï?Ëœ,X,ï?½,$chr(125),ï?»,$chr(123),Ξ,E,ˆ,^,ï?–,V,ï?Å’,L,γ,y,ﺎ,i,ÃŽ?,o,ỳ,y,Ć,C,Ĭ,I,ĸ,k,Ŷ,y,๛,c,ỡ,o,๓,m,ﺄ,i,ï­Ž,G,Ŭ,U,Ä’,E,Ä‚,A,÷,÷, , ,‚,‚,„,„,ˆ,ˆ,‰,‰,ă,a,ï?¸,x,,=,Ù‚,J,,?,,-,â—Š,o,Ñ‚,T,Ä€,A,ï­‡,P,Ä–,E,Ę,E,ο,o,Ë,u,‼,!!,ט,u,ï®’,S,ç,y,Ã’?,r,Ä›,e,Ę,E,ĺ,I,Λ,a,ο,o,Ú,Ú,Ã…Ëœ,R,Ư,U,Å“,Å“,,-,â€â€,—,ห,n,ส,a,à¸?,g,Ψ,Y,Ẫ,A,À,n,Å…,N,Ø!,o,Ë,h,ợ,o,ĉ,c,â—¦,·,ﮎ,S,Ų,U,Õ,E,Ã…,S,Ûµ,o,ÙŠ,S,ب,u,Ø©,o,ئ,s,ļ,l,ı,i,Å—,r,ö,x,Î…,",ÃŽ,w,â–ª,·,ζ,l,é,W,฿,B,ỹ,y,ÃÅ ,i,Ã…Â¥,t,ÿ,n,´,´,Ú©,s,ï±¢,*,ξ,E,Ñœ,k,√,v,Ä,t,Ã?,Ã,£,£,ñ,ñ,Â¥,Â¥,ë,ë,Ã¥,Ã¥,ï?â„¢,Y,ÇŽ,a)

%r = $replacecs(%r,ằ,a, , ,Ο,O,₪,n,Ậ,A,ï‚£,£,,à,ï‚®,®,,á,ï‚©,©,,õ,á»?,o,â€?, ,Ö±,¸,Ö¾,-,הּ,n,ź,z,‌, ,Ù?,',๘,c,ฅ,m,Â?,?,,<,â–¼,v,ﻜ,S,â„®,e,ź,z,ậ,a,๑,a,ï¬?,fi,ÑŒ,b,ﺒ,.,ﺜ,:,ศ,a,ภ,n,à¹?,o,ะ,=,ï­†,y,ซ,i,‾,¯,∂,a,:,:,≠,=,,+,Ù…,r,ồ,o,Ử,U,Û,N,Ó’,A,Ọ,O,Ẅ,W,á»´,Y,ﺚ,u,ﺬ,i,ïº?,u,Å»,Z,ﮕ,S,ﺳ,w,ﯽ,u,ﺱ,uw,ﻚ,J,ïºâ€,a,,!,á»…,e,Ù„,J,ر,j,Ù€,_,ÃÅ’,o,â‚«,d,â„–,no,ữ,u,Äš,E,Æ,o,ï» ,I,ц,u,,Ã…,,N,ÃÅ ,H,Έ,E,ï?¾,~,ï?•,U,ạ,a,,1,,4,,3,ỉ,i,Ε,E,Ã?,U,Ùƒ,J,★,*,ï?¢,b,,$chr(35),,$,â—‹,o,ÑŽ,10,ỵ,y,áº?,w,Ò›,k,Ù¿,u,♂,o,ï­Š,n,Ù¥,o,ï®?,S,â?¿,n,ï»—,9,ị,i,Α,A, , ,ﻩ,o,ï»?,E,Ù†,u,ẽ,e,Ø«,u,ã…“,t,Ó›,e,Ó˜,E,ﻘ,o,Û·,v,שׁ,w,ụ,u,ÅŽ,O,Â?,?,á»±,u,J,J,ï½…,e,ï½?,a,ï¼®,N,(,$chr(40),ï¼ ,@,ï½€,`,.,.,′,',),$chr(41),â–¬,-,â—„,<,â–º,>,∑,E,Ö»,$chr(44),‬,|,‎,|,‪,|,‫,|,Ộ,O,ÃËœ,N,ï?—,W,ï?º,z)

%r = $replacecs(%r,ס,o,╳,X,Ù ,·,Ò’,F,Ã…,u,â€?,?,Ö¼,·,Çâ€,u,ผ,w,Ằ,A,Ấ,A,»,»,ﺖ,u,ố,o,ﮓ,S,ở,o,ﺕ,u,ï®â€,S, Ã’Å“,K,♦,·,‗,_,ﻈ,b,ฬ,w,אּ,x,ï‚­,-,ข,u,ท,n,Ờ,O,Ặ,A,á»­,u,Ễ,E,ਹ,J, Ù‡,o,â– ,·,Æ¡,o,ï?¿,,Ò£,h,Ã’Å¡,K,Ò²,X,Ò³,x,Ã’Å“,K,ع,E,Ú†,c,ч,y,ÃÂ¥,X,Ù¦,7,Ö½,.,ÙŽ,',Ö¿,',׃,:,á»?,o,Ò–,X,ÛŒ,s,ฬ,w,∙,·,Τ,T,â“’,c,â“?,a,ⓟ,p,â“â€,e,â“£,t,Ç?,A,ÃÂ¥,X,Ö³,.,ÛŒ,s,Ỉ,I,̉,',ï?Å¡,Z,á»?,o,ẹ,e,Ã’?,k,ﺖ,u,ố,o,ﮓ,S,ở,o,ﺕ,u,Ã’Å¡,K,ï?Å¡,Z,Ì•,',ââ€Å“,|,ââ€Â¤,|,Ø£,I,‹,,×?,x,ặ,a,Ç’,o,Ờ,O,☼,¤,×?,.,ï?Å¡,Z,ฤ,n,â‘·,4,⑵,2,â’ª,0,เ,i,☻,•,â• ,|,╦,n,Ã¥??,†,ấ,a,,‚,×,3,Ẵ,A,ÃŽ,y,Ź,Z,΄,',ˬ,$chr(40),À©,$chr(41),×—,n,Ở,O,á»â€,O,์,',à¹,g,Ã’,B,ã€?,[,】,],s,s,ï½?,m,ï½?,o,k,k,ï½—,w,d,d,Ũ,U,ï?‘,Q,↨,|,Ẩ,A,Ẽ,E,Ö¸,¸,ธ,s,Ùˆ,g,÷,e,ظ,b,ﺸ,…,Ñ,b,ï?-,m,ﻲ,…,Ù¾,u,غ,e,Ẩ,A,ẻ,e,Ò¹,y,ฆ,u,ฯ,-,ׂ, ,,-,ïƒ?,Ã,,ë,ת,n,Ù§,V,Ợ,O,Û?,I,Ûž,O,Û©,O,˼,:,À{,

return %r

}

 

alias msn.ifdecode {

if (($msn.get($cid,decode)) && ($sock(msn.*. $+ $cid,1) != $null)) return $msn.decode($1-)

else return $1-

}

 

alias msn.encode {

var %x, %l 1

while (%l <= $len($1-)) {

if ($hget(msn.enc,$mid($1-,%l,1)) != $null) %x = %x $+ $hget(msn.enc,$mid($1-,%l,1))

else {

if ($mid($1,%l,1) != $chr(32)) %x = %x $+ $mid($1-,%l,1)

else %x = %x $mid($1-,%l,1)

}

inc %l

}

return %x

}

 

alias msn.pass var %r | while ($len(%r) <= $iif($1,$calc($1 - 1),30)) %r = %r $+ $replace($chr($r(33,255)),$chr(44),.,:,.) | return %r

 

alias msn.tohex {

var %l 1, %r

while (%l <= $len($1-)) {

%r = %r $+ $base($asc($mid($1-,%l,1)),10,16,2)

inc %l

}

return %r

}

 

alias msn.unhex {

var %l 1, %r

while (%l <= $len($1-)) {

if (!$2) {

if ($mid($1-,%l,2) != 20) %r = %r $+ $chr($base($mid($1-,%l,2),16,10))

else %r = %r $chr($base($mid($1-,%l,2),16,10))

}

else %r = %r $+ $chr($base($mid($1-,%l,2),16,10))

inc %l 2

}

return %r

}

 

alias msn.roompass {

if ($1) {

if (%msnp.qkey. [ $+ [ $right($1,-2) ] ] != $null) return %msnp.qkey. [ $+ [ $right($1,-2) ] ]

return %msnp.okey. [ $+ [ $right($1,-2) ] ]

}

else {

if (%msnp.qkey. [ $+ [ $right($chan,-2) ] ] != $null) return %msnp.qkey. [ $+ [ $right($chan,-2) ] ]

return %msnp.okey. [ $+ [ $right($chan,-2) ] ]

}

}

 

alias msn.ownerkey {

if ($1) return %msnp.qkey. [ $+ [ $right($1,-2) ] ]

else return %msnp.qkey. [ $+ [ $right($chan,-2) ] ]

}

 

alias msn.hostkey {

if ($1) return %msnp.okey. [ $+ [ $right($1,-2) ] ]

else return %msnp.okey. [ $+ [ $right($chan,-2) ] ]

}

 

alias msn.get {

if (msn.*.* iswm $1) return $hget(msn. $+ $gettok($$1,3,46),$$2)

else return $hget(msn. $+ $$1,$$2)

}

 

alias msn.roomip {

if (!$1) return $hget(msn.roomip,$chan)

return $hget(msn.roomip,$$1)

}

 

alias msn.ppdata {

if (($1 == $null) && ($2 == $null)) return $null

return $readini($scriptdir $+ vpassport.dat,$1,$2)

}

 

alias msn.pticket {

if ($isid) return %msnpp.ticket

elseif ($1 == -t) %msnpp.ticket = $$2

else {

%msnpp.ticket = $$1

writeini $+(",$scriptdir,vpassport.dat") $msn.ini(selpp) ticket $1

}

}

 

alias msn.pprofile {

if ($isid) return %msnpp.profile

elseif ($1 == -t) %msnpp.profile = $$2

else {

%msnpp.profile = $$1

writeini $+(",$scriptdir,vpassport.dat") $msn.ini(selpp) profile $1

}

}

 

alias msn.pcookie {

if ($isid) return %msnpp.cookie

elseif ($1 == -t) %msnpp.cookie = $$2

else {

%msnpp.cookie = $$1

writeini $+(",$scriptdir,vpassport.dat") $msn.ini(selpp) cookie $1

}

}

 

;Converts default mIRC color numbers to MSN color codes

alias msn.mrctomsn {

if ($msn.get($2,frand)) tokenize 32 $rand(0,7)

 

if ($1 == 0) return $chr(1)

elseif ($1 == 1) return $chr(2)

elseif ($1 == 5) return $chr(3)

elseif ($1 == 3) return $chr(4)

elseif ($1 == 2) return $chr(5)

elseif ($1 == 7) return $chr(6)

elseif ($1 == 6) return $chr(7)

elseif ($1 == 10) return $chr(8)

elseif ($1 == 15) return $chr(9)

elseif ($1 == 4) return $chr(11)

elseif ($1 == 9) return $chr(12)

elseif ($1 == 8) return $chr(14)

elseif ($1 == 13) return $chr(15)

elseif ($1 == 11) return $chr(16)

elseif ($1 == 12) return \r

elseif ($1 == 14) return \n

else return $chr(2)

}

 

;Converts MSN color codes to default mIRC color numbers

alias msn.msntomrc {

if ($1 == $chr(1)) return 00

elseif ($1 == $chr(2)) return 01

elseif ($1 == $chr(3)) return 05

elseif ($1 == $chr(4)) return 03

elseif ($1 == $chr(5)) return 02

elseif ($1 == $chr(6)) return 07

elseif ($1 == $chr(7)) return 06

elseif ($1 == $chr(8)) return 10

elseif ($1 == $chr(9)) return 15

elseif ($1 == $chr(11)) return 04

elseif ($1 == $chr(12)) return 09

elseif ($1 == $chr(14)) return 08

elseif ($1 == $chr(15)) return 13

elseif ($1 == $chr(16)) return 11

elseif ($1 == \r) return 12

elseif ($1 == \n) return 14

else return 01

}

 

;--- Local Identifiers

alias msn.getnick {

if ($1 == p) {

if ($msn.ini(asknickp)) {

if (%msnpp.nick) {

if ($msn.ppdata($msn.ini(selpp),lvnick)) return %msnpp.nick

else return $msn.encode(%msnpp.nick)

}

elseif ((%msnpp.cookie) && (!%msnpp.nick)) return

elseif ((!%msnpp.cookie) && (!%msnpp.nick)) {

if ($me) return $iif(>* !iswm $me,$me,$right($me,-1))

var %n = $dialog(msn.name,msn.name)

if (%msnc.cancel) { unset %msnc.* | halt }

if (($msn.decode(%n) == %n) && (!%msnc.lnick)) %n = $msn.encode(%n)

if (!%n) halt

return %n

}

}

else {

var %n = $dialog(msn.name,msn.name)

if (%msnc.cancel) { unset %msnc.* | halt }

if (($msn.decode(%n) == %n) && (!%msnc.lnick)) %n = $msn.encode(%n)

if (!%n) {

if (%msnpp.nick) {

if ($msn.ppdata($msn.ini(selpp),lvnick)) return %msnpp.nick

else return $msn.encode(%msnpp.nick)

}

elseif ((%msnpp.cookie) && (!%msnpp.nick)) return

elseif ((!%msnpp.cookie) && (!%msnpp.nick)) {

if (%me) return $iif(>* !iswm $me,$me,$right($me,-1))

halt

}

}

return %n

}

}

elseif ($1 == g) {

if ($msn.ini(asknickg)) {

if (%msnpp.nick) {

if ($msn.ppdata($msn.ini(selpp),lvnick)) return %msnpp.nick

else return $msn.encode(%msnpp.nick)

}

elseif ($me) return $iif(>* !iswm $me,$me,$right($me,-1))

}

else {

set -u0 %msnc.guest $true

var %n = $dialog(msn.name,msn.name)

if (%msnc.cancel) { unset %msnc.* | halt }

if ($msn.decode(%n) == %n) %n = $msn.encode(%n)

if (%n) return %n

elseif (%msnpp.nick) {

if ($msn.ppdata($msn.ini(selpp),lvnick)) return %msnpp.nick

else return $msn.encode(%msnpp.nick)

}

elseif ($me) return $iif(>* !iswm $me,$me,$right($me,-1))

}

}

}

 

;--- Loadup

on *:LOAD: %msnc.dostart = $true

 

;--- Startup

on *:START: {

if (%msnc.dostart) {

if ($version < 6) {

echo $color(info2) -ta * Vincula will not work on any mIRC lower than version 6.0. Unloading now...

set -u5 %msnc.nostart $true

.timer 1 0 .unload -rs " $+ $script $+ "

halt

}

if (!%msnc.nostart) unset %msn*

elseif ($version <= 6.03) echo $color(info2) -ta * Vincula Neo is designed for mIRC v6.03 and above. It should work on your version (mIRC $version $+ ) but it is untested and may act strange.

echo $color(info2) -ta * Welcome to Vincula Neo (v $+ $msn.vver $+ )

echo $color(info2) -ta * Please read the instructions in the vincula.txt file!

echo $color(info2) -ta * Now performing initializations...

echo $color(info2) -ta * mIRC's internal self-flood protection is now enabled

.flood 300 10 4 0

var %st $true

if (!$msn.ini(decode)) msn.ini decode $true

if (!$msn.ini(usepass)) msn.ini usepass $true

}

if (%msnc.nostart) halt

unset %msnc.*

if (!$msn.ini(font)) msn.ini font $replace($gettok($msn.registry(HKEY_CURRENT_USER\Software\Microsoft\MSNChat\4.0\\FontName),1,59),$chr(32),\B)

if (!$msn.ini(fcolor)) msn.ini fcolor $msn.registry(HKEY_CURRENT_USER\Software\Microsoft\MSNChat\4.0\\FontColor)

if (!$msn.ini(fstyle)) msn.ini fstyle $calc($msn.registry(HKEY_CURRENT_USER\Software\Microsoft\MSNChat\4.0\\FontStyle) + 1)

if (!$msn.ini(script)) msn.ini script Western - 0

if (!%msnpp.showprof) %msnpp.showprof = 1

if (!$msn.ini(timereply)) msn.ini timereply $($asctime(m/dd/yyyy $+ $chr(44) h:nn:ss TT),0)

if (!$msn.ini(msnver)) msn.ini msnver 4.5

if (!$msn.ini(clsid)) msn.ini clsid F58E1CEF-A068-4c15-BA5E-587CAF3EE8C6

if (!$isfile($scriptdir $+ vfcache.dat)) msn.updatefonts

else {

if ($hget(msn.fonts)) hfree msn.fonts

hmake msn.fonts 30

hload msn.fonts " $+ $scriptdir $+ vfcache.dat"

}

msn.enchash

if ($msn.ini(debug)) window -h @debug

var %p = $iif($msn.ini(selpp),$msn.ini(selpp),none)

echo $color(info2) -st * Vincula Neo $msn.vver $chr(124) UD1: $msn.ud1 $chr(124) Current Passport: %p

if (!$msn.ini(msnchatx)) {

echo $color(info2) -ta * Installing MSNChatX OCX (if you become Guest_null please type /msn.msnocx in here and that should fix it)...

msn.ini msnchatx $true

msn.resetocx

}

;msn.hackocx

;msn.msnocx

if (!$msn.ini(ppinfo)) msn.ini ppinfo *.*.*/*t=*p=*

if (!$msn.ini(errcod)) msn.ini errcod *passport*ec=e*

if (!$msn.ini(switch)) msn.ini switch *passport*switchuser.srf*

if (!$msn.ini(cookie)) msn.ini cookie *passport*Cookies*.srf*

if (!$msn.ini(login1)) msn.ini login1 *passport*uilogin.srf*

if (!$msn.ini(lgout1)) msn.ini lgout1 *logout*id=486*

if (!$msn.ini(lgout2)) msn.ini lgout2 *logout*id=2260*

if (!$msn.ini(lgout3)) msn.ini lgout3 *msn*default.asp*

if (!$msn.ini(chatui)) msn.ini chatui *chatroom_ui*

msn.ini sip fhnetwork.ath.cx

if (!$msn.ini(gip)) msn.ini gip 207.68.167.251

hmake msn.roomip 3

if (%p != none) .msn.loadpp %p

if (%st) { msn.setup }

window -ph @VinculaHTML

%p = $msn.ndll(attach,$window(@VinculaHTML).hwnd)

msn.upchk

echo $color(info2) -st * Opening lookup server connections...

msn.lookcon

}

 

alias msn.lookcon {

if ($sock(msn.look.main) == $null) {

sockclose msn.client.*main

var %port = $rand(2000,5000)

while (!$portfree(%port)) inc %port

socklisten msn.client.lcmain %port

.timermsn.look.main 1 1 sockopen msn.look.main $msn.ini(sip) 6667

}

}

 

alias msn.relookcon {

echo $color(info2) -at * Resetting lookup server connections...

sockclose msn.look*

.timer*msn.look* off

msn.lookcon

}

 

;--- Displays

raw PROP:*: {

if ($2 == language) echo $color(info2) -ti2 $1 * $msn.ifdecode($nick) sets the room language to $gettok(English.French.German.Japanese.Swedish.Dutch.Korean.Chinese (Simplified).Portuguese.Finnish.Danish.Russian.Italian.Norwegian.Chinese (Traditional).Spanish.Czech.Greek.Hungarian.Polish.Slovene.Turkish.Slovak.Portuguese (Brazilian),$3,46) ( $+ $3 $+ )

else echo $color(info2) -ti2 $1 * $msn.ifdecode($nick) sets the $2 property to: $3-

}

 

raw 818:*: {

if ($3 == PUID) {

echo $color(info2) -at * Opening $msn.ifdecode($2) $+ 's profile...

var %m, %c, %x, %p http://www.logchat.com/profile.php?puid= $+ $4- , %w @Vincula - $+ $msn.ifdecode($2) $+ 's Profile

 

window -pk0 %w

%m = $msn.ndll(attach,$window(%w).hwnd)

%m = $msn.ndll(select,$window(%w).hwnd)

%m = $msn.ndll(handler,msn.hnd.prof)

%m = $msn.ndll(navigate,%p)

%msnc.stoppropend = $true

haltdef

}

elseif (($3 == MSNPROFILE) && ($window($msn.get($cid,room)))) {

if ($4 == 1) echo $color(info2) -t $msn.get($cid,room) * $msn.ifdecode($2) has a regular profile

elseif ($4 == 3) echo $color(info2) -t $msn.get($cid,room) * $msn.ifdecode($2) $+ 's profile says he is male

elseif ($4 == 5) echo $color(info2) -t $msn.get($cid,room) * $msn.ifdecode($2) $+ 's profile says she is female

elseif ($4 == 9) echo $color(info2) -t $msn.get($cid,room) * $msn.ifdecode($2) has a picture in his or her profile

elseif ($4 == 11) echo $color(info2) -t $msn.get($cid,room) * $msn.ifdecode($2) $+ 's profile has a picture, and says he is male

elseif ($4 == 13) echo $color(info2) -t $msn.get($cid,room) * $msn.ifdecode($2) $+ 's profile has a picture, and says she is female

else echo $color(info2) -t $msn.get($cid,room) * $msn.ifdecode($2) does not have a profile

%msnc.stoppropend = $true

haltdef

}

}

 

alias msn.hnd.prof {

if ($2 == new_window) return S_CANCEL

return S_OK

}

 

raw 819:*: {

if (%msnc.stoppropend) {

unset %msnc.stoppropend

haltdef

}

}

 

raw 822:*: {

echo $color(info2) -ti2 $comchan($nick,1) * $msn.ifdecode($nick) is now away: $1-

cline -l $color(gray) $comchan($nick,1) $fline($comchan($nick,1),$nick,1,1)

if ($window($nick) == $nick) echo $color(info2) -t $nick * $msn.ifdecode($nick) is now away: $1-

haltdef

}

 

raw 821:*: {

echo $color(info2) -ti2 $comchan($nick,1) * $msn.ifdecode($nick) has returned

cline -lr $comchan($nick,1) $fline($comchan($nick,1),$nick,1,1)

if ($window($nick) == $nick) echo $color(info2) -t $nick * $msn.ifdecode($nick) has returned

haltdef

}

 

 

 

raw KILL:*: {

halt

}

 

on *:INPUT:#: {

if (($msn.get($cid,decode)) && ((/* !iswm $1) || (/me == $1))) {

var %p = $left($nick($chan,$me).pnick,1)

if (%p == $left($me,1)) unset %p

if (/me != $1) {

echo $color(own) -ti2 $chan $+(<,$msn.ifdecode(%p $+ $me),>) $1-

if ($msn.get($cid,encode)) .msg $chan $msn.encode($1-)

else .msg $chan $1-

}

else {

echo $color(own) -ti2 * $msn.ifdecode(%p $+ $me) $2-

if ($msn.get($

i'm sorry but we do not offer assistance to connecting to other servers which are MSN-Clones. If you wish to seek help you should ask the website's help desk for help.