segunda-feira, 16 de dezembro de 2013

Guardando e vendendo itens

Olá Botters,

Se vocês deixaram seus bot pegando itens, uma hora ou outra o peso dele via chegar em 50%, reduzindo e muito a jogabilidade dele. Para isso, pode se guardar e vender itens nos NPCs espalhados por aí. Aqui vai um breve tutorial de como fazer isso, primeiro de como guardar itens na Kafra.

Primeiro de tudo, no arquivo Config, procure por storageAuto. Tem que ficar assim:

storageAuto 1 (se estiver 0, ponha 1)
storageAuto_npc umbala 87 160 (coordenadas da kafra, sem vírgula)
storageAuto_distance 5
storageAuto_npc_type 1
storageAuto_npc_steps c r1 n
storageAuto_password (senha do armazém)
storageAuto_keepOpen 0
storageAuto_useChatCommand
relogAfterStorage 1
minStorageZeny 50

No caso do meu bot, ele guarda as coisas na kafra de Umbala, próximo de onde ele está upando, deixei no exemplo como referência para vocês. No final do post, colocarei a posição de kafras e npcs de venda.

E para vender os itens indesejados? Procure por sellAuto. Tem que ficar deste jeito:

sellAuto 1 (se estiver 0, ponha 1)
sellAuto_npc umbala 102 154 (coordenadas do npc de venda)
sellAuto_standpoint
sellAuto_distance 5

Nada complicado, certo? Pois bem, agora vem a parte que exige um pouco mais de atenção.
Salve as configurações que você fez no arquivo Config, e agora vá para o arquivo Items_control. Como o próprio nome diz, controle de itens, é neste arquivo que você vai definir o que se guarda e o que se vende. Exige paciência, pois você vai colocar nome por nome de todos os itens que seu personagem vai pegar. Vou postar o meu Items_control como exemplo para ajudar:


Bem diferente do seu né? Eu simplesmente apaguei TUDO e comecei a reescrever ele do meu jeito, e recomendo vocês a fazerem o mesmo, as # são comentários meus, não fazem parte da programação. Como podem ver, não tem segredo e não é nada complicado. Agora eu vou explicar o que significa aqueles números.

all 0 1 0 - significa que vai guardar TUDO no armazém, ao menos que se dica ao contrário, que é o caso dos itens abaixo.É interessante colocar isso, pois é mais fácil mandá-lo guardar tudo e colocar as exceções, do que colocar item por item. Economizamos tempo fazendo assim.

Asa de Borboleta do Inciante 0 0 0 - Significa que ele não vai fazer nada com esse item, simplesmente vai ficar ali no inventário. Itens que você não quer que saia, como poções ou equipamentos, é só colocar o nome, seguido de 0 0 0.

Tora 0 0 1 - Significa que vai vender TODAS as toras que estiverem no inventário.

Vamos resumir:

Nome do Item 0 0 1 (vende o item)
Nome do Item 0 0 0 (não faz nada com ele)
Nome do Item 0 1 0 (guarda o item no armazém)

Aconselho a fazer isso aos poucos. Comecei a fazer isso depois que coloquei meu bot para upar em Umbala, então comecei a configurar a partir daí. Se eu por ele agora em Einbroch, por exemplo, vou colocar os loots dos monstros de Einbroch e o que quero fazer com cada um deles. Com o passar do tempo a lista vai crescendo, ficando cada vez mais completa e utilizável para outros bots também.

Agora, uma lista de coordenadas para serem usadas:

Prontera:
Kafra Sul - prontera 151 29
Kafra Norte - prontera 152 326
Kafra Leste - prontera 282 200
Kafra Oeste - prontera 29 207
Venda - prontera 58 182
Venda - prontera 113 42

Payon
Kafra - payon 181 104
Venda - payon 159 96

Vila dos Arqueiros
Kafra - pay_arche 55 123
Venda - payon_in02 87 34

Alberta
Kafra - alberta 113 60
Venda - alberta_in 175 97

Morroc
Kafra - morocc 156 97
Venda - morocc_in 132 57
Venda - moc_ruins 114 63

Comodo
Kafra - comodo 195 150
Venda - cmd_in01 79 182

Farol de Pharos
Kafra - cmd_fild07 136 134
Venda - cmd_fild07 250 98

Umbala
Kafra - umbala 87 160
Venda - umbala 102 154

Izlude
Kafra - izlude 134 88
Venda - izlude 105 99

Geffen
Kafra - geffen 203 123
Venda - geffen 196 111

