Batalha estilo Zelda [RM2K/2K3]

11 de outubro de 2010

Achamos um tutorial feito por Skywalker que ensina como fazer um game no RPG Maker 2000 ou 2003 com o esquema de luta do Zelda:

Como Fazer um jogo com estilo de luta “Zelda” simples. Como visto no jogo Kadji.

Use e abuse desse tutorial, distribua para seus amigos, coloque no seu site, pois a finalidade desse tutorial é ajudar. Só não apague o nome do autor e a página onde ele foi criado, pois deu trabalho para fazer.

-O que é necessário saber antes.

Antes de mais nada, é necessário saber sobre: Set password, variables, forks e swicthes.
Caso não saiba mexer em swicthes, esqueça. Vai aprendendo mais sobre o RPG Maker e depois volta para ver esse evento. Não se esqueça. Dê um passo de cada vez.

Uma pequena aula sobre variables ( caso já domine variables, passe para o próximo passo.)

É muito necessário aprender a usar variables caso queira dominar o RPG Maker. Mais para que elas servem?

.As Variables são mais ou menos como swicthes, só que podem ser ativadas mais de uma vez. ( Os swicthes ou estão ligados ou desligados. ) As variables funcionam com números e servem para ativar algum evento quando esse número estiver em tal valor, por isso elas são ligadas às forks, veremos mais adiante forks. Aqui só iremos falar mesmo da operante set, que é o necessário para fazer o evento de luta.
Onde utilizá-las?

.Vamos usar o evento de luta como exemplo. Você para fazer o evento de luta, teria que predeterminar quanto de energia o seu inimigo tem, isso é lógico. Mais como fazer isso se o evento esse evento de luta é único e portanto não posso utilizar os recursos de battle do RPG Maker? Fácil as variables resolvem. Você cria uma variable com o nome por exemplo: HP do inimigo 1. E coloca seu valor 100. Que seria o HP do inimigo.
Para escolher o valor da variable vai no comando de variable e escolha set. marque essa opção e na janela abaixo, escrito operand coloque o valor. Se ao invés de colocar set colocar + será somado o valor atual da variable escolhida com o valor do operand. Caso escolha – o valor será diminuído. Só em saber isso, já é possível bolar grandes eventos. Basta deixar a imaginação rolar.
OK, já nomeei minha variable, lhe dei um valor e agora?

Agora viria a fork condition.

A Fork condition é simplesmente ser ou não ser.

EXEMPLO:
Caso tal swicth esteja ligado esse comando de evento acontecerá. Caso esteja desligado acontecerá outra coisa.
Essa é a idéia de Fork.
Essa idéia pode ser usado com variables também:
Caso tal variable seja de valor igual à 3 tal comando de evento acontecerá. Caso esteja desligado acontecerá outra coisa.
Conforme eu for explicando o evento de luta isso ficará bem mais claro.

O EVENTO

Primeiramente, crie um mapa 20 x 20 para fazer o evento. Depois de pronto você avalia e se achar que vale a pena, passe para suas fases principais. Nesse mapa, crie um evento para ser seu monstro. A primeira página irá tratar do ataque do monstro.

Dê um nome para ele se quiser.

Coloque o gráfico do monstro que quer usar na primeira página.

O Evento não tem nenhuma condição. Portanto deixe as opções de condição com swicth e variables em branco.

O Event start condition é: on touch event hero, também chamado de common touch.

Posição do evento : same level as hero.

Tipo de movimento: toward hero ( para o monstro ir em direção ao herói como se estivesse atacando.

A frequência: Sugiro a velocidade 2. ( se for mais rápido os monstros cercarão o herói facilmente. E ficará um saco de lutar)

Comandos:
Take damage ( será o ataque do monstro contra o herói.)
Sugiro que fique:
Target:
All party members
Attack:20
Defense:50
E o resto zero.
Ou seja quando o monstro tocar em você esse evento irá acontecer e será como se o monstro o tivesse atacado. Mais é necessário saber que o monstro o atacou. Portanto coloque mais um commando:
show battle animation
Coloque a animação que você achar melhor com target hero e wait. Pode ser a animação de espada ou de uma porrada ou até uma magia. Você é quem sabe, desde que coloque uma animação rápida. Sua página de commando deve ficar:
Take Damage: All Members Attack 20 Damage
Show Battle Anim.. Sua animação, Hero(W)

OK! Você terminou a primeira página de eventos. Vá no botão lá em cima “new page” e clique para criar a segunda página.

Essa nova página obviamente tem que ter uma condição, se não iria se sobrepor à primeira. Crie um evento chamado ataque e coloque ele como condição.
Tudo continua praticamente igual nessa página a única diferença é o:

Event start condition: “on hero touch”, ou “at hero touch”

Comandos:
Fork Condition
Esse evento já começa a complicar né? mais não se preocupe ele é bem simples. Coloque como condição uma variable, pode chamá-la de inimigo 1 HP. não precisa se preocupar com o valor dela, é zero mesmo. Voltando ao fork,na janela do fork, coloque a variable inimigo 1 HP como condição e o set: 3 (Esse set, definirá o HP do inimigo) Dica: utilize os valores de HP com números de quantas espadadas o inimigo precisa levar para morrer. Nesse caso: 3. Coloque na janela mais abaixo a opção “above”. Isso significa que qualquer número maior de 3 dessa variable ativará o próximo commando.

Com a fork pronta, você terá:

Fork optn:Varbl[variable de HP do monstro]3-above

:ELSE CASE

END

em cima de else case ficará os commandos para quando o monstro morrer.
em baixo do else case ficará os comandos de seus golpes no monstro.
Mais porque os de quando morrer ficará em cima?
Porque se lembra da definição do fork? tal comando só acontecerá se antes ocorrer isso e aquilo.
Pois então se o número de espadadas for maior de 3 que é o HP do inimigo ele morrerá certo?
então ai acontecerá o comando da morte do monstro.
O ELSE CASE é o commando para caso o número de espadadas não for maior de três. E assim você poderá continuar acertando no inimigo. O ELSE CASE praticamente significa:
caso tal coisa não aconteça…

chega de conversa vamos aos comandos da derrota do inimigo.
Move event ou set chara movement.
coloque para atingir esse evento mesmo. escolhendo “this event”
nos comandos do movimento coloque transp. up 3x para o monstro ficar invisível por algum tempo antes de desaparecer.
Play SE
Coloque um sonzinho para mostrar que o inimigo morreu. tipo o “annihilation”
Variable inimigo 1 HP + 1
Vá no gerenciador de variables e escolha a variable do HP do seu monstro. Coloque como set +1, logo vou explicar porque.

OK. Seu comando de evento de estar assim:

Fork optn:Varbl[variable de HP do monstro]3-above
Move Event…: this Event, Transp. Up,Transp. Up,Transp. Up
Play SE: Seu som preferido
Variable Ch:[variable de HP do monstro]+, 1
:ELSE CASE

END

Vamos para o else case que será seu ataque no monstro:
ELSE CASE
Play SE
Coloque um som da espadada acertando seu inimigo. Exemplo: kill8
Variable inimigo 1 HP + 1
igualzinho o de antes, se quiser pode copiar.
Show Battle Animation
Uma animação para mostrar que você acertou seu inimigo. o target é this event. Coloque Wait

Seu comando de evento deve ter ficado assim:

Fork optn:Varbl[variable de HP do monstro]3-above
Move Event…: this Event, Transp. Up,Transp. Up,Transp. Up
Play SE: Seu som preferido
Variable Ch:[variable de HP do monstro]+, 1
:ELSE CASE
Play SE Seu som preferido
Variable Ch:[variable de HP do monstro]+, 1
Show Battle anim. sua animação, this Event (W)
END

Pronto, você terminou mais uma página. Crie a terceira e última, essa é a mais fácil.

Coloque como condição a variable de HP do inimigo o valor 4 above.
Agora porque 4 above se o HP se o HP do inimigo é 3? Se lembra na segunda página que eu pedi para colocar o valor + 1 nessa variable já com o inimigo morto? Então é para dar tempo de acontecer aqueles comandos dele morto, a transparencia e o som, para depois ele desaparecer de vez. Ou seja aquele mais um funcionou como um swicth (economizamos um swicth, temos que racionar). Voc6e já deve ter notado que essa página de evento, serve para fazer o monstro sumir do mapa literalmente.

Event Start Condition: on hero touch

Gráfico: Sem gráfico vazio, neca.

position: below hero (você não quer esbarrar com fantasmas.)

movement type: stay still

movement speed: tanto faz, deixa dois mesmo.

Comando:Nada

Você terminou a ultima página.
mais não terminou o evento de luta. Só o monstro.
Vamos para o segundo evento deste mapa. Neste mesmo mapa, crie outro evento.

Esse evento só terá uma página, ele servirá para a animação da espadada e também o que eu chamaria de: turno de ataque.

Esse evento tem uma condição, um swicth que você vai criar agora e nomear: entrar/sair
logo explicarei para que este evento serve.

event start condition: paralel process

graphic: vazio

event position: below hero ou above, desde que não atrapalhe o herói.Dica: coloque o evento na parede ou dentro da água.

movimento: stay still

Comando:
enter password
Esse é um comando pouco falado, mais muito bom. Porque? porque com ele você pode programar os botões do RPG Maker. Essa é a idéia. Vamos programar esse botão para dar uma espadada.
Vá em enter password, também conhecido como set password.
lá você encontrará uma janela para escolher variables.(como sempre) a opção logo a direita: “wait until key Hit” deve ficar marcada. E logo abaixo cada botão do RPG Maker está com um número.
os direcionais esquerda, direita, cima, baixo. Estão com o número 1,2,3,4.
o botão de ação ou decisão: 5 e o de voltar ou menu, 6.
Isso significa que toda vez que você apertar algum desses botões o número da variable escolhida vai mudar para o númeor do botão correspondente. Como no caso do evento de luta. quando eu apertar o botão de ação, o valor da variable escolhida vai mudar para 5. se eu apertar o botão do menu, a variable vai para 6. Entende?
Mais como só vamos precisar do botão de ação marque apenas a janela do botão de decisão. Crie uma variable com o nome de “ataque”.E coloque ela para ser a variable que vai sofrer a influência do botão.
fork condition
Agora é que vem a grande jogada. Como o valor da variable vai ficar 5, podemos colocar um comando especial para quando ela atingir esse número, usando uma fork. Crie uma fork com condição essa variable e o valor dela 5. No quadro mais embaixo escolha “same”, para que esse commando só aconteça caso o valor seja realmente 5.
O ELSE Case dessa variable, ficará vazio. pois só nos interessa o evento caso o botão de ação seja apertado e a variable fique com valor 5. portanto, os próximos comandos são colocados em cima do ELSE CASE.
change swicth[ataque]-ON set.
Se lembra no evento do monstro, que na segunda página a condição é por esse swicth. Isso significa que você estará atacando o monstro.
Move event
Coloque como alvo do movimento o herói, e nos comandos de movimento um change graphic. Mude o chara do heroi por um chara dele dando uma bela de uma espadada. Se não estiver afim de fazer o chara do seu herói dando a espadada, pode utilizar o Kadji como seu herói principal.
PlaySE
Coloque um sonzinho da sua espada balançando no ar: um bom é o evasion2
Wait 0.2s
Move event
igual ao outro, só que desta vez voltando ao chara original (seu herói carregando a espada, antes foi do seu herói desferindo a espadada.)
Change Swicth
Coloque o swicth ataque para OFF para finalizar seu golpe.

O Comando deve ficar assim:

Enter Password:[ataque]
Fork optn:Varbl[ataque]-5
Change Swicth:[ataque]-ON Set
Move Event..:Hero, Change Graphic
Play SE: Evasion2
Wait 0.2s
Move Event..:Hero, Change Graphic
Change Swicth:[ataque]-OFF Set
:ELSE CASE

END

Se estiver assim, você acabou mais uma parte do evento. Estamos na reta final.
Vamos para o database.

Vá para a parte de itens e crie um item, chamado espada, de classificação swicth
Use number of times:limitless

Explanation:Sai e entra no modo de luta da conexão games.

ON Swicth: Crie mais um swicth com o nome:”luta”

Marque a opção: Field. na parte direita abaixo.

Tudo OK Por aqui. Vamos agora para a parte mais difícil, ou melhor, menos fácil.
Vá em commom events. Esse evento servirá para entrar e sair do modo de luta.
Crie um evento chamado: luta
condition:paralel process
appearance condition switch:o swicth “luta” criado no quadro de itens.
comandos de evento:
Coloque um fork com condição:
switch: entrar/sair ON
Em cima do ELSE CASE:
Change swicth [entrar sair]-OFF Set
Move event
coloque o change graphic para o hero, ele muda para seu chara normal sem espada, só andando.
PlaySE
Coloque o Play SE: sword3, parece o som de estar guardando ou sacando uma espada.
Change Swicth[luta]-OFF set
isso marcará a sua saída do evento de luta.
Agora no ELSE CASE, ficará os comandos de quando você estiver entrando no evento de luta.
é praticamente tudo ao contrário do que está em cima.
Change swicth [entrar sair]-OFF Set
Move Event
Mude o chara di herói para um chara do herói carregando uma espada.
Play SE use o mesmo som anterior.
Change Swicth [luta]-OFF Set
É off mesmo, eu não me enganei, poi o que liga esse swicth é o item espada.

Pronto, você terminou seu evento de luta. Basta seu heroi se apossar do item espada para que ele detone o monstro programado.

Não se esqueça que se você for fazer mais monstros é necessários criar diferentes variables, inimigo 2 HP, inimigo 3 HP, etc. E depois mudar em todos os lugares que precisar da variable do HP para a nova variable. no resto é praticamente igual.

Informações adicionais

Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!

Deixe um comentário

Inscreva-se na nossa newsletter!