Decidi pular o cronograma que tinha planejado e ir direto ao ponto. Nesta aula iremos começar a aprender sobre triggers, já que o conteúdo é bem extenso.
Para quem não sabe, triggers são os scripts do mapa propriamente ditos. É através deles que podemos fazer o mapa tomar vida: criar spells customizadas, campos de respawns, enfim...
As triggers são manipuladas através do Trigger Editor, acessível pressionando F6 no World Editor.
Bem, vejamos. Essa é a interface do Trigger Editor. Soa assustador? Haha, não se assuste, não é lá tão complicado assim.
Por que destaquei aqueles três nomes ali? Porque são eles que fazem as triggers funcionarem, trabalhando em conjunto. Vamos explicar detalhadamente cada um.
EventsAqui ficam os eventos, as coisas que fazem as triggers se acionarem.
Conditions Depois que as triggers são acionadas, elas passam por um filtro, que são as condições, para saber se realmente é aquilo que a gente quer. Se for, então acontecerá o princpal: as ações.
ActionsAqui é onde acontece todo o processo, são as ações propriamente ditas.
Eu acredito que ainda não está claro pra você, não é mesmo? Então vamos pegar um exemplo real!
Percebam! O event é "Unit - A unit Starts the effect of an ability", ou seja, cada vez que uma unidade soltar uma magia, a trigger será acionada! Mas e se quisermos que a trigger seja acionada apenas com uma magia específica? É pra isso que serve as conditions! Na imagem, nós especificamos que magia nós queríamos: Animate Dead. Se não quisessemos especificar uma magia, bastaria deixar o campo Conditions em branco. Por fim, temos o principal: Actions. Depois que a trigger fosse acionada e que a condition informasse que aquela era realmente a magia que queríamos, o que ocorreria? Ocorreria as actions, que no nosso caso é: mostrar uma mensagem para todos os jogadores.
Parabéns! Acabamos de criar uma spell customizada! Não acredita? Ué, mas o que é uma spell customizada? Não é quando soltarmos uma magia, aconteça algo? Então, não aconteceu? Ahhhhhhh, mas não é o que você esperava, né? Calma, calma, Pandawan! Não compliquemos! Para podemos criar uma magia desse porte, precisamos saber de algo tão quanto o ato de respirar: variables.
Afinal, o que é isso?
Variáveis são simplesmente coisas que armazenam dados. Às vezes criamos dados e temos que armazená-los, se não eles se perdem. Daí a utilidade das variáveis. No Warcraft, elas são classificadas de acordo com o dado que podem carregar. Por exemplo, uma variável do tipo "Integer" (inteiro em inglês) só pode armazenar números inteiros, e nada mais.
Tá, e onde ficam esses seres místicos?
No próprio Trigger Editor, pressionando CTRL+B!
Vamos fazer um teste prático? Criemos uma variável denominada 'i' do tipo integer.
Agora voltemos pra nossa trigger e criemos um novo evento, pressionando o botão direito do mouse em events e clicando em 'New Event'.
Aparecerá uma lista dos tipos de eventos que existem. Selecionemos 'Time - Periodic Event'.
Agora ao invés de 2.00 digite 1.
Pronto! Nossa trigger será ativada a cada segundo do jogo. Mas o que exatamente irá ocorrer nesse tempo? É o que vamos configurar agora. Crie uma nova action, do tipo mostrado na figura.
Cliquemos no nome em vermelho variable e vamos escolher nossa variável 'i'.
Agora cliquemos em 'value', e em 'Function:' selecionemos Arithmetic.
Tente deixá-lo da seguinte forma:
Tempo pra explanação: O que fizemos? Fizemos com que, a cada segundo do jogo, a variável 'i' adicione +1 a si mesma.
Agora adicionemos uma nova action abaixo da que acabamos de criar, do tipo mostrado na figura.
Agora clique em text, marque 'Function:' e selecione o seguinte comando:
Clique no valor em azul que está dentro de String( ), depois disso 'Variable:' e selecione nossa variável i.
Pronto, dê OK em tudo. Se você fez tudo corretamente, sua trigger deve estar assim:
Agora teste o jogo pressionando CTRL+F9. Provavelmente aconteceu isso:
Como consertar?
Basta voltarmos ao trigger editor e deletarmos a trigger que já veio junta quando criamos nosso mapa.
Pronto! Agora sim podemos testar!
Bem legal, né?
Agora vamos complicar um pouco mais sua cabeça! Vamos fazer com que essa contagem pare quando chegar a 5!
Voltemos ao Trigger Editor e dessa vemos criemos uma nova
Condition, do tipo mostrado na figura:
Clique no nome azul antes de 'Equal to' e ao invés dele coloque como valor nossa variável 'i'. Após disso, clique em 'Equal to' e selecione 'Less than'. Agora clique em 0 e digite 5.
Se você fez tudo corretamente, sua condition deve estar dessa forma:
Agora teste.
Pois é pessoal. Essa é a nossa aula de hoje. Espero que tenham compreendido e esclarecido pelo menos um pouquinho de como as triggers funcionam! Qualquer dúvida, não exite em postar. Até a próxima! o/