Jump to content
Sign in to follow this  
Senos

Script Intermediário (Aula 1)

Recommended Posts

Scripting Intermediário! - 1

Lista de Aulas:

Aula 1: http://herc.ws/board/topic/199-script-intermedi%C3%A1rio-aula-1/

 
Olá, meu nome é João Victor vulgo nick é Wolf, e estou criando este tutorial para aprendizado da linguagem script do emulador. São aulas que estavam desatualizadas antigamente no eAthena, que eu me propus a atualizar e adicionar comandos como while, e outros exemplos afim de ajudar a todos da comunidade.
 
Primeiro assunto:

- While

 

No inglês o comando While significa enquanto, funciona da mesma forma que um if (verificação). Utilizando condição como base, ele criará um loop (laço) enquanto o valor que estiver nele for verdadeiro, vejamos um exemplo:
set @i, 1;while (@i < 100) {	mes "Estou aprendendo loopings em Script!";	set @i, @i +1;} 
 
Nesse caso, iniciamos o nosso contador que é o While, lembrando que primeiro atribuimos um valor a nossa variável que é igual a 1 (@i). Nosso While avalia se @i é menor que 100, caso for verdadeiro, a condição, ele executará o script, se não for, no caso a condição for falsa, ele sairá do loop (do laço). 
 
A primeira volta de nosso loop, a instrução é verdadeira, então dentro do loop escrevemos a mensagem e somamos +1 a variável @i, com o operador de incrementação (+). Após terminar, o loop volta e avalia @i com o vlaor 2, se for verdadeiro, rodará mais uma vez, e assim por diante, até que chegue a seu limite e delimite como falsa, para quebrar o loop.
 

No caso se quisessemos fazer com if, fariamos dessa forma:

Retornar:if (@i < 100) {	mes "estou aprendendo loops em script!";	set @i, @i +1;	callsub Retornar;}

 

Como vimos, o comando while verifica primeiro a variável. Já o comando Do While, que iremos explicar agora, faz ao contrário. Mas porquê? Simples, ele executa o código primeiro, e só depois que verifica a variável, se ela for verdadeira, ele executará o código novamente, e não como o while que verifica primeiro para que depois possa executar ou não o script. Veja o exemplo:
set @i, 1;do {	mes "Estou aprendendo loops em script!";	set @i, @i +1;} while (@i < 100);

 
Fim da aula de While!
 
Segundo assunto desta aula:

- For
 
A sintaxe (comando) for funciona da mesma maneira que o While, em conjunto com um if. Utilizando uma ou mais variáveis como base, junto com uma condição. Ele cria um loop também, enquanto o valor for verdadeiro ele executa, porém em uma linha só, vejamos:

 for (set @i,1; //Como no While, setamos a variável e seu valor. 

 

Agora nesse mesmo For, iremos incrementar a condição, como no While, veja:
for (set @i,1; @i <= 100;

 

E como no final, iremos adicionar +1 a variável inicial, para que o for possa contar, até chegar o seu valor condicionalmente definido (100), como abaixo:
for (set @i,1; @i <= 100; set @i, @i + 1)

 

Isso não fará do script incorreto, mas se você fizer isso e não souber utilizar corretamente o script, fará um loop inifinito, ou seja, executará o script para sempre, sem que ele pare. Utilizamos desta forma quando o script acaba sendo baseado em uma variável inicial, ou mais variáveis. Veja:
for (set @i,1; @i < 100; set @i, @i + 1) {	mes "Estou aprendendo loops em script!";}

 

Neste caso ele executará o mes 100x até o valor 100 ser sanado, batido. Vejamos melhor como funciona, se eu utilizasse um if: 
set @i, 1;Retornar:if (@i < 100) {      mes "Estou aprendendo Loopings em Script!";      set @i, @i + 1;      callsub Retornar;}

 

Mas pra que isso, se podemos transformar esse if em apenas uma linha? Veja:
for (for set @i,1; @i < 100; set @i, @i +1) {         mes "Estou aprendendo Loopings em Script!"; }

 

set @i,0; É o valor inicial da variável base.
@i < 100; É a condição para o loop se manter.
set @i,@i+1; É o complemento da variável, a incrementação na variável @i, para que a condição seja atingida.
 
Acabamos por aqui nossa primeira aula de script intermediário! 

Agradeço ao Keoy por ter me ajudado sempre, ser meu professor antigamente e me ensinar muito tudo que sei, e me ter dado aulas com base para criação destes tutoriais.

Share this post


Link to post
Share on other sites

Logo logo irei reformular o tópico das mesmas, não gosto dessas coisas tão coloridas assim, é porque a 1 e a 2 foram as primeiras que fiz, já a 3 e a 4 já fiz direto aqui no Hercules e ficaram mais organizadas, pois gosto desse tipo de code que contém no rA/brA e aqui, já no Cronus não tem, então preferi fazer com imagens.

Muito obrigado, e caso queira redistribuir no brAthena ou algo do tipo, fica a dispor!

 

Reformulei os tópicos já, deixei mais limpos, retirei as corzinhas que me incomodavam, acho que agora está melhor!!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.