Arama

Script Sorunumu nasıl çözerim?

Güncelleme: 18 Eylül 2009 Gösterim: 1.730 Cevap: 4
ozan_77 - avatarı
ozan_77
Ziyaretçi
3 Şubat 2009       Mesaj #1
ozan_77 - avatarı
Ziyaretçi
/usay scriptinde bildigiminz gibi /usay <mesaj> yazinca sanki karsindaki adam yolluyormus gibi oluyor..
Ama yanliz, bunda yazi stili ayni olmuyor senin kendi yazi stilin gidiyor..Msn Cry
Sponsorlu Bağlantılar

Acaba kodlamasini bilen birisi onuda ekleyebilir mi ?

Kod burda ;

Kod:
STATE_INACTIVE = 0;
STATE_RUNNING = 1;
STATE_FINISHING = 2;

CHANGE_NAME_LATENCY = 1000;

var cur_state = STATE_INACTIVE;
var original_name;
var contact_name;
var message_to_send;
var chat_window;
var retry_count;
var dll_name;



function OnGetScriptCommands()
{
    var commands = '<ScriptCommands>';
        commands+='<Command>';
            commands+='<Name>usay</Name>';
            commands+='<Description>Impresonate as the contact you are talking with</Description>';
            commands+='<Parameters/>';
        commands+='</Command>';
    commands+='</ScriptCommands>';
    return commands;
}


function OnEvent_Initialize( MessengerStart )
{
    Debug.Trace("INIT");
    dll_name = MsgPlus.ScriptFilesPath;
    dll_name += "\\USay.dll";
    Interop.Call( dll_name, "USay_Init" );
}

function OnEvent_Uninitialize( MessengerExit )
{
    Interop.FreeDll( dll_name );
}

function ShowHelp()
{
    var helpstr;
    helpstr =     "In normal chat, Use:\n\r"
                + "    /usay <message>\n\r"
                + "\n\r"
                + "In group chat, Use:\n\r"
                + "    /usay <contact email> <message>\n\r"
                + "        - or -\n\r"
                + "    /usay <contact name> <message>\n\r"
                + "        - or -\n\r"
                + "    /usay <contact number> <message>\n\r"
                + "\n\r"
                + "You can also:\n\r"
                + "  Get a numerical list of contacts:\n\r"
                + "    /usay /list\n\r"
                + "  Show about screen:\n\r"
                + "    /usay /about\n\r"
                + "  Show help:\n\r"
                + "    /usay /help\n\r"
                + "        - or solely -\n\r"
                + "    /usay";
    Interop.Call( "User32.dll", "MessageBoxW", 0, helpstr, "USay - Help", 0 );
}

function ShowContacts( Contacts )
{
    var helpstring = '';
    //iterate through all contacts and create a list
    var i = new Enumerator( Contacts );
    var j = 0;
    while( !i.atEnd() ) 
    {
        var Contact = i.item();
        helpstring += j;
        helpstring += " - ";
        helpstring += Contact.Name;
        helpstring += " ( "
        helpstring += Contact.Email;
        helpstring += " )\n\r";
        j++;
        i.moveNext();
    }
    Interop.Call("User32.dll", "MessageBoxW", 0, helpstring, "USay - List", 0);

}

function CheckArgs( Arg, ChatWnd )
{
    var forceexit = false;
    if( Arg == null ) Arg = "/help";
        
    switch( Arg.toLowerCase() )
    {
        case "/help":
            ShowHelp();
            forceexit = true;
            break;
        case "/about":
            Interop.Call( dll_name, "USay_About" );
            forceexit = true;
            break;
        case "/list":
            ShowContacts( ChatWnd.Contacts );
            forceexit = true;
            break;
    
        default:
    }
    return forceexit;
}

function IsNumeric( str )
{
    var legal = "0123456789";
    var c;
    for ( i = 0; i < str.length; i++ ) 
    { 
        c = str.charAt( i ); 
        if ( legal.indexOf( c ) == -1 ) 
        {
            return false;
        }
    }
    return true;
}


function GetContactEmail( Arg, Contacts )
{
    var i;
    //1st priority = email
    i = new Enumerator( Contacts );
    while( !i.atEnd() ) 
    {
        var Contact = i.item();
        if( Contact.Email == Arg ) 
        {
            return Contact.Email;
        }
        i.moveNext();
    }
    //2nd priority = name
    i.moveFirst();
    while( !i.atEnd() )
    {
        var Contact = i.item();
        if( Contact.Name == Arg ) 
        {
            return Contact.Email;
        }
        i.moveNext();
    }
    //3rd priority = number
    if( IsNumeric( Arg ) )
    {
        i.moveFirst();
        for( j=0; j<Arg; j++ )
        {
            if( i.atEnd() ) 
            {   
                return null;
            }
            i.moveNext();
        }
        return i.item().Email;
    }
    //no such contact
    return null;
}

function OnEvent_ChatWndSendMessage( ChatWnd, Message ) 
{
    chat_window = ChatWnd;
    Command = Message.split(' ');
    
    var j=0;
    var abort = false;
    
    switch ( Command[j].toLowerCase() )
    {        
        case "/usay":
            j++;
            //if no text or system arg, just go do nothing
            if( CheckArgs( Command[j], ChatWnd ) )
            {
                Message = '';
                return Message;
            }
            var i = new Enumerator( ChatWnd.Contacts );
            var thedude;
            switch( ChatWnd.Contacts.Count ) 
            {
                case 1:
                    thedude = i.item();
                    break;
                //we dont really get here in real life
                case 0:
                    //talking to myself again?
                    helpstring = "It seems like nobody wants to talk to you\n\rAre you talking to yourself again?";
                    Interop.Call("User32.dll", "MessageBoxW", 0, helpstring, "USay - Error", 0);
                    abort = true;
                    break;
                default:
                    //gangbang mode
                    var contact_email = GetContactEmail( Command[j], ChatWnd.Contacts );
                    if( contact_email == null )
                    {
                        //wtf?
                        helpstring = "Contact not found! type '/usay /help' for help, '/usay /list' for contact list";
                        Interop.Call("User32.dll", "MessageBoxW", 0, helpstring, "USay - Error", 0);
                        //make an exception :)
                        abort = true;
                    }
                    else
                    {
                        thedude = i.item();
                        while( !i.atEnd() && i.item().Email != contact_email )
                        {
                            i.moveNext();
                        }
                        j++;
                    }
            }
            // i got the contact, now go ahead
            if( !abort ) 
            {
                Debug.Trace( "USING: " + contact_email );

                //might do something with the contact fonr in the future
                //like using it in MY window
                contact_font = Interop.Call2( dll_name, "USay_SuggestContactFont", thedude.Email );

                //go on craete the new message
                message_to_send = '';
                while( Command[j] != null )
                {
                    message_to_send += Command[j];
                    j++                    
                    if( Command[j] != null ) message_to_send += ' ';
                }
                //get start the magic
                original_name = Messenger.MyName;
                contact_name = thedude.Name;
                cur_state = STATE_RUNNING;
                if( original_name == contact_name )
                {
                    contact_name += ' ';
                } 
                Messenger.MyName = contact_name;
                Debug.Trace("CONTACT NAME SET");
            }
            Message = '';
            break;
        default:
    }
    return Message;
}

function OnEvent_MyNameChange( NewName )
{
    switch( cur_state )
    {
        case STATE_RUNNING:
            if( NewName == contact_name )
            {
                cur_state = STATE_FINISHING;
                retry_count = 3
                MsgPlus.AddTimer( 'sendmessage', CHANGE_NAME_LATENCY );
            }
            break;
        case STATE_FINISHING:
            if( NewName == original_name )
            {
                cur_state = STATE_INACTIVE;
                Debug.Trace( "NAME RESTORED" );
                MsgPlus.CancelTimer( 'restorename' );
            }
            break;
        case STATE_INACTIVE:
            //for some odd reason i get my contact name set again
            if( NewName == contact_name )
            {
                Messenger.MyName = original_name;
                MsgPlus.AddTimer( 'restorename', 500 );
            }
            break;
    }
}


function OnEvent_Timer( TimerId )
{
    switch( TimerId )
    {
        case 'restorename':
               Messenger.MyName = original_name;
               //do this until my name REALLY changes
               if( Messenger.MyName != original_name )
               {
                MsgPlus.AddTimer( 'restorename', 500 );
            }
            break;
        case 'sendmessage':
            chat_window.SendMessage( message_to_send );
            MsgPlus.AddTimer( 'restorename', 500 );
            break;
        default:
    }
}

uchiha itachi - avatarı
uchiha itachi
Ziyaretçi
4 Şubat 2009       Mesaj #2
uchiha itachi - avatarı
Ziyaretçi
Messenger Plus! Live - Script - USay

Sponsorlu Bağlantılar
bunu kullanın

düzenleme : size indirme adresini verdiğim script in kaynak kodları sanırım. şimdi kodları incelediğimde üzerinde herhangi bir kullanıcı detayıyla ilgili bir şey yok ama dikkat ederseniz bir cok veriyi user32.dll dosyasından çekiyor onun için kendi kişisel ayarlanırınz gözükecektir.
Rower - avatarı
Rower
VIP MazessezaM
4 Şubat 2009       Mesaj #3
Rower - avatarı
VIP MazessezaM
yazı stili değişmiyor alternatif discovery de bulunan !imitate komutu ile aynı şeyi yapabilirsiniz
Gölgen misali yanındayım!Msn Thunder
ozan_77 - avatarı
ozan_77
Ziyaretçi
4 Şubat 2009       Mesaj #4
ozan_77 - avatarı
Ziyaretçi
Messenger Plus! Live - Script - USay


bu scripti silemiyorum nasl silicem ?

Kodlarini falan sildim ama olmadi yine ..

simdiden yardim icin tesekkürler, iyi forumlar

Ozan.
Misafir - avatarı
Misafir
Ziyaretçi
18 Eylül 2009       Mesaj #5
Misafir - avatarı
Ziyaretçi
ben de scriptten kurtulamıyorum sildim ama olmuyo yardım edin lütfen.

Benzer Konular

28 Şubat 2010 / paygo Soru-Cevap
12 Temmuz 2012 / Ziyaretçi Taslak Konular
31 Mayıs 2013 / Freyja Taslak Konular