AUTO-TELL INTELIGENTE!!!
Senhoras e senhores! É com muito prazer que lhes apresento meu mais novo macro! O "Auto-Tell Inteligente"! Este macro não irá só lhe ajudar com muitas funções (necessárias), mas também irá revolucionar o [mercado] mundo dos macros!
[hr]
Este tópico será dividido em várias seções e sub-seções para oferecer a melhor forma de entendimento.
Haverão seções de tutoriais, modificações, explicações e muito mais!
Essa seção é uma delas!
[hr]
Primeiramente, quero informar que este macro ainda está em fase de testes e se encontra na versão [ALPHA] (não é nem [BETA]).
Você que está testando/vendo este tópico agora, está tendo a oportunidade de fazer parte de um projeto inovador e revolucionário! Que com certeza irá ajudar a muitos!
Se quiser ajudar no desenvolvimento deste tópico, clique aqui [>O<].
[hr]
Mas o que este macro faz?
O que este macro faz? Este macro irá mudar totalmente sua experiência
[A]way [F]rom [K]eyboard.
Este macro foi dividido em várias seções, para que você personalize ele da maneira que precisar e de acordo com suas necessidades!
Versão Completa
Nesta versão:
- Mensagem de AFK: Quando alguém lhe enviar uma mensagem e você estiver com o macro ativado, o macro irá responder: "Estou [A]way [F]rom [K]eyboard. V DISPONÍVEL/FUNCIONANDO
- Lista de /homes: Quando alguém lhe enviar uma mensagem e você estiver com o macro ativado, o macro irá responder: "Para saber minha lista de lojas, responda: "1" (sem aspas)". E depois, "Qual home você quer saber? Exemplo: ferro, diamante, ouro." E irá responder conforme o item pedido. V DISPONÍVEL/FUNCIONANDO
- Deixar um recado: Quando alguém lhe enviar uma mensagem e você estiver com o macro ligado, o macro irá responder: "Para deixar um recado responda: "2" (sem aspas)". Depois perguntará se a pessoa quer apenas ser lembrada ou escrever uma mensagem. E depois irá criar um arquivo de texto chamado "AFK.txt", com a Data, a hora, o nick de quem lhe enviou a mensagem e opcionalmente a mensagem que a pessoa enviou. V DISPONÍVEL/FUNCIONANDO
- Deixar para lá; Quando alguém lhe enviar uma mensagem e você estiver com o macro ligado, o macro irá responder: "Responda "3" (sem aspas) para "Deixar para lá" e se a pessoa responder "3" o macro responderá: "Conversa deixada para lá". E irá resetar o macro. X INDISPONÍVEL NO MOMENTO
- Loja Geral: Modificação do item "Lista de /homes", com este item o macro responderá uma /home com vários itens.
- Loja Especializada: Modificação do item "Lista de /homes", similar ao item "Loja Geral", com este item o macro responderá uma /home com um só tipo de item.
- Conversa Descontraída: Quando alguém lhe enviar uma mensagem e você estiver com o macro ligado, o macro irá responder: "Para iniciar uma conversa descontraída responda: "4" (sem aspas). E irá responder: "Oi! Tchau! Feliz Natal!", e encerrar a conversa como no item "Deixar para lá". V DISPONÍVEL/FUNCIONANDO/COM ALGUNS PROBLEMAS
- Liga/Desliga: O macro pode ser desligado e ligado. V DISPONÍVEL/FUNCIONANDO
[hr]
¡IMPORTANTE!
Para a utilização de todos os códigos neste macro é necessário a instalação de um código universal em uma tecla.
Siga o tutorial abaixo e você não terá problemas quanto a esta parte!
1. Abra seu jogo com o MACRO / KEYBIND MOD instalado.
http://imgur.com/0umGNHh
2. Clique em "Options" ou "Opções".
http://imgur.com/Raxliqg
3. Vá em "Controls" ou "Controles".
http://imgur.com/OOxvqdu
4. Clique em "Macro Settings".
http://imgur.com/9P3BQe9
5. Clique em uma tecla cinza qualquer.
6. Digite: "
$$<auto-tell.txt>"
9. Clique em "Edit File..."
http://imgur.com/1C1xfAL
9. No campo "Create A New File" digite: "auto-tell" e clique em "Create".
http://imgur.com/Bx9V6N2
10. Na tela que abrirá, copie e cole este código:
$${
if(autotell);
log(&5[MACRO]&bAuto-Tell Inteligente &4[OFF]);
unset(autotell);
unset(@autotell);
stop;else;
log(&5[MACRO]&bAuto-Tell Inteligente &2[ON);
set(autotell);
set(@autotell);
endif;
}$$
http://imgur.com/WmFkF8j
11. Clique em "Save".
Pronto!
[hr]
Para utilizar este macro:
1. Tenha o código do botão instalado.
2. Siga este tutorial:
1. Abra seu jogo com o MACRO / KEYBIND MOD instalado.
http://imgur.com/0umGNHh
2. Clique em "Options" ou "Opções".
http://imgur.com/Raxliqg
3. Vá em "Controls" ou "Controles".
http://imgur.com/OOxvqdu
4. Clique em "Macro Settings".
http://imgur.com/9P3BQe9
5. Perto de "Macro Bindings: Keys" há duas setas, clique na da direita.
http://imgur.com/FrdDXpV
6. Clique em "OnJoinGame".
http://imgur.com/MkLIxRf
7. Digite: "$$
<onchat.txt>".
http://imgur.com/PDcznj9
8. Clique em "Edit File..."
http://imgur.com/1C1xfAL
9. Digite: "
onchat" clique em "Create".
http://imgur.com/25ihXgv
10. Cole este código e clique em "Save"
$${
if(@autotell);
if(%@#r%=0);
ifmatches(%CHATCLEAN%,"^[\(]Mensagem de (\S+)[\)]:",&a,1);
log('&fMensagem de %&a% Detectada");
}$$
/r Estou [A]way [F]rom [K]eyboard
$${
}$$
/r Para ver as minhas lojas, responda: "1" (sem aspas).
$${
}$$
/r Para deixar um recado, responda: “2” (sem aspas).
$${
}$$
/r Para iniciar uma conversa descontraída, responda: “4” (sem aspas).
$${
}$$
@#r=1;
ENDIF;
endif;
if(%@#r%=1);
ifmatches(%CHATCLEAN%,"^[\(]Mensagem de \S+[\)]: (\d+)",#b,1);
if(%#b%=1);@#r=2;
}$$
/r O que deseja vender? Exemplo: ferro, fungo, ouro (diga apenas uma coisa).
$${
dec(%@#time%,30);
endif;endif;endif;
if(%@#r%=2);
ifmatches(%CHATCLEAN%,"^[\(]Mensagem de \S+[\)]: (\S+)",&a,1);
log(%&a%);
&ra="^fungo$|ˆfungos$|^cenoura$|ˆcenouras$|^cana$|ˆcanas|^batata$|ˆbatatas|^melancia$|ˆmelancias|^cacto$|ˆcactos|^cactu$|^cactus$";
&rb="^pot$|ˆpots$|^pocoes$|ˆpoçoes$|^poções$|^pocões$";
&rc="^ouro$|^dima$|^diamante$|^ferro$|^ferro$|^iron$|^esmeralda$|^emerald$|^carvao$|^carvões$|^redstone$|^redstones$|^quartzo$|";
&rd="^madeira$|^pedra$|^areia$|^tijolo$|^argila$|^arenito$|^dirt$|^vidro$|^lã$|^la$|^pedregulho";
&re="^set$|ˆsets$|^p3$|^p4$|^proteção$|^afiada$|^espada$|^picareta$|^pikareta$|^pá$|^pa$|^espadas$|^pikaretas$|^picaretas$";
&rf="^machado$|^maxado$|^maxados$|^machados$|^bota$|^calca$|^calça$|^peito$|^peitoral$|^botas$|^capa$|^capacete$|^capa7$|^eificencia$|^eff$|^s5$|^s4$|^s3$|^capiroto$";
&rg="^blaze$|^creme$|^magma$|^nether$|^lagrima$|^ghast$|^lágrima$|^glowstone$|^glow$|^açucar$|^acucar$|^polvora$|^pólvora$";
ifmatches(%&ra%,%&a%);}$$/r /home seu_nick plantacoes$${@#r=0;endif;
ifmatches(%&rb%,%&a%);}$$/r /home seu_nick pot$${@#r=0;endif;
ifmatches(%&rc%,%&a%);}$$/r /home seu_nick minerios$${@#r=0;endif;
ifmatches(%&rd%,%&a%);}$$/r /home seu_nick blocos$${@#r=0;endif;
ifmatches(%&a%,%&re%|%&rf%);}$$/r /home seu_nick encantados$${@#r=0;endif;
ifmatches(%&rg%,%&a%);}$$/r /home seu_nick ingredientes$${@#r=0;endif;
endif;endif;
ifmatches(%CHATCLEAN%,”ˆ[\(]Mensagem de (\S+)[\]:”,&a,2);
logto(AFK.txt,[%DATE%\%DAYTIME%\%PLAYERNAME%] %CHATCLEAN%);
endif;endif;
ifmatches(%CHATCLEAN%,”ˆ[\(]Mensagem de (\S+)[\]:”,&a,3);
$${
}$$
/r Oi! Tchau! Feliz Natal!
$${
}$$
endif;endif;
ENDIF;
}$$
Após isso você terá o macro funcionando!
[hr]
Como configurar
Bom, é necessário configurar o macro para que ele funcione corretamente. Algumas opções dele são apenas para VIP's (como a lista de homes) mas nada que deixe o macro impossível de ser utilizado.
- Configurando a lista de /homes:
Há 4 formas de configurar a lista de /homes, mas 1 delas é apenas a junção das outras.
A primeira forma é colocar uma única loja. Você tem uma loja, acessa ela digitado "/home seu_nick loja" e vai vendo as variedades.
A segunda forma é colocando /homes gerais. Você é VIP e fez uma loja, ela tem várias coisas e etc., você acessa ela digitando /home seu_nick ferramentas e depois vai procurando o item, por exemplo, um machado de diamante, até achar. Isso é um exemplo de loja geral.
A terceira forma é colocando /homes especializadas. Vamos dizer que você é um VIP prático, pensa em tudo, no tempo dos seus consumidores, na facilidade de acesso à sua loja e etc., e se uma pessoa quiser vender, por exemplo, batata na sua loja, é só ela digitar /home seu_nick batata e ela estará na frente da placa de batatas! Isso é um exemplo de loja especializada.
A quarta forma é colocar todas as outras formas juntas no macro.
Para qualquer uma das alternativas, você terá que editar o macro SOZINHO. Aqui vai uma explicação:
No código, há esta parte:
if(%@#r%=2);
ifmatches(%CHATCLEAN%,"^[\(]Mensagem de \S+[\)]: (\S+)",&a,1);
log(%&a%);
&ra="^fungo$|ˆfungos$|^cenoura$|ˆcenouras$|^cana$|ˆcanas|^batata$|ˆbatatas|^melancia$|ˆmelancias|^cacto$|ˆcactos|^cactu$|^cactus$";
&rb="^pot$|ˆpots$|^pocoes$|ˆpoçoes$|^poções$|^pocões$";
&rc="^ouro$|^dima$|^diamante$|^ferro$|^ferro$|^iron$|^esmeralda$|^emerald$|^carvao$|^carvões$|^redstone$|^redstones$|^quartzo$|";
&rd="^madeira$|^pedra$|^areia$|^tijolo$|^argila$|^arenito$|^dirt$|^vidro$|^lã$|^la$|^pedregulho";
&re="^set$|ˆsets$|^p3$|^p4$|^proteção$|^afiada$|^espada$|^picareta$|^pikareta$|^pá$|^pa$|^espadas$|^pikaretas$|^picaretas$";
&rf="^machado$|^maxado$|^maxados$|^machados$|^bota$|^calca$|^calça$|^peito$|^peitoral$|^botas$|^capa$|^capacete$|^capa7$|^eificencia$|^eff$|^s5$|^s4$|^s3$|^capiroto$";
&rg="^blaze$|^creme$|^magma$|^nether$|^lagrima$|^ghast$|^lágrima$|^glowstone$|^glow$|^açucar$|^acucar$|^polvora$|^pólvora$";
ifmatches(%&ra%,%&a%);}$$/r /home seu_nick plantacoes$${@#r=0;endif;
ifmatches(%&rb%,%&a%);}$$/r /home seu_nick pot$${@#r=0;endif;
ifmatches(%&rc%,%&a%);}$$/r /home seu_nick minerios$${@#r=0;endif;
ifmatches(%&rd%,%&a%);}$$/r /home seu_nick blocos$${@#r=0;endif;
ifmatches(%&a%,%&re%|%&rf%);}$$/r /home seu_nick encantados$${@#r=0;endif;
ifmatches(%&rg%,%&a%);}$$/r /home seu_nick ingredientes$${@#r=0;endif;
Note que nesta parte várias coisas se repetem e têm apenas seus valores mudados.
Para cada "
&ra=", por exemplo, há um "
ifmatches(%&ra%,%&a%)". São esses códigos que você vai mudar.
Tudo isso é um banco de dados, uma simples referência.
if(%@#r%=2);
ifmatches(%CHATCLEAN%,"^[\(]Mensagem de \S+[\)]: (\S+)",&a,1);
log(%&a%);
&ra="^fungo$|ˆfungos$";
ifmatches(%&ra%,%&a%);}$$/r /home seu_nick plantacoes$${@#r=0;endif;
Com este comando,
estamos dizendo ao macro que, se no chat, tiver o texto "Mensagem de *:", ele vai ligar a variável "&a", e estamos dizendo que as expressões: "fungo" e "fungos" fazem parte da variável "&ra", e estamos dizendo que se no chat tiver a variável "&a", ou seja, tenha a frase "Mensagem de *:" e a variável "&ra", ou seja, o termo "fungo" ou "fungos", o macro irá digitar "/r /home seu_nick plantações", assim, respondendo ao player.
Para configurar isto do seu jeito, você só precisa entender isso.
Ou seja, você vai definir em cada uma destas variáveis que "se tiver "ouro" no texto, responda /r /home seu_nick ouro".
Ainda tá difícil de entender? (Explicar código é muito difícil). Aqui vai um exemplo prático:
"Eu tenho uma loja chamada "/home Augusto61 ouro", e quero que quando perguntem por "ouro" no meu /tell, o macro responda "/home Augusto61 ouro". Para fazer isso é simples, apenas escreva o seguinte:
&ra="^ouro$";
ifmatches(%&ra%,%&a%);}$$ /r /home Augusto61 ouro $${@#r=0;endif;
Lembrando que:
Depois que você colocar um "&ra", você só pode usar "&rb" e depois "&rc" e assim por diante, como se fosse uma lista, sem repetição de letras. E se você quiser mais de um parâmetro para a mesma resposta, você tem que colocar: "&ra="ˆouro$|ˆouros$"", iniciando com "^", terminando com "$" e separando tudo com "|" no final.
"
O macro já vem com alguns parâmetros já colocados, você pode usá-los como referência/editá-los. Se quiser adicionar mais, é só ler este tutorial/observar a sequência/me enviar MP falando sobre o problema/postando neste tópico o problema.
[hr]
Código separado
Aqui está o código separado:
$${
if(@autotell);
if(%@#r%=0);
ifmatches(%CHATCLEAN%,"^[\(]Mensagem de (\S+)[\)]:",&a,1);
log('&fMensagem de %&a% Detectada");
}$$
/r Estou [A]way [F]rom [K]eyboard
$${
}$$
/r Para ver as minhas lojas, responda: "1" (sem aspas).
$${
}$$
/r Para deixar um recado, responda: “2” (sem aspas).
$${
}$$
/r Para iniciar uma conversa descontraída, responda: “4” (sem aspas).
$${
}$$
@#r=1;
ENDIF;
endif;
if(%@#r%=1);
ifmatches(%CHATCLEAN%,"^[\(]Mensagem de \S+[\)]: (\d+)",#b,1);
if(%#b%=1);@#r=2;
}$$
/r O que deseja vender? Exemplo: ferro, fungo, ouro (diga apenas uma coisa).
$${
dec(%@#time%,30);
endif;endif;endif;
if(%@#r%=2);
ifmatches(%CHATCLEAN%,"^[\(]Mensagem de \S+[\)]: (\S+)",&a,1);
log(%&a%);
&ra="^fungo$|ˆfungos$|^cenoura$|ˆcenouras$|^cana$|ˆcanas|^batata$|ˆbatatas|^melancia$|ˆmelancias|^cacto$|ˆcactos|^cactu$|^cactus$";
&rb="^pot$|ˆpots$|^pocoes$|ˆpoçoes$|^poções$|^pocões$";
&rc="^ouro$|^dima$|^diamante$|^ferro$|^ferro$|^iron$|^esmeralda$|^emerald$|^carvao$|^carvões$|^redstone$|^redstones$|^quartzo$|";
&rd="^madeira$|^pedra$|^areia$|^tijolo$|^argila$|^arenito$|^dirt$|^vidro$|^lã$|^la$|^pedregulho";
&re="^set$|ˆsets$|^p3$|^p4$|^proteção$|^afiada$|^espada$|^picareta$|^pikareta$|^pá$|^pa$|^espadas$|^pikaretas$|^picaretas$";
&rf="^machado$|^maxado$|^maxados$|^machados$|^bota$|^calca$|^calça$|^peito$|^peitoral$|^botas$|^capa$|^capacete$|^capa7$|^eificencia$|^eff$|^s5$|^s4$|^s3$|^capiroto$";
&rg="^blaze$|^creme$|^magma$|^nether$|^lagrima$|^ghast$|^lágrima$|^glowstone$|^glow$|^açucar$|^acucar$|^polvora$|^pólvora$";
ifmatches(%&ra%,%&a%);}$$/r /home seu_nick plantacoes$${@#r=0;endif;
ifmatches(%&rb%,%&a%);}$$/r /home seu_nick pot$${@#r=0;endif;
ifmatches(%&rc%,%&a%);}$$/r /home seu_nick minerios$${@#r=0;endif;
ifmatches(%&rd%,%&a%);}$$/r /home seu_nick blocos$${@#r=0;endif;
ifmatches(%&a%,%&re%|%&rf%);}$$/r /home seu_nick encantados$${@#r=0;endif;
ifmatches(%&rg%,%&a%);}$$/r /home seu_nick ingredientes$${@#r=0;endif;
endif;endif;
ifmatches(%CHATCLEAN%,”ˆ[\(]Mensagem de (\S+)[\]:”,&a,2);
logto(AFK.txt,[%DATE%\%DAYTIME%\%PLAYERNAME%] %CHATCLEAN%);
endif;endif;
ifmatches(%CHATCLEAN%,”ˆ[\(]Mensagem de (\S+)[\]:”,&a,3);
$${
}$$
/r Oi! Tchau! Feliz Natal!
$${
}$$
endif;endif;
ENDIF;
}$$
[hr]
Créditos ao [member='Ernanik'] que me colocou no caminho certo do código e possibilitou que eu fizesse o "esqueleto" do código para que depois o [member='Phodalao'] pudesse fazer um código bem similar e finalmente, eu, [member='augustoantipou'], pudesse com a ajuda destes excelentes membros trazer este maravilhoso macro para vocês!
Preguiça de ler? Então:
[member='augustoantipou'] =
Ideia/Finalização/Polimento do código e tópico.
[member='Ernanik'] =
Ajuda com o "esqueleto" do macro.
[member='Phodalao'] =
Correção do código, adição de novas linhas e estruturação do mesmo.
Tópico:
[member='iHuunt']
me lembrou de colocar a função de Lembrar a mensagem no arquivo "AFK.txt".
[hr]
É importante ressaltar que como o macro ainda está em fase de teste e ainda em [ALPHA] podem haver [vários] BUG's. Por favor reporte-os no tópico de desenvolvimento. [http://forum.craftlandia.com.br/ipb/index.php?/topic/348104-pedido-vamos-criar-um-macro-inovador/page-2#entry2897957]
Se tem alguma sugestão, poste no tópico de desenvolvimento [link acima].
Algum agradecimento? Correção? Post neste tópico mesmo!
@EDIT
Clique para expandir...