Bem vindo galera,
então esse tutorial é exclusivamente para aprender a criar macros de forma simples, na verdade não é muito complicado criar uma boa macro para seu personagem ir fazer uma quest ou melhorar na qualidade de UP do seu bot.
Vamos ao tutorial:
Primeiro o que é preciso para rodar um macro?
Primeiro o que é preciso para rodar um macro?
Para seu Openkore ler e executar um macro é necessário alguns arquivos que torna tudo funcional, todos os arquivos necessários estão disponíveis no site oficial do Openkore.
Quais esses arquivos?
- Plugins - (pasta essencial para rodar seu macro)
- macro.txt
Com os arquivos a ja no lugar, deverá ficar assim:
----plugins
----plugins
---Macro
---test
---macro.pl
----control
---macro.txt
Com esses arquivos prontos seu Openkore já esta pronto para rodar macros!
Criar Macros
Com todos os arquivos no lugar, vá na pasta control/ - ache o arquivo macros.txt. vamos ao exemplo de como criar uma macro!
Antes de começar vamos relembrar algo importante, o kore possui muitos comandos de console, como o macro list, e é exatamente eles que usaremos em nossas macros. Um exemplo é o comando move, que manda o boneco ir a alguma lugar, ou o comando talknpc, que o faz falar com um NPC, a lista é bem extensa, e a wiki internacional possui ela na integra.
De forma simples uma macro nada mais é que comandos que a própria macro dá ao seu openkore.
Dentro do arquivo macro.txt vamos criar uma macro de teste, primeiro crie a função da macro
macro {
}
Depois Coloque o nome da macro:
macro salvar {
}
Agora vamos definir os comandos que a macro irá seguir(ATENÇÃO)
macro salvar {
do ai manual #MANDANDO O OPENKORE ENTRAR EM MODO MANUAL
do move morocc #MANDANDO SEU BOT IR PARA MOROCC
do talknpc 156 97 c r0 # MANDANDO SEU BOT IR NA KAFRA FALAR COM ELA
do ai auto #VOLTANDO SEU OPENKORE PARA MODO AUTOMÀTICO
}
Para executar a macro vá no console e digite -macro list- se tudo deu certo ira aparecer a lista de macro com a macro salvar, agora digite macro salvar ele irá executar a macro.
Entendendo os comandos usados -
Cada uma das nossas macros deve começar com a palavra macro seguido do nome da macro, e tudo o que está os colchetes são os comandos dela. Todos os comandos começados em -do- irá fazer a chamada de um comando no cosole.
ai manual - ele fez seu bot entrar em modo manual, assim parando qualquer atividade
move morocc - Ele mandou o bot ir ate a cidade de morocc
talknpc 156 97 c r0 - Ele mandou o seu boneco que já estava em morocc por causa do -move- ir falar com o NPC das coordenadas -159 97- que seria a kafra e foi usando
--- c - para continuar conversa automaticamente e
--- r0 - para dar a resposta 1 no NPC - assim salvando seu boneco em morocc
ai auto - para fazer seu bot voltar a rodar automaticamente.
AutoMacro
Com essa base simples de macro é possível criar varias possibilidades para seu bot, por exemplo, quer automatizar seu bot - cansado de ter que abrir toda hora seu bot pra mudar mapa e tal?
Simples , use automacros:
Simples , use automacros:
Primeiro crie a macro que deseje executar ao atingir certo Lvl - pra onde ele vai salvar e onde ele vai upar.
macro lvl78 {
do ai manual
do ai move geffen
do talknpc 203 123
do ai auto
do conf lockMap gef_fild08 #MUDA PARA ONDE VC VAI UPAR
do conf storageAuto_npc geffen 203 123 #MUDA ONDE VAI ARMAZENAR
}
mas como fazer para macro rodar automaticamente? Vamos criar a condição!
também dentro do arquivo macros.txt crie uma auto macro:
automacro lv 78 {
base = 70 #LEVEL QUE DESEJA MUDAR DE MAPA
call lvl78 #NOME DA MACRO QUE IRÁ CHAMAR
run-once 1
}
Então assim que seu Bot atingir Lvl 78 ele irá na kafra salvar lá mudar o local de armazenagem da kafra para aquele mapá e voltará a upar so que no mapa que ele acabou de mudar. Sendo assim so criar macros de Lvl que deseja mudar de mapa e especificar onde!
As possibilidades são infinitas somente com esses simples exemplos usados, Fuguir de GM, responder Pms, Abrir chats, sair de perto de outros jogadores... Tudo depende da sua imaginação da hora de criar.
Como Passar Variáveis E Criar Laços Condicionais
A partir daqui começa a complicar e é preciso ter uma base sólida de programação para entender o próximo exemplo. Nele iremos ver como passar uma variável para a macro e usa-la para através de laços condicionais que irão fazer uma escolha, veja:
macro salvar {
do ai manual
if ($.param1 = prontera) goto prontera
if ($.param1 = payon) goto payon
:prontera
log == INDO PARA PRONTERA
goto fim
:payon
log == INDO PARA PAYON
goto fim
:fim
do ai auto
}
Quando chamarmos esta macro devemos inserir um parâmetro que nos indicará onde o personagem irá salvar. Para passa-lo devemos usar a seguinte sintaxe: macro salvar — nomedacidade, por exemplo, macro salvar — payon, não se esqueça de inserir o espaço depois dos dois traços.
Esta macro começa colocando o kore em modo manual e depois avalia o parâmetro passado com o comandos condicionais. Em if ($.param1 = prontera) goto prontera, ele verifica se $.param1, ou seja, o primeiro parâmetro passado é igual a prontera, se sim ele segue para a linha :prontera, se não ele verifica se o parâmetro passo é igual a payon e por ai vai.
Perceba que ao final de cada bloco existe um goto fim, que chama a linha :fim, sem isto após ser executado o bloco prontera ele iria executar as linhas da sequencia, que no caso representa o bloco :payon. Isto ocorre porque o macro plugin usa um esquema bastante arcaico baseado em blocos e chamadas para determinados pontos, linguagem modernas como o Visual Basic são bem diferentes.
sensacional! valeu por tudo!
ResponderExcluirDisponha!
ResponderExcluiramigo, não esta funcionando, segui passo a passo. poderia me enviar um email para conversarmos ?
ResponderExcluirQual é o problema? so manda E-mail para jonatafsa.js@gmail.com que te ajudo!
Excluirtem algum tutorial ensinando a configurar o penkore? tem q colocar os nomes em ingles ou porgues?
ResponderExcluirola amigo tem algum macro pra KVM??
ResponderExcluirOBRIGADO
ei mano pode me ajudar numa macro???... tem algum contato... email...whats... telegram...vlw
ResponderExcluirTem como fazer macro para Asura ? por favor se tiver como me ajude.
ResponderExcluirVc é top faz um vídeo no you tube vai ganharbvarios incritos
ResponderExcluir