InícioFAQBuscarMembrosGruposRegistrar-seConectar-se

Compartilhe | 
 

 Sistema de Tiro Naughty Crusty

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Hugo Lima
Aspirante
Aspirante
avatar

Câncer

MensagemAssunto: Sistema de Tiro Naughty Crusty   Dom Out 25, 2009 2:40 pm

Sistema de Tiro por Naughty Crusty


RPG Maker 2000/2003

:: Materiais necessários ::


Ok... Vamos começar... Para montar o seu joguinho de tiro, além do RPGMaker [dãa] você irá precisar de:
-Um charset de um ET ou qualquer que seja o inimigo que você queira
-Um charset de um personagem qualquer, que será o herói
-Um som de tiro, coisa sendo arremessada ou coisa parecida
-Um som para quando o projétil acertar um obstáculo
-Um som do inimigo morrendo
-Um gráfico no chipset de um projétil [uma bala, ou um prato de comida no meu caso ]


--------------------------------------------------------------------------------

:: Lançando o projétil ::


A primeira coisa a fazer é criar um evento no mapa chamado "Revolver" ... Ele irá seguir a posição do herói e irá disparar quando a tecla de decisão for apertada... Por enquanto, deixe o evento em branco... Crie em seguida um outro evento chamado "Check", e deixe-o como Parallel Process. Este evento irá checar a posição do Herói durante todo o tempo... Você irá precisar criar duas variáveis de forma que uma guarde o valor de X do herói e a outra guarde o valor de Y... Para isso crie uma Change Variable [1ª página] e crie uma variável em One>HeroX>Set>Event>Hero>X Coordinate. Repita o procedimento e crie uma variável HeroY, com Y Coordinate... A seguir, você deve fazer um Set Event Place [2ª página] ... Em Event coloque Revolver e em Movement Place escolha By Variable, X coordinate> HeroX, Y coordinate>HeroY... Agora, independente de onde o herói estiver, o evento Revolver estará sempre embaixo dele...

Volte agora para o evento Revolver, e crie uma ação Change Switch, criando um Switch "Revolver" e colocando-o como ON... Assim, quando o jogador apertar a tecla de decisão, o switch Revolver será ligado... Volte no evento Check e crie uma nova página, clicando no botão New Page em cima... Como Event Condition para esta página faça como sendo o Switch Revolver como ON e como Push Key, Below Hero... Deixe em branco... Quando o switch Revolver for ON, o evento revolver não estará mais sob o herói... Volte ao evento Revolver...

Crie uma nova página com a condição do Switch Revolver ON, em Parallel Process e Below Hero... Crie duas variáveis, Rx e Ry, sendo que irão guardar a posição deste evento...Serão a posição do Revolver... Faça duas ações, criando as variáveis Rx e Ry, que serão as coordenadas do evento Revolver, desta maneira: Change Variable>Rx>Set>Event>this event>X coordinate e a outra Change Variable>Ry>Set>Event>this event>Y coordinate... fácil não? Agora, crie 4 Forks independentes entre si, sem Exception Case... No primeiro, faça como condição Event>Hero>Right Face Dir que significa que o herói estará virado para a direita. Dentro deste fork, coloque um Play Sound Effect colocando um som que será tocado quando o projétil for lançado, ou no nosso caso, quando atirarmos o prato... Agora crie um Change Switch para um switch chamado "RightFaceRev". Faça os outros três Forks da mesma maneira, mas fazendo um para Left, outro para Up e mais um para Down... Em cada um crie um switch próprio, sendo LeftFaceRev, UpFaceRev e DownFaceRev respectivamente... Agora, crie mais quatro páginas, sendo que em cada uma deve haver um Switch diferente como Event Condition... Em uma o Switch deve ser o RightFaceRev, na outra o LeftFaceRev e assim por diante... Todas as páginas têm que estar em Parallel Process e Same Level as Hero, e com o Movement Speed como 6: x4 Faster...

Vá na página que tem o RightFaceRev como condição... Em Graphics, escolha o gráfico do projétil, no meu caso, um prato de comida... Agora, acrescente uma ação para mudar o gráfico do herói para uma posição que ele esteja na pose de atirando para a direita em Move Event [2ª página] >Hero>Change Graphic... Faça outro Move Event e escolha Object Character>This Event, Step Right, Play SE [o som do projétil quando atinge algo], Switch OFF - Revolver, Switch OFF - RightFaceRev e deixe marcada a caixa Ignored if cant be moved... O que acabamos de fazer? Bom, se o jogador apertar a tecla de decisão, o evento Revolver vai se transformar na figura do projétil e irá para a direita até encontrar o inimigo ou um obstáculo qualquer, reproduzindo um som e voltando para baixo do herói, começando tudo de novo... Faça o mesmo com as outras três páginas, mudando apenas o Switch RightFaceRev pelo Switch respectivo e mudando a direção que o projetil deve seguir... Dependendo do seu jogo, você deverá mudar também o gráfico do projétil... Caso você tenha usado o gráfico do herói atirando, abra o evento Check e na primeira página acrescente o comando Change Hero Walk GFX trocando o gráfico do herói pelo gráfico original... Agora, você pode até testar o código e ver como já funciona... O herói já consegue lançar o projétil...


--------------------------------------------------------------------------------

:: Fazendo os inimigos ::


O próximo passo é configurar os inimigos... Crie um novo evento para o inimigo, e deixe em On Touch (Event, Hero) e Same Level as Hero... Coloque o gráfico do inimigo desejado... Em Movement Type, escolha Step Toward Hero e Frequency 8... Em Movement Speed deixe em 3: x2 Slower... Agora, em Event Commands, coloque um Change HP [1ª página] e faça [All Party Members>Decrease HP Set> *] Em *, você coloca a quantidade de HP que diminuirá quando o inimigo encosta em você... Se você quiser que seja impossível de o seu personagem morrer, deixe a caixa impossible death DESmarcada... Parece sem sentido, mas o RPGMaker faz com que seja impossível de morrer se estiver desmarcada e possível morrer se estiver marcada... Isso fará com que ao tocar o herói, o herói se machuque quando o inimigo encostar nele... Agora, coloque um Play Sound Effect, com o som que será tocado quando o inimigo "machucar" o herói... Coloque um Flash Event [2ª página] e esolha [Hero>Red 31>Green 0>Blue 0>Power 31> Time 5] e deixe a caixa Wait Until Done marcada...Faça agora mais quatro páginas, cada uma com um Switch como condição [RightFaceRev, Left Face Rev, etc.] deixando-as em Parallel Process e com o restante das configuraçãoes normais, com o gráfico do inimigo também... Começando com a página do RightFaceRev, faça as seguintes ações:

<>Change Variable>Rx>Set>Character>Revolver>X coordinate
<>Change Variable>Ry>Set>Character>Revolver>Y coordinate
<>Change Variable>Mx>Set>Character>this event>X coordinate
<>Change Variable>My>Set>Character>this event>Y coordinate
<>Change Variable>Mx>->1
<>Fork Condition>Variables>Ry>My>same
<>Fork Condition>Variables>Rx>Mx>same
*<>Move Event>this Event>Move Frequency Up(2x)>Fix Direction>Right>Cancel Dir Fixation>Move Frequency Down(2x)
*<>Change Variable>EnemyLife1>+>1
*<>Flash Event>this Event>0.5s>wait until flashing>a cor que vc quiser [2ª página]

Na linha verde acima, temos o uso de uma variável para este inimigo, o EnemyLife1... Você deverá criar uma variável para cada inimigo... O que fizemos aqui? Com estas ações, determinamos que se o herói estiver à esquerda do inimigo e disparar para a direita, o inimigo será "ferido" no ponto à sua esquerda... Se esse ponto for igual às coordenadas do revolver, então as ações com um asterisco na frente irão ocorrer... as variáveis Mx e My marcam a posição do inimigo, sendo que na linha vermelha, se define a posição de Mx e My como sendo a posição ao lado esquerdo do inimigo... Faça o mesmo procedimento para as outras três páginas, mas alterando a linha em vermelho e a direção em vermelho de acordo com a posição:

RightFaceRev: Change Variable>Mx>->1 Right
LeftFaceRev: Change Variable>Mx>+>1 Left
DownFaceRev: Change Variable>My>->1 Down
UpFaceRev: Change Variable>My>+>1 Up

Isso irá mudar o ponto onde o inimigo será "ferido" dependendo da direção de que o herói atirar... Faça agora uma última página para o inimigo, que será quando ele estará morto... Coloque o gráfico do inimigo morto, deixe em Parallel Process e Below Hero e em Movement Type coloque cmo Stay Still... Em Event Conditions, use como condição a variável EnemyLife1 como 8... Assim, quando o inimigo for atingido 8 vezes essa página será iniciada... Se quiser, mude este valor para o valor que você desejar... Coloque agora quaisquer eventos que você queira que aconteçam quando o inimigo morrer, como um Play SE ou uma Battle Animation por exemplo... Depois coloque um Cycle [3ª página] e dentro do Cycle um Wait [2ª página] de 2 segundos... pronto... o nosso inimigo já pode morrer!

Para fazer outro inimigo, basta copiar o evento do inimigo e colar onde você quer o novo inimigo... Aí, você tem que mudar todos os lugares que usam a variável EnemyLife1 para outra nova, chamada EnemyLife2... Para cada inimigo adicional, você cria uma variável dessa... Nosso minigame de tiro se resume basicamente a isso... A seguir, veremos algumas opções extras, que podem ser usadas no minigame...


--------------------------------------------------------------------------------

:: Opcional - Fazendo um botão de pausa ::


Pode ser que você queira colocar um botão de pausa no seu minigame de tiro, e portanto, irei ensinar como fazer isso... Faça uma imagem escrito "Pausa" que será exibida quando o jogo for pausado... Se quiser, use a que está na pasta Pictures do jogo exemplo...

Vá até o mapa e crie um evento chamado "Pausa"... Deixe-o em Parallel Process... Em Event Commands, coloque um Enter Password, com Wait Until Hit Key marcado, e com a tecla Cancel (6) e armazenando em uma variável chamada "Pausa"... Coloque agora um Change Switch criando um switch chamado "Pausa" deixando-o como ON... Agora, quando você apertar a tecla de cancelar, este switch será ligado... Crie uma nova página neste evento, deixando-a em Autostart e com a condição do switch Pausa ON... Coloque um Set Screen Tone [2ª página] deixando todas as barras em 50%, 0 de Time e a caixa Wait Until Done desmarcada... Agora, coloque um Show Picture para a figura de Pausa que fizemos... Coloque Pic. Number como 1 e a posição em X:160 Y:120... Move with Map fica desmarcado, Magnification em 100% e Transparency em 0%... Deixe em Stir e em Aditional Effect não altere nada...

Coloque agora um Play BGM com a mesma música de fundo, porém, em um volume mais baixo... Coloque agora um Enter Password, novamente guardando na variável Pausa e somente com as caixas Wait Until Hit Key e Cancel(6) marcadas... Apague a Picture com o comando [Erase Picture>1] e em seguida coloque um Change Switch para o swicth Pausa -OFF... Coloque novamente um Set Screen Tone para a coloração normal, isto é, tudo em 100%...Para finalizar, coloque um Play BGM com a música de fundo em volume normal...Pronto! O seu botão de pausar funciona!

Tenha em mente que tendo este evento no seu mapa impossibilitará que você acesse o menu com o botão cancelar... Bom, é isso... espero que tenham gostado!

CRÉDITOS: NAUGHTY CRUSTY
Voltar ao Topo Ir em baixo
Gabs
Capitão
Capitão
avatar


Gémeos Ocupação : Procrastinando

Registro
: Gabs
: Animal
: Dinossauro lv barney | Grappler lv Indiana Jones

MensagemAssunto: Re: Sistema de Tiro Naughty Crusty   Dom Out 25, 2009 3:24 pm

Pelo que entendi é um sistema que nao depende de nada que só exista no Maker 2k3. Entao a area certa para postar seria Programaçao em Eventos

- - - - - - - - - - - - - - - - - - - - -


"I'd rather be hissed at for a good verse, than applauded for a bad one. "
- Victor Hugo
Voltar ao Topo Ir em baixo
 

Sistema de Tiro Naughty Crusty

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 

 Tópicos similares

+
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Hacred Sall :: Centro de Operações :: Armazém :: Programação em eventos :: Ajuda e tutoriais-
Ir para: