Forums » RPG MAKER 2K e 2003

Sistema ABS + Percepção

    • 683 posts
    2 de junho de 2015 17h08min50s ART

    Bom antes de tudo, o que é o sistema "ABS + Percepção"? Bom, ABS não vou explicar pois acho que todos ja saibam o que é. E o Sistema de Percepção? Este é um sistema que faz o monstro perceber quando o heroi chega perto, e consequentemente corre atras dele.
    Então vamos ao tutorial:

    Materiais:
    2 Eventos
    2 Evento Comum
    Umas 6 Variaveis
    Uns 6 Switchs

    Certo, vamo começar.
    Antes de mais nada crie um evento no mapa:

    -Nome: Qualquer nome
    -Grafico: de um monstro qualquer
    -Tipo de movimento: Movimentos Aleatórios, Frequência 4
    -Condição Inicial: Processo Paralelo
    -Posição do Evento: Mesmo nivel que Heroi
    -Comandos de Eventos:

    Primeiro crie uma variavel com nome [X Heroi] de a ela o valor da coordenada X do Heroi.
    Crie outra Variavel, nome [Y Heroi] de a ela o valor da coordenada Y do Heroi.

    Citar

    <>Variavel: [xxxx: X Heroi]Set, Heroi Pos X
    <>Variavel: [xxxx: Y Heroi]Set, Heroi Pos Y


    Vamos Calcular a distâcia que o Heroi está do monstro:
    Vá em mudar Variavel. Variavel: [X Heroi] menos coordenada X deste evento
    Faça o mesmo com a [Y Heroi], Lembrando de trocar o X  pelo Y.

    Citar

    <>Variavel: [xxxx: X Heroi]- , Este Evento Pos X
    <>Variavel: [xxxx: Y Heroi]- , Este Evento Pos Y


    Bom, quando o heroi chegar perto de mais do monstro ele vai perceber e corre atrás do heroi, então vamos calcular quando isso vai acontecer:
    OBS: neste tutorial o monstro perceberá à 6 unidades de distância.

    Crie uma condição IF(fork), coloque a variavel [X Heroi] Setar Igual ou abaixo de 6.
    Crie outra condição IF dentro da anterior com a variavel [X Heroi], Setar Igual ou acima de -6.
    Faça o mesmo com a variavel [Y Heroi], colocando-a dentro das condições anteriores.
    Dentro da ultima condição crie um switch, nome [Switch 01], operação ON.

    Citar

    <>IF – THEN:Var[xxxx: X Heroi] – 6Menr
        <>IF – THEN:Var[xxxx: X Heroi] - – 6Mair
              <>IF – THEN:Var[xxxx: Y Heroi] – 6Menr
                  <>IF – THEN:Var[xxxx: Y Heroi]-  – 6Mair

                  <>Mudar Switch:  [xxxx: Switch 01]Tornar-ON
    Esta foi a primeira Página do evento.

    Crie outra página:
    -Condições do Evento: Switch: [Switch 01]
    -Grafico: de um monstro qualquer
    -Tipo de movimento: Seguir Heroi, Frequência  8
    -Condição Inicial: Processo Paralelo
    -Posição do Evento: Abaixo do Heroi
    -Comandos de Eventos:

    Faça novamente os dois primeiros paços:

    Citar

    <>Variavel: [xxxx: X Heroi]Set, Heroi Pos X
    <>Variavel: [xxxx: Y Heroi]Set, Heroi Pos Y
    <>Variavel: [xxxx: X Heroi]- , Este Evento Pos X
    <>Variavel: [xxxx: Y Heroi]- , Este Evento Pos Y


    Primeiro vamos calcular quando o monstro vai parar de correr atrás do heroi:
    Faça uma condição IF, com a variavel [X Heroi], valor 6, Maior que.
    Dentro da condição coloque um mudar switch com o [Switch 01], Operação OFF
    Faça outra condição com a [X Heroi] para o -6 e repita com a variavel [Y Heroi].

    Citar

    <>IF – THEN:Var[xxxx: X Heroi] – 6Mair
        <>Mudar Switch:  [xxxx: Switch 01]Tornar-OFF
    <>IF – THEN:Var[xxxx: X Heroi]-  – 6Menr
        <>Mudar Switch:  [xxxx: Switch 01]Tornar-OFF
    <>IF – THEN:Var[xxxx: Y Heroi] – 6Mair
        <>Mudar Switch:  [xxxx: Switch 01]Tornar-OFF
    <>IF – THEN:Var[xxxx: Y Heroi]-  – 6Menr
        <>Mudar Switch:  [xxxx: Switch 01]Tornar-OFF


    OBS: o monstro só atacar o heroi quando estiver no msm “quadradinho“ q o heroi.
    Vamo então definir quando isso vai acontecer:

    Faça uma condição IF, coloque a variavel [X Heroi] igual a zero.
    Crie uma outra com a var[Y Heroi] dentro da anterior e dentro dessa crie um Switch de nome [Switch 02] e tornar ON

    Citar

      <>IF – THEN:Var[xxxx: X Heroi] – 0
          <>IF – THEN:Var[xxxx: Y Heroi] – 0
            <> Mudar Switch:  [xxxx: Switch 02]Tornar-ON


    Até agora ninguem pode atacar ninguem, então agora fazeremos com que o heroi possa atacar o monstro.

    Comece com uma condição IF com [X Heroi], igual ou abaixo de  1, faça outra com igual ou menor que -1, faça o mesmo com a [Y Heroi], tudo dentro uma da outra.
    Dentro das condições coloque outra condição com uma nova variavel: [Delay Heroi] igual ou abaixo de Zero.
    OBS: Você pode tirar o delay se quiser.

    Crie mais uma condição(nossa) com outra variavel, [Tecla de ATK] igual a 5.
    Dentro de todas essas condições coloque uma animação para o ATK do Heroi.
    Aumente a variavel [Delay Heroi] o quanto vc deseja que demore o tempo entre um ataque e outro.
    Coloque um mudar Switch com um novo switch: [Delay do Heroi] operação ON
    Agora crie uma variavel [HP Monstro] Operação [ - ], em operando pode colocar o quanto você quiser.

    Citar

    <>IF – THEN:Var[xxxx: X Heroi] – 1Menr
        <>IF – THEN:Var[xxxx: X Heroi]-  – 1Mair
              <>IF – THEN:Var[xxxx: Y Heroi] – 1Menr
                  <>IF – THEN:Var[xxxx: Y Heroi] - – 1Mair
                      <> IF – THEN:Var[xxxx:Delay Heroi]  – 0Menr
                        <>IF – THEN:Var[xxxx: Tecla de ATK] – 5
                            <>Mostrar animação: Espada A, Este Evento(E)
                            <>Variavel: [xxxx: Delay Heroi]Set, 10
                            <> Mudar Switch:  [xxxx: Delay Heroi]Tornar-ON
                            <> Variavel: [xxxx: HP Monstro]-, 5


    Pronto, Aqui acaba a 2ª Página(\o/), vamos a 3ª então:

    -Condições do Evento: Switch: [Switch 02]
    -Grafico: de um monstro qualquer
    -Tipo de movimento: Seguir Heroi, Frequência  8
    -Condição Inicial: Processo Paralelo
    -Posição do Evento: Abaixo do Heroi
    -Comandos de Eventos:

    Certo, Faça novamente os 2 primeiros paços:

    Citar

    <>Variavel: [xxxx: X Heroi]Set, Heroi Pos X
    <>Variavel: [xxxx: Y Heroi]Set, Heroi Pos Y
    <>Variavel: [xxxx: X Heroi]- , Este Evento Pos X
    <>Variavel: [xxxx: Y Heroi]- , Este Evento Pos Y


    Começamos de novo com os eventos que vao voltar para pagina anterios (quando o heroi não esteja no mesmo “quadradinho“ do monstro).
    Crie uma condição IF com a Var [X Heroi] Diferente de zero.
    Dentro dela coloque um mudar Switch com o [Switch 02] Tornar OFF, então faça o mesmo com a [Y Heroi].

    Citar

    <>IF – THEN:Var[xxxx: X Heroi] – 0Dif.
        <>Mudar Switch:  [xxxx: Switch 02]Tornar-OFF
    <>IF – THEN:Var[xxxx: Y Heroi] – 0Dif.
        <>Mudar Switch:  [xxxx: Switch 02]Tornar-OFF


    Agora vamos chamar a proxima pagina( o ATK do monstro):
    Para o monstro atacar ele deve estar com o delay = 0, então:
    Crie uma condição IF com var[Delay Monstro] igual ou abaixo de zero.
    Dentro crie um mudar switch [Switch 03] operação ON

    Citar

    <>IF – THEN:Var[xxxx: Delay Monstro] – 0Menr
        <>Mudar Switch:  [xxxx: Switch 03]Tornar-ON


    O heroi tambem pode atacar o monstro estando no mesmo “quadradinho“ do monstro, então repita o passo to ataque do heroi sem as 4 primeiras condições:

    Citar

    <> IF – THEN:Var[xxxx:Delay Heroi]  – 0Menr
          <>IF – THEN:Var[xxxx: Tecla de ATK] – 5
              <>Mostrar animação: Espada A, Este Evento(E)
              <>Variavel: [xxxx: Delay Heroi]Set, 10
              <> Mudar Switch:  [xxxx: Delay Heroi]Tornar-ON
              <> Variavel: [xxxx: HP Monstro]-, 5


    3ª Pagina Completa(Vivaaa...), vamos então para a 4ª pagina:

    -Condições do Evento: Switch: [Switch 03]
    -Grafico: de um monstro qualquer
    -Tipo de movimento: Seguir Heroi, Frequência  8
    -Condição Inicial: Inicio automático
    -Posição do Evento: Mesmo nível que Heroi
    -Comandos de Eventos:

    Esta vai ser a página do ataque do monstro

    Comece com uma animação no herói para ser o ataque do monstro
    Coloque um mudar HP, diminuir 10( ou quanto você quiser).
    OBS: Você pode mudar o HP do Herói para uma variável (foi o que eu fiz)

    Depois do ataque coloque um mudar variável com a var[Delay Monstro] + 10, um mudar switch [Delay Monstro] tornar ON e por fim um outro mudar switch [Switch 03] Tornar OFF.

    Citar

    <> Mostrar animação: Golpe, Herói
    <>Mudar HP: do grupo  HP  10Reduz.
    <> Variavel: [xxxx: Delay Monstro] + , 10
    <> Mudar Switch:  [xxxx: Delay Monstro]Tornar-ON
    <> Mudar Switch:  [xxxx: Switch 03]Tornar-OFF


    Esta pronta a página 4, a página 5 é apenas para quando o monstro morrer:

    -Condições do Evento: Variável[HP Monstro] menor ou igual a 0
    -Grafico: Nenhum
    -Tipo de movimento: Ficar Parado
    -Condição Inicial: Apertar tecla
    -Posição do Evento: Abaixo do Herói
    -Comandos de Eventos: Nenhum :)

    Terminamos então o evento do monstro(  ^-^ ), mas (  O-O! ) ainda temos que fazer os eventos comuns dos Delays, então, vamos aos eventos comuns:

    Crie um evento comum:
    -Nome: Delay do Heroi
    -Condição de Início: Processo paralelo
    -Switch: [Delay Heroi]
    -Comandos de Eventos:

    Começamos com um mudar variável, var[Delay Heroi] Menos 1, depois esperar 0.1 Segundo.
    O delay não pode passar de zero, então crie uma condição IF com var[Delay Heroi] 0 igual ou abaixo e dentro um mudar switch [Delay Heroi] Tornar OFF

    Citar

    <> Variavel: [xxxx: Delay Heroi] - , 1
    <>Esperar: 0.1sg
    <> IF – THEN:Var[xxxx:Delay Heroi]  – 0Menr
        <> Mudar Switch:  [xxxx: Delay Heroi]Tornar-OFF


    Faça um evento comum do mesmo jeito que o anterior mudando apenas a var[Delay Heroi] e Switch [Delay Heroi] pelos  [Delay Monstro].

    Citar

    <> Variavel: [xxxx: Delay Monstro] - , 1
    <>Esperar: 0.1sg
    <> IF – THEN:Var[xxxx:Delay Monstro]  – 0Menr
        <> Mudar Switch:  [xxxx: Delay Monstro]Tornar-OFF


    Agora pra finalizar crie um evento no mapa e mude a var[HP Heroi] para quanto você quiser. Na segunda página em processo paralelo coloque um definir teclas adicionais com a var[Tecla de ATK] apenas com a opção decisão(5).

    Pronto ( :D ), você pode modificar muitas coisas neste sistema, eu coloquei arco, como também pode-se colocar magias, dentre várias coisas que ainda não pensei. :D

    Se deu algum erro ou eu esqueci de algo só falar comigo.

    Screens:

    Spoiler 
    Imagem Postada

    Imagem Postada

    Imagem Postada



    Créditos para Maykin-Kun (eu :D) e até a próxima.