O.P. Previous PM & new automatic PM?
Hi People, First post, so hope you can help!
I recently downloaded Chat Counter, but on installing I found that it cleared my PM, and replaced it with "Open chat windows: 1". I was wondering if it was possible to change the script so it came up with a box asking what you wanted your status to be. Either that or just so it doesn't clear the PM, just adds it to the end?
Script Below,
Thanks,
Bryn
// * ChatCounter - Display the number of open chat windows in the PSM
// * Copyright (C) 2008 Adam Smith aka MeEtc <adam.rmp@gmail.com>
// *
// * This program is free software: you can redistribute it and/or modify
// * it under the terms of the GNU General Public License as published by
// * the Free Software Foundation, either version 3 of the License, or
// * (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have received a copy of the GNU General Public License
// * along with this program. If not, see <http://www.gnu.org/licenses/>.
////////////////////////////////////////////////////////////////////////////////////
// PROTOTYPE
////////////////////////////////////////////////////////////////////////////////////
var cc;
var ChatCount = function(){
this.Shell = new ActiveXObject('WScript.Shell');
this.regPath = MsgPlus.ScriptRegPath + Messenger.MyEmail + '\\';
this.openChats;
}
ChatCount.prototype = {
'init' : function(){
Debug.Trace('ChatCount.init called');
var enabled;
try{
enabled = this.regread('enabled');
}
catch (e){
enabled = 1;
this.regwrite('enabled', 1);
}
if(enabled == 1)
OnEvent_Timer('ccCheck');
},
'enable' : function(){
Debug.Trace('ChatCount.enable called');
this.regwrite('enabled', 1);
this.regwrite('oldPSM', Messenger.MyPersonalMessage);
OnEvent_Timer('ccCheck');
},
'disable' : function(){
Debug.Trace('ChatCount.disable called');
this.regwrite('enabled', 0);
Messenger.MyPersonalMessage = this.regread('oldPSM');
this.regwrite('oldPSM', '');
MsgPlus.CancelTimer('ccCheck');
},
'regwrite' : function(key, value){
return this.Shell.RegWrite(this.regPath + key, value);
},
'regread' : function(key){
return this.Shell.RegRead(this.regPath + key);
}
}
////////////////////////////////////////////////////////////////////////////////////
// MESSENGER EVENTS
////////////////////////////////////////////////////////////////////////////////////
function OnEvent_Initialize(email){
if (cc == null && Messenger.MyStatus > 1){
cc = new ChatCount;
cc.init();
}
}
function OnEvent_Signin(email){
if (cc == null){
cc = new ChatCount();
cc.init();
}
}
function OnEvent_Signout(email){
cc = null;
}
function OnEvent_ChatWndSendMessage(ChatWnd, Message){
if (Message == '/ccon'){
if (cc.regread('enabled') == '0')
cc.enable();
else
Interop.Call('User32', 'MessageBoxW', 0, 'ChatCount is already enabled, you can\'t turn it on again!', 'ChatCount', 0);
return '';
}
if (Message == '/ccoff'){
if(cc.regread('enabled') == '1')
cc.disable();
else
Interop.Call('User32', 'MessageBoxW', 0, 'ChatCount is already disabled, you can\'t turn it off again!', 'ChatCount', 0);
return '';
}
}
////////////////////////////////////////////////////////////////////////////////////
// PLUS EVENTS
////////////////////////////////////////////////////////////////////////////////////
function OnGetScriptCommands(){
var commands = '<ScriptCommands>';
commands += ' <Command>';
commands += ' <Name>ccon</Name>';
commands += ' <Description>Turn chat counter on</Description>';
commands += ' </Command>';
commands += ' <Command>';
commands += ' <Name>ccoff</Name>';
commands += ' <Description>Turn chat counter off</Description>';
commands += ' </Command>';
commands += '</ScriptCommands>';
return commands;
}
function OnGetScriptMenu(Location){
var ScriptMenu = '';
ScriptMenu += '<ScriptMenu>';
if (cc.regread('enabled') == '0')
ScriptMenu += '<MenuEntry Id="ccon">Enable ChatCount</MenuEntry>';
else
ScriptMenu += '<MenuEntry Id="ccoff">Disable ChatCount</MenuEntry>';
ScriptMenu += "</ScriptMenu>";
return ScriptMenu;
}
function OnEvent_MenuClicked(ControlId, Location, OriginWnd){
switch (ControlId){
case 'ccon': cc.enable(); break;
case 'ccoff': cc.disable(); break;
}
}
function OnEvent_Timer(TimerId){
if (TimerId == 'ccCheck'){
Wnds = Messenger.CurrentChats;
if(cc.openChats != Wnds.Count){
cc.openChats = Wnds.Count;
Messenger.MyPersonalMessage = 'Open chat windows: ' + cc.openChats;
}
MsgPlus.AddTimer('ccCheck', 1000 * 5);
}
}
This post was edited on 04-20-2010 at 07:17 PM by brynmoorhouse.
|