Neste guia, você aprenderá a criar scripts no ElfBot para automatizar tarefas no jogo. Vamos cobrir desde os conceitos básicos até exemplos avançados, para que você possa aproveitar ao máximo as funcionalidades do ElfBot.
Caso ainda esteja iniciando com elfbot, comece estudando um pouco do que cada aba do elfbot faz! Você pode começar por cavebot e depois targeting. muitas configurações basicas do próprio bot pode te ajudar sem precisar de scripts complexos.
1. Funções mais usadas:
- end: comando que faz parar a hotkey que está executada.
- skip: igual ao end, porém é usado mais na criação de waypoints na aba actions.
-
dontlist: graças a essa maravilhosa hotkey, não aparecem
mensagens na tela. Exemplo:
auto 200 dontlist | safe healparalysis 'utani gran hur'
- safe: só executa a ação se o bot não estiver tentando se curar.
2. Uma pequena explicação.
a) O que é variável?
-
Variável é um símbolo que vem antes de uma condição.
-
Exemplo:
$mp
é uma variável dentro do ElfBOT que mostra a sua mana atual.
-
Exemplo:
b) Como comparar variáveis com um valor?
-
Use
==
,<
e>
. Pode ser usado junto também, como<=
.-
Exemplo:
$mp > 300
- a próxima ação só vai acontecer se você estiver com 300 ou mais de mana.
-
Exemplo:
c) Posso usar uma variável com outra variável?
-
Claro que pode!
-
Exemplo:
$mp == $hp
- a próxima ação só irá acontecer se a vida estiver igual à mana.
-
Exemplo:
d) Por que '==' e não '='?
- É uma regra de programação. Apenas use '==' quando for usar uma variável com um valor.
e) Por que '>=' e não '>=='?
-
>
e<
já indicam maior e menor, então não há necessidade de usar>==
.
f) Eu quero confirmar se o item1 não é igual ao item2, como faço isso?
- Use
!=
.
3. Como criar condições simples.
Para dizer ao bot checar se algo é verdadeiro ou não, use:
-
if [check if true] { action }
-
Exemplo:
if [$mp > 300] { action }
-
Só irá acontecer o que está escrito dentro do
{}
se você tiver mais de 300 de mana.
-
Só irá acontecer o que está escrito dentro do
-
Exemplo:
4. Como executar diversas ações com o uso do "|".
Se você quer executar mais de uma ação por script, separe-as com o uso do "|".
-
Exemplo:
if [$mp > 300] { ação1 | ação2 | ação3 }
- Vai executar a ação1, depois a ação2 e por último a ação3.
5. Condições avançadas: "&&" e "||".
- &&: é como se fosse um 'e'.
- ||: é como se fosse um 'ou'.
a) Usando '&&'
-
Exemplo:
if [$mp > 300 && $hp < 300] { action }
- A ação só irá acontecer se a mana for maior que 300 e a vida menor que 300.
b) Usando '||'
-
Exemplo:
if [$mp > 300 || $hp < 300] { action }
- A ação será executada se a mana for maior que 300 ou a vida menor que 300.
c) Usando ambos '||' e '&&'
-
Exemplo:
if [$mp > 300 && ($hp > 600 || $cap < 800)] { action }
- Quando a mana for maior que 300 e (a vida maior que 600 ou cap menor que 800), a ação será executada.
6. Condições mais complicadas.
Você pode utilizar várias condições e ações ao mesmo tempo.
-
Exemplo:
if [$hp < 400] { if [$mp < 100] { say exura } | if [$mp > 100] { say exura gran } }
- Aqui o bot vai ver se você está com menos de 400 de vida. Se a mana estiver menor que 100, ele dirá "Exura". Se a mana for maior que 100, ele dirá "Exura Gran".
7. Quando "{" e "}" são inúteis.
-
Quando tiver apenas uma condição ou se você não quiser usar "{" e "}" na
última condição do script.
-
Exemplo:
auto 200 if [$hp < 400] say exura
- Não usamos "{" e "}" deixando o código mais limpo e profissional.
-
Exemplo:
8. Mensagens.
Agora iremos aprender sobre mensagens, um aspecto básico de um script avançado. Você poderá usar mensagens para diversas coisas, responder automaticamente ou controlar outros chars totalmente botados.
a) Mensagens Recebidas.
-
Variáveis para mensagens: $curmsg, $lastmsg, $lastnavmsg.
-
Exemplo:
auto 200 if [$lastmsg.sender ? 'GM'] playsound 'playeronscreen.wav'
- Isto checará se a última pessoa que mandou a mensagem tem no nome a palavra 'GM'.
-
Exemplo:
Mandando mensagens.
-
Exemplo:
auto 100 if [$lastmsg.sender ? 'GM' || $lastmsg.sender ? 'CM'] pm 'Furao Dutra' 'RAPIDOOOOOOO LOGA AQUI O GM / CM ta aqui perto de mim acc:3423523 pass 324234234'
- Irá mandar uma mensagem para o Furao Dutra caso alguém com 'GM' ou 'CM' no nome te mande alguma mensagem.
9. Foreach.
a) Tipos de foreach no ElfBOT:
- foreach 'listtype' $varname {action}
- while {condition} {action}
- loop {number} {action}
b) Exemplos:
-
auto 100 foreach 'floorplayers' $var pm 'Furao Dutra' 'Player $var.name is on screen.' | wait 2000
- Envia uma mensagem para o Furao Dutra com o nome das pessoas que aparecerem na tela dele.
10. Como fazer refillers.
Refillers são scripts que fazem o bot se recarregar, por exemplo, ao acabar as mana potions, ele vai até o NPC de mana e compra mais.
a) Passos:
- Chegar ao NPC.
-
Usar funções como
say
,npcsay
,buyitems
,settradeoptions
.
b) Exemplo:
set $mspears 30
countitems 7378
set $needcash [($mspears - $itemcount.'royal spear') * 15]
say hi
npcsay deposit all
npcsay yes
npcsay withdraw $needcash
npcsay yes
11. Extras.
a) Sistema de Tempo. Para checar as horas use a variável
$systime
.
-
Exemplo:
auto 200 if [$systime == '07:50:00'] gotolabel log
Actions para Cavebot Scripts 100% Afk
Reabrir suas Backpacks
wait $ping
closeallwindows
wait 2000
openbpitem
wait 2000
openitemnew IDdaBackpack 1 'Nome da Backpack principal'
wait 2000
openitemnew IDdaBackpack 2 'Nome da Backpack de dentro'
wait $ping
Ir para Label caso a contagem do item for menor
islocation countitems ID-ITEM
if [ $count < 10 ] gotolabel Depositer
Ir para Label caso a contagem de SD for pequena
countitemsvisible 3155 | if [$count >= 200] gotolabel Start
Segunda Opção:
if [ $itemcount.3155 >= 200 ] gotolabel Start
Terceira Opção:
if [$itemcount.'sudden death rune' >= 100] gotolabel 'Start'
Depositar itens no Depot
reachgrounditem 'ID DA CAIXA MARROM DO DP'
wait 800
opengrounditem 'ID DA CAIXA MARROM DO DP'
wait 700
openitem 3502 1 'Locker'
wait 1000
moveitems 3392 'Depot Chest'
wait 2000
moveitems 3400 'Depot Chest'
wait 2000
Ir para Label caso Ultimate Health Potions esteja acabando
if [ $itemcount.7643 <= 100 ] gotolabel NOMEDOLABEL
Caso seja Maior:
if [ $itemcount.7643 >= 100 ] gotolabel NOMEDOLABEL
Ir para Label caso Mana Potions esteja acabando
if [ $itemcount.268 <= 100 ] gotolabel NOMEDOLABEL
Caso seja Maior:
if [ $itemcount.268 >= 100 ] gotolabel NOMEDOLABEL
Mover item do Depot para dentro da sua Backpack
reachgrounditem dp | wait 1000 | end
opengrounditem 3500 | opengrounditem 3499 | opengrounditem 3498 | opengrounditem 3497 | opengrounditem 3496 | end
wait [$rand.500.1300]
openitemnew ID-BP-DP 1 'Locker' | end
wait [$rand.500.1300]
moveitems ID-ITEM 'NOME-BACKPACK'
wait [$rand.200.500]
moveitems ID-ITEM 'NOME-BACKPACK'
Mover itens para dentro do Depot com Backpack
opengrounditem 3500 | opengrounditem 3499 | opengrounditem 3498 | opengrounditem 3497 | end
wait [$rand.500.1300]
openitemnew IDPACKPACK 1 'Locker' | end
set $deposit 1 | wait 7000 | set $deposit 0
auto 1 dontlist | if [$deposit == 1] { moveitems ID 'NOME DA BACKPACK' | moveitems ID² 'NOME DA BACKPACK' | moveitems ID³ 'NOME DA BACKPACK' | end }
Usar Corda
isdistance 1 {useongrounditem ID-CORDA ID-PISO | say exani tera | wait 500}
isdistance 1 {useongrounditem ID-CORDA ID-PISO | say exani tera | wait 500}
isdistance 1 {useongrounditem ID-CORDA ID-PISO | say exani tera | wait 500}
Usar Pá (Shovel)
isdistance 1 {useongrounditem ID-SHOVEL ID-PISO | wait 500 | useongrounditem ID-SHOVEL ID-PISO | wait 500 | useongrounditem ID-SHOVEL ID-PISO | wait 500}
Abrir Portas
usegrounditem ID | wait 1500 | end
Usar Hur"Up/Down
Turn[LADO] | say 'exani hur "UP' | say 'exani hur "UP'
Exemplo:
TurnN | say 'exani hur "DOWN' | say 'exani hur "DOWN'
Fazer Reffiler
useoncreature ITEMID self | useoncreature ITEMID2 self
if [$itemcount.'ITEMNAME' <= 150 || $itemcount.'ITEMNAME²' <= 50] { gotolabel 'Refill' } else { gotolabel 'Start' }
Exemplo:
useoncreature 3155 self | useoncreature 237 self
if [$itemcount.'Sudden Death Runes' <= 150 || $itemcount.'Great Mana Potions' <= 50] { gotolabel 'Refill' } else { gotolabel 'Start' }
Para viajar de barco
if [$screencount.'NOME-NPC' != 1] {skip}
follow NOME-NPC | wait 1000
npcsay hi | wait 600
npcsay CIDADE | wait 600
npcsay yes | wait 600
Falar com NPC e vender itens
if [$screencount.'nome-npc' != 1] {skip}
npcsay hi | wait 600
npcsay trade | wait 600
useoncreature id-item self | useoncreature id-item self | useoncreature id-item self | wait 500
sellitems id-item $itemcount.'Nome Item'
sellitems id-item $itemcount.'Nome Item'
sellitems id-item $itemcount.'Nome Item'
closeallwindows | wait 600 | openbpitem | wait 600
Falar com NPC e vender itens #2
npcsay 'hi' | npcsay 'trade' | wait 500 | end
wait 500 | countitems ID¹ | wait 500
sellitems ID¹ $count | end
wait 500 | countitems ID² | wait 500
sellitems ID² $count | end
Para comprar Items
npcsay 'hi' | npcsay 'trade' | wait 500 | end
buyitems ID 100 | wait 400 | end
buyitems ID 100 | wait 400 | end
buyitems ID 100 | wait 400 | end
Ou:
npcsay 'hi' | npcsay 'trade' | wait 500 | end
loop 3 buyitems ID 100 | wait 400 | end
Deixar o loot no depot
reachgrounditem dp | wait 1000 | end
Nenhum comentário:
Postar um comentário