[TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
TeaM KingS :: Games: :: Warcraft: World Editor :: Tutoriais: Gui, Jass, Spells, Terrain, Modelagem, Textura :: Triggers(GUI)
Página 1 de 2 • 1, 2
[TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Breve Introdução
Bem, este tutorial é sobre um system de movimento udado em muitos spells, um dos exemplos mais famosos é o knockback, embora seja extremamente necessitado o conhecimento deste dito de "tecnica" em spells que envolvem movimento, poucas pessoas realmente sabem movimentar em trigger, por isso criei este topico com um spell exemplo para que eu possa explicar melhor a logica de movimento em trigger.
Bem vou usar dois maps, o de knockback ( ) e de knockback em area( )
knock back area screenshot trigger
- Spoiler:
Indice:
Magia de base
A trigger de inicio da magia
A trigger que realmente importa
Finalizando a spell
Resumão (pra quem nao quer ler tuuudo)
knock back em group //!novo
Magia de base
Usei o storm bolt, como magia de base. Se você estiver se perguntando como mecher nesse storm bolt? Bem leia um pouco sobre object editor, tem um tutorial aqui no teamkings.
Bem voltando eu usei o storm bolt como base na spell e editei umas coisinhas principalmente o dano para 0 (item D ), tirei o missel art (item A ), tirei a velocidade do missel (item C ), retirei tambem os buffs, que originalmente é o de stun(item E) e mudei a cast range, que é a distancia minima que ele pode estar para ativar a spell (item F)
- Spoiler:
A trigger de inicio da magia
Bem, configuramos a spell que vai desencadear as trigger que fazem parte da nossa spell, agora so falta as propias triggers
entao vamos la, eu criei 3 triggers, a primeira se chama KnockBack INIT ( o nome nao importa ) com initiality on, a segunda KnockBack MOVE ( o nome nunca importa ) com initiality off e a utima KnockBack END com initiality on
vamos a primeira:
A ideia desta primeira trigger é capturar a ocorrencia da spell , o alvo e o dono da spell
por isso eu criei 2 variaveis (<< se nao sabe nada sobre variavel sugiro ler este tuto do raziel sobre variaveis, vai ajudar ),
uma variavel é de unit com array [2] e uma point, criei uma variavel real e uma variavel timer (variavel usada em contagem regressiva) .
fiz o seguinte: primeiro coloquei um evento de uma unidade iniciando uma spell e coloquei a condition como a spell do hero que eu criei,
em seguida editei as veriaveis .
Variavel de unit [1] como a unidade responnsavel pelo evento (A), no caso a responsavel por iniciar a spell como tar em event,
editei a variavel de unit [2] como o alvo da ação (B).
Em seguida editei a variavel point como a posição da unidade alvo (C),
defini a variavel real como o angulo de visao da unidade alvo (D); tudo isso vou usar no movimento ;
adicionei um efeito para deixar mais atraente (E),
dei um dano a unidade alvo para começar (F),
pausei o hero (G), destroi o efeito especial (H),
iniciei uma contagem regressiva usando uma timer (I),
ativei a trigger de movimento ate entao desativada (J) e por ultimo ,mas nao menos importante
removi o point que eu criei para evitar leaks (veja sobre leaks aqui )
- Spoiler:
A trigger que realmente importa
bem é nessa proxima trigger que esta a magia do movimento, ao ver a imagem vcs vao ver que nao é nada demais, quase tudo na programação é questao de visao e bom gosto.
Bem nesta trigger, que vai ser ativada pela anterior , usaremos :
a variavel point[1],
a variavel real e criaremos a point[2],
Bem,,, inicei a trigger com um event de periodic time ( que literalmente significa tempo periodico, ou seja de tempo em tempo )
é isso que vai dar o efeito de movimento, por que na verdade, essa tecnica de movimento, frequentemente usada por programadares warcraft , nada mais é do que mover instantaniamente de um ponto pra outro muito proximo, em pouquissimo tempo, isso claro repetido vaaaarias vezes, a maioria usa 0.02 seconds, significa que em 1 segundo a trigger é repetida 50 vezes (sei la se é assim msm,,, hummm 0.02x5=0.10,,,0.10x10 = 1.00,, é isso msm 50 vezes), o q dar o efeito de que a unit esta sendo "arrastada" no mapa.
bem o periodic event q eu usei foi de 0.05 seconds (A), usei uma contidion que para o movimento nao tem importancia menhuma, que foi (unit[2] is alive) equal true (B), qur significa q so vai executar as actions se a unidade alvo, que é a unit[2] definida la atras, estiver viva, para mim é bom para nao acabar arrastando a unit mesmo se ela tiver morta kkkk.
action:
eu resetei as variaveis point[1] (C) , real ( que é o angulo de visao do alvo ) (D) e criei uma nova variavel a point[2] (E)
eu a fiz com o seguinte pensamento: ela é um point with polar offset ( a respeito deste, aqui no tk nao achei, achei no thehelper, mas ta em ingles, é o jeito mas se quiser do uma rapida explicação depois dou link),
onde como ponto de partida usei a posição do unit[2] na distancia de 50 (para quem nao faz ideia, é + - assim : a distancia de uma unit que ataca corpo a corpo é de 100, seria metade desta distancia coisa de 1/2 centimetro +- se vc for medir na tela) na direçao , bemmm a direção fiz uma conta, no warcraft msm,
peguei o angulo de visao da unidade alvo (variavel que eu to chamando de real) e adicionei 180, (para quem nao faz ideia o que isse 180 significa veja aqui um tuto do jeverson sobre angulos), criei um efeitozinho para animar(F), coloquei um dano de 5 (H) na unit[2] e
"mandei" a unidade mover instantaniamente para o point[2] (I),
tirei o efeito que criei (J) , para nao ficar criando toda horaa e ficaria uma confusao, lag, etc... e removi os points para nao causar leak (L) , aprendi do lcc ^^.
- Spoiler:
Finalizando a spell
Bem essa ultima trigger , ela é sem "importancia", ela tem a funçõa de "desligar" tudo .
ela so ativa quando termina o countdown que eu fiz laaa na primeira trigger (A), ou seja depois de 2 segundos apos ter iniciado a spell,
ela "despausa" a unit[1], o hero da spell, tira o valor das variavels (B) e desativa a KnockBack MOVE (C), a trigger de movimento.
- Spoiler:
Resumão
RESUMINDO:
a trigger de movimento, ela acontece de pouquissimo tempo em pouquissimo tempo, para dar o de que esta andando, pega a posiçào atual do objeto, pode ser qualquer coisa dummy(geralmente em spells de misseis) e units (como neste caso, com a unidade alvo), define uma variavel de point, ou posição, que é criado com referencia a posição da unidade que esta sendo movida, mas so que um pouco mais distante usando como direção tb o angulo de visao da unidade movida,e em seguida move instantaniamente, ou seja meio que "teletransporta", mas isso tudo é feito repetidas vezes que o efeito é de que esta se movendo, bem é isso, aberto a criticas e perguntas ^^,,, a sim se eu realmente ajudei, da um + pf
Knock back em area
O conceito de knock back area é na verdade bem simples: criar um unit group (unit group é um grupo de unidades) e fazer knock back em todas sendo o ponto para onde elas vao, um ponto com o angulo igual Angulo entre a posição do caster e da unidade. Eu fiz a spell em mui, o qu e MUI? veja o spoiler
- Spoiler:
mui é um systema em que se cria "tabelas" de variaveis, onde uma variavel contadora aumenta cada vez que inicia a spell, criando as variaveis ex.: caster[variavel_contadora]=trigger unit, se a variavel_contadora for igual a 1, (exemplo) significa que caster[1]=trigger unit certo? ai quando iniciar denovo a spell, a variavel_contadora vai aumentar 1, criando uma variavel caster [variavel_contadora] com o valor atual, criando "tabelas" de variaveis de acordo com sua numeração, veja a dinâmica abaixo
//Certo , mas como isso vai ajudar em outra trigger??
bem, ha uma coisa que nao expliquei, é o uso de flags (que literalmente significa: bandeira, servido realmente como "bandeira", ou "sinal", nada mais do que uma variavel booleana (variavel de dois valores, true, verdadeiro, e false, falso) que tem a função de dizer se a numeraçao ta em uso, criamos essa variavel no inicio da spell (na trigger que identifica a magia lançada) coomo bandeira[contador]=true (o nome nao importa, o que importa na var é ela ser array e o index da array for do contador atual)
, veja a dinamica pra melhor copreensão
//E no caso de spell que tem tempo?
bem, neste caso, o jeito mais facil é caulando, exe.: a trigger ocorre a cada 0.03 s, vc quer qu excute por 1s, entao vc calcula 0.03 x 100 = 3s, 3/3 =1s, pronto XD, ai vc faz um if, dizendo que rodara os comandos enquanto tal variavel for menor que ((0.03x100)/3).
Última edição por Iky em 2011-11-27, 04:37, editado 19 vez(es)
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
~Daniel~- Número de Posts : 3
Data de inscrição : 18/05/2011
Reputação : 1 Pontos : 23647
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Payperview- Número de Posts : 365
Data de inscrição : 10/04/2011
Reputação : 8 Pontos : 24299
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
edit: a trigger 1 pode causar 1 leak porq , vc remove o ponto depois que ativa a outra trigger que usa o ponto, eu também ñ recomendaria usar unit pause, ñ que buge , mais unit pause deixa a spell tosca , jogar o inimigo lonje e ser forçado a ficar parado recebendo dano dos outros sem poder fazer nada lol.
lcc- Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 26299
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
depois vou fazer um tuto de level de spell na trigger
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Payperview- Número de Posts : 365
Data de inscrição : 10/04/2011
Reputação : 8 Pontos : 24299
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Cara Eu Só Não Sei De Onde Isso Aparece... Eu Clico No Ngócio Normal E Aparece 2 Posts Pod Até Ver Os Minutos é Igual .Iky escreveu:vlw o elogio e o +, so nao precisava de duplo post ^^
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
@payperview ja tem um tuto sobre variaveis aqui no tk, postei o link tb ta la no tuto, mas se vc quiser eu faço um tuto
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Payperview- Número de Posts : 365
Data de inscrição : 10/04/2011
Reputação : 8 Pontos : 24299
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
OFF
se eu ajudei alguem, por favor da um +
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
aldonova escreveu:Cara Eu Só Não Sei De Onde Isso Aparece... Eu Clico No Ngócio Normal E Aparece 2 Posts Pod Até Ver Os Minutos é Igual .Iky escreveu:vlw o elogio e o +, so nao precisava de duplo post ^^
Tek trollando aldonova manolo riariariariariaria, os minutos sao iguais ? será ?
VicToR- Número de Posts : 2002
Data de inscrição : 19/12/2010
Reputação : 243 Pontos : 26805
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
mas quem disse que nao pode bugar?
^^
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Parabens, vlw ae Iky ... + ProC ^^
Me ajudar, ajudo sim... Mas eu mesmo que me embolei
Pq vc encino por target de 1 só, eu tentei fazer 1 unidade rodando, e não é target, serve tb como utilizar no chão...
Mas daí bugo tudo, e desisti da spell.
Realmente, eu não entendo muito de knock back, e fui tentar fazer 1 skill daquela, muito complexa pra mim =/.
Mas vlw! ^^
Staar.- Número de Posts : 408
Data de inscrição : 24/07/2010
Reputação : 14 Pontos : 25908
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
VicToR- Número de Posts : 2002
Data de inscrição : 19/12/2010
Reputação : 243 Pontos : 26805
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
ai crio o link \a href="#nome">
obs: coloquei uma \ para subistituir < pq se eu coloco nao mostra
///
vc usa qual navegador? o chrome, firefox e opera vc seleciona o que vc quer saber como e feito e click direito>mostrar codigo fonte da seleção
ai vai mostrar o codigo
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Ok, vou dar uma olhada no codigo fonte.
EDIT ------
Piorou, o código fonte é mais bagunçado ainda AUEHUAEHUAEHA
VicToR- Número de Posts : 2002
Data de inscrição : 19/12/2010
Reputação : 243 Pontos : 26805
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
Parou aqui ne?
codigo do que eu fiz
- Código:
<a href="#teste">[color=orange]clique aqui para ir la em baixo[/color]</a>
<div id="teste"style="heigth:30px;"></div>
<h2 style="padding:15px;text-align:center;width:95%;background:url(http://www.webcheats.com.br/forum/images/styles/Modern/style/tcatBG.gif);border-top-left-radius:10px 10px;border-top-right-radius:10px 10px;border-bottom-left-radius:10px 10px;border-bottom-right-radius:10px 10px;">Parou aqui ne?</h2>
Re: [TUTORIAL] Movimento de undade por trigger (knockback) || MUI extra || KB group demo map extra
VicToR- Número de Posts : 2002
Data de inscrição : 19/12/2010
Reputação : 243 Pontos : 26805
Página 1 de 2 • 1, 2
» [Tutorial]Configurando Drop Por Trigger.
» [Tutorial] Ganhando gold por Segundo (Trigger)
» [Tutorial] Set max life por trigger.
» [Tutorial]Como tirar os peons e castelo que começa (Trigger)
TeaM KingS :: Games: :: Warcraft: World Editor :: Tutoriais: Gui, Jass, Spells, Terrain, Modelagem, Textura :: Triggers(GUI)