Shoutbox

Unlimeted nudges - 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: Unlimeted nudges (/showthread.php?tid=68957)

Unlimeted nudges by SnuZZer on 11-29-2006 at 12:08 PM

Hi.
I'm from Denmark and my english isn't good, but I'll try.
I have made a script which makes it possible to send unlimited nudges, but when i log off and then on the script doesn't work.

Here is my script:

code:
var Kontakt = [0x5E84D9, 0x5EA515, 0x614FB6];
var Oprindelig = "\x8B\x86\xDC\x02\x00\x00";
var Fix = "\x33\xC0\x40\x90\x90\x90";
var Vaerdi = "0";
var Status = new Boolean();

function OnEvent_Initialize(bMessengerStart)
{
    if(Messenger.MyStatus > "0")
    {
        OnEvent_Signin();
    }
   
    Patch(Vaerdi, (Status = !Status) ? Fix : Oprindelig);
    var oShell = new StatusXObject("WScript.Shell");
    oShell.RegWrite(MsgPlus.ScriptRegPath + Messenger.MyUserId + "\\RemoveDelay", Status & 1, "REG_DWORD");
}


function OnEvent_Signin(sEmail)
{
    var hProc = Interop.Call("Kernel32", "GetCurrentProcess");
    var sBuffer = Interop.Allocate(Oprindelig.length);
    for (var i in Kontakt)
    {
        Interop.Call("Kernel32", "ReadProcessMemory", hProc, Vaerdi = Kontakt[i], sBuffer.DataPtr, Oprindelig.length, 0);
        var sReturn = "";
        for (var j = 0; j < sBuffer.size; j++) sReturn += String.fromCharCode(sBuffer.GetAt(j) & 0xFF);
        if (sReturn === Oprindelig || sReturn === Fix)
        {
            try
            {
                var oShell = new StatusXObject("WScript.Shell");
                Status = Boolean(oShell.RegRead(MsgPlus.ScriptRegPath + Messenger.MyUserId + "\\RemoveDelay"));
            }
            catch(exception)
            {
                Status = false;
            }
            Patch(Vaerdi, Status ? Fix : Oprindelig);
            return;
        }
    }
   
    Vaerdi = "0";
}

function Patch(nVaerdi, sByteString)
{
    var sBuffer = Interop.Allocate(++sByteString.length);
    for (j=0;j<sByteString.length;j++)
    {
        sBuffer.WriteWORD(j, sByteString.charCodeAt(j));
    }
    var hProc = Interop.Call("Kernel32", "GetCurrentProcess");
    Interop.Call("Kernel32", "WriteProcessMemory", hProc, nVaerdi, sBuffer.DataPtr, sByteString.length, 0);
}

Thanks in advance.
RE: Unlimeted nudges by Felu on 11-29-2006 at 12:24 PM

quote:
Originally posted by SnuZZer
var Vaerdi = "0";
Integers don't need quotes [Image: msn_wink.gif].
code:
var Vaerdi = 0;
quote:
Originally posted by SnuZZer
if(Messenger.MyStatus > "0")
code:
if(Messenger.MyStatus > 0)

RE: Unlimeted nudges by andrey on 11-29-2006 at 03:06 PM

quote:
Originally posted by SnuZZer
I have made a script which makes it possible to send unlimited nudges, but when i log off and then on the script doesn't work.
Your script is amazingly similar to the script cookie made (see CookieRevised's reply to Unlimited Nudges script), don't say you made it when someone else did =/
RE: Unlimeted nudges by SnuZZer on 11-29-2006 at 04:11 PM

Hi.
Oh, I'm sorry ;-(
It's just because that I'm started learning Messenger Plus! scripts then i saw the script in this forum and "re-made" it to learn how it has been maded.


RE: Unlimeted nudges by andrey on 11-29-2006 at 04:38 PM

Snuzzer, if you create scripts that are based on other's work, please make sure you mention it in your script (and not only there) and include a link to the original script.

Also, read what it says at the top of some scripts, usually the authors include some sort of license agreement and you should comply with what it says.
If it says don't copy this script, then don't copy it; If it says ask for permission, then ask. If you're not sure if you're allowed to mess with a script, ask the author first.


* andrey points at http://snuzzer.dk/msgplus/...


RE: Unlimeted nudges by SnuZZer on 11-29-2006 at 05:17 PM

Hi.
I'm sorry ;-(


RE: Unlimeted nudges by CookieRevised on 11-30-2006 at 01:42 AM

Yes that is a plain (almost) copy of my script.

I have nothing against people learning from my scripts (hence why I always put comments in most of them). But indeed, don't claim you've made them when you just copy them or large codes out of it....

Anyways, this particular script is also not something I would recommend if you just try to learn scripting. A hell of a lot is going on in that script and every line or piece of variable and method is choosen with specific reasons in mind. I probably can write whole paragraphs about each single line in that script...

So, if you wanna learn scripting I suggest you take some easier script (which doesn't use Windows APIs and other not so much used coding methods like ternary operators)...

;)