Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Fazendo scripts no Elfbot NG


joaomolin
 Compartilhar

Posts Recomendados

Estava na net procurando um script para meu rooker e axei esse tutorial para fazer seu proprio script de Elfbot NG, procurei aki na WC mas não axei nenhum bom quanto esse, espero ajudar mta gente...

 

 

Ola, está cançado de pagar por scripts que sao feitos em minutos?

Concluindo esse tutorial você sera capaz de fazer seus proprios scripts

 

 

1. Funções mais usadas:

end - comando que faz parar a hotkey que esta executada.

skip - igualzinhu ao end porem ele é usado mais na criação de waypoints na aba actions.

dontlist - graças a essa maravilhosa rotkey nao aparece na tela as msg exemplo-> Usado: auto 200 dontlist | safe healparalysis 'utani gran hur'

safe - so executa a ação se o bot nao estiver tentando se curar.

 

2. Uma pequena explicação.

 

a) O que é variavel?

- Variavel é um simbolo que vem antes de uma condição.

Exemplo:

$mp é uma variavel dentro do elfobot que mostra a sua mana atual

 

b ) Como comparar as variáveis de um valor?

- '==', '<' e '>'. Pode ser usado juntos tb '<='.

Exemplo:

$mp > 300 a proxima ação so vai acontecer si você estiver com 300 ou mais de mana.

 

c) Posso usar uma variavel com outra variavel?

- claro que pode!

Exemplo:

$mp == $hp a proxima ação soh iria acontecer si a vida estivesse igual a mana.

 

d) Porque '==' e nao '='?

- Bom se eu fosse explicar deixaria o tutorial muito grande, digamos que é regra de programação. Apenas use '==' quando for usar uma variavel com um valor.

 

e) Porque '>=' e nao '>=='?

- '>' e '<' o elf ja sabe que um é usado quando maior e o outro quando menor entao nao há necessidade de usar o '>=='.

 

f) Eu quero que confirme se o item1 nao é igual ao item2, como eu faço issu?

- Use '!='.

 

3. Como criar condições simples.

 

Para diser ao bot checar se alguma coisa é verdadeira ou nao use.

if [check if true] { action }

Nunca esqueça das '[', ']', '{' e '}'

 

Exemplo:

 

Código:

if [$mp > 300] { action }

Soh irá acontecer o que está escrito dentro do '{' e '}' se você tiver mais de 300 de mana.

 

Explicando

 

if [$mp > 300] { action } O '$mp > 300' fara que a ação só seja executada se você estiver com 300 ou mais de mana. Nao esqueça de colocar a ação dentro do '{' e '}' que de acordo com o if $mp > 300' será executada somente se estiver com mais de 300 de mana.

 

4. Como executar diversas ações com o uso do "|".

 

Se voce quer executar mais de uma ação por script separe eles com o uso do "|" .

 

Exemplo:

 

Código:

if [$mp > 300] { ação1 | ação2 | ação3 }

Vai executar a ação1 e depois a ação2 e por ultimo a ação3.

 

Alem disso, voce deve saber que o "|" pode ser colocado para executar varias ações assim como o "if".

 

Código:

if [$mp > 300] { mana self | wait 500 } | if [$hp < 600] { say exura | wait 500 }

Isso é bem simples e não é necessario explicação eu acho.

 

 

5. Condições avançadas. Como "&&" e "||".

&& - é como se fosse um 'e'

|| - é como se fosse um 'ou'

 

a) Usando '&&' você pode fazer com que o bot só execute alguma coisa se 2 condições forem verdadeiras.

 

Exemplo:

 

Código:

if [$mp > 300 && $hp < 300 && .... && ...] { action }

SIM! A ação só ira acontecer se a mana for maior que 300 e a vida menor que 300.

 

Explicando:

Como eu disse antes o bot só ira executar a ação se as condições forem corretas,Lembrando que as condições devem ser postas entre '[' e ']'.

Vamos fazer com que ninguem tenha duvidas.

 

$mp > 300 a ação só ira ser executada si a mana for maior que 300

$hp < 300 a ação só ira ser executada se a vida for menor que 300

 

Seria como fazer dois scripts:

 

Código:

if [true, true] { action }

e o outro:

 

Código:

if [true, false] { action }

b ) Usando '||' você podera fazer com que a ação seja executada somente se Fulano ou Ciclano nao sendo obrigatoriamente somente Fulano ou Ciclano ou os dois juntos para acontecer.

 

Exemplo

 

Código:

if [$mp > 300 || $hp < 300] { action }

Explicando:

Se a mana for maior que 300 ou a vida menor que 300 execute tal ação..... ( Axo que deu pra entender né? )

 

c) Você poderá usar os dois '||' e '&&' de uma vez!

Como?

Apenas use '(' e ')' para separar as duas condições. Veja abaixo:

 

Código:

if [$mp > 300 && ($hp > 600 || $cap < 800)] { action }

Qualquer coisa entre '(' e ')' só pode retornar 1 unico valor!

Entendendo '$hp > 600 || $cap < 800' vao apenas retornar um valor.Entao, quando a mana for maior que 300 e (a vida maior que 600 ou cap menor que 800).

 

Eu quero dar uma explicação completa então:

($hp > 600 || $cap < 800) Ira executar a ação se qualquer uma das duas for verdadeira. Não executará caso as duas seja falsa.

($hp > 600 && $cap < 800) Aqui só se executara se as duas condições forem verdadeiras. Nao executará caso alguma das duas condições forem falsas.

 

Como se fosse matematica.

5 - (5+4-5+3)

(5+4-5+3) retornaria 7.

 

Porque devo utilizar o "&&" e "||"?

- Bem, é muito simples. Você podera evistar complicações usando elas.

 

Exemplo:

 

Código:

if [$mp > 300] { if [$hp < 600] { action } }

Codigo complicado acima:

 

Código:

if [$mp > 300 && $hp < 600] { action }

Muito mais facil,mais bonito e profissional não?

 

6. A bit more complicated conditions.

 

Bom vamos utilizar varias condições ao mesmo tempo varias ações.

 

Exemplo

 

Código:

if [$hp < 400] { if [$mp < 100] { say exura } | if [$mp > 100] { say exura gran } }

Explicando:

Aqui o bot vai ver se voce está com menos de 400 de vida. Se mana tiver menor que 100 ele ira diser "Exura". Mas se a mana for maior que 100 ele vai diser "Exura Gran".

è possivel criar mais e mais condições e ações:

 

Código:

if [...] { if [...] { if [...] { if [...] { } } | if [...] { if [...] { } } } | if [...] { } }

è muito ruim de saber que bloco pertence a que bloco nessa mistureba frenetic não é verdade? Porem necessario para um grande scripter, porem existem maneiras de deixar um pouco mais simples como veremos logo - logo.

 

Código:

if [...] { if [...] { } | if [...] { } }

Esses são uma porcaria ;d

 

Código:

if [...] { if [...] { } if [...] { } }

Axo que agora ficou um pouco mais facil ;p

 

7. Algumas vezes não é necessario o uso de "{", "}" e "if"nos scripts, iremos mostrar agora como e quando isso é possivel

 

Parabens! Se você estendeu tudo do 1-6 jaja você estará fazendo scripts foda facilmente. smilehappy.gif.

 

Agora vamos parar com esta felicidade toda e começar a parte dificil. De agora em diante tudo vai estar mais conplicado e dificil de se entender..

 

Ok, Agora vamos aprender a deixar os scripts mais profissionais e claros possiveis.

 

a) Quando "{" e "}" sao inuteis.

è muito facil. Quando tiver apenas 1 condição ou se você nao quiser usar o "{,}" na ultima condição do script. Vamos ao exemplo:

 

Código:

auto 200 if [$hp < 400] say exura

muito facil não? Nos nao usamos o "{" e "}" deixando o codigo mais bonitinhu e profissional.

 

Uma outra maneira é no final do script:

 

Código:

auto 200 if[$cap < 500] { gotolabel deposit } | if[$itemcount.268 < 20] { gotolabel refill } | if[$hp < 400] say exura

Código:

auto 200 if[$hp < 400] { if [$mp > 100] { say exura } }

Agora está mais claro smilehappy.gif

 

Atenção!

Lembre-se de colocar o "|" ou algo parecido que substitua o parenteses.

 

Eu vou lhe dar alguns exemplos.

 

Código:

auto 200 ifplayeronscreen playsound 'playeronscreen.wav'

Irá tocar um som quando algum player aparecer na tela.

 

Código:

auto 200 safe healparalysis 'utani gran hur'

Irá usar utani gran hur quando estiver paralizado e quando o bot nao estiver tentando se curar.

 

Código:

auto 200 targethplower 600 say 'exevo gran mas vis'

Irá castar o UE se a pessoa que você está atacando estiver com menos de 600 de vida.

 

8. Vamos falar agora sobre mensagens.

 

Agora iremos aprender tudo sobre mensagens. è um aspecto basico de um script avançado. Voce podera usar msgs para diversas coisas, responder automaticamente ou controlar outros chars totalmente boteadores . Você pergunta: "COMO?!?!". Muito simples. Seu bot podera mandar msg para seus amigos si algum player entrar na tela dele ou se algum player atacar ele. Se você configurar o elf para fazer algo quando receber certa msg você tambem pode fazer ele atacar de volta a distancia, ou diser pra ele correr pra cidade quem sabe?, logar ou algo que você quera, LEMBRANDO QUE COCA ELE NAO PEGA NAO ADIANTA ME MANDAREM PRIVATES PEDINDO "COCA - COLA ELE NAO PEGA" .

Gostaria de aprender tudo issu???? Então vamos la

 

 

Ok, agora é hora de explicar tudo sobre o recebimento de msgs.

Aqui estão 3 funções que checam as mensagens de 3 direfentes maneiras.There are 3 functions which check msgs in a 3 different ways:

$curmsg - checa algo na mensagem que você recebeu (Eu não recomendo o uso desta opção no momento porque ele nao checa direito, Eu vou explicar isso mais pra baixo)

$lastmsg - Checa a sua ultima msn recebida

$lastnavmsg - Nao sei!

 

Entao o que agora?? Eu expliquei tudo mas e "O que exatamente seria checar?"? muito simples parte disso. Para diser ao bot o que checar qual parte apenas use:

 

$lastmsg.property

 

Voce tem que trocar "property" para uma possivel variavel. Todas listadas nakele topico maluco que nao abre de jeito nenhum.

 

Exemplo:

 

Código:

auto 200 if [$lastmsg.sender ? 'GM'] playsound 'playeronscreen.wav'

Isto irá checar se o ultima pessoa que mando a mensagem tem no nome a palavra 'GM'.

 

Explicando:

Voce pode ver que eu usei "?" para checar se contem 'GM'. Este caracter permite você verificar a posição da string em outra string.

 

Código:

if [string1 ? string2] action

 

Mandando mensagens.

Mandando mensagens nad amais é do que mandar uma msg se alguem falar certa palavra:

gamesay 'lol' - ira dizer lol no game chat

guildsay 'porcaria' - irá diser porcaria no guilda chat

helpsay 'something' - ira diser help-channel

npcsay 'something'- ira diser npc-chat

pm 'Furao Dutra' 'something' - Manda private pro cara

rlsay 'something' - Esse nao entendi pelo que entendi diz algo na vida real?

say 'something' - diz sothing no chat normal o default

tradesay 'something' - diz sothing no trade

 

Eu axo melhor colocar alguns exemplos...

 

Exemplo:

 

Código:

auto 100 if [$lastmsg.sender ? 'GM' || $lastmsg.sender ? 'CM'] pm 'Furao Dutra' 'RAPIDOOOOOOO LOGA AQUI O GM / CM ta aqui perto de mim'

Bom o codigo assima é bem simples, irá mandar uma msg para o Furao Dutra caso alguem com 'GM' ou 'CM' no nome te mande alguma mensagem.

 

Código:

auto 100 if [$lastmsg.sender == 'Furao Dutra'] say $lastmsg.content

Bom teoricamente ele deveria falar no default chat o que o 'Furao Dutra' falasse, porem eu testei e notei que com outro char eu mandava 1 frase ele repetia a frase 3 vezes, eu resolvi este problema adicionando um delay veja abaixo:

 

Código:

auto 100 if [$lastmsg.sender == 'Furao Dutra'] say $lastmsg.content | wait 500

Código:

auto 100 if [$lastmsg.sender == 'Furao Dutra' && $lastmsg.content == 'run to city'] gotolabel runtocity

Bem aqui ta disendo que se a ultima mensagem do Furao Dutra for run to city é pra ele ir para o label runtocity, bem util quando voce tem mais de um pc e esta usando em outro e configura pra ele te mandar msg se você for atacado, ai voce fala run to city e ele realmente sai correndo, to disendo viu só coca mesmo que ele nao pega pra voce de resto ele faz, botzin da desgrama xD

 

9. foreach.

 

O que exatamente é foreach?

- Foreach é uma confição de procura, por exemplo foreach 'allplayers' ele vai retornar todos os jogadores que aparecerem na sua tela.

 

Existem 3 tipos de foreach no elfbot:

a) foreach 'listtype' $varname {action}

- Este lista o seguinte (players, monstros ou mensagens).

B ) while {condition} {action}

- Executa certas ações de acordo com as condições.

c) loop {number} {action}

- Executa a condição de acordo com o numero

IMPORTANTE!

Apenas o "foreach" são permitidos em hotkey.

 

9.1 Foreach

Vamos dar um simples exemplo deste foreach:

 

Código:

auto 100 foreach 'floorplayers' $var pm 'Furao Dutra' 'Player $var.name is on screen.' | wait 2000

Com isto ele ira enviar uma msg pro Furao Dutra com o nome das pessoas que aparecerem na tela dele.

Nota: Nao sei porque tambem fica muted!

 

Aqui vai uma lista de possiveis ltypes:

allcreatures, allplayers, allmonsters, floorcreatures, floorplayers, floormonsters, screencreatures, screenplayers, screenmonsters, shootablecreatures, shootableplayers, shootablemonsters, newmessages

 

9.2 While

while nos foreach sao usados para executar uma certa ação com uma condição especifica, por exemplo:

 

Código:

while [$itemcount.268 < 200] buyitems 268 20

Este script ira continuar comprando 20 mfs ate chegar a 200 de mfs.

 

Como issu funciona?

Primeiro o bot ira checar a condição "[$itemcount.268 < 200]" returns true. Se tiver menos que 200 ele irá partir para a proxima ação que é comprar mf "buyitems 268 20".

 

Quando eu vo ter que usar este loop??

é bastante util quando voce faz ele comprar as coisas automaticamente.

 

9.3 Loop

Esta ação loop executa x action por vez. exemplo:

 

Código:

loop 2 buyitems 268 20

Issu vai comprar 20 items com o id 268 .

 

Axo que nao tem mais nada pra colocar sobre este tipo de loop eu axo... ;p

 

9.4 Loops skeletons

Voce devem ter percebido que eu nao enxi os scripts com "{" e "}" porque nao foi necessario deixando assim mais bunito. Os verdadeiros loops skeletons estão aqui:

 

Código:

foreach 'listtype' { action }

Código:

while [condition] { action }

Código:

loop 'number' { action }

9.5 Loop no loop??

Sim é possivel! voce poderá colocar um loop em outro loop como:

 

Código:

foreach 'listtype' { while [condition] { action } }

 

 

10. Como fazer refillers.

 

Antes de tudo, o que é um Refiller?, refillers sao scripts que fazem o bot se recarregar, por exemplo , acabo as mana ele vai ate o npc de mana e compra mais, entenderam?... otimo então vamos continuar.

 

Vamos la, ao mais usado e querido script do elfo.E ao mesmo tempo na minha opiniao o mais dificil script de se fazer tambem. Adivinha? Não é tao dificil no final depois que voce pega as manhas. Elfbot lhe da as funções que tornam faceis o uso de scripts. Claro que você precisa aprender antes de sair porai fazendo smilehappy.gif

 

10.1 O que você precisa saber??

a) Se você quer saber como fazer esses refillers você precisa saber primeiro como chegar ao npc não? mas não se preocupe se você nao sabe como fazer o elfbot , andar pelas caves atacar etc.... sugiro que de uma olhada nesses dois tutoriais abaixo:.

 

Targeting Tutorial - Como atacar monstros.

 

Cave bot Tutorial - Como andar pelas caves e fazer waypoints.

 

B ) Bom se você leu o tutorial de cave bot deve saber como montar o waypoint abaixo.

 

Código:

waypoint // hunt, label start

waypoint // hunt

waypoint // hunt

waypoint // hunt

action // if more then 20 mfs go to label start

waypoint // go to shop

waypoint // go to shop

action // refill

waypoint // back to spot

waypoint // back to spot

Como eu disse se vocês leram o tutorial devem ter entendido neh?.

 

10.2 Como se encher de pot de vida ou mana?

 

a)Existem algumas ações que podem ser adicionadas alem do refiller.

- Depositar itens

- Pegar dinheiro do banco dependendo do que tu quer comprar (Nao sendo necessario se for poco e a hunt sempre der uma certa quantidade de grana)

- Se tiver sem grana vai ao dp e loga

- Em tantas horas va ao dp e logue

e muito mais...

 

B ) Ok, voce chegou na cidade o que fazer agora?

Voce pode usar uma dessas funções:

say - diz alguma coisa no default, exemplo: hi

npcsay - diz alguma coisa na janela do npc, exemplo: trade

buyitems 268 20 - Compra 20 items com o id 268

settradeoptions - Adiciona opções como, comprar com backpack, ignorar cap etc.. exemplo: settradeoptions 'buywithbps' 'ignorecap' 'ignoreequipped'

 

c) Quantos items desse tipo eu tenhu ja??

Para checar quantos itens de um certo id voce ja tem as seguintes variaveis podem ser colocadas:

countitems 268 - vai forçar o uso do item id 268. vai aparecer uma msg em verde

countitemsvisible 268 - igualzin o de cima mais conta soh os visiveis "countitems" so nao faz a msg verde aparecer.

$itemcount.268 - mostra a quantidade de items visiveis com id 268

$itemcount.'mana potion' - vai mostrar a quantidade de items com o nome 'mana potion' voce tem.

 

10.3 Fim?

Bom eu terminei sobre refiller mas eu axo que tem algumas coisas a serem ditas ainda.

 

Se voce ainda nao sabe como comprar as coisas vamos a revisão, exemplo:

- spears: Apenas faça um waypoint da cave até o npc que vende spearst:

 

Código:

say hi

npcsay withdraw 3000

npcsay yes

No exemplo acima voce tiraria 3k de gold... mas ai agente si pergunta, po um bot tao fantastico como ele nao haveria uma maneira de ele retirar a grana certa pra comprar as coisas? Vamos dar uma olhada no exemplo das spears.

 

Código:

1. set $mspears 30

2. countitems 7378

3. set $needcash [($mspears - $itemcount.'royal spear') * 15]

say hi

npcsay deposit all

npcsay yes

4. npcsay withdraw $needcash

npcsay yes

Eu numerei as linhas dificeis pra podermos entender melhor.

 

Graças ao nanddow conseguimos a tradução abaixo:

 

1- Define a variavel $mspears para 30 que eh a quantidade de spears que queremos para ter depois de compra-las

2- Conta as spears que estao e as que nao estao visiveis (Com spears nao precisamos contar as q nao estao visiveis, porem soh quis mostrar como countar mfs q nao estao visiveis, pq vc n precisa abrir todas bps com mfs ;p)

3- Define a variavel $needcash usando matematica(contas)...Se vc quer definir uma variavel usando contas de matematica vc precisa colocar entre "[" e "]" como eu fiz. Esta linha ($mspears - $itemcount.'royal spear') significa (30 - atual quantidade de spears) e multiplica o resultado por 15, que eh o preço das royal spears

4- Retira dinheiro usando a variavel $needcash (depois de configurada a quantidade)

 

Novamente muito obrigado maninhu.

 

 

10.4 Aos finalmentes

 

Bom se vocês leram todo o tutorial no minimo entenderam como funciona o sistema de scripts do Elfbotng, Conforme o tempo eu vou ir melhorando este tutorial acrescentando links com todas as variaveis etc....

11. Extras.

 

a) Sistema de Tempo.

Para checar as horas use a variavel $systime variable.

 

Exemplo

 

Código:

auto 200 if [$systime == '07:50:00'] gotolabel log

Explicando:

Ira checar a sua vida e curar voce entre 500 e 700 de vida.

 

Lista de variaveis

É necessário se cadastrar para acessar o conteúdo.

 

Bom é issu awe

 

Fiquei suspreso com a quantidade de variavel existente Oo

 

Tem ate a de pegar cocacola eu vi porai pelo meio if [$cocacola {<= 1copo}] gotolabel irnacozinhapegar

 

AHuAHHUAUHA viajei agora

 

Desculpem mas nao teve jeito de eu traduzir as variaveis pois existem mais de 10 mil ali.

 

Creditos

 

Tutorial em Ingles - Linek

Tutorial no tibiabotscript - Grabriel Santos

Post aki na WC - Joaomolin

Bom e isso, qualquer duvida e so postar, n se eskeca de agradeçer, com isso espero ki mta gente consiga usar melhor o Elfbot NG.

 

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.