Senos 54 Posted February 21, 2013 Scripting Intermediário! - 1 Lista de Aulas: Aula 1: http://herc.ws/board/topic/199-script-intermedi%C3%A1rio-aula-1/ Aula 2: http://herc.ws/board/topic/200-script-intermedi%C3%A1rio-aula-2/ Aula 3: http://herc.ws/board/topic/201-script-intermedi%C3%A1rio-aula-3/ Aula 4: http://herc.ws/board/topic/203-script-intermedi%C3%A1rio-aula-4/ Aula 5: http://herc.ws/board/topic/213-script-intermedi%C3%A1rio-aula-5/ Aula 6: http://herc.ws/board/topic/228-queries-sql-aula-6/ Aula 7: http://herc.ws/board/topic/239-script-intermedi%C3%A1rio-aula-7/ 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. 3 Schrwaizer, JulioCF and braindevel reacted to this Quote Share this post Link to post Share on other sites
braindevel 0 Posted February 21, 2013 Parabéns pelas aulas, poderia adicionar como uma outra opção os códigos nas tags code pra ficar mais organizado. +rep. Quote Share this post Link to post Share on other sites
Senos 54 Posted February 21, 2013 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!! Quote Share this post Link to post Share on other sites
Nogueirovisk 0 Posted June 29, 2016 a linguagem de script é a linguagem C? Quote Share this post Link to post Share on other sites