Suggestions

Talk about anything about MSN Messenger for mIRC or leave some comments.
Post Reply
clode
Posts: 3
Joined: Sun Oct 08, 2006 22:09 pm

Suggestions

Post by clode »

I have a few suggestions for MSN Messenger for mIRC:


#1 @Messenger
The messenger 'status' background is not that good and should be changeable without having to change MSN\bg.jpg. Also, the contact list should be (possible) listed like:

Group1
Contact Name One [BUSY] <email@mail.com>
Contact Two <another@email.com>
Contact Three [AWAY] <third@email.com>

Group2
First Contact in Group2 <group2@email.com>
Second Group Contact [IDLE] <idle@email.com>

... and so on.

Theres also another issue with the @Messenger status window, or it's rather the logon messages. I think it says a user logs on even though he only changes his status: If it had been an option to turn it off or on it would have been super.

#2 Conversation Windows

Should have a timestamp on when people "has joined the conversation" and should have a "user has logged off", not only in the status window. This can be confusing if you are talking with someone. And if possible: "user have closed the window".


Anyway, thanks for this lovely addon. - Just a few suggestions that would have convinced me to use this over MSN Live Messenger and MSN messager 7.5 anyday!

- clode
clode
Posts: 3
Joined: Sun Oct 08, 2006 22:09 pm

Post by clode »

Oh, here is a suggestion on how I would have fix the logging off message issue:
Starting at line #243 in msn\msn.mrc

if ( $left(%msn.data,3) == FLN ) {
set %msn.temp $gettok($line(@Messenger,$fline(@Messenger,*< $+ $gettok(%msn.data,2,32) $+ >,1,1),1),1,60)
set %msn.temp $mid($gettok($line(@Messenger,$fline(@Messenger,*< $+ $gettok(%msn.data,2,32) $+ >,1,1),1),1,60),3)
set %msn.temp $left(%msn.temp,$calc($len(%msn.temp)-4))

if ($window(@ $+ $gettok(%msn.data,2,32) )) {
echo 10 $window(@ $+ $gettok(%msn.data,2,32) ) $timestamp *** %msn.temp logged off!
}


aline @Messenger $timestamp 4 $+ %msn.temp logged off.
dline -l @Messenger $fline(@Messenger,*< $+ $gettok(%msn.data,2,32) $+ >,1,1)
}

For getting "logged on" message into the chat window aswell:
Starts at line 224 I believe, same file.

if ( $left(%msn.data,3) == NLN ) {
set %msn.nick $gettok(%msn.data,4-,32)
set %msn.temp4 $calc($numtok(%msn.nick,32)-1)
set %msn.nick $gettok(%msn.nick,1 - %msn.temp4 ,32)

if ($window(@ $+ $gettok(%msn.data,3,32) )) {
echo 10 $window(@ $+ $gettok(%msn.data,3,32) ) $timestamp *** %msn.nick logged on!
}
I have also found the cause of the constant spamming "logging on" messages:

%msn.nick %msn.data
MSN Name ------- NLN PHN some@email.com MSN Name 0000000000
MSN Name ------- NLN NLN some@email.com MSN Name 0000000000
MSN Name ------- NLN BSY some@email.com MSN Name 0000000000

Code: Select all

  if ( $left(%msn.data,3) == NLN ) {  
When he is changing his status from PHN (phone) to "online" in this case you will get the "logged on" message. You could make some temporary variables for each email address and change the value in that variable when he logs off or on for the first time, you need to set all these variables and make a script on the start that saves all of the current online list. This shouldn't be to complex.
clode
Posts: 3
Joined: Sun Oct 08, 2006 22:09 pm

Post by clode »

Ah, getting the logon message not to be there when a person changed his status to "online" was kind of tricky, but this code should work:

alias msn {
unset %xmsn*
dialog -m connect connect

if ( %msn.rememberpass == 1 ) { did -c connect 9 }
}

(...)


if ( $left(%msn.data,3) == ILN ) {
set %msn.nick $gettok(%msn.data,5-,32)
set %msn.temp4 $calc($numtok(%msn.nick,32)-1)#
set %msn.nick $gettok(%msn.nick,1 - %msn.temp4 ,32)
set $($+(%,xmsn.,$gettok(%msn.data,4,32)),1) TRUE

(...)



if ($left(%msn.data,3) == NLN ) {

set %msn.nick $gettok(%msn.data,4-,32)
set %msn.temp4 $calc($numtok(%msn.nick,32)-1)
set %msn.nick $gettok(%msn.nick,1 - %msn.temp4 ,32)

if ($($+(%,xmsn.,$gettok(%msn.data,3,32)),2) == TRUE) {
goto nextjumpweho
}
set $($+(%,xmsn.,$gettok(%msn.data,3,32)),1) TRUE
if ($window(@ $+ $gettok(%msn.data,3,32) )) {
echo 10 $window(@ $+ $gettok(%msn.data,3,32) ) $timestamp *** %msn.nick logged on!
}


;echo -a %msn.nick ------- %msn.data
if ( $gettok(%msn.data,2,32) == NLN ) {
if ( $fline(@Messenger,*< $+ $gettok(%msn.data,3,32) $+ >,1,1) == $null ) { aline -l @Messenger 3 $+ %msn.nick 15< $+ $gettok(%msn.data,3,32) $+ > | goto willy }
rline -l @Messenger $fline(@Messenger,*< $+ $gettok(%msn.data,3,32) $+ >,1,1) 3 $+ %msn.nick 15< $+ $gettok(%msn.data,3,32) $+ >
:willy
if ( Messenger !isin $active ) && ( %msn.showlogon == $true ) { echo -a 7 $+ %msn.nick has logged on. }
aline @Messenger $timestamp 7 $+ %msn.nick has logged on.
if ( %msn.sounds == on ) { splay $shortfn($scriptdir) $+ blip.wav }
}

:nextjumpweho

(...)



if ( $left(%msn.data,3) == FLN ) {
set %msn.temp $gettok($line(@Messenger,$fline(@Messenger,*< $+ $gettok(%msn.data,2,32) $+ >,1,1),1),1,60)
set %msn.temp $mid($gettok($line(@Messenger,$fline(@Messenger,*< $+ $gettok(%msn.data,2,32) $+ >,1,1),1),1,60),3)
set %msn.temp $left(%msn.temp,$calc($len(%msn.temp)-4))

if ($window(@ $+ $gettok(%msn.data,2,32) )) {
echo 10 $window(@ $+ $gettok(%msn.data,2,32) ) $timestamp *** %msn.temp logged off!
}

aline @Messenger $timestamp 4 $+ %msn.temp logged off.
unset $($+(%,$gettok(%msn.data,2,32)),1)
dline -l @Messenger $fline(@Messenger,*< $+ $gettok(%msn.data,2,32) $+ >,1,1)
}

The bold text is the code I have added, and this is with me working, even though there is a lot of variables in the mIRC variable tab.


Also: I noticed a bug that causes my mIRC client to crash when people have "\\" in their MSN names. Not sure what causing this.
Post Reply