PDA

Ir para Versão Original : [REVISÃO] [CONTRIB] - Macro - Party entre bots - by HerrSchafer



levelbot
11/03/2006, 22:16:29
MACRO AGUARDANDO REVISÃO PARA O OPENKORE 2.0.7 / MACRO PLUGIN 2.0.2

Bom, aqui estou novamente para compartilhar com os senhores uma macro que julgo eficiente. Desta vez minha proposta é otimizar o rendimento de dois ou mais bots que upam em gupo.

Seguindo o método convencional para se fazer party entre eles, obtemos um resultado tosco, que poe na cabeça de cada um, uma plaquinha escrito: "powered by Openkore". Explico: o SLAVE deixa o MASTER sem buffs por muito tempo; não bastando isso, se você configurar o "followBot" pra 1, toda vez que o SLAVE perder o MASTER de vista, ele vai enviá-lo um "volte aqui" através de PM e os dois vao ficar brincando de gato e rato num vai e vem irritante que denuncia todo o esquema.

Esta macro, ou melhor: conjunto de macros, soluciona estas deficiências fazendo com que os bots comportem-se exatamente como os players fazem (pelo menos quando eu jogava manual, em grupo com outros eu fazia assim), ou seja; cada um pede seu buff, quando ele acabar.

Da forma como está montada, a party funciona com vários bots para um mesmo Sacerdote (que será sempre o SLAVE). Um bot, ao qual comanda a party e ao qual os outros bots seguem (que será sempre o MASTER) pode determinar também que o SLAVE e os outros bots parem de seguí-lo em mapas mais fáceis, pois cada um matando individualmente, rende mais que todos matando o mesmo monstro (estou falando de uma party onde a experiência é dividida igualmente) e depois mandar o SLAVE e os outros voltarem a segui-lo quando sair dos mapas especificados.

Volto a recomendar: aprendam a fazer seus bots mudarem de mapa! Isso reduz e muito a chance de um BH ficar perseguindo seus pupilos. Eu faço de um jeito que meus bots rodam por diversos mapas, alterando inclusive os npcs que usam para armazenar/comprar/vender (mas esse é outro tópico).

Vou tomar por exemplo, uma party entre um Sacerdote e outro char qualquer, apenas para explicar o funcionamento da macro, mas é possível usar mais bots no mesmo grupo.

A base das macros é o chat do grupo, ou seja: acabou a benção de alguem, este alguem irá pedir benção pelo chat e a macro do Sacerdote se encarrega de descobrir quem está pedindo a benção e aplica o buff no jogador correspondente.

Notem que outra característica destas macros é que ninguém pedirá buff algum, se o sacerdote não estiver por perto; precisei incluir este dispositivo para quando o grupo se separar em mapas mais fáceis, os bots não fiquem pedindo cura pro Sacer, o que geraria erro pois o sacer não conseguiria aplicar o buff.

Eu deixei o Kyrie Eleison reservado apenas para alguns monstros, pois não há necessidade de usá-lo o tempo todo; deixei a Cura para ser aplicada com hp<60% para que o char não use poções ao mesmo tempo da cura. Se o sacer não estiver por perto, o char usará a poção normalmente, com hp<50%.

Magnificat também não é acionado em tempo integral, para economia de sp do Sacer; o MASTER apenas pedirá Magnificat quando seu sp estiver abaixo de 40%. Outro detalhe que gera problemas é o casting do Magnificat, que normalmente deixa o SLAVE parado falando sozinho e o MASTER andando, o que faz com que ele não receba o buff se não estiver na linha de visão do Sacer. Resolvi este problema também: o MASTER pede o buf e aguarda o casting parado.

Incluí também um outro dispositivo para funcionar no caso de casais: no meu caso, eu fiz uma Sacerdotiza para acompanhar meu char principal e quando ele fica sem sp, ela usa a skill do casamento para doar sp.

Vamos aos códigos:

macros para o MASTER:


#================================================= =======================
#
# Macros para Party - Master
#
# by Klaus Schäfer
#================================================= =======================