Navio Fantasma
Kafra - albztrea 59 69
Venda - albztrea 87 65

Veins
Kafra - veins 207 128
Venda - ve_in 243 303

Al de Baran
Kafra - aldebaran 143 119
Venda - aldebaran 165 107

Juno
Kafra - yuno 152 187
Venda - yuno_in01 25 34

Rachel
Kafra - rachel 109 138
Venda - rachel 65 80

Hugel
Kafra - hugel 88 168
Venda - hu_in01 241 368

Einbroch
Kafra - einbroch 242 205
Venda - einbroch 224 207

Lighthalzen
Kafra - lighthalzen 191 320
Venda - lhz_in02 21 220

Vila dos Orcs
Kafra - gef_fild10 73 340
Venda - N/A

Brasilis
Kafra - brasilis 197 221
Venda - brasilis 180 132

Moscóvia
Kafra - moscovia 223 191
Venda - mosk_in 21 254

Kunlun
Kafra - gonryun 159 122
Venda - gonryun 147 84

Louyang
Kafra - louyang 210 104
Venda - lou_in02 130 182

Dewata
Kafra - dewata 202 184
Venda - dewata 218 164

Ayotaya 
Kafra - ayothaya 212 169
Venda - ayo_in01 90 192

Amatsu
Kafra - amatsu 102 149
Venda - ama_in01 89 28

Database do Ragnarok contendo todos os itens, monstros e mapas.
Completamente atualizado: Ragdata

domingo, 15 de dezembro de 2013

Primeiras Configurações

Olá Botters,

Fizemos o openkore funcionar, ótimo. Agora vamos configurar ele, de acordo com a nossa necessidade.
Abra a pasta do openkore, e encontre a pasta "control". Entre nela.


Esse é o conteúdo da pasta "control". Como podem ver, a maioria são arquivos de textos. Esses arquivos são a alma do programa, tudo está nesses arquivos. Todos são importantes, mas o mais importante de todos é o "config". Clique nele.


É um arquivo de texto bem extenso,  é aqui que se configura praticamente tudo: mapa para upar, pegar itens do chão ou não, habilidades para usar, etc.
No início do arquivo, está o básico: servidor, login, senha, etc. Mais para baixo, as configurações que vamos editar. Se prepare porque vamos usar bastante Ctrl+F para localizar com facilidade as linhas que queremos. Primeiro, vamos colocar o mapa que nosso bot vai upar. Procure por lockMap.
Você vai encontrar isso:

lockMap
lockMap_x
lockMap_y
lockMap_randX
lockMap_randY

Na primeira linha, dê um espaço e coloque o nome do mapa. Vou utilizar o exemplo da Vila dos Orcs. 
Vai ficar assim:

lockMap gef_fild10
lockMap_x
lockMap_y
lockMap_randX
lockMap_randY

As linhas abaixo não são necessárias, pois especificam ainda mais onde seu personagem vai ficar. Resumindo, as linhas debaixo é para deixar ele fixo em algum lugar.

Pronto. Seu personagem pode estar em Prontera, se o lockMap for gef_fild10, ele vai calcular uma rota até lá, e começar a matar os monstros do lugar. Se morrer, vai sair da kafra e vai voltar pra esse mapa. Ele SEMPRE vai voltar para esse mapa. Agora, vamos fazer nosso personagem não pegar itens do chão. Procure por itemTakeAuto.


itemsTakeAuto 2
itemsTakeAuto_party 0
itemsGatherAuto 2
itemsMaxWeight 89
itemsMaxWeight_sellOrStore 48
itemsMaxNum_sellOrStore 99
cartMaxWeight 7900
itemsTakeAuto_new 0

Vamos lá. Muitas das configurações do openkore terminam em 0, 1 ou 2. 0 significa que a função está desativada, 1 significa que está ativada e 2 que está ativada também, mas com alguma diferença.
No exemplo do itemTakeAuto, está 2. Isso significa que ele vai pegar os items no chão depois que matar os monstros. Se você deixar 1, ele vai dar mais prioridade aos itens do que aos monstros, pegando primeiro, matando depois. Porfim, se você deixar 0 ele não vai pegar nada. Gosto de deixar 0 quando deixo o bot upando, só deixo ligado quando pretendo realmente pegar loot e fazer um dinheiro bacana.

Agora procure por sitAuto.

sitAuto_hp_lower 40
sitAuto_hp_upper 100
sitAuto_sp_lower 0
sitAuto_sp_upper 0
sitAuto_follow 0
sitAuto_over_50 0
sitAuto_idle 1
sitAuto_look
sitAuto_look_from_wall

