TeaM KingS
[center]Ola Convidado, seja bem vindo ao TeaM KingS !

Nós temos tutoriais sobre o WarCraft World Editor: se você tiver alguma duvida pode perguntar que os moderadores ou membros experientes vão lhe ajudar.

Para melhor utilizar nossos recursos é extremamente recomendado que esteja logado em nosso fórum e que leia o nosso regulamento oficial.

Também temos fóruns sobre DotA AllstarS, com guias, estratégias, e muito mais!



[Tutorial] Loop: Percorrendo Valores

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial] Loop: Percorrendo Valores

Mensagem por Gilgamesh em 2013-10-20, 18:31

Saudações membros TeK, trago á vocês este tutorial básico feito por mim, que mostra a utilização de loops (For Each Integer A) para percorrer valores e reduzir o tamanho de algumas funções comumente utilizadas por editores.

Desta maneira você criará funções do tipo; distribuir gold ou itens, enviar mensagens, entre outras, com muito mais praticidade, qualidade e eficiência.

Bom, começaremos por trabalhar em cima da seguinte trigger:

O que ela faz é: Assim que iniciar o jogo, os players 1, 2, 3, 4... e 12 terão seus golds ajustados para 1000.

Nesse caso, utilizaremos o loop para percorrer o número de cada player (1-12), evitando que tenhamos de criar uma função para cada player, como no exemplo acima.

O script é bem simples, vejamos o mesmo abaixo:

Não é um milagre, mas veja como nossa trigger anterior foi reduzida.

Ressalto que o efeito do novo exemplo acima possui a mesma função do exemplo anterior.

Agora vamos supor que seu mapa é dividido em dois times, podemos criar dois loops (para cada time), onde cada time receberá uma quantidade diferente de gold. Vejamos:

A trigger acima possui a seguinte função: Assim que iniciar o jogo, os players do 1 ao 6 receberão 1000 (mil) golds e os players do 7 ao 12 receberão 900 golds.

Para facilitar sua compreensão, vamos explicar detalhadamente os seguintes exemplos:

A parte destacada na cor amarela é o nosso evento. Ela diz que as ações serão executadas na inicialização do mapa.

A parte destacada em azul é o nosso loop; o loop é composto pela quantidade de vezes que será repetido/executado e pelas ações contidas nele.

A parte destacada em vermelho ou rosa na imagem acima, indica a quantidade de vezes que o loop será executado, á partir de um número inicial.

Como o valor inicial foi colocado 1, e o valor final foi 12. Ao ser executado, o loop criará uma variável local temporária chamada (Integer A), onde á essa variável serão atribuídos os valores em cada execução.

Dessa forma o loop executará as ações definidas instantaneamente 12 vezes, sendo que pra cada vez, a variável (Integer A) terá seu valor modificado para o número da execução em que se encontra.

No exemplo acima, destacamos nossa ação; que terá a função de definir o gold de cada player.

Observe que, ao invés de indicar o número de cada player que receberá os golds, nós atribuímos a variável temporária (Integer A) no lugar desse número.

Dessa forma, sempre que o loop for executado (do 1 ao 12), em cada execução, essa variável terá seu valor alterado (do 1 ao 12), fazendo com que os players (do 1 ao 12) tenham seus golds definidos.

O tutorial encerra aqui, mas para finalizarmos nossa trigger com "perfeição", vamos destrui-la, já que não mais será necessária. Observe:

O exemplo acima mostra o código Jass que destrói a trigger. Para utiliza-lo basta inserir o nome da trigger entre os parenteses utilizando o prefixo "gg_trg_" (sem as áspas).

Caso a trigger se chame BolaDeFogo, iremos inserir gg_trg_BolaDeFogo dentro dos parenteses.

Exemplo:

Código:
call DestroyTrigger(gg_trg_BolaDeFogo)
Espero que gostem. Smile 
Até +



Ei Convidado, você já conhece meu fórum?
Oferecemos todo suporte necessário para a criação de seus mapas!

- Parceiro Oficial TeamKings™ -

.: Menu de Navegação :.
Página Principal
Regras
Ferramentas
Tutoriais
Spells
Systems
Cheated Maps

Gilgamesh

Número de Posts : 313
Data de inscrição : 11/05/2013
Reputação : 69 Pontos : 10019

Warning Necropost
0 / 1000 / 100


http://www.DotCastleBR.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Loop: Percorrendo Valores

Mensagem por Law.Terro em 2013-10-20, 20:22

Ótimo Tutorial, não haveria um melhor para os iniciantes Wink  Porem, há uma questão em minha mente '-', bom não é uma questão eu acho e sim uma dúvida. Existe a Trigger Off, mas ela não destrói a trigger como essa Script? E qual a diferença entre as duas?



Law.Terro

Número de Posts : 1243
Data de inscrição : 18/07/2011
Reputação : 104 Pontos : 16529

Warning Necropost
0 / 1000 / 100


http://againstattack.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: [Tutorial] Loop: Percorrendo Valores

Mensagem por Gilgamesh em 2013-10-21, 11:25

A diferença é a seguinte:

Desligar a Trigger (Trigger OFF): A trigger ainda fica salva na memória (leak), só que nenhum evento ou ação poderá executa-la até que ela esteja ligada (Trigger ON).

Destruir Trigger: Remove a trigger da memória destruindo a mesma (No Leak).

É isso?

Até+



Ei Convidado, você já conhece meu fórum?
Oferecemos todo suporte necessário para a criação de seus mapas!

- Parceiro Oficial TeamKings™ -

.: Menu de Navegação :.
Página Principal
Regras
Ferramentas
Tutoriais
Spells
Systems
Cheated Maps

Gilgamesh

Número de Posts : 313
Data de inscrição : 11/05/2013
Reputação : 69 Pontos : 10019

Warning Necropost
0 / 1000 / 100


http://www.DotCastleBR.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Loop: Percorrendo Valores

Mensagem por Conteúdo patrocinado Hoje à(s) 00:48


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum