SISTEMA DE CORRIDA ESTILO RESIDENT EVIL 4
POR: HAGRIFIELD
DEMO ANTIGA SEM AS CORREÇÕES
Bem, para quem já jogou este SURVIVAL HORROR, concerteza sabe do que estou falando, caso você
não entendeu, eis aqui um vídeo para entender este tutorial(VÍDEO DE MÁ QUALIDADE MAS COM O
QUE EU QUERO MOSTRAR)
7kzNZI8rN10
INTRODUZINDO
Vamos supor que:
"UMA PEDRA DE 15 METROS CAI DE UM PENHASCO, VOCÊ ESTÁ ABAIXO DESTE PENHASCO
E IRÁ CORRER DAPEDRA, MAS NÃO VAI CONTROLAR O CARA NAS DIRECIONAIS, E SIM,
PRESSIONAR "Z" QUE NEM UM DOIDO."
Mas não terá pedras neste tutorial, apenas irá aprender exatamente a corrida, breve
irei postar 1 tutorial diferente para este aqui :wink:
FERRAMENTAS QUE IRÁ USAR:
-3 variáveis
-3 Eventos Comuns
-4 Eventos pro sistema
-Alguns Eventos pra direcionar o movimento!
PRIMEIRA PARTE
Primeiro crie os eventos de Direções:
Crie 1 variável chamada DIREÇÕES, agora, crie 4 forks, sem ELSE:
Se DIREÇÕES = 1
Heroí mover pra baixo
Se DIREÇÕES = 2
Heroí mover pra cima
Se DIREÇÕES = 3
Heroí mover pra direita
Se DIREÇÕES = 4
Heroí mover pra esquerda
"TODOS COM A OPÇÃO DE IGNORAR O MOVIMENTO MARCADA E VALOR TIPO IGUAL!"
Como irá ficar:
Citar
<>IF Var.Op[XXXX][DIREÇÕES]-1
<>Set Chara Movement.Hero-Down
End Case
<>
<>IF Var.Op[XXXX][DIREÇÕES]-2
<>Set Chara Movement.Hero-Up
End Case
<>
<>IF Var.Op[XXXX][DIREÇÕES]-3
<>Set Chara Movement.Hero-Right
End Case
<>
<>IF Var.Op[XXXX][DIREÇÕES]-4
<>Set Chara Movement.Hero-Left
End Case
<>
Dê OK e volte para o mapa para a...
SEGUNDA PARTE:
Vamos agora para a parte de pressionar o botão, vamos agora fazer os seguintes passos:
1º Passo - Crie 2 Variáveis chamadas CORRER e PRESSIONAR Z e 1 Switch chamada ATIVAR CORRIDA
-Após criados, vá no mapa e crie 1 evento nomeando-o de PRESSIONAR-Z, agora defina a tecla
"Z" em ENTER PASSWORD para a variável PRESSIONAR Z.Após isso, adicione +1 valor para a
variável CORRER.
-Crie outro evento com o nome de VELOCIDADE, dentro dele, subtraia em 1 valor na
variável CORRER, e dê um wait de 0.2, logo após isso, ative a switch que criamos nesta parte.
-Agora iremos fazer com que os valores não ultrapassem, crie 2 eventos, 1 com a fork de CORRER
menor que 0, setar 0 o valor CORRER.No outro evento, criar a fork com o valor acima de 4, setar 4
(usando a mesma variável), ambos eventos, nomeá-los para ULTRAPASSAR CANCEL.
2º Passo -Coloque1 evento em branco em qualquer lugar, deixe-o como AUTO START,
para não ter o bug de mover o herói com as setas direcionais.
Pronto, após seguir isto tudo, como ficará os eventos:
PÁGINA PRESSIONAR-Z
Citar
Enter Password[XXXX][PRESSIONAR Z]-5 < 5 é o valor da tecla Z
Add Var.[XXXX][CORRER]+1
<>
PÁGINA VELOCIDADE
NOTA:Crie a segunda página no evento com a Switch ATIVAR CORRIDA como condição
de início
Citar
SUB Var.[XXXX][CORRER]-1
Wait 0.2
Change Swi.[XXXX][ATIVAR CORRIDA]-ON
<>
PÁGINA REDUTOR(1)
Citar
<>IF Optn.Var[XXXX][CORRER]-4Over
Set Var.[XXXX][CORRER]-4
<>
PÁGINA REDUTOR(2)
Citar
<>IF Optn.Var[XXXX][CORRER]-0Smaller
Set Var.[XXXX][CORRER]-0
<>
Pronto, segunda parte concluída.Vamos para a.......
TERCEIRA PARTE:
Certo, após estes eventos, vamos voltar nos EVENTOS COMUNS, agora que criamos tudo o
que precisavamos, vamos criar o evento chamado +/- Velocidade, com a condição de início
da Switch ATIVAR CORRIDA estar ligada.
Dentro do evento:
-Criar a FORK com a ELSE CASE marcada, e a condição será da variável CORRER está com o
valor 4 ou maior(Maior ou igual/ABOVE).
-Dentro da condição, coloque pra velocidade do herói aumentar, se quiser colocar algo como som,
pode colocar normalmente que não precisará de WAIT.
-Na ELSE CASE, coloque pra velocidade do herói diminuír.
-E na END CASE, coloque a switch ATIVAR CORRIDA desligada.
Página estará assim:
Citar
<>IF Var.Opr[XXXX][CORRER]-4Over
<>Set Chara Movement, Hero, Move Speed Up
<>
ELSE case
<>Set Chara Movement, Hero, Move Speed Down
<>
END case
<>Change Switch[XXXX][ATIVAR CORRIDA]-OFF
<>
Pronto, agora rode e veja se está tudo de acordo.
QUARTA PARTE:
Se rodou tudo legal até aqui, tá na hora de testarmos algo, troca de direções, eu tentei criar obstáculos,
mas vi que terá de ser feito com um WAIT cronômetrado, veja quanto tempo irá demorar para cada
curva, ou algo do tipo, pois as colisões (que são apenas para o personagem virar), reduzem a velocidade
drasticamente.
Por exemplo, suponhamos que o herói demore 3 segundos para virar à esquerda, MAS O QUE
SIGNIFICA? daí tem mais 1 curva pela frente para à direita que leva 4 segundos.
Para executarmos esta operação, deveriamos:
-Cronometrar por wait a curva
-Setar o valor da direção que criamos na primeira parte.
A página ficaria assim:
Citar
Wait X.XX
Set Var[XXXX][DIREÇÕES]-X
<>
LEMBRANDO QUE: Sempre coloque em PROCESSO PARALELO, e se quer colocar mais direções ou mais
curvas, terá de fazer a sua escolha.
CONCLUSÃO DO QUE APRENDEMOS AQUI
Aprendemos a fazer um mini-game de que o herói corra bastante, seja como as armadilhas dos filmes
de Indiana Jones e companhia, que pode ser usado facilmente, podendo até mesmo criar coisas novas
para o sistema.
COISAS OPCIONAIS
-Caso queira colocar um DODGE(Como você viu no vídeo), crie 1 evento chamado DESVIAR, nele,
crie 2 variáveis com o nome BOTÃO Z e BOTÃO X.(O EVENTO DEVERÁ SER FEITO NO MAPA!), e coloque
1 switch que nomearemos de DESVIO ON como condição para esta página.
Agora faça 2 variáveis com o nome de HERÓI X e HERÓI Y, marque a coordenada de acordo com que
deseje que o dodge apareça.Crie 1 Picture ou Battle Animation mesmo, com botões do tipo Z e X, e
coloque sem WAIT UNTIL DONE ou algo que faça o jogador esperar.
Faça mais 2 para as posições da pedra que irá vir, coloque 1 PICTURE ou 1 BATTLE ANIMATION NO
EVENTO, POIS ASSIM, ficará mais realista por exemplo, e faça-a com animação de rolagem.
Caso não chegue até o dogde, a pedra lhe esmagará, só criar 1 evento com uma fork de se X de herói
igual a X da pedra, e Y de herói igual ao Y da pedra, mas é evento único!Movimento da pedra constante,
pode ir aumentando o movimento dela se quiser, basta apenas criar waits em um evento único.
Para dar origem ao dodge, coloque da seguinte maneira:
1-Crie 1 Wait com a switch DESVIO ON como condição de início
2-Coloque um wait de 0.2
3-Crie uma fork com as condições das variáveis BOTÃO Z = 5 e BOTÃO X = 6
4-MARQUE A ELSE CASE
5-Coloque o que ocorrerá dentro do dogde
6-Processo paralelo
7-Se conseguir, fazer algo parecido com um rolamento, do contrário, irá morrer por exemplo.
Bem, não irei montar páginas aqui, isto é opcional.
Espero que tenham gostado da organização e correções que eu fiz, aproveitem bem este sistema :mrgreen:
VOU NESSA!ATÉ O PRÓXIMO TUTORIAL :cool:
(P.S:Debug ou alguém que possa me ajudar, apaguem o tutorial antigo :wink: )