Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/22/16 in all areas

  1. Scripting Intermediário! - 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.
    1 point
  2. i already contact functor.x on skype, but there's no receiving my calls? is there anyway how to contact him?
    1 point
  3. Some npcs are in quests, some are in kafras, some are in guides, they are spread in many files, you need to look each.
    1 point
  4. Do not spam him with Skype calls. He's not gonna answer it. Send a good introduction and wait for him to respond and accept your request. Nobody wants to add a spammer Skype account who would invite you to check his live cam so introducing yourself would help. I'll also give him a heads up with regards to this.
    1 point
×
×
  • Create New...