Ir para conteúdo
Fórum Script Brasil
  • 0

Como criar seus próprios scripts para MSN Plus


Jonathan Queiroz

Pergunta

Introdução: Criar Scripts para MSN Plus

O meu objetivo neste tutorial é ensinar o básico de como criar scripts para MSN Plus.No que se baseia, enfim, características básicas e códigos simples !

Antes de mais nada, postarei o link para baixar o MSN Plus, software 100% gratuito que traz muitas funcionalidades extra ao seu Windows Live Messenger !

* Link p/ MSN 2009: http://baixaki.ig.com.br/download/messenger-plus-live.htm

* Link p/ MSN 7: http://baixaki.ig.com.br/download/messenge...-para-o-MSN.htm

Também podem procurar o download neste link

Se quiserem as outras versões é só procurar e se não encontrarem postem aqui !

Se quiserem, leiam a documentação do MSN Plus para a criação de scripts neste link (em inglês)

A linguagem é baseada em JavaScript, sendo muito parecida na sintaxe !

Até a extensão o arquivo é a mesma (é salvo como ".js")

Quem programa em linguagens como JavaScript e afins terá muita facilidade na criação de scripts

É claro que estou postando para que qualquer um possa "compreender", não restringindo apenas para quem programa em JavaScript.

Entretando, é extremamente recomendado ter conhecimento básico em alguma linguagem de programação

Agora que já sabem o básico de como criar seus próprios scripts, vamos à melhor parte...

Criando o primeiro Script

Estou utilizando o MSN 2009, mas não há tanta diferença sobre como prosseguir

1. Abra o messenger e logue-se

2. Entre nas configurações do MSN Plus (provavelmente tem escrito "Plus !" lá no menu do seu MSN ou então você verá um botão com o símbolo do Plus - ver imagem do botão com símbolo do Plus)

3. Você verá uma tela como nesta imagem

4. No menu da esquerda tem uma opção: "scripts". Clique nela !

5. Você verá uma tela como nesta imagem

Existem opções como importar (caso você já tenha um script, que pode ter sido enviado por um amigo), remover, e dentro da janelinha "autores de script" existem as opções criar novo (você pode criar seus próprios scripts caso tenha conhecimento suficiente) e editar (você pode editar scripts seus ou de outras pessoas)

6. Como não temos um script pronto, clique em criar novo (ensinaremos como criar um script simples)

7. Será aberta uma mensagem para você digitar o nome de seu script ! Você pode digitar o nome que você quiser

Pronto !

Depois de escolher um nome para seu script será aberta a janela um editor, que será utilizado para modificar os códigos, conforme mostrado nesta imagem

Todo o código é baseado em eventos

O que são eventos ?

Eventos são todas as ações que ocorrem em determinado programa.Podemos ligar determinado código a um evento

Por exemplo: Um usuário clica em um botão

Quando o botão é pressionado, o programa aciona as funções que deverão ocorrer quando tal botão for pressionado

O MSN Plus está repleto de eventos: Evento quando o usuário "loga" no MSN (Signin), quando "desloga", quando bloqueia um contato, quando muda o nick ou sub-nick, etc.

Enfim, os eventos servem para que um código seja executado quando ocorrer "determinada ação"

Como podemos utilizar os eventos

Simples !

Basta definir uma função para que seja executado quando determinado evento ocorrer.

O código da função deverá estar entre chaves ("{" e "}")

Um exemplo de função para um evento seria:

function OnEvent_Initialize(MessengerStart) {
// Os códigos das funções ficam aqui (isso é um comentário, será visto mais adiante)
}
Comentários são muito utilizados em linguagens de programação para facilitar o estudo do script Eles não interferem no funcionamento do código, mas são muito úteis ! Exemplos de comentários
// Este é um comentário de uma linha
// Só podemos escrever uma linha de cada vez com esse tipo de comentário
Outro exemplo
/* Com esse comentário
podemos escrever várias linhas de uma só vez
É muito útil !
*/

