Add this to my RememberStatus script to let it do exactly what you want:
code:
var MyUserId;
var MyStatus;
function OnEvent_Signin(Email) {
if (MyUserId !== Messenger.MyUserId) {
MyUserId = Messenger.MyUserId;
MyStatus = Messenger.MyStatus;
}
}
function OnEvent_Uninitialize(MessengerExit) {
if (MessengerExit && MyUserId != null) {
try {
new ActiveXObject("WScript.Shell").RegWrite(
"HKEY_CURRENT_USER\\Software\\Microsoft\\MSNMessenger\\PerPassportSettings\\" + MyUserId + "\\DefaultSignInState",
Array(6, 2, 10, 14, 18, 34, 50, 66)[MyStatus-2],
"REG_DWORD"
)
} catch ( e ) {}
}
}
If you add that code to the already existing code of the script, then the script will reset the status back to what it was the first time you've signed in when you actually exit Messenger. And it will still have the original behaviour of keeping the momentary status when you sign out/sign in.
It should still be polygamy safe and still be multi-user-friendly I think (I wrote this quickly without much testing and thinking).
But please don't redistribute the modified script. Keep it as a personal mod. This is just experimental.