[Finalizado]Macro do mês #5

Discussão em 'Finalizados' iniciado por Hynn, 21 Fevereiro 2018.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. Hynn

    Hynn Craftlandiano

    Afiliado:
    12 Outubro 2011
    Mensagens:
    6,669
    Curtidas Recebidas:
    911
    Curtiu:
    153
    Sexo:
    Masculino
    Cubos:
    1,247.12
    Nick:
    hynn123
    [​IMG]

    $${ IFMATCHES("Evento macro do mês #5");
    WAIT(50ms); ECHO("Craftlandianos, nós voltamos!!"); ENDIF; }$$
    Está iniciando a quinta edição do evento Macro do mês e já estamos com grandes expectativas.
    Já faz um tempinho que não realizamos o "Macro do Mês", contudo.é a oportunidade perfeita para bombarmos o evento e trazer ele com mais frequência para vocês.
    Neste evento escolheremos o melhor desenvolvedor de macro do mês de Fevereiro/2018!
    [​IMG]

    Nós definiremos um tema e com base nesse tema nós estabeleceremos o que a sua MACRO deverá conter e o que ela deverá fazer. Sendo assim, você terá liberdade para decidir como será a estrutura do seu script. O objetivo é que a macro seja funcional. Vale frisar que temos nossos critérios de avaliação. (Muahaha) O jogador que produzir a melhor macro de acordo com nossos critérios vencerá!
    [​IMG]

    O vencedor deste evento receberá como premiação 500 cubos, além da medalha MACRO DEVELOPER!
    [​IMG]

    O tema escolhido deste mês é COMUNICAÇÃO!
    Desejamos ver como vocês desenvolveriam uma macro que permitisse diálogos sem intervenção do usuário.
    Exemplo (1): Uma macro que possa desenvolver diálogos de maneira autônoma;
    Exemplo (2): Uma macro que permita novas funções/interações relacionadas a anúncios/global;
    Exemplo (3): Uma macro que facilite a divulgação de anúncios de loja no servidor;
    Exemplo (4): Uma macro que responda aos tells recebidos.
    *Os casos citados acima são apenas exemplos/sugestões.
    Você tem total liberdade para fazer a sua macro do jeito que desejar, desde que não fuja do tema proposto. Seja criativo!
    A macro deve ser compatível com a versão 1.5 do Minecraft.
    [​IMG]

    Os scripts serão avaliados seguindo os seguintes critérios:
    - Inovação, criatividade e utilidade;
    - Organização do script;
    - Performance na execução;
    - Complexidade do script;
    - Funcionalidades do script;
    - Otimização para uso no servidor;
    [​IMG]

    Segue abaixo as regras do evento:
    - Não será permitido mais de uma inscrição por jogador;
    - Não será tolerado plágio de outros trabalhos já postados;
    - Não será permitido editar a sua macro após ser postada.
    Sendo assim, caso você edite a sua postagem, você será automaticamente desclassificado(a);
    - Não é permitido o uso de qualquer outro mod para auxiliar na execução da macro, bem como addons para o mod macro keybind;
    * Qualquer postagem que não seja de inscrição para o evento será devidamente excluída após o início da avaliação dos participantes.
    [​IMG]

    Para fins de organização do tópico, estamos definindo um modelo para postagem.
    Por favor, utilize este modelo quando for postar:

    Seu nick:
    Servidor em que joga:
    Servidor em que a macro foi testada:
    Breve descrição de como utilizar:
    Código da macro:
    Código:
    Código da macro
    Obs: Caso sua macro seja integrada com algum outro evento do macro keybind, favor separar o código e especificar em sua inscrição.

    [aviso=AVISO!]Tome MUITO cuidado quando for fazer sua postagem. Caso você venha a editar a mesma, você será automaticamente desclassificado.[/aviso]

    Exemplo de como postar:
    Código:
    Seu nick: Hynn
    Servidor em que joga: Todos
    Servidor em que a macro foi testada: Origens
    Breve descrição de como utilizar: Basta se posicionar olhando para o seu lobo e verá a mágica acontecer.
    
    Para instalar, coloque o primeiro código no evento OnChat e o segundo no botão que deseja ativar.
    
    Código da macro:
    - Evento OnChat:
    [spoiler]
    [code]Exemplo.
    [/spoiler]

    Código principal:
    Código:
    Exemplo.
    [/CODE]

    [​IMG]

    Se eu fizer a postagem para o evento e perceber que fiz algo errado, o que devo fazer?
    Você pode entrar em contato com algum staffer responsável pelo evento e comunicar o ocorrido. Porém, não faça edições em sua postagem antes de comunicar, pois a mesma será automaticamente desclassificada.
    Posso fazer a macro para o Creative?
    Desta vez o evento possui como tema "comunicação". Sendo assim, é irrelevante onde você criará sua macro, desde que funcione na versão 1.5 do Minecraft.
    Eu jogo no Minecraft 1.7. Posso fazer a macro para a versão que uso?
    Sim, você pode. Contudo, conforme informado acima, sua macro deve ser compatível também com a versão 1.5 do Minecraft.
    ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    Este evento permanecerá aberto até o dia 20/03!
    ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    Esperamos que todos participem e se divirtam desenvolvendo uma macro que possa ajudar os membros de nossa comunidade!
    Desejamos nesta oportunidade uma boa sorte e que vença a melhor macro!
    [​IMG]
    [member=FraanR]
    [member=Hynn]
    [member=zWessboBR]
     
    TheZeta, cripiii, swex e 17 outras curtiram isso.
  2. xGalaxy

    xGalaxy Craftlandiano
    Moderação

    Afiliado:
    26 Outubro 2013
    Mensagens:
    1,800
    Curtidas Recebidas:
    836
    Curtiu:
    579
    Sexo:
    Masculino
    Ocupação:
    Militar
    Localização:
    Rio de Janeiro
    Cubos:
    2,994.00
    Nick:
    zGalaxyIIZBII
    Clan:
    STF
    Seu nick: zGalaxyIIZBII
    Servidor em que joga: Titan
    Servidor em que a macro foi testada: Fenix
    Breve descrição de como utilizar: Olá, estou trazendo uma macro que eu sempre usei para divulgar a minha loja no fenix, ela é bem simples mas muito útil. Algumas explicações para os leigos de macro:

    O número entre parenteses após o "wait", é a quantidade de segundos de intervalo entre uma mensagem e outra. Caso queira, você poderá colocar diversas mensagens, basta colocar esse finalzinho debaixo de cada mensagem ( $${wait(60);}$$ )

    Também não é obrigado o comando a ser unicamente o /anuncio, você pode substituir o /anuncio por /megafone. Lembrando que o delay para cada /anuncio são de 20s (40s no destiny) e o do /megafone 60s.

    Para instala-la, basta escolher uma tecla disponível e criar uma file. Caso não saiba fazer isso, clique aqui para ver.

    Código da macro:
    $${
    if(evento);
    log("&7[&fAuto-Anuncio&7] &b&lOFF");
    unset(evento);
    stop();
    else;
    log("&7[&fAuto-Anuncio&7] &b&lON");
    set(evento);
    if(evento);
    do;
    }$$


    /anuncio mensagem que deseja por
    $${wait(60);}$$
    /anuncio mensagem que você deseja por²
    $${wait(60);}$$


    $${
    endif;
    loop;
    endif;
    }$$

    [hr]

    Bom, agora estou trazendo mais um brinde e uma crítica. Essa macro tira F2 e salva na sua pasta de screenshots quando alguém fala algo que você programa no macro para falar. Eu fiz um teste colocando xingamentos na macro, ou seja, toda vez que alguem xingasse a macro tiraria F2. Quando eu testei no fenix, eu pesquei por 2 dias seguidos e o que consegui foram 7 denuncias. Quando eu teste no destiny, em um período de 23:00 - 06:30, foram 18 denuncias... Isso porque a macro tava funcionando só de madrugada. Você também pode usar essa macro para salvar o tell de jogadores enquanto você está AFK.

    Código original:
    ifmatches(%CHATCLEAN%,"Mensagem que tem que detectar");
    wait(1ms);
    press(F2);
    endif;


    Como eu usava:

    ifmatches(%CHATCLEAN%,"Xingamento1");
    wait(1ms);
    press(F2);
    endif;

    ifmatches(%CHATCLEAN%,"Xingamento2");
    wait(1ms);
    press(F2);
    endif;

    ifmatches(%CHATCLEAN%,"Xingamento3");
    wait(1ms);
    press(F2);
    endif;

    ifmatches(%CHATCLEAN%,"Xingamento4");
    wait(1ms);
    press(F2);
    endif;

    ifmatches(%CHATCLEAN%,"Xingamento5");
    wait(1ms);
    press(F2);
    endif;

    (Obviamente não irei colocar vários palavrões no tópico, não to afim de ser warnado

    Para salvar os tells

    ifmatches(%CHATCLEAN%,"(Mensagem de");
    wait(1ms);
    press(F2);
    endif;

    OBS: Essa macro é utilizada no OnChat. Caso não saiba instalar uma macro no onchat, veja este tópico.
     
    Hynn curtiu isso.
  3. xD7oomCraft71

    xD7oomCraft71 Craftlandiano
    VIP

    Afiliado:
    11 Julho 2013
    Mensagens:
    5,649
    Curtidas Recebidas:
    1,125
    Curtiu:
    630
    Sexo:
    Masculino
    Localização:
    Minha casa
    Cubos:
    162.75
    Nick:
    xD7oomCraft71
    Seu nick: xD7oomCraft71
    Servidor em que joga: Todos.
    Servidor em que a macro foi testada: Todos da 1.5.2
    Breve descrição de como utilizar:

    Sethome:

    -/sethome afk (onde a macro ficará)

    -/sethome velo,forca,reg,capira (em 1 bau, ou cada bau uma quantidade de um tipo de ITEM, exemplo, apenas 1 Bau para reg,velo,forca e velo, ou 4 baus para cada item, 1 para velo, 1 para forca, 1 para reg e 1 para capira setando cada home para 1 bau no bau de capira /sethome capira por exemplo.
    Inventário:

    A única regra é que você tem que ter em vista que se você pedir 15 POT'S de VELO obviamente você tem que ter 15 espaços vazios no inventário seguindo o mesmo padrão para outra quantidade ou outro ITEM.

    Baús:

    A macro não é necessária nenhuma TRAP para os baus (pode ser feito de qualquer maneira), você só tem que ter em vista de salvar a home olhando para o bau (sem nenhuma placa a frente) para a macro pegar o ITEM desejado no bau)
    Funcionamento da macro:

    Essa é uma MACRO funcional para aqueles que muitas vezes tem preguiça de pegar o ITEM em sua casa, ou desejam pegar uma grande quantidade de divesos ITENS ao mesmo tempo mais rapidamente.

    Primeiramente você deve deixar a macro em um local ABERTO OU NÃO mas que esteja olhando para você
    (é extremamente necessário que a macro olhe em você para funcionar).

    Logo após isso basta você digitar o nome da conta que a macro irá criar um breve DIALOGO.

    Após você digitar o nome da MACRO:

    [​IMG]

    Será criado um breve DIALOGO: (Lembrando que o NICK da ''Mordomo'' Pode ser qualquer UM.

    [​IMG]


    Você informa: quero porfavor
    Exemplo: Mordomo quero 5 Velo porfavor
    (sendo extremamente necessário informar nesse padrão <Nick> <Quero> <Quantidade> <Porfavor>)

    Após isso:

    [​IMG]

    A macro buscará seu pedido e avisará quando for jogar.

    [hr]

    Lembrando que caso não tenha ESTOQUE no BAU a macro avisará também:

    [​IMG]

    E também é possível bloquear para que alguém não faça um PEDIDO:
    (comando na MACRO: pot bloquear

    Exemplo:

    [​IMG]

    Sendo possivel também definir a quantidade máxima que alguém pode pedir de um certo ITEM na macro.

    Código da Macro:

    $${

    IFMATCHES("%CHATCLEAN%","^\[L\] (.*)%PLAYER%(.*)\: pot(.*)");
    MATCH("%CHATCLEAN%","^\[L\] (.*)%PLAYER%(.*)\: pot(.*)",{,,&pot_arg});
    IFMATCHES("%&pot_arg%","desbugar");
    LOG("&a[POT] &6Desbugado.");
    UNSET(pot_using);
    UNSET(pot_info)
    ENDIF;
    IFMATCHES("%&pot_arg%","limite ([\d,.]*)",#pot_limite,1,NONE);
    IF((%#pot_limite%=0)||(%#pot_limite%>18));
    LOG("&a[POT] &6Valor inválido, o valor mínimo é &c1 &6e o máximo é &c18&6.");
    ELSE;
    LOG("&a[POT] &6Novo limite: &c%#pot_limite%");
    ENDIF;
    ENDIF;
    IFMATCHES("%&pot_arg%","^ bloquear ([\d\w_]+)$",&nick_block,1,NONE);
    SET(&d7oom_lista_block,"%&d7oom_lista_block%<%&nick_block%>");
    LOG("&a[POT] &c%&nick_block% &6bloqueado.");
    ENDIF;
    IFMATCHES("%&pot_arg%","^ desbloquear ([\d\w_]+)$",&nick_block,1,NONE);
    REPLACE(&d7oom_lista_block,"<%&nick_block%>","");
    LOG("&a[POT] &c%&nick_block% &6desbloqueado.");
    ENDIF;
    IFMATCHES("%&pot_arg%","bloqueados");
    LOG("&a[POT] &6Bloqueados: &c%&d7oom_lista_block%");
    ENDIF;
    ENDIF;
    IFMATCHES("%CHATCLEAN%","^\[L\] (.*): %PLAYER%$");
    IF((!pot_info)&&(!pot_using));
    SET(pot_info);
    ECHO("(macro) opah! me chamaram? algum pedido? digite:");
    WAIT(40T);
    ECHO("\"%PLAYER% quero porfavor\"");
    WAIT(40T);
    UNSET(pot_info);
    ENDIF;
    ENDIF;
    IFMATCHES("%CHATCLEAN%","^\[L\] (.*): %PLAYER% quero [\d,.]+ (.+) porfavor$");
    MATCH("%CHATCLEAN%","^\[L\] (.*): %PLAYER% quero ([\d,.]+) (.+) porfavor$",{&nick_chat,#quant,&name});
    IF(!pot_using);
    SET(pot_using);
    SET(&pot_nick_chat,"%&nick_chat%");
    SET(#pot_quant,"%#quant%");
    SET(&pot_name,"%&name%");
    IFMATCHES("%&pot_nick_chat%","%HITNAME%");
    IFMATCHES("%&d7oom_lista_block%","<%HITNAME%>");
    ECHO("(macro) caro sr. %HITNAME%, você nao pode fazer nenhum pedido.");
    WAIT(40T);
    ELSE;
    IFMATCHES("%&pot_name%","^reg$|^forca$|^velo$|^capira$");
    IF(%#pot_limite%=0);
    SET(#pot_limite,"18");
    ENDIF;
    IF(%#pot_quant%<=%#pot_limite%);
    SET(&nick_pot_using,"%HITNAME%");
    IF(%&pot_name%="capira");
    ECHO("(macro) um momento sr. %&nick_pot_using%, irei buscar %#pot_quant% pack(s) de %&pot_name%.");
    SET(&id_buscar,"322");
    ELSE;
    ECHO("(macro) um momento sr. %&nick_pot_using%, irei buscar %#pot_quant% pot(s) de %&pot_name%.");
    IF(%&pot_name%="reg");
    SET(&id_buscar,"373:8257");
    ELSEIF(%&pot_name%="velo");
    SET(&id_buscar,"373:8226");
    ELSEIF(%&pot_name%="força");
    SET(&id_buscar,"373:8233");
    ENDIF;
    ENDIF;
    UNSET(d7oom_acabou_jessica);
    SET(#d7oom_quant_peguei,"");
    WAIT(20T);
    DO(2);
    GUI();
    UNSET(@d7oomteleport);
    ECHO("/home %&pot_name%");
    WAIT(40T);
    DO(300);
    UNTIL(@d7oomteleport);
    LOOP;
    WAIT(20T);
    DO;
    GUI();
    WAIT(2T);
    KEY(USE);
    DO(100);
    UNTIL(%GUI%="GUICHEST");
    UNTIL(%GUI%="GUICHEST");
    WAIT(10T);
    DO(%#pot_quant%);
    GETSLOT(%&id_buscar%,#d7oom_slot);
    IF((%#d7oom_slot%!=-1)&&(%#d7oom_slot%<=53));
    SLOTCLICK(%#d7oom_slot%,L,TRUE);
    WAIT(5T);
    INC(#d7oom_quant_peguei,1);
    ELSE;
    SET(d7oom_acabou_jessica);
    BREAK;
    ENDIF;
    LOOP;
    GUI();
    DO(2);
    UNSET(@d7oomteleport);
    ECHO("/home afk");
    WAIT(40T);
    DO(300);
    UNTIL(@d7oomteleport);
    LOOP;
    GUI();
    WAIT(20T);
    IF((d7oom_acabou_jessica)&&(%#d7oom_quant_peguei%=0));
    ECHO("(macro) caro sr. %&nick_pot_using%, seu pedido nao encontra-se em estoque, volte mais tarde.");
    WAIT(40T);
    ELSE;
    ECHO("(macro) atençao sr. %&nick_pot_using%, irei jogar seu pedido em 5 segundos.");
    WAIT(100T);
    DO;
    IF(%GUI%!="GUIINVENTORY");
    GUI(INVENTORY);
    ENDIF;
    GETSLOT(%&id_buscar%,#d7oom_slot);
    IF(%#d7oom_slot%!=-1);
    SLOTCLICK(%#d7oom_slot%,L,FALSE);
    WAIT(5T);
    SLOTCLICK(-999);
    WAIT(5T);
    ELSE;
    BREAK;
    ENDIF;
    LOOP;
    GUI();
    IF(d7oom_acabou_jessica);
    ECHO("(macro) caro sr. %&nick_pot_using%, infelizmente só foi encontrado isso em estoque, volte sempre.");
    ELSE;
    ECHO("(macro) volte sempre sr. %&nick_pot_using%, bom pvp.");
    ENDIF;
    WAIT(40T);
    ENDIF;
    ELSE;
    IF(%&pot_name%="capira");
    ECHO("(macro) pedido recusado! você só pode pedir até %#pot_limite% pack(s) de capira por vez.");
    ELSE;
    ECHO("(macro) pedido recusado! você só pode pedir até %#pot_limite% pot(s) por vez.");
    ENDIF;
    WAIT(40T);
    ENDIF;
    ELSE;
    ECHO("(macro) pedido recusado! %&pot_name% é um nome inválido, utilize: reg, forca, velo ou capira.");
    WAIT(40T);
    ENDIF;
    ENDIF;
    ELSE;
    ECHO("(macro) para eu aceitar o seu pedido, posicione-se em minha frente e peça novamente.");
    WAIT(40T);
    ENDIF;
    UNSET(pot_using);
    ENDIF;
    ENDIF;
    IFMATCHES("%CHATCLEAN%","^Você foi enviado\(a\) para a home \"[\w\d_]+\"\!$");
    SET(@d7oomteleport);
    ENDIF;

    }$$
    ,

    Lembrando que essa MACRO deve ser utilizada no OnChat, caso não saiba instalar no OnChat clique aqui

    >é>
     
    MateusDELAS e Hynn curtiram isso.
  4. Lehcki

    Lehcki Craftlandiano
    VIP

    Afiliado:
    13 Dezembro 2012
    Mensagens:
    1,836
    Curtidas Recebidas:
    925
    Curtiu:
    353
    Sexo:
    Feminino
    Cubos:
    4,491.00
    Nick:
    Trashpoc
    Discord:
    Lehcki#8342
    Seu nick: Trashpoc
    Servidor em que joga: Propano 1.8
    Servidor em que a macro foi testada: Heaven
    "Breve" descrição de como utilizar: é um codigo de um conjunto de macros que eu estava criando para mim jogar no propano, ainda está em fase de testes, mas o foco dela é informação e comunicação remota.

    a macro tem varios "modulos" dentro do codigo, facilmente identificaveis, o 1º é para responder tell, 2º ao 6º é para controle remoto, o penultimo é a macro de secretaria, o ultimo é para identificação de venda/compra de determinado item (nesse caso bau de pedra no red);
    Informação e controle remoto.
    no caso eu uso 2 acc (aki referidas como principal e fake), onde eu com a principal logada, dou comandos e faço perguntas com a fake, para assim manter um controle mesmo quando não estou presente na frente do pc principal.
    ex: pergunto o que a principal está fazendo e ela verifica quais flags de macro está ativa e me responde de acordo.
    -lembrando que para essa funcionar de acordo, deve-se mudar as flags para combinar com as macros já existentes.
    ex2: eu mando a principal ativar determinada macro (no caso a macro a ser ativada tem q ser "idependente", ou seja poder se arrumar sozinha para funcionar).
    ex3: mando a macro começar a anunciar, dentro de uma lista de anuncios já estabelescidos.
    Respostas automaticas e anuncio.
    Tambem uso ela para que quando eu estiver afk, ou então ocupada demais para responder tell, ela responde automaticamente.
    ex: pode somente mandar a mensagem de gravação personalizada ou não.
    ex2: a macro secretaria que responde e pergunta determinada coisa (no caso venda de baus de pedra no red).
    e3: a macro toda vez que alguem dizer no chat as palavras chaves determinadas ela tirara uma print, podendo assim eu saber quem está vendendo/comprando.



    como instalar a macro:
    colocar a macro principal no onChat (como se fosse uma macro normal, dá um nome cria um arquivo etc), e uma macro na tecla desejada, para a macro que queira ativar:
    Ex: no evento onChat escreva $$<onChat.txt>
    crie o arquivo de texto chamado onChat, e cole o codigo principal ali, altere as informações desejadas (veja abaixo), salve e está instalada.
    Grande parte da macro requer comandos de fora,
    Para a macro de responder tell, voce cola o codigo 2 em uma tecla qualquer, para ativar ou desativar, (para responder tell "personalizado" dakilo que está fazendo altere as flags if(@algo) para combinar com as flags que suas macros já setam)
    Para a macro de Secretaria:voce cola o codigo 3 em uma tecla qualquer, para ativar ou desativar.(essa macro entra em conflito com a do tell, então quando uma liga ela desliga a outra)
    -lembrando que as mensagens estão determinadas para o que eu quis, porem podem ser modificadas para adequar a suas necessidades.
    Para a macro de venda/compra de determinado item cole o codigo 4 em qualquer tecla para ativar e desativar.
    -essa macro funciona a base de palavras chaves, troque "pedra no red" pelas suas proprias palavras chaves daquilo que quer comprar.
    Para as macros de controle remoto, voce deve mudar onde está "Nplayer" pelo nick de tua fake, e 1234 pela senha que voce quer deixar (a macro só detectara se a mensagem for do nick salvo com a senha e com os comandos exatos:
    exemplo de comandos:
    1234 dc agora (irá dar dc na acc principal)
    1234 comece a anunciar a loja (irá anunciar as mensagens pré programadas até que mande parar)
    1234 pare de anunciar a loja (irá parar de anunciar)
    1234 iniciar macro X (iniciará determinada macro, lembrando que no codigo se deve alterar a flag da macroX e a tecla da macro que queira ativar)
    1234 informe (informa que macro está ativa com base nas flags setadas)






    Código da macro principal:
    $${

    if(@tell);
    unset(@vender);
    ifMatches(%CHATCLEAN%,"^\(Mensagem de (.+)\): .*$",&nome,1);
    match(%CHATCLEAN%,"^\(Mensagem de .+\): (.*)$",&mensagem,1);
    Time(&date,"dd/MM/yyyy HH:mm:ss");
    logTo("tell.txt","[%&date%] %&nome%: %&mensagem%");
    if(@herbalismo);
    }$$/r Estou Afk upando herbalismo,Deixe um recado que eu te respondo assim que possivel.$${
    elseif(@mob);
    }$$/r Estou Afk matando mobs,Deixe um recado que eu te respondo assim que possivel.$${
    elseif(@pesq);
    }$$/r Estou Afk pescando,Deixe um recado que eu te respondo quando eu ver.$${
    elseif(@tesouro);
    }$$/r Estou Afk pegando tesouros,Deixe um recado que eu te respondo assim que for possivel.$${
    else;
    }$$/r Estou Afk,Deixe um recado que eu respondo assim que for possivel.$${
    endif;

    endif;
    endif;



    IFMATCHES(%CHATCLEAN%,"^\(Mensagem de Nplayer\): 1234 dc agora");
    log(Tell recebido);
    wait(3);
    disconnect;
    ENDIF;

    IFMATCHES(%CHATCLEAN%,"^\(Mensagem de Nplayer\): 1234 comece a anunciar a loja");
    log(Tell recebido);
    wait(3);
    }$$/tell Nplayer mensagem recebida começando a anunciar $${
    unset(@pare);
    do;
    random(#num,1,6);
    if(%#num%=1);
    }$$ oi anuncio 1 $${
    elseif(%#num%=2);
    }$$ oi anuncio 2 $${
    elseif(%#num%=3);
    }$$ oi anuncio 3 $${
    elseif(%#num%=4);
    }$$ oi anuncio 4 $${
    elseif(%#num%=5);
    }$$ oi anuncio 5 $${
    elseif(%#num%=6);
    }$$ oi anuncio 6 $${
    endif;

    wait(10);
    until(@pare);
    ENDIF;

    IFMATCHES(%CHATCLEAN%,"^\(Mensagem de Nplayer\): 1234 pare de anunciar a loja");
    set(@pare);
    log(Tell recebido);
    wait(3);
    }$$/tell Nplayer parando de anunciar $${
    ENDIF;


    IFMATCHES(%CHATCLEAN%,"^\(Mensagem de Nplayer\): 1234 iniciar macro x");
    unset(@flagX);
    log(Tell recebido);
    wait(3);
    }$$/tell Nplayer iniciando macro X $${
    press(f2);
    ENDIF;

    IFMATCHES(%CHATCLEAN%,"^\(Mensagem de Nplayer\): 1234 informe");
    log(Tell recebido);
    if(@herbalismo);
    }$$/tell Nplayer Estou upando herbalismo $${
    elseif(@mob);
    }$$/tell Nplayer Estou matando mobs$${
    elseif(@pesq);
    }$$/tell Nplayer Estou pescando$${
    elseif(@tesouro);
    }$$/tell Nplayer Estou pegando tesouros$${
    else;
    }$$/tell Nplayer Não estou fazendo nada $${
    endif;
    ENDIF;

    if(@vender);
    unset(@tell);
    #resp=1;
    if(@secretariad);
    ifMatches(%CHATCLEAN%,"^\(Mensagem de %&nick%\): .*$");
    match(%CHATCLEAN%,"^\(Mensagem de %&nick%\): (.*)$",&msg,1);
    Time(&date,"dd/MM/yyyy HH:mm:ss");
    logTo("sercretaria.txt","[%&date%] %&nick%:[quer reservar] %&msg%");
    unset(@secretariad);
    }$$/r resposta gravada, respondo quando puder, obrigada pelo interesse!$${
    endif;
    elseif(@secretaria);
    ifMatches(%CHATCLEAN%,"^\(Mensagem de %&nick%\): %#resp%");
    }$$/r certo voce gostaria de reservar?, diga quantos baus$${
    set(@secretariad);
    unset(@secretaria);
    else;
    ifMatches(%CHATCLEAN%,"^\(Mensagem de %&nick%\): .*$");
    match(%CHATCLEAN%,"^\(Mensagem de %&nick%\): (.*)$",&msg,1);
    Time(&date,"dd/MM/yyyy HH:mm:ss");
    logTo("sercretaria.txt","[%&date%] %&nick%: %&msg%");
    }$$/r resposta gravada, respondo quando puder$${
    unset(@secretariad);
    unset(@secretaria);
    endif;
    endif;
    else;
    ifMatches(%CHATCLEAN%,"^\(Mensagem de (.+)\): .*$",&nick,1,none);
    set(@secretaria);
    }$$/r AFK, mensagem automatica, se for sobre bau de item red responda 1,s n repita a msg p/ gravar$${
    endif;
    endif;
    endif;

    if(@busca);
    ifmatches(%CHAT%,"pedra no red");
    press(f2);
    endif;
    ifmatches(%CHAT%,"pedra red");
    press(f2);
    endif;
    ifmatches(%CHAT%,"bau red");
    press(f2);
    endif;
    endif;
    }$$


    Codigo 2
    ${if(@tell);unset(@tell);log(tell automatico off);else;set(@tell);log(tell automatico on);endif;}$

    Codigo 3
    ${if(@vender);unset(@vender);log(macro secretaria off);else;set(@vender);log(macro secretaria on);endif;}$


    Codigo 4
    ${if(@busca);unset(@busca);log(macro gravar anuncio off);else;set(@busca);log(macro gravar anuncio on);endif;}$
     
    Bonur curtiu isso.
  5. SLEEPP

    SLEEPP Mito
    VIP

    Afiliado:
    3 Janeiro 2014
    Mensagens:
    10,481
    Curtidas Recebidas:
    6,085
    Curtiu:
    433
    Sexo:
    Masculino
    Cubos:
    1,516.00
    Nick:
    SLEEP
    YouTube:
    www.youtube.com/SleepGP
    Seu nick: SLEEP
    Servidor em que joga: Fenix
    Servidor em que a macro foi testada: Fenix
    Breve descrição de como utilizar:

    Requisitos: Ser líder de um clan e deixar o tell ativo.
    Objetivo: Automatizar o recrutamento de novos membros, podendo definir limites de skills e money.

    Comandos no chat (você deve digita-los no chat): clan on / clan off / clan menu

    Vou explicar sobre o "clan menu" pois o restante é bem obvio. Ao digitar o comando, um menu irá se abrir:
    [​IMG]

    Para alguém ser analisado e recrutado basta ele dizer alguma dessas palavras no seu tell: recruta, invita, chama clan.

    Após configurar tudo, basta dizer "clan on" no chat para ativar o sistema.

    OBS.1: Quando alguém é bloqueado, seja por você ou pelo sistema, ele não conseguirá entrar no clan, mesmo tendo os requisitos mínimos.
    OBS.2: Quando um membro abandona o clan ou é kickado por algum líder, automaticamente ele é bloqueado.
    OBS.3: Você pode forçar um recrutamento pelo "clan menu" mesmo se a pessoa não tiver os requisitos mínimos.
    OBS.4: A macro possui um sistema anti flood, ninguém vai fazer você ser kickado do servidor.

    Código da macro OnChat:
    $${

    IFMATCHES("%CHATCLEAN%","^\[[\w]+\] (.*)%PLAYER%\: clan(.*)$");
    MATCH("%CHATCLEAN%","^\[[\w]+\] (.*)%PLAYER%\: clan(.*)$",{,&clan_cmd});
    SET(&nc,"#SL");
    SET(&nc,"%&nc%EEP");
    IF(%&clan_cmd%=" menu");
    DO;
    GUI();
    PROMPT(&menu,"$$[ [Nome do clan,,Tag,Trust ON/OFF,,Espadas nível,Acrobacia nível,Money mínimo,,Recrutar,Expulsar,,Bloquear,Desbloquear,,Sair do menu]]","");
    IF(%&menu%="Nome do clan");
    PROMPT(&clan_nome,"$$?","Qual é o nome do clan? (as primeiras 4 letras já é o suficiênte)");
    IF(%&clan_nome%!=NONE);
    LOG("&6[Clan] &aNome do clan: &f%&clan_nome%&a. &9&o%&nc%");
    ELSE;
    LOG("&6[Clan] &cNome inválido! &9&o%&nc%");
    ENDIF;
    ELSEIF(%&menu%="Tag");
    PROMPT(&tag,"$$?","Qual tag deseja inserir aos membros?");
    IF(%&tag%!=NONE);
    LOG("&6[Clan] &aTag &e[%&tag%&e] &adefinida! &9&o%&nc%");
    ELSE;
    LOG("&6[Clan] &cTag inválida! &9&o%&nc%");
    ENDIF;
    ELSEIF(%&menu%="Trust ON/OFF");
    PROMPT(&trust,"$$[ [Sim,Não]]","Marcar como confiável automaticamente ao entrar no clan?");
    IF(%&trust%="Sim");
    LOG("&6[Clan] &aMarcar como confiável: &fSim&a. &9&o%&nc%");
    ELSEIF(%&trust%="Não");
    LOG("&6[Clan] &aMarcar como confiável: &fNão&a. &9&o%&nc%");
    ELSE;
    LOG("&6[Clan] &cResposta inválida! &9&o%&nc%");
    ENDIF;
    ELSEIF(%&menu%="Acrobacia nível");
    PROMPT(#acrobacia_nivel,"$$?","Digite o nível mínimo para a skill Acrobacia.");
    IF(%#acrobacia_nivel%>=0);
    LOG("&6[Clan] &aNível mínimo de &f%#acrobacia_nivel% &ana skill Acrobacia definido! &9&o%&nc%");
    ELSE;
    LOG("&6[Clan] &cNível inválido! &9&o%&nc%");
    ENDIF;
    ELSEIF(%&menu%="Espadas nível");
    PROMPT(#espadas_nivel,"$$?","Digite o nível mínimo para a skill Espadas.");
    IF(%#espadas_nivel%>=0);
    LOG("&6[Clan] &aNível mínimo de &f%#espadas_nivel% &ana skill Espadas definido! &9&o%&nc%");
    ELSE;
    LOG("&6[Clan] &cNível inválido! &9&o%&nc%");
    ENDIF;
    ELSEIF(%&menu%="Money mínimo");
    PROMPT(#money_minimo,"$$?","Quantos coins é necessário para alguém ser recrutado?");
    IF(%#money_minimo%>=0);
    LOG("&6[Clan] &aValor mínimo de &f%#money_minimo% &acoin(s) definido! &9&o%&nc%");
    ELSE;
    LOG("&6[Clan] &cValor inválido! &9&o%&nc%");
    ENDIF;
    ELSEIF(%&menu%="Recrutar");
    PROMPT(&nick_invitar,"$$?","Quem deseja recrutar?");
    IF(%&nick_invitar%!=NONE);
    IFMATCHES("%&clan_membros%","<%&nick_invitar%>");
    LOG("&6[Clan] &f%&nick_invitar% &cjá esta no clan! &9&o%&nc%");
    ELSE;
    ECHO("/clan invite %&nick_invitar%");
    LOG("&6[Clan] &aConvite enviado para &f%&nick_invitar%&a! &9&o%&nc%");
    REPLACE(&bloqueados,"<%&nick_invitar%>","");
    ENDIF;
    ELSE;
    LOG("&6[Clan] &cNick inválido! &9&o%&nc%");
    ENDIF;
    ELSEIF(%&menu%="Expulsar");
    SET(&clan_membros_copy,"%&clan_membros%");
    REPLACE(&clan_membros_copy,"<","");
    REPLACE(&clan_membros_copy,">",",");
    PROMPT(&nick_kickar,"$$[ [%&clan_membros_copy%,]]","Quem deseja expulsar?");
    IF(%&nick_kickar%!=NONE);
    IFMATCHES("%&clan_membros%","<%&nick_kickar%>");
    SET(&bloqueados,"%&bloqueados%<%&nick_kickar%>");
    REPLACE(&clan_membros,"<%&nick_kickar%>","");
    ECHO("/clan kick %&nick_kickar%");
    LOG("&6[Clan] &f%&nick_kickar% &afoi expulso(a)! &9&o%&nc%");
    ELSE;
    LOG("&6[Clan] &f%&nick_kickar% &cnão esta no clan! &9&o%&nc%");
    ENDIF;
    ELSE;
    LOG("&6[Clan] &cNick inválido! &9&o%&nc%");
    ENDIF;
    ELSEIF(%&menu%="Bloquear");
    PROMPT(&nick_block,"$$?","Quem deseja bloquear?");
    IF(%&nick_block%!=NONE);
    IFMATCHES("%&bloqueados%","<%&nick_block%>");
    LOG("&6[Clan] &f%&nick_block% &cjá está bloqueado(a)! &9&o%&nc%");
    ELSE;
    SET(&bloqueados,"%&bloqueados%<%&nick_block%>");
    LOG("&6[Clan] &f%&nick_block% &afoi bloqueado(a)! &9&o%&nc%");
    ENDIF;
    ELSE;
    LOG("&6[Clan] &cNick inválido! &9&o%&nc%");
    ENDIF;
    ELSEIF(%&menu%="Desbloquear");
    SET(&bloqueados_copy,"%&bloqueados%");
    REPLACE(&bloqueados_copy,"<","");
    REPLACE(&bloqueados_copy,">",",");
    PROMPT(&nick_desbloquear,"$$[ [ -> Todos <- ,%&bloqueados_copy%]]","Quem deseja desbloquear?");
    IF(%&nick_desbloquear%!=NONE);
    IF(%&nick_desbloquear%=" -> Todos <- ");
    LOG("&6[Clan] &aTodos foram desbloqueados! &9&o%&nc%");
    SET(&bloqueados,"");
    ELSE;
    IFMATCHES("%&bloqueados%","<%&nick_desbloquear%>");
    REPLACE(&bloqueados,"<%&nick_desbloquear%>","");
    LOG("&6[Clan] &f%&nick_desbloquear% &afoi desbloqueado(a)! &9&o%&nc%");
    ELSE;
    LOG("&6[Clan] &f%&nick_desbloquear% &cnão está bloqueado(a)! &9&o%&nc%");
    ENDIF;
    ENDIF;
    ELSE;
    LOG("&6[Clan] &cNick inválido! &9&o%&nc%");
    ENDIF;
    ENDIF;
    UNTIL(%&menu%="Sair do menu");
    ELSEIF(%&clan_cmd%=" on");
    IF(%&clan_nome%=NONE);
    LOG("&6[Clan] &cDefina o nome do clan antes de ativar! &9&o%&nc%");
    ELSE;
    SET(clan_admin);
    SET(&tell_block,"CL");
    UNSET(verificando);
    UNSET(stats);
    UNSET(money);
    LOG("&6[Clan] &aAtivado! &9&o%&nc%");
    ENDIF;
    ELSEIF(%&clan_cmd%=" off");
    UNSET(clan_admin);
    LOG("&6[Clan] &cDesativado! &9&o%&nc%");
    ENDIF;
    ENDIF;
    IF(clan_admin);
    IFMATCHES("%CHATCLEAN%","^\(Mensagem de (.+)\): (.*)(recruta|invita|chama clan)(.*)$");
    MATCH("%CHATCLEAN%","^\(Mensagem de (.+)\): (.*)(recruta|invita|chama clan)(.*)$",{&nick_tell});
    IF(!verificando);
    SET(verificando);
    SET(&nick_recrutar,"%&nick_tell%");
    IFMATCHES("%&bloqueados%","<%&nick_recrutar%>");
    ECHO("/tell @%&nick_recrutar% (macro) infelizmente você não pode entrar neste clan. %&nc%");
    ELSE;
    IFMATCHES("%&clan_membros%","<%&nick_recrutar%>");
    ECHO("/tell @%&nick_recrutar% (macro) você já é membro do clan. %&nc%");
    ELSE;
    ECHO("/tell @%&nick_recrutar% (macro) olá %&nick_recrutar%, verificando skills e money... %&nc%");
    WAIT(30T);
    UNSET(erro);
    SET(#nivel_espadas,"9595");
    SET(#nivel_acrobacia,"9595");
    SET(#nivel_acrobacia,"9595");
    ECHO("/inspect %&nick_recrutar%");
    DO(250);
    UNTIL((%#nivel_espadas%!=9595)&&(%#nivel_acrobacia%!=9595));
    IF((%#nivel_espadas%=9595)||(%#nivel_acrobacia%=9595));
    SET(erro);
    ELSE;
    SET(#money_min,"9595");
    ECHO("/money %&nick_recrutar%");
    WAIT(30T);
    DO(250);
    UNTIL(%#money_min%!=9595);
    IF(%#money_min%=9595);
    SET(erro);
    ELSE;
    SET(recrutar);
    IF(%#nivel_espadas%<%#espadas_nivel%);
    UNSET(recrutar);
    ENDIF;
    IF(%#nivel_acrobacia%<%#acrobacia_nivel%);
    UNSET(recrutar);
    ENDIF;
    IF(%#money_min%<%#money_minimo%);
    UNSET(recrutar);
    ENDIF;
    IF(recrutar);
    ECHO("/tell @%&nick_recrutar% (macro) você foi aceito =) %&nc%");
    WAIT(30T);
    ECHO("/clan invite %&nick_recrutar%");
    WAIT(30T);
    ELSE;
    SET(&bloqueados,"%&bloqueados%<%&nick_recrutar%>");
    ECHO("/tell @%&nick_recrutar% (macro) você foi recusado =( %&nc%");
    WAIT(30T);
    ECHO("/tell @%&nick_recrutar% (macro) requisitos: %#espadas_nivel% espadas, %#acrobacia_nivel% acrobacia, %#money_minimo% coin(s).");
    WAIT(30T);
    ENDIF;
    ENDIF;
    ENDIF;
    IF(erro);
    ECHO("/tell @%&nick_recrutar% (macro) ocorreu um erro, tente novamente em 10 segundos. %&nc%");
    ENDIF;
    ENDIF;
    ENDIF;
    WAIT(30T);
    SET(&tell_block,"CL");
    SET(&nick_recrutar,"CL");
    UNSET(verificando);
    ELSE;
    IFMATCHES("%&nick_tell%","%&nick_recrutar%");
    ELSE;
    IFMATCHES("%&nick_tell%","%&tell_block%");
    ELSE;
    ECHO("/tell @%&nick_tell% (macro) aguarde 10 segundos e tente novamente. %&nc%");
    SET(&tell_block,"%&nick_tell%");
    ENDIF;
    ENDIF;
    ENDIF;
    ENDIF;
    ENDIF;
    IFMATCHES("%CHATCLEAN%","^Espadas: (.+) XP\((.+)\/(.+)\)$");
    MATCH("%CHATCLEAN%","^Espadas: ([\d,.]+) XP\((.+)\/(.+)\)$",{#nivel_espadas});
    ENDIF;
    IFMATCHES("%CHATCLEAN%","^Acrobacia: (.+) XP\((.+)\/(.+)\)$");
    MATCH("%CHATCLEAN%","^Acrobacia: ([\d,.]+) XP\((.+)\/(.+)\)$",{#nivel_acrobacia});
    ENDIF;
    IFMATCHES("%CHATCLEAN%","^\[Money\] %&nick_recrutar%'s Balanco: ([\d,]+).[\d]*[\d]* Coins$");
    MATCH("%CHATCLEAN%","^\[Money\] %&nick_recrutar%'s Balanco: ([\d,]+).[\d]*[\d]* Coins$",{#money_min});
    ENDIF;
    IFMATCHES("%CHATCLEAN%","^\* (.+) abandonou o clan$",&nick_abandonou,1,NONE);
    SET(&bloqueados,"%&bloqueados%<%&nick_abandonou%>");
    REPLACE(&clan_membros,"<%&nick_abandonou%>","");
    ENDIF;
    IFMATCHES("%CHATCLEAN%","^\* (.+) foi kickado por [\d\w_]*$",&nick_kickado,1,NONE);
    SET(&bloqueados,"%&bloqueados%<%&nick_kickado%>");
    REPLACE(&clan_membros,"<%&nick_kickado%>","");
    ENDIF;
    IFMATCHES("%CHATCLEAN%","^\* (.+) é o mais novo membro do clan %&clan_nome%",&nick_novo,1,NONE);
    REPLACE(&bloqueados,"<%&nick_novo%>","");
    SET(&clan_membros,"%&clan_membros%<%&nick_novo%>");
    IF(%&trust%="Sim");
    ECHO("/clan trust %&nick_novo%");
    WAIT(30T);
    ENDIF;
    ECHO("/clan setrank %&nick_novo% %&tag%");
    WAIT(30T);
    ECHO("/. (macro) seja bem-vindo(a) %&nick_novo%, lembre-se de respeitar a todos.");
    WAIT(30T);
    ENDIF;

    }$$
     
  6. Hynn

    Hynn Craftlandiano

    Afiliado:
    12 Outubro 2011
    Mensagens:
    6,669
    Curtidas Recebidas:
    911
    Curtiu:
    153
    Sexo:
    Masculino
    Cubos:
    1,247.12
    Nick:
    hynn123
    Depois de muitos testes, muita análise, finalmente temos uma resposta do vencedor deste evento! Agradecemos enormemente todos os participantes que trouxeram à baila seu conhecimento e produziram belas macros. Contudo, em que pese todas terem se saído muito bem, em uma análise criteriosa sobre produção, organização e funcionalidade, percebemos que houve uma que se destacou das demais.

    Gostaríamos de parabenizar o vencedor!

    Parabéns [member=SLEEPP].

    Em breve enviaremos seus cubos como prêmio do evento.
    Agradecemos novamente à todos que disponibilizaram seu tempo para participar do evento.

    [hr]
    Evento finalizado, tag [Finalizado] adicionada e movido para área correspondente.

    Obs: está mensagem é automatica
     
    SLEEPP e CrazyGFX curtiram isso.
Status do Tópico:
Não esta aberto para novas mensagens.