sitAuto significa sentar automaticamente. Na primeira linha, significa que ele vai sentar quando o hp estiver abaixo de 40. Abaixo, significa que ele vai levantar depois que estiver com 100 de hp. Abaixo, sobre o sp, e algumas coisas irrelevantes. Essa configuração depende muito do seu level, lógico. Essa configuração é muito pessoal, depende da sua classe, level e onde você upa. Agora, vamos para as habilidades. Procure por attackSkillSlot.

attackSkillSlot {
lvl 10
dist 1.5
maxCastTime 0
minCastTime 0
hp
sp > 10
homunculus_hp
homunculus_sp
homunculus_dead
onAction
whenStatusActive
whenStatusInactive
whenFollowing
spirit
amuletType
aggressives
previousDamage
stopWhenHit 0
inLockOnly 0
notInTown 0
timeout 0
disabled 0
monsters
notMonsters
monstersCount
maxAttempts 0
maxUses 0
target_hp
target_whenStatusActive
target_whenStatusInactive
target_deltaHp
inInventory
isSelfSkill 0
equip_topHead
equip_midHead
equip_lowHead
equip_leftHand
equip_rightHand
equip_leftAccessory
equip_rightAccessory
equip_robe
equip_armor
equip_shoes
equip_arrow
manualAI 0
}

Sim, esse é bem grande. Detalhe: Cada habilidade vai ser um troço inteiro desse. Lógico, você pode apagar algumas linhas, como homunculus (se você não for alquimista)equipamentos que não precisam ser mudados para usar habilidades, etc. Fica a critério de vocês, mas cuidado para não apagar coisas importantes. Vou colocar um exemplo de Rajada de Flechas, dos arqueiros.

attackSkillSlot Double Strafe {
lv 10 (level máximo que a habilidade será utilizada)
dist 3 (distância do monstro)
sp > 20 (só vai usar a habilidade se o sp for maior que 20)
maxUses 1 (só vai usar a habilidade 1 vez por monstro)
inLockOnly 0  (só será usada no mapa configurado)
notInTown 1 (não será usado em cidades)
}

Repare que depois do nome da habilidade, tem um espaço seguido de uma chave {, e depois no final de toda configuração da skill vem a chave que fecha a configuração }. Todas as habilidades serão assim, use o exemplo de cima como referência.
Vou explicar agora rapidamente o porquê de cada um:

lv: O level da habilidade, na maioria das vezes você vai querer usá-la no level máximo, certo? casi não, ponha o level máximo que você deseja.

dist: É a distância entre você e o alvo, pode ser até mais que 3, no caso de magos, arqueiros, e qualquer classe que ataque a distância. No caso de quem ataca perto, nem é necessário colocar essa dist, pois será 0.

sp: No exemplo, só será usada se o sp for maior que 20. Isso é bom, para também o bot não ficar na mão sem sp. Pode ser personalizada de acordo com o personagem, cada caso é um caso.

maxUses: O número máximo que ele vai usar aquela habilidade em um monstro. Você não quer que seu gatuno use furto 10 vezes no mesmo monstro, certo? só vai funcionar uma vez, e depois só vai sugar sp. 1 ou 2 vezes por monstro é o mais recomendado. Outro exemplo é a habilidade Afanar, dos arruaceiros. Tentar duas vezes por monstro, e se falhas as duas, só tenta no próximo. Assim economiza sp.

inLockOnly: Só vai usar a habilidade no mapa em que o bot vai upar, e não nos mapas por onde ele vai passar. Benção, por exemplo, é uma habilidade bem interessante de manter essa opção.

notInTown: Não usar em cidades. É bem interessante, principalmente em casos de buff.Vou usar o mesmo exemplo: Benção. Se for utilizada essa configuração e a de cima, seu personagem só vai utilizar a habilidade quando estiver no mapa final, que ele vai upar. Economia de sp e de tempo.

No Config, vai ter um attackSkillSlot como exemplo. Você pode apenas adicionar as informações da habilidades, como criar outro em baixo. Pelo programa usar arquivos de texto, você tem bastante liberdade para edição, é só tomar cuidado.

Outra coisa, nome das habilidades. No meu caso, ponho todas em inglês, mas também funciona em português, só que as vezes pode dar erro. De prioridade para os nomes em inglês, para o pleno funcionamento do bot.

Pronto, se você leu atentamente esse post, já vai conseguir fazer seu bot rodar de maneira simples, sem problemas.



Iniciando o Openkore pela primeira vez

Olá Botters,

Baixaram e instalaram o ActivePerl? Baixaram o openkore?
Então está na hora de botar ele para funcionar.

Extraia a pasta do openkore em uma pasta dedicada a ele, para não fazer confusão com outros arquivos e se for possível, não apague o arquivo .zip pois se você precisar de novo dele, o arquivo já está na mão.



Clique na pasta extraída, e você verá esses arquivos:


Nestá imagem, as duas únicas coisas que você vai mexer vai ser o arquivo openkore.pl, e a pasta control, que possui todas as linhas de texto para serem configuradas de acordo com o que você precisa. Mas antes de mexer com as configurações, vamos iniciar o openkore.

  
Isso é o openkore. Como é a primeira vez que você roda o programa, vai ser necessário as configurações primordiais, como qual servidor, login, senha, pin , personagem, etc. Extremamente fácil, apenas siga as instruções no próprio programa e responda de acordo com o número da resposta. Na imagem, por exemplo e no meu caso, seria o número 3 (Brazil - bRO: Thor). Depois de colocar o servidor, espere um pouco. Ele vai carregar todos os mapas de jogo.

Depois vai pedir seu login, senha, servidor, pin, e por fim o personagem que você quer "botiar".

Se funcionou, parabéns. Seu personagem agora está logado, num mapa que você deixou ele da última vez que jogou.


Na imagem, meu personagem (que omiti o nome por questões óbvias) está no mapa gef_fild10, o famoso mapa da vila dos orcs. Automaticamente, sem qualquer configuração feita por mim, ele já saiu matando os monstros por aí, de acordo com as configurações básicas que já vem junto com o programa.
Reparem que na janela do programa, tem o nome do personagem, seguido de B82 (3.72%)e C46 (5.84%), que são nível de base e experiência de base, nível de classe e experiência de classe, respectivamente.

Mas não basta isso. Que monstro matar? se morrer, como voltar para o mapa e continuar subindo de nível? ta pegando loot? ta com excesso de peso? ta usando habilidades? Como não houve configuração ainda, tudo que seu bot vai fazer é ficar matando monstro e mais nada. Se morrer uma vez, vai ficar travado na kafra, porquê não foi configurado o mapa pra ele upar ainda.

Próximo passo: Primeiras configurações

Download do Openkore + ActivePerl

Olá Botters,

Estou postando o link do openkore para download, sendo o mais seguro pelo fato de ser direto da fonte. Mas antes dele baixem e instalem o ActivePerl, programa necessário para ler os arquivos do openkore finalizados em .pl. Detalhe: Estou conseguindo rodar os bots sem problemas em um Windows 8, nada de máquinas virtuais, nada de dor de cabeça.

Baixem e instalem o ActivePerl, e depois reiniciem o computador para a instalação ser efetivada com sucesso.
Depois, façam o download do openkore, extraia os arquivos em uma pasta dedicada somente a ele, para não fazerem confusão com os arquivos depois.

Download ActivePerl (baixe a versão respectiva da sua máquina)

Download Openkore (baixe a versão completa: openkore_ready.zip)

Meu próximo post será sobre as primeiras configurações do openkore.



Introdução ao Openkore

Openkore é um programa que joga Ragnarok Online por você, fazendo tudo que você quer. Uns usam o programa para pegar itens mais rapidamente, outros para subir de nível mais rápido. Enfim, cada um usa com um propósito e o Openkore consegue atendera todas as necessidades. O que se precisa é de uma noção básica de como programá-lo, para funcionar corretamente.

Muitas pessoas colocam o programa para  download já pré-programado para quem tem preguiça de configurar. Querem uma dica? Não baixem. A maioria deles possuem KL (key logger) para conseguirem roubar as contas dos jogadores.
A melhor coisa que vocês fazem é baixar o programa no link oficial, e configurar o programa vocês mesmos. Lembrando que mesmo assim, se algum GM do jogo te pegar, existe o risco de perder o personagem e ser banido. Mas não se preocupem, o openkore consegue até mesmo deslogar se existe um GM próximo, diminuindo muito sua chance de perder o personagem.

Neste blog colocarei os links para download, tanto do openkore como do ActivePerl, que é um programa necessário para ler os arquivos do openkore para faze-lo funcionar.
Também colocarei tudo o necessário pra vocês saberem configurar o bot direito, sem dor de cabeça e horas na frente do computador.