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!




Participe do fórum, é rápido e fácil

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!


TeaM KingS
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[Tutorial] Loop: Percorrendo Valores

2 participantes

Ir para baixo

[Tutorial] Loop: Percorrendo Valores Empty [Tutorial] Loop: Percorrendo Valores

Mensagem por Gilgamesh 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:

[Tutorial] Loop: Percorrendo Valores NRcB6+
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:

[Tutorial] Loop: Percorrendo Valores CoeI8+
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:

[Tutorial] Loop: Percorrendo Valores MPFt9+
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:

[Tutorial] Loop: Percorrendo Valores DTby1+
A parte destacada na cor amarela é o nosso evento. Ela diz que as ações serão executadas na inicialização do mapa.

[Tutorial] Loop: Percorrendo Valores Py2qR+
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.

[Tutorial] Loop: Percorrendo Valores 4ZhfV+
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.

[Tutorial] Loop: Percorrendo Valores P47wz+
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:

[Tutorial] Loop: Percorrendo Valores Ri6Gw+
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é +
Gilgamesh
Gilgamesh

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

Warning Necropost
[Tutorial] Loop: Percorrendo Valores Left_bar_bleue0 / 1000 / 100[Tutorial] Loop: Percorrendo Valores Right_bar_bleue


http://www.DotCastleBR.forumeiros.com

Ir para o topo Ir para baixo

[Tutorial] Loop: Percorrendo Valores Empty Re: [Tutorial] Loop: Percorrendo Valores

Mensagem por Law.Terro 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
Law.Terro

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

Warning Necropost
[Tutorial] Loop: Percorrendo Valores Left_bar_bleue0 / 1000 / 100[Tutorial] Loop: Percorrendo Valores Right_bar_bleue


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

Ir para o topo Ir para baixo

[Tutorial] Loop: Percorrendo Valores Empty Re: [Tutorial] Loop: Percorrendo Valores

Mensagem por Gilgamesh 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é+
Gilgamesh
Gilgamesh

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

Warning Necropost
[Tutorial] Loop: Percorrendo Valores Left_bar_bleue0 / 1000 / 100[Tutorial] Loop: Percorrendo Valores Right_bar_bleue


http://www.DotCastleBR.forumeiros.com

Ir para o topo Ir para baixo

[Tutorial] Loop: Percorrendo Valores Empty Re: [Tutorial] Loop: Percorrendo Valores

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos