Shoutbox

[Question] Help with code... - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4)
+---- Forum: Scripting (/forumdisplay.php?fid=39)
+----- Thread: [Question] Help with code... (/showthread.php?tid=67611)

[Question] Help with code... by MicroWay on 10-24-2006 at 01:20 AM

Hello!!!

My second question of the day:

I have a simple "script" that displays how many contacts are online on PSM.

code:
var online;
var offline;
var percent;
var str;

function OnEvent_SigninReady(Email){
doIt(Email);
}

function OnEvent_ContactSignin(Email){
doIt(Email);
}

function OnEvent_ContactSignout(Email){
doIt(Email);
}

function OnEvent_Initialize(MessengerStart){
doIt(Messenger.MyEmail);
}

function doIt(Email){
str="";
online=0;
offline=0;
var Contacts = Messenger.MyContacts;
var e = new Enumerator(Contacts);
for(; !e.atEnd(); e.moveNext()) {
var Contact = e.item();
if(Contact.Status!=1&&Contact.Status!=0){
online++;
}
offline++;

}
percent = Math.round((online/offline)*100);
for(var i=0;i<percent;i++){
str=str.replace("-","|");
}
for(var a=0;a<=100;a++){
str=str.replace("-","");
}

percent2 = Math.round(100 - percent);
for(var i=0;i<percent;i++){
str=str.replace("-","|");
}
for(var a=0;a<=100;a++){
str=str.replace("-","");
}
str=str+" "+percent+"% of contacts Online ("+online+"/"+offline+")";
Messenger.MyPersonalMessage = str;
Debug.Trace(Email +" caused PSM to update");
}


How I can make it apeears after the message I have writed?

Example:

My original PSM -> Congratulations, Kelvin
The script will put -> 21% of contacts Online (21/46)

I want ->  Congratulations, Kelvin - 21% of contacts Online (21/46)

(The colors are just to help you understand me...)
RE: [Question] Help with code... by Ezra on 10-24-2006 at 02:38 AM

Just put the current psm in a variable and add it to the string that your code made.

code:
var psm = Messenger.MyPersonalMessage;
Messenger.MyPersonalMessage = psm + " " + str;

RE: [Question] Help with code... by deAd on 10-24-2006 at 02:39 AM

Actually Ezra, no need to do that. Just replace this line:

code:
Messenger.MyPersonalMessage = str;
with this:
code:
Messenger.MyPersonalMessage = Messenger.MyPersonalMessage + " - " + str;

RE: [Question] Help with code... by matty on 10-24-2006 at 03:15 AM

quote:
Originally posted by deAd
code:
Messenger.MyPersonalMessage = Messenger.MyPersonalMessage + " - " + str;

You phail!

That is going to show for instance:
quote:
Originally posted by Possible PSM
blah - 2 - 3 - 4 - 7 - 10
This is after it has run for a little bit. Store the Original PSM in a variable then set the psm as sOrgPSM + ' - ' str.
RE: [Question] Help with code... by MicroWay on 10-25-2006 at 08:05 PM

Thank's Ezra, Matty and deAd for the replies!!!
But now, with the line that Ezra pass me, when the script updates, it shows the Old PSM, the last number of contacts online and the new one... :S
Example:

Old PSM : Congratulations YYYY!!!
PSM after script is turned on : Congratulations YYYY!!! - 7% of contacts Online (3/13)
PSM after first update : Congratulations YYYY!!! - 7% of contacts Online (3/13) - 13% of contacts Online (5/13)

How can it be fixed???

If could help, here is the code again (updated)

code:
var online;
var offline;
var percent;
var str;

function OnEvent_SigninReady(Email){
doIt(Email);
}

function OnEvent_ContactSignin(Email){
doIt(Email);
}

function OnEvent_ContactSignout(Email){
doIt(Email);
}

function OnEvent_Initialize(MessengerStart){
doIt(Messenger.MyEmail);
}

function doIt(Email){
str="";
online=0;
offline=0;
var Contacts = Messenger.MyContacts;
var e = new Enumerator(Contacts);
for(; !e.atEnd(); e.moveNext()) {
var Contact = e.item();
if(Contact.Status!=1&&Contact.Status!=0){
online++;
}
offline++;

}
percent = Math.round((online/offline)*100);
for(var i=0;i<percent;i++){
str=str.replace("-","|");
}
for(var a=0;a<=100;a++){
str=str.replace("-","");
}

percent2 = Math.round(100 - percent);
for(var i=0;i<percent;i++){
str=str.replace("-","|");
}
for(var a=0;a<=100;a++){
str=str.replace("-","");
}
str=str+" "+percent+"% dos contatos Online ("+online+"/"+offline+")";
var psm = Messenger.MyPersonalMessage;
Messenger.MyPersonalMessage = psm + " -" + str;
Debug.Trace(Email +" caused PSM to update");
}


RE: [Question] Help with code... by Spunky on 10-25-2006 at 09:28 PM

code:
var online;
var offline;
var percent;
var str;
var oldPSM;

function OnEvent_SigninReady(Email){
doIt(Email);
}

function OnEvent_ContactSignin(Email){
doIt(Email);
}

function OnEvent_ContactSignout(Email){
doIt(Email);
}

function OnEvent_Initialize(MessengerStart){
doIt(Messenger.MyEmail);
oldPSM = Messenger.MyPersonalMessage
}

function doIt(Email){
str="";
online=0;
offline=0;
var Contacts = Messenger.MyContacts;
var e = new Enumerator(Contacts);
for(; !e.atEnd(); e.moveNext()) {
var Contact = e.item();
if(Contact.Status!=1&&Contact.Status!=0){
online++;
}
offline++;

}
percent = Math.round((online/offline)*100);
for(var i=0;i<percent;i++){
str=str.replace("-","|");
}
for(var a=0;a<=100;a++){
str=str.replace("-","");
}

percent2 = Math.round(100 - percent);
for(var i=0;i<percent;i++){
str=str.replace("-","|");
}
for(var a=0;a<=100;a++){
str=str.replace("-","");
}
str=str+" "+percent+"% dos contatos Online ("+online+"/"+offline+")";
var psm = Messenger.MyPersonalMessage;
Messenger.MyPersonalMessage = oldPSM + " -" + str;
Debug.Trace(Email +" caused PSM to update");
}

This will only show the PSM when the script was started + str though :p
RE: RE: [Question] Help with code... by MicroWay on 10-27-2006 at 12:46 AM

quote:
Originally posted by SpunkyLoveMuff
This will only show the PSM when the script was started + str though :p

Ohhhh... :$ Now I saw it!!!
Thank's very much...
Now it's working!!!

(Y)
;)
RE: [Question] Help with code... (solved) by saralk on 10-27-2006 at 10:19 AM

If you log off, with a %age status at the end of the PSM, then when you next sign on, you will still get the same problem.


RE: [Question] Help with code... (solved) by MicroWay on 10-27-2006 at 01:15 PM

No... not the same problem...
But when I login, the script writes: "undefined - 5% contacts online (2/23)"
Then it's just delete "undefined" and rewrite something I like...
:)


RE: [Question] Help with code... (solved) by Baggins on 10-28-2006 at 12:37 AM

store original psm in a global variable on signin, same with the %of contacts
right before updating psm replace old %of with new %of then

code:
Messenger.MyPersonalMessage = psm + " - " + %of;
on signout replace current psm with original psm (or write a RegEx to split at last "-" (<<<Best idea)).
RE: [Question] Help with code... (solved) by MicroWay on 10-28-2006 at 02:10 AM

Sorry,

Now I don't understand you, billboy1001
:S
Can you explain me again, please???