/* Também podemos utilizá-lo em uma linha só */
Um exemplo de função para trocar a mensagem pessoal do usuário assim que o messenger fosse carregado seria:
function OnEvent_Initialize(MessengerStart) {
// O código a seguir muda a mensagem pessoal do usuário
Messenger.MyPersonalMessage = "Isto é apenas um teste !"
}
Para testar as funções, vá na tela de configurações de script novamente (ver imagem) Marque o quadradinho (check box) e clique em aplicar No lugar onde estava escrito "desactivado" (é português de portugal...), ficará escrito "activado" Confira a imagem Criando Menús Já viu aqueles scripts para MSN Plus amigáveis, com uma ótima interface, que possuem até menús ? Se nunca viu, observe esta imagem, é de um script de minha autoria !! Á primeira vista parece algo complicado, extremamente difícil ! Mas não é nada disso Podemos fazê-lo com apenas algumas linhas de código ! Utilizaremos a função "OnGetScriptMenu" para escrever o menú na tela Mostrarei um exemplo de função para escrever o menu
function OnGetScriptMenu(Location) {
meu_menu = "<scriptMenu>";
    meu_menu += "<MenuEntry Id=\"PrimeiraOpcao\">";
        meu_menu += "Minha Primeira Opção";
    meu_menu += "</MenuEntry>";
    meu_menu += "<MenuEntry Id=\"SegundaOpcao\">";
        meu_menu += "Minha Segunda Opção";
    meu_menu += "</MenuEntry>";
meu_menu += "</ScriptMenu>";
return meu_menu;
}
Esse simples código cria um menú para seu script que pode ser acessado a partir do botão do Plus! (ver imagem) Mas, ao utilizar esse código vêm uma pergunta:
Para que serve aquele "id" em cada entrada do Menú
Ele é muito útil para "nomear" cada opção do menú e para utilizar em eventos. Dessa forma, quando o usuário clicar em algo no menú, poderemos saber em qual opção ele clicou
Como poderemos saber em qual opção o usuário clicou e quando ele clicou ??
Isso pode ser feito a partir do seguinte evento: OnEvent_MenuClicked() Será visto mais adiante ! Criando um programa que muda a mensagem pessoal do usuário Nosso objetivo nesse exemplo será: * Criar um menú onde haverá um botão que, quando clicado, altera a mensagem pessoal do usuário * Existirão várias mensagens pessoais para se alterar, todas definidas em um Array (é como uma variável que possui várias dimensões, onde podemos guardar vários valores diferentes) * Será salvo um "backup" da mensagem pessoal do usuário antes que o script passe a ser executado.Dessa forma, quando o usuário desabilitar o script, a mensagem pessoal será "restaurada" Postarei o código pronto para que vocês possam analisar. Explicarei melhor a parte dos botões no menú (evento de clique no menú), a qual ainda não ensinei detalhadamente
// Declara as variáveis
var backup;
var mensagens = new Array();
var numero_mensagem;
// Fim da declaração de variáveis

function OnEvent_Initialize(MessengerStart) {
// Faz o "backup" da mensagem pessoal
backup = Messenger.MyPersonalMessage

//Definimos quais são as mensagens
mensagens[0] = "Estou on-line !"
mensagens[1] = "Aprendendo MSN Plus Script"
mensagens[2] = "Testando minha aplicação"
mensagens[3] = "I am Jonathan Queiroz"
mensagens[4] = "Última Mensagem"
//Coloca a primeira mensagem por padrão
numero_mensagem = 0
Messenger.MyPersonalMessage = mensagens[numero_mensagem]
}

function OnEvent_Uninitialize(MessengerExit) {
// Restaura a mensagem pessoal
Messenger.MyPersonalMessage = backup
}
function OnGetScriptMenu(Location) {
// Cria todo o menú
meu_menu = "<scriptMenu>";
    meu_menu += "<MenuEntry Id=\"ProximaMensagem\">";
        meu_menu += "Próxima Mensagem";
    meu_menu += "</MenuEntry>";
    meu_menu += "<MenuEntry Id=\"VoltaMensagem\">";
        meu_menu += "Mensagem Anterior";
    meu_menu += "</MenuEntry>";
meu_menu += "</ScriptMenu>";
return meu_menu;
}
function OnEvent_MenuClicked(MenuItemId,Location,OriginWnd) {
    /* Verificamos qual foi o botão clicado a
    partir da opção MenuItemId */
    if (MenuItemId=="ProximaMensagem") {
        // Chamamos a função "ProximaMensagem()"
        ProximaMensagem()
    }else if (MenuItemId="VoltaMensagem") {
        // Chamamos a função "VoltaMensagem()"
        VoltaMensagem()
    }
}
function ProximaMensagem() {
    if (numero_mensagem>=mensagens.length-1) {
        /* Se estiver na última mensagem, retorna à primeira
        mensagem do Array
        */
        numero_mensagem = 0
    }else{
        // Soma 1 ao número da mensagem
        numero_mensagem++
    }
    Messenger.MyPersonalMessage = mensagens[numero_mensagem]
}
function VoltaMensagem() {
    if (numero_mensagem<=0) {
        /* Se estiver na primeira mensagem (0), vai
        para a última mensagem
        */
        numero_mensagem = mensagens.length-1
    }else{
        // Subtrai 1 do número da mensagem
        numero_mensagem--
    }
    Messenger.MyPersonalMessage = mensagens[numero_mensagem]
}
Pronto ! Esse "simples script" faz com que seja trocada a mensagem pessoal do MSN ao se clicar em um "simples botão" !! Gostaram do script ?? Código de Meu Script pronto Vou colocar mais um script aqui, esse já tinha pronto ! Os scripts acima eu criei só pra postar aqui, mas vou colocar mais um script que já havia criado antes Funcionalidades: * Altera a mensagem pessoal a cada 5seg (5000 ms) * Possui botões de "parar" e "continuar" para controlar o script Também é um script "simples", mas aborda alguns elementos não citados aqui, como o uso do evento "timer" Como já disse, eu não criei esse script para postar aqui, já estava criado Portando não está com muitos comentários para auxiliar o entendimento, mas dá pra aproveitar e aprender um pouco
var mensagem = new Array();
var tempo_segundos = 5;
var tempo_ms = tempo_segundos*1000;
var cont = 0;
var Started = false;
var ScriptMenu;
var backup_mensagem = Messenger.MyPersonalMessage;

function OnEvent_Initialize(MessengerStart) {
    mensagem[0] = "Férias !!"
    mensagem[1] = "Finalmente, férias !!!"
    mensagem[2] = "Demorou, mas chegou !!"
}
function TrocaMensagem() {
    if (cont>=mensagem.length-1) {
        cont=0;
    }
    Messenger.MyPersonalMessage = mensagem[cont];
    cont+=1;
    MsgPlus.AddTimer("TempoTrocaMensagem",tempo_ms);
    }
function OnEvent_Timer(TimerId) {
    if (TimerId=="TempoTrocaMensagem") {
        Started = true
        TrocaMensagem()
    }
}
function OnGetScriptMenu(Location) {
    ScriptMenu = "<scriptMenu>";
           ScriptMenu    +=  "<MenuEntry Id=\"ModificaStatus\">";
               if (Started) {
                      ScriptMenu += "Pausar script";
               }else{
                      ScriptMenu += "Continuar script";
              }
           ScriptMenu += "</MenuEntry>";
       ScriptMenu += "</ScriptMenu>";
    return ScriptMenu;
}
function OnEvent_MenuClicked(MenuItemId,Location,OriginWnd) {
    if (MenuItemId=="ModificaStatus") {
        if (Started) {
            PararMensagemPessoal()
        }else{
            IniciarMensagemPessoal()
        }
    }
}
function PararMensagemPessoal() {
    MsgPlus.CancelTimer("TempoTrocaMensagem");
    Started = false;
    Messenger.MyPersonalMessage = backup_mensagem
}
function IniciarMensagemPessoal() {
    Started = true;
    backup_mensagem = Messenger.MyPersonalMessage;
    TrocaMensagem()
}

Espero ter ajudado quem queria aprender como criar scripts para MSN Plus e também aqueles que não têm interesse em aprender, mas queriam saber como funciona !

Estarei postando mais tutoriais relacionados à criação de Scripts pelo MSN Plus (e também outras funcionalidades do mesmo)

Mas só lembrando:

Só execute scripts para MSN Plus de fontes confiáveis !

Eles podem ser tão perigosos quanto qualquer outro executável

Confie apenas em scripts fornecidos/reconhecidos pelo MSN Plus ou de locais confiáveis

Antes de executar qualquer script, abra o mesmo e verifique se seu código é confiável

Caso tenha dúvida quanto a ser confiável ou não, poste aqui no fórum e poderei analisar o código !

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

obrigado pelo tópico sou leigo mas gostaria muito de poder criar um script para o PLUS/MSN em particular será q você poderia me ajudar?... visto que até agora foi o unico que consegui encotrar que se dignou a falar sobre o assunto (depois de buscas infindaveis). Imagino pra pra você seria coisa facil já que se trataria de utilizar eventos que o MSN já possui.

vamo lá:

akela janela de popup no canto inferior direito será que dava pra colocar umas imagens tipo uns cards dentro delas??

gastoaria tambem de poder contar com um medidor de HP e MP, highpower e magicpower respectivamente seria como uma barra de porcentagem ou um marcador

de de 1 a 10 em forma de radiobutton ou checkbox.

conto com sua colaboraçao desde já agradeço

AllanBC

Link para o comentário
Compartilhar em outros sites

  • 0

oi meu problema é o seguinte

eu estava buscando um meio de jogar rpg pelo MSN quando encontrei esse tópico

o caso é q não sei nada de programaçao e gostaria de saber se e posivel criar os scripts

que eu pretendo pra dai então começar a estudar o assunto

tenho um programa de www(rpgonline) e vi lá alguns recursos q gostaria de ter no MSN

barra ou um contador de (hp/mp) necessario em rpgs

um rolador de dados (de preferencia fixado na janela da converça)

e um geito de tornar vizivel a todos em um bate papo em grupo

Link para o comentário
Compartilhar em outros sites

  • 0

Gercy, isso não será possível. Até porque o usuário teria que ter o banco de dados instalado em seu computador.

Mas se for pra buscar os dados em um servidor externo, você pode utilizar um objeto ActiveX para instanciar uma aplicação XMLHTTP e, a partir disso, resgatar esses dados e processá-los pelo MSN Plus.

Link para o comentário
Compartilhar em outros sites

  • 0

@Jonathan Queiroz, já vi um script desse tipo sim, mais agora não sei se ele tb faz uma conexao com algum arquivo php, para se conectar ao mssql, veja o exemplo:

xxxxMu | Contas: 1.019 | Personagens: 1.634 | Onlines: 28 | www.xxxxxxx.com.br

Isso e atualizado de 20 a 20 segundos +/- esse delay mesmo.

Link para o comentário
Compartilhar em outros sites

  • 0

Ah sim... Imaginei que você queria conectar diretamente ao banco.

Se criar um site para retornar os valores é possível.

Para isso você pode utilizar algo parecido com AJAX (na verdade é AJAX mesmo, já que os scripts do MSN Plus são criados com JScript, uma variação do JavaScript convencional)

Você poderá instanciar um controle ActiveX para iniciar o objeto.

Tente algo assim:

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

E depois pesquise sobre AJAX. Isso retornará páginas falando sobre javascript, mas a utilização é a mesma. A única diferença é que ao invés de instanciar o objeto xmlhttp com xmlhttp=new XMLHttpRequest() você irá utilizar o código acima.

Se conseguir posta aí. É algo bem interessante e vai servir de exemplo para outras pessoas utilizarem. Se não conseguir posta aí a dúvda.

Link para o comentário
Compartilhar em outros sites

  • 0

Amigos, preciso criar um script, que altere umas 5 ou mais mensagens, no meu MSN. Tentei fazer o q ta postado, mas diz q da erro no script - corrompido. Por favor me ajudem, so quero q fique alterando umas 5 frases no meu MSN. E como é dificil achar isso na net. Obrigado, aguardo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...