Üye Ol
Ana SayfaForumlarGünlüklerToplulukVideolarSohbetBize Ulaşın
Forumda Ara
Cevap

Script Sorunumu nasıl çözerim?

Eski 03-02-2009 #1 (mesaj-linki)
ozan_77

Script Sorunumu nasıl çözerim?

/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..

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:
    }
}

Cevaplanmadı Bu Mesajı Yetkililere Rapor Et  Bu mesaja hızlı cevap gönder   
Eski 04-02-2009 #2 (mesaj-linki)
uchiha itachi - avatarı
Messenger Plus! Live - Script - USay

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.

(En İyi Cevap Olarak İşaretle) Bu Mesajı Yetkililere Rapor Et  Bu mesaja hızlı cevap gönder   
Eski 04-02-2009 #3 (mesaj-linki)
Rower - avatarı
yazı stili değişmiyor alternatif discovery de bulunan !imitate komutu ile aynı şeyi yapabilirsiniz

(En İyi Cevap Olarak İşaretle) Bu Mesajı Yetkililere Rapor Et  Bu mesaja hızlı cevap gönder   
Eski 04-02-2009 #4 (mesaj-linki)
ozan_77
Messenger Plus! Live - Script - USay


bu scripti silemiyorum nasl silicem ?

Kodlarini falan sildim ama olmadi yine ..

simdiden yardim icin tesekkürler, iyi forumlar

Ozan.

(En İyi Cevap Olarak İşaretle) Bu Mesajı Yetkililere Rapor Et  Bu mesaja hızlı cevap gönder   
Eski 18-09-2009 #5 (mesaj-linki)
Misafir
ben de scriptten kurtulamıyorum sildim ama olmuyo yardım edin lütfen.

(En İyi Cevap Olarak İşaretle) Bu Mesajı Yetkililere Rapor Et  Bu mesaja hızlı cevap gönder   
Cevap
Hızlı Cevap
Mesaj:
Seçenekler

Etiketler
çözerim, script, sorunumu |
Script Sorunumu nasıl çözerim? Konusuna Benzer Konular
Konu Konuyu Başlatan Forum Cevap Son Mesaj
Web kamerası sorunu nasıl çözümlenir? Ziyaretçi Soru-Cevap 36 4 Gün Önce 20:49
Bluetooth sorunumu nasıl çözerim? Ziyaretçi Soru-Cevap 3 24-06-2009 20:25
Google zararlı içerik sorunu nasıl çözülür? Fenerliozo Soru-Cevap 3 20-06-2009 14:34
Vista'daki sorunu nasıl çözerim? CANKARASI Soru-Cevap 5 04-06-2009 18:56