Wow just wait a minute, lol, .parseInt() is only for string, so, at start : 6 years, 10 years, and at 50 seconds my script works fine.... lol I correct this error !
-------------------------
Edit : Mhhhh totally wrong.... .parseInt() works with numbers xD
-------------------------
code:
function OnEvent_Initialize(MessengerStart) {
shell=new ActiveXObject("WScript.Shell");
if (MessengerStart==false) {
regPath=MsgPlus.ScriptRegPath+Messenger.MyUserId+'\\';
Initialize();
}
}
function OnEvent_Signin(Email) {
regPath=MsgPlus.ScriptRegPath+Messenger.MyUserId+'\\';
Initialize();
}
function OnEvent_Signout(Email) {
MsgPlus.CancelTimer("Timer");
}
function OnEvent_Timer(TimerId) {
seconds+=10
shell.RegWrite(regPath+"Seconds",seconds);
yr=parseInt(seconds/31536000);
mon=parseInt((seconds-(yr*31536000))/2592000);
day=parseInt((seconds-(yr*31536000)-(mon*2592000))/86400);
hr=parseInt((seconds-(yr*31536000)-(mon*2592000)-(day*86400))/3600);
min=parseInt((seconds-(yr*31536000)-(mon*2592000)-(day*86400)-(hr*3600))/60);
secs=parseInt((seconds-(yr*31536000)-(mon*2592000)-(day*86400)-(hr*3600)-(min*60)));
if (secs>0) {SECONDS=secs+" seconds ";}
else {SECONDS="";}
if (min>0) {MINS=min+" minutes ";
if (secs!=0) {
MINS+="and "
}
}
else {MINS="";}
if (hr>0) {HRS=hr+" hours ";}
else {HRS="";}
if (day>0) {DAYS=day+" days ";}
else {DAYS="";}
if (mon>0) {MONTH=mon+" months ";}
else {MONTH="";}
if (yr>0) {YEAR=yr+" year ";}
else {YEAR="";}
MsgPlus.AddTimer("Timer",10000);
Messenger.MyPersonalMessage="There are "+YEAR+MONTH+DAYS+HRS+MINS+SECONDS+"since I am connected"; // wow, fu*** translator xD
}
function Initialize() {
try {seconds = parseInt(shell.RegRead(regPath+"Seconds"));} catch(err) {seconds=0;}
MsgPlus.AddTimer("Timer",10000);
}
Sorry but I used a translator...

There is a little bug at start, you will see.... but at 50 secs, the script should work fine. I can't correct this error, now, I got to go...