# Coloque aqui os mapas onde o grupo se separa, só para o MASTER
# location -> todos na mesma linha
# location not -> uma linha para cada um
# coloque OS MESMOS mapas nas duas declarações


automacro freeslave {
location mapa 1, mapa 2, mapa 3
run-once 1
call {
do p free
release turnslave
do tele
}
}

automacro turnslave {
location not mapa 1
location not mapa 2
location not mapa 3
run-once 1
call {
do p slave
release freeslave
}
}

# Esta aqui só se sua esposa for uma Saça

automacro semsp {
player "Nomedela" , 10
sp < 15%
call {
do p nosp
}
timeout 10
}

# Macros para todos os outros bots

automacro heal {
player "nomedoslave" , 10
hp < 60%
call {
do p heal
}
timeout 2
}

automacro bless {
player "nomedoslave" , 10
status not Blessing
call {
do p bless
}
timeout 10
}

automacro agiup {
player "nomedoslave" , 10
status not Increase AGI
call {
do p agi me
}
timeout 10
}

automacro magnificat {
location not geffen
location not geffen_in
location not prontera
location not prt_in
location not izlude
location not izlude_in
location not payon
location not morocc
player "nomedoslave" , 10
status not Magnificat
sp < 40%
call {
do p mag
pause 4

}
timeout 10
}

automacro impositio {
location not geffen
location not geffen_in
location not prontera
location not prt_in
location not izlude
location not izlude_in
location not payon
location not morocc
player "nomedoslave" , 10
status not Impositio Manus
call {
do p imp
}
timeout 3
}

automacro kyrie {
player "nomedoslave" , 10
status not Kyrie Eleison
monster monstro1, monstro2, monstro3
call {
do p kyr
}
timeout 5
}

macros para o SLAVE


automacro cure {
party /heal/
call {
do sp 28 $.lastparty 1000
}
}

automacro love {
party /nosp/
call {
do ss 335
}
}

automacro impositio {
party /imp/
call {
do sp 66 $.lastparty
}
}

automacro kyrie {
party /kyr/
call {
do sp 73 $.lastparty
}
}

automacro medic {
party /cur/
call {
do sp 35 $.lastparty
}
}


automacro gloria {
party /glo/
call {
do ss 75
}
}

automacro magnificat {
party /mag/
call {
do ss 74
}
}

automacro slvfre {
party /free/
call {
do follow stop
do conf attackAuto 2
do conf lockMap $.map
do tele
}
}

automacro trnslv {
party /slave/
call {
do follow $.lastparty
do conf attackAuto 1
}
}





Nos testes que realizei, o conjunto todo funcionou corretamente. Lugares onde há LAG demais, pode ocorrer erro do Sacer não identificar quem solicitou o buff, mas isso se resolve sozinho depois do LAG. Na pior das hipóteses, o MASTER irá gastar algumas poções.

Recomendo que todos tenham algumas poções, caso alguma eventualidade ocorra, impedindo o Sacer de curar.

Pode ocorrer do MASTER pedir o buff mais de uma vez, mas mesmo assim, o tempo sem buff é muito menos do que pelo método convencinal.

Acredito ser desnecessário dizer que é preciso tocar "nomedosacer" que aparece na macro do master, pelo nome do seu char e também trocar mapa1, mapa2 e mapa3 pelo nome dos mapas em que você quer q a party se separe, assim como monstro1, monstro2 e monstro3 para os monstros contra os quais você quer que seja usado o Kyrie Eleison

---Edit----

* Implementado mecanismo para não pedir alguns buffs nas cidades.
* Corrigido pequeno bug no Kyrie Eleison e Magnificat

version
*** OpenKore 1.9.1 (SVN version) - Custom Ragnarok Online client ***
version
*** Macro plugin - Versão CVS 10.1 ou Superior ***

DlEGO MAIA
06/06/2006, 23:43:27
Muito show esse macro velho, de um lvl elevadissimo!

vlw! ^^

Minoru-san
07/06/2006, 20:46:27
Orra, ressucitou o tópico.
¬¬''

Mas, realmente...

É um marco de um nível muito alto, e realmente MUITO útil.
xD

Flw.
^^

BranCo.SouL
17/07/2007, 12:29:55
[Resurrection]

Muito bom mesmo o macro, mais eu vi um errinho pequenino, na parte do slave, ele não tem o comando nem para dar bless, nem agi, ai o bot fica pedindo que nem um bobo alegre agi me, bless, agi me, bless, agi me... e assim infinitamente. eu não consegui colocar as variaveis :duh2: será que tem como dar uma mãozinha ??

Thx !

matheusdossena
11/01/2008, 18:56:53
Pessoal desculpe a nubice da minha parte mas por incrivel que pareça eu não entendi direito o macro... eu to precisando aparentemente disso só q... no caso desse macro.. o Sacer fica longe do Char que mata? ou seja como pretendo upar num lugar com bixos agressivos que o sacer n tanca ateh pq ele n tem ekips... ele n poderia ser usado? ou seja esse macro só funfa.. se o sacer tanka os bixos agressivos do mapa sózin tranquilo ou se não tiver bixos agressivos?

EDIT: Pessoal o macro já tah configurado para dizer o comando só para o sacer né??? ou para grupo? ia ficar bem estranho um cara pedindo buffs direto^^

Valeu pelas respostas...

Debardo
20/01/2008, 23:51:45
Esta macro, ou melhor: conjunto de macros, soluciona estas deficiências fazendo com que os bots comportem-se exatamente como os players fazem (pelo menos quando eu jogava manual, em grupo com outros eu fazia assim), ou seja; cada um pede seu buff, quando ele acabar.

Da forma como está montada, a party funciona com vários bots para um mesmo Sacerdote (que será sempre o SLAVE). Um bot, ao qual comanda a party e ao qual os outros bots seguem (que será sempre o MASTER) pode determinar também que o SLAVE e os outros bots parem de seguí-lo em mapas mais fáceis, pois cada um matando individualmente, rende mais que todos matando o mesmo monstro (estou falando de uma party onde a experiência é dividida igualmente) e depois mandar o SLAVE e os outros voltarem a segui-lo quando sair dos mapas especificados.

É como o levelbot explicou cara,o slave é o mestre e todos o seguem.

Sem mais!!!

primasi
27/02/2008, 19:48:13
Olá
eu coloquei esse macro e ele nao funciona, diz q tem erro d sintaxe, eu imagino q seja a versão, mas será q algm poderia me ajudar por favor?

obrigado.

Itachi
10/03/2008, 17:29:16
tipo manu n ta fufanso aqui, só fala ssim q o slave n encontrado, tipo pra agi ,fala assim altomacro agi up slave n encontrado, sabe me diser como arrumo isso!!! obrigado

Debardo
13/03/2008, 2:55:20
Olá
eu coloquei esse macro e ele nao funciona, diz q tem erro d sintaxe, eu imagino q seja a versão, mas será q algm poderia me ajudar por favor?
obrigado.

Aversão do kore que vc esta usando é essa?
version
*** OpenKore 1.9.1 (SVN version) - Custom Ragnarok Online client ***
version
*** Macro plugin - Versão CVS 10.1 ou Superior ***


tipo manu n ta fufanso aqui, só fala ssim q o slave n encontrado, tipo pra agi ,fala assim altomacro agi up slave n encontrado, sabe me diser como arrumo isso!!! obrigado

Leia atentamente a explicação do levelbot.

Sem mais!!!

luancorumba
15/03/2008, 16:14:02
e se eu quizer por o bot pra dar suport a um personagem não bot?
ou seja, eu fik upando e o bot me dando suport


----------------------
edit:
consegui fazer o bot me bufar e curar pelo chat da party
+ num tah implementado agiup e bless no macro do slave
=/

Debardo
17/03/2008, 15:36:18
Então configure o seu config.txt para isso.

Alguns modelos de configuração tem aqui no fórum.

http://forum.jogosonline.com.br/showthread.php?t=25481

Sem mais!!!

Shinobiz
03/06/2008, 17:15:52
pergunta noob mais faze oq né... bom nao entendo nada de macros aliais ainda num sei nem onde faz o download mais isso eu acho... rsrsrs bom minha duvida é a seguinte eu estou utilizando o modo padrão mesmo pro full suport seguidor aquele velho do config... enfim pra eu passar a utilizar esse eu mantenho o velho ou deicho o config.txt padrão nos 2 bot ai sim ensiro esses codigos no macro???

Bom_Bot
07/06/2008, 1:00:00
"Bom, aqui estou novamente para compartilhar com os senhores uma macro que julgo eficiente. Desta vez minha proposta é otimizar o rendimento de dois ou mais bots que upam em gupo.

Seguindo o método convencional para se fazer party entre eles, obtemos um resultado tosco, que poe na cabeça de cada um, uma plaquinha escrito: "powered by Openkore". Explico: o SLAVE deixa o MASTER sem buffs por muito tempo; não bastando isso, se você configurar o "followBot" pra 1, toda vez que o SLAVE perder o MASTER de vista, ele vai enviá-lo um "volte aqui" através de PM e os dois vao ficar brincando de gato e rato num vai e vem irritante que denuncia todo o esquema.

Esta macro, ou melhor: conjunto de macros, soluciona estas deficiências fazendo com que os bots comportem-se exatamente como os players fazem (pelo menos quando eu jogava manual, em grupo com outros eu fazia assim), ou seja; cada um pede seu buff, quando ele acabar...."

Tem que configurar um bot (sacer) como mestre e o(s) outros escravos deste.

Você está num bom caminho, sugiro que se dedique em macros, não irá se arrepender.

braian
08/08/2008, 20:00:53
Debaero, eu nao sei mais ta tenso abrir essa pagina de registro em = nao consegui me registrar

braian
08/08/2008, 20:04:31
Debardo**

primasi
16/12/2008, 22:58:01
Olá

acabei d inserir esta macro e encontrei a seguinte situação

logo ao ligar o meu MASTER nao para d exibir a mensagem:
"
match: wrong # of arguments < "nome dos players na mesma tela> <>
"

e ele parece nao estar exercendo sua função d pedir os buffs e etc?



Por favor ajudem se puderem
Obrigado

bronze
19/12/2008, 3:42:31
Esse erro de sintaxe, primase, se deve ao fato de que

automacro cure {
party /heal/
call {
do sp 28 $.lastparty 1000

substitua $.lastparty 1000 por $.lastplayer 10

em relação à Blessing e Increase AGI

Coloquem no macros do slave

automacro blessing {
party /bless/
call {
do sp 34 $.lastplayer 10
}
}

automacro agiup {
party /agi me/
call {
do sp 29 $.lastplayer 10
}
}

desculpem me por minha resposta estar toda errada, nunca postei em fóruns, só que ninguém respondeu às dúvidas deles, tentei ser útil ^^'
Espero ter ajudado.






Na parte do bot que chama o slave o "player "nomedoslave" , 10" ela é totalmente desnecessária, podem tirar essa parte dos automacros dos bots, quando o call é ativado ele fala em grupo, e o bot slave já entende que é pra ele, na verdade tentando esse método do nosso amigo, deu um erro "du mal" aqui. Desculpa se eu quem estou errado. Não quero parecer arrogante, só estou colocando o método que acho mais lógico e que funciona, já que tem gente reclamando desses erros de argumentos.
Se funcionar com vocês, ou estiverem em dúvida devido à minha explicação ridícula, eu posto aqui o completo de como seria. Obrigado e até mais^.^

Acabei de testar com um grupo de 4 sendo: Eu na minha acc, dois bots, e um slave, só que, por algum motivo a slave dá o buff pra pessoa da party mais próxima dela x.x, não consegui pensar em nada por enquanto. Empaquei, ainda não li o manual, amanha eu leio ele, vou dormir O_O', boa noite(bom dia) para vocês

Lendo um pouco o manual hj de tarde, vi o porque do $.party nao estar funcionando corretamente, segundo o texto, o $.party chama o nome do último jogador, não sei se quis dizer nome como o número dele, mas pra ativar a skill é necessário o número do player, nao o nome dele em si. esse $.lastplayer q eu pus nem existe,huahah, desculpem, deve ser por isso que o buff está indo pára um único player.

Bom, enquanto eu não consigo pensar em um modo para fazer dar buff na pessoa certa, ela ainda presta pra um bot slave e um outro, sendo ele tbm bot, ou sendo você. Enquanto isso usem com config. mesmo

arthurcarvalho
22/12/2008, 8:32:45
Como configurar o slave sem macros, somente no config. txt.

http://www.forumjogosonline.com.br/showpost.php?p=369712&postcount=2 (http://www.forumjogosonline.com.br/showpost.php?p=369712&postcount=2)

primasi
18/01/2009, 18:53:43
Boa noite,

Primeiramente agradeço ao Bronze por ter se interessado e tentado ajudar, independentemente de ter ajudado ou não.

Consegui revolver esse o erro.Na verdade ele era bem idiota, provavelmente ocorreu porque o nome do Slave era composto e eu não coloquei as aspas, então ele nao o localizava.Logo q coloquei o erro parou.


Agora estava tentando utilizar a macro sem a parte q diz respeito aos mapas

embora nao apareça sua ativação logo q o kore abre a macro aprece funcionar, o master pede os buffs quandos eles acabam, porém eu encontrei 1 problema:
quando meu master(XXx's XXXXX) pede buff o slave nao consegue da-los devido a um erro no nome dele, ele diz q "o jogador XXxs XXXXX nao pode ser encontrado" .Repare q falta um apostrofo( ' ) entre "x" da primeira palavra "s".
Gostaria d saber como resolver isso, pq imagino q o slave deveria copiar o nome q vem na mensagem.Receio q ele nao saiba usar esse caracter
Ps: no config.txt os nomes estao tds corretos e na macro nao encontrei espaços para nomes


Obrigado pela atenção e obrigado por tudo

A.P.

primasi
18/01/2009, 19:25:39
imagino q o problema seja pq ao usar as skills ( 'sp' ) o kore exija o numero do jogador, e nao seu nome.COmo resolver isso?

zapseco
30/03/2009, 19:49:22
ae pessoal so uma pergunta como eu faço s epor exemploeu dexo meu sacer curando os dois botts ( merce e templa ) so ke os dois tem q andar juntos pa eu curar + muito raro curar

Tadeumap
05/04/2009, 0:04:12
Gostaria de saber se essa macro funfa com a versão atual do kore q funfa no bRO, se não me engano eh "2.0.7". E se funciona gostaria de saber se o sacer ai ficar seguindo o mestre, pq o q eu keria era isso pq so uso o sacer e mais um bot. Eu tentei usar o plugin wait4party e num deu certo pq o slave num segue direito, intaum kero usar essa macro.

senuts
08/04/2009, 16:53:34
estou com duvida
Código PHP:

#================================================= =======================
#
# Macros para Party - Master
#
# by Klaus Schäfer
#================================================= =======================


# Coloque aqui os mapas onde o grupo se separa, só para o MASTER
# location -> todos na mesma linha
# location not -> uma linha para cada um
# coloque OS MESMOS mapas nas duas declarações


automacro freeslave {
location mapa 1, mapa 2, mapa 3
run-once 1
call {
do p free
release turnslave
do tele
}
}

automacro turnslave {
location not mapa 1
location not mapa 2
location not mapa 3
run-once 1
call {
do p slave
release freeslave
}
}

# Esta aqui só se sua esposa for uma Saça

automacro semsp {
player "Nomedela" , 10
sp < 15%
call {
do p nosp
}
timeout 10
}

# Macros para todos os outros bots

automacro heal {
player "nomedoslave" , 10
hp < 60%
call {
do p heal
}
timeout 2
}

automacro bless {
player "nomedoslave" , 10
status not Blessing
call {
do p bless
}
timeout 10
}

automacro agiup {
player "nomedoslave" , 10
status not Increase AGI
call {
do p agi me
}
timeout 10
}

automacro magnificat {
location not geffen
location not geffen_in
location not prontera
location not prt_in
location not izlude
location not izlude_in
location not payon
location not morocc
player "nomedoslave" , 10
status not Magnificat
sp < 40%
call {
do p mag
pause 4

}
timeout 10
}

automacro impositio {
location not geffen
location not geffen_in
location not prontera
location not prt_in
location not izlude
location not izlude_in
location not payon
location not morocc
player "nomedoslave" , 10
status not Impositio Manus
call {
do p imp
}
timeout 3
}

automacro kyrie {
player "nomedoslave" , 10
status not Kyrie Eleison
monster monstro1, monstro2, monstro3
call {
do p kyr
}
timeout 5
}


macros para o SLAVE


Código PHP:

automacro cure {
party /heal/
call {
do sp 28 $.lastparty 1000
}
}

automacro love {
party /nosp/
call {
do ss 335
}
}

automacro impositio {
party /imp/
call {
do sp 66 $.lastparty
}
}

automacro kyrie {
party /kyr/
call {
do sp 73 $.lastparty
}
}

automacro medic {
party /cur/
call {
do sp 35 $.lastparty
}
}


automacro gloria {
party /glo/
call {
do ss 75
}
}

automacro magnificat {
party /mag/
call {
do ss 74
}
}

automacro slvfre {
party /free/
call {
do follow stop
do conf attackAuto 2
do conf lockMap $.map
do tele
}
}

automacro trnslv {
party /slave/
call {
do follow $.lastparty
do conf attackAuto 1
}
}



onde devo colocar estes codigos para que funcione?

Tadeumap
08/04/2009, 21:36:19
@senuts
isso vc põe num arkivo chamado macros.txt q fica na pasta control. Se num tiver esse arkivo faça pelo bloco de notas. E introduza essas linhas no final do seu arkivo config.txt:
macro_debug 0
macro_nowarn 0
macro_orphans terminate
macro_readmanual red/chili

Tadeumap
08/04/2009, 21:44:12
Agora sobre a minha pergunta, essa macro funfa no bot atual? O sacerdote fica seguindo o outro bot(so vou usar esses 2) ou so vai atras quando pedem cura/buffs?

Tadeumap
15/04/2009, 9:48:13
Alguem pode responder?

tsrfjfj
15/04/2009, 11:46:50
Cara eu estou usando esta macro na versão 2.0.7 sim e está funfando legal...só que eu uso o SVN e minha pasta tables é de uma outra versão...aquela versão que tem no tópico sobre magnificat...tenta ai e vê se funfa bacana!!
Flws!! :icon14:

@edit

Tá aki o link da pasta tables que uso:
PAsta Tables Antiga[2] - Fórum Jogos Online

btuser0891
24/04/2009, 1:24:53
ola, to com uma duvida aki...

para que meu sacer possa buffa e cura um char que tah "leechando" xp com outro, eu devo usar macro? ou uso as configs msm? e c for macro, eh pra pegar as programações que estão no começo desse tópico?

agradeço desde já!

Tadeumap
25/04/2009, 0:09:23
o sacer vai ficar seguindo o mestre, ou ele so o procura quando eh pedido os buffs? Eu gostaria de saber se isso ja ta configurado na macro, ou eh necessario por o sacer pra seguir pq o q eu keria era isso pq so uso o sacer e mais um bot.

tdelano
30/04/2009, 12:58:17
macro nao funciona

o mestre pede todos os atributos mas o Slave nao da nenhum supote

=(

Jooe
17/12/2009, 12:18:53
Galera, sou novo aqui no forum..
Seguite, quero uma macro parecida com essa, quero que o sacer atenda o pedido de cura e buff não apenas por pm, e não apenas de membros do grupo.
Obrigado desde já!

matheusass
05/01/2010, 16:54:18
Tem alguem ai que possa me responder isso ? tem 1 macro pra botar junto que faça o master andar colado com ele é mais 1 , que quando o sacer toma hit , o master volte e atake o bixo ?

joamil1
15/01/2010, 13:37:32
Tópico precisa ser reavaliado!

williamokano
15/01/2010, 17:23:27
galera só reclama em vez de tentar ajudar... eu uso essa macro no bRo thor com alguns ajustes apenas :S

joamil1
15/01/2010, 17:44:15
Funcional então williamokano?