Skip to content
MSN

Tutorial: noocx, how to edit Vincula.

A TG007 community discussion started by Warrior124.

Discussion 4 posts
Page 1 of 1
Open
Topic #3788 · 4 published posts · 597 views

In Vincula.mrc add this code to the beginning of the on *:SOCKOPEN:msn.look.*: { event...

 

sockwrite -tn $sockname IRCVERS IRC8 MSN-OCX!9.02.0310.2401 $crlf AUTH GateKeeper I $+(:GKSSP\0\0\0,$chr(3),\0\0\0,$chr(1),\0\0\0)

 

look for the

on *:SOCKREAD:msn.look.*: {

line. Then, below it look for this...

 

if ($4 = :OK) sockwrite -n $sockname $1-3 $+(:,$msn.authkey,$chr(10),USER * * "*" :nick,$chr(10),$iif(%msnpp.subscriberinfo,PROP $ SUBSCRIBERINFO : $+ %msnpp.subscriberinfo))

Edit: the code in some vinculas might look different to the one above.

 

Replace that entire line with this...

 

     if (:GKSSP* iswm $4) sockwrite -n $sockname $1-3 $mh.calc($4 $+ $sock($sockname).ip)
     elseif ($4 = :OK) sockwrite -n $sockname $1-3 $+(:,$msn.authkey,$chr(10),USER * * "*" :nick,$chr(10),$iif(%msnpp.subscriberinfo,PROP $ SUBSCRIBERINFO : $+ %msnpp.subscriberinfo))

Edit: Replace the first code with the ones above. This will help you connect even with non-sub accounts to the groups server.

 

Next, you will need the aliases to be able to use this. Just place these aliases into Vincula...

 

alias mh.calc {
 if (*:GKSSP* iswm $1-) {
   var %x, %re = .*:GKSSP\\0.*\\0\\0.*\\0\\0(.*), %y = $regsub($1-,%re,,%x)
   tokenize 32 $regml(1)
 }
 var %m
 bset &h1 1 101 100 112 123 125 101 124 119 120 114 100 115 101 125 125 117 $str(54 $+ $chr(32),48) $mh.tobin($1-)
 bset &h2 1 15 14 26 17 23 15 22 29 18 24 14 25 15 23 23 31 $str(92 $+ $chr(32),48) $mh.hex2bin($md5(&h1,1))
 return $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0,$mh.unhex($md5(&h2,1)))
}

alias mh.tobin {
 var %l 1, %r
 while (%l <= $len($1)) {
   if ($mid($1,%l,1) == \) {
     inc %l
     if ($mid($1,%l,1) == 0) %r = %r 0
     elseif ($mid($1,%l,1) == t) %r = %r 9
     elseif ($mid($1,%l,1) == n) %r = %r 10
     elseif ($mid($1,%l,1) == r) %r = %r 13
     elseif ($mid($1,%l,1) == b) %r = %r 32
     elseif ($mid($1,%l,1) == c) %r = %r 44
     elseif ($mid($1,%l,1) == \) %r = %r 92
   }
   else %r = %r $asc($mid($1,%l,1))
   inc %l
 }
 return %r
}

alias mh.hex2bin {
 var %l 1, %r

 while (%l <= $len($1)) {
   %r = %r $base($mid($1,%l,2),16,10)
   inc %l 2
 }
 return %r
}

alias mh.unhex {
 var %l 1, %r, %x $remove($1-,$chr(32))

 while (%l <= $len(%x)) {
   if ($mid(%x,%l,2) == 00) %r = %r $+ \0
   elseif ($mid(%x,%l,2) == 0A) %r = %r $+ \n
   elseif ($mid(%x,%l,2) == 0D) %r = %r $+ \r
   elseif ($mid(%x,%l,2) == 2C) %r = %r $+ \c
   elseif ($mid(%x,%l,2) == 09) %r = %r $+ \t
   elseif ($mid(%x,%l,2) == 5C) %r = %r $+ \\
   elseif ($mid(%x,%l,2) == 20) %r = %r $+ \b
   else %r = %r $+ $chr($base($mid(%x,%l,2),16,10))
   inc %l 2
 }
 return %r
}

 

And that is it. Special thanks to eXonyte for making the tutorial that helped me, and The Gate Keeper for letting me use it.

 

P.S.: Look for the aliases (msn.hackocx, msn.msnocx, and msn.resetocx), and take them out of Vincula. Then, just scan through Vincula, and take out all instances of "msn.resetocx" so that way you won't get any errors.

Edited Jun 14, 2005 2:32 AM by Warrior124

cool, thanks.. ill look it over

Okay, guys. I just now discovered that even though it wasn't using the msnchatx.ocx from my script it was using the msnchatx.ocx from another completely different script I had that uses ClearMSN as the connection. How? I have absolutely no idea, lol. I took the ocx out of clearmsn, and it caused my script that I was using Vincula NGen to not connect. So, disreguard this tutorial for now.

Edited Jun 13, 2005 8:21 PM by Warrior124

Okay, guys. I have really now made it ocxless, lol. There was one key code I forgot to add. Add this code to the beginning of the on *:SOCKOPEN:msn.look.*: { event...

 

sockwrite -tn $sockname IRCVERS IRC8 MSN-OCX!9.02.0310.2401 $crlf AUTH GateKeeper I $+(:GKSSP\0\0\0,$chr(3),\0\0\0,$chr(1),\0\0\0)

 

Everything else is right. I will add this to the tutorial part. Vincula NGen2.0.6 will be ready soon.