Forums » RPG MAKER 2K e 2003

Sistema de AP (Pedido por Saraiva-kun)

    • 683 posts
    28 de maio de 2015 12:04:27 ART

    Respondendo o pedido do usuário Saraiva-kun, um Sistema de AP.
    Para os que não sabem, é um Sistema onde você ganha AP (Ability Points) a cada Level que upa, e quando junta certa quantidade de APs, aprende uma magia.

    O que será necesário?
    Número Indeterminável de Variáveis (Muito ou Pouco, depende)
    2 Common Events

    Mãos a Obra!
    Crie um Common Event (aba Common Events do DataBase) com o nome de "AP Gain", ele deve ser Parallel Process e se você quiser, ativado por um Switch. (Assim poderá ativar e desativar o Ganho de AP quando quiser)

    Common Event "AP Gain" -> Aqui depende! Se só houver 1 Hero em seu jogo:
    Coloque um Change Variable "Hero Gain" Set= e em Operand selecione Hero escolha o Herói do seu jogo e coloque Level ao lado.

    Agora coloque um Forks Conditions por Variable, crie uma Variável chamada "Hero", e coloque-a. Selecione a Opção "Variab" e coloque a Variável "Hero Gain" (que criamos anteriormente). Abaixo, selecione "!= Not Equal to" (acho que é "other" na tradução do Dom Miguel). Deixe  a Opção "Add ELSE Case" desmarcada.

    Dentro do Forks
    Coloque um Show Face e clique em "Erase" para que não apereça nenhuma Face avisando que você recebeu APs

    Agora crie uma Variável chamada "APs" e coloque um Change Variable, "APs" Set +, e em Operand: 3
    Aqui é o número de APs que você ganha por Level.
    PS: Guarde o Número dessa Variável, no meu caso é 0007 (0007 APs)

    Agora, coloque um Show Message escrito: "Você evoluiu 1 Level, \v[0007] Ability Points foram recebidos!

    E Por fim, coloque um Change Variable, Variável Hero Gain, Set=, Operand clique no Primeiro Variable e selecione a Variável Hero.

    Bem, para não ficar confuso:

    Citar

    <>Change Variable: Var[159:Hero Gain] = "Seu Hero"'s Level
    <>If Var(0158:Hero) Var(159) (!=)
        <>Select Face Graphic: None
        <>Change Variable: Var[0007:APs]+3
        <>Message: Level UP! Você evoluiu 1 level.
    :        : \v[0007] APs foram recebidos.
        <>Change Variable: Var[0159:Hero Gain]= Var[158]
        <>
    End Case
    <>

    Fim do Primeiro Common

    1º Common -> Se houver mais de um Hero em seu Jogo:
    Crie um Forks Conditions e na Pág 2, Marque a Opção "Hero". Selecione o 1º Hero da Party, e deixe "Is in Party". Deixe a opção "Add ELSE Case" desmarcada.

    Dentro do Forks:
    Coloque um Change Variable "Hero Gain" Set= e em Operand selecione Hero escolha o Herói do seu jogo e coloque Level ao lado.

    Agora coloque um Forks Conditions por Variable, crie uma Variável chamada "Hero", e coloque-a. Selecione a Opção "Variab" e coloque a Variável "Hero Gain" (que criamos anteriormente). Abaixo, selecione "!= Not Equal to" (acho que é "other" na tradução do Dom Miguel). Deixe  a Opção "Add ELSE Case" desmarcada.

    Dentro do Forks
    Coloque um Show Face e clique em "Erase" para que não apereça nenhuma Face avisando que você recebeu APs

    Agora crie uma Variável chamada "APs" e coloque um Change Variable, "APs" Set +, e em Operand: 3
    Aqui é o número de APs que você ganha por Level.
    PS: Guarde o Número dessa Variável, no meu caso é 0007 (0007 APs)

    Agora, coloque um Show Message escrito: "Você evoluiu 1 Level, \v[0007] Ability Points foram recebidos!

    Change Variable, Variável Hero Gain, Set=, Operand clique no Primeiro Variable e selecione a Variável Hero.

    Aparecerão 2 "End Case" coloque isso depois da Segunda!
    End Case:

    Forks Conditions, Hero: "Segundo Hero da Party" e "Is in Party"

    Dentro do Forks:
    Coloque um Change Variable "2 Hero Gain" Set= e em Operand selecione Hero escolha o Segundo Herói do seu jogo e coloque Level ao lado.

    Agora coloque um Forks Conditions por Variable, crie uma Variável chamada "2 Hero", e coloque-a. Selecione a Opção "Variab" e coloque a Variável "2 Hero Gain" (que criamos anteriormente). Abaixo, selecione "!= Not Equal to" (acho que é "other" na tradução do Dom Miguel). Deixe  a Opção "Add ELSE Case" desmarcada.

    Dentro do Forks
    Coloque um Show Face e clique em "Erase" para que não apereça nenhuma Face avisando que você recebeu APs

    Agora crie uma Variável chamada "APs 2" e coloque um Change Variable, "APs 2" Set +, e em Operand: 3
    Aqui é o número de APs que você ganha por Level.
    PS: Guarde o Número dessa Variável, no meu caso é 0281 (0281 APs)

    Agora, coloque um Show Message escrito: "Você evoluiu 1 Level, \v[0281] Ability Points foram recebidos!

    E Por fim, coloque um Change Variable, Variável 2 Hero Gain, Set=, Operand clique no Primeiro Variable e selecione a Variável 2 Hero.

    Pra não ficar Confuso:

    Citar

    If "Seu Hero" is in party
      <>Change Variable: Var[159:Hero Gain] = "Seu Hero"'s Level
      <>If Var(0158:Hero) Var(159) (!=)
          <>Select Face Graphic: None
          <>Change Variable: Var[0007:APs]+3
          <>Message: Level UP! Você evoluiu 1 level.
      :        : \v[0007] APs foram recebidos.
          <>Change Variable: Var[0159:Hero Gain]= Var[158]
          <>
      :End Case
      <>
    :End Case
    If "Seu 2º Hero" is in party
      <>Change Variable: Var[165:2 Hero Gain] = "Seu 2º Hero"'s Level
      <>If Var(0164:2 Hero) Var(165) (!=)
          <>Select Face Graphic: None
          <>Change Variable: Var[0281:APs 2]+3
          <>Message: Level UP! Você evoluiu 1 level.
      :        : \v[0281] APs foram recebidos.
          <>Change Variable: Var[165:2 Hero Gain]= Var[164]
          <>
      :End Case
      <>
    :End Case
    <>


    Está feito, agora a cada level que você upa, você ganha X APs
    PS: Para cada Hero do seu Jogo você terá que refazer o passo acima, no Segudo End Case vazio, e criando Novas Variáveis para cada coisa!

    Quase acabando!
    Crie um Common Event chamado "Learn Skills" deixe-o Parallel Process e se ativado pelo mesmo Switch que o 1º Common (se não colocou Switch, não coloque nesse)

    2º Common -> Se só houver 1 Hero em seu Jogo:
    Crie um Forks Conditions, Variável "APs" Set = ("equal" ou "same") 37deixe a opção Add ELSE Case ATIVADA
    APs para aprender a Ultima Magia

    Dentro do Forks:
    Coloque um Show Message escrito: "Parabéns, você conseguiu 37 APs e aprenderá a magia Ultima!"
    Mesmo Número do Forks, APs para a Última Magia

    Coloque um Change Skill e deixe "All Party Members". Em "Set" coloque "Memorize" Skill e em "Wich Tech Skill?"
    Coloque Ultima
    Última magia que quer que o Hero aprenda com APs

    Na Else Case:
    Crie um Forks Conditions, Variável "APs" Set = ("equal" ou "same") 15deixe a opção Add ELSE Case ATIVADA
    APs para aprender a Penúltima Magia

    Dentro do Forks:
    Coloque um Show Message escrito: "Parabéns, você conseguiu 15 APs e aprenderá a magia Flame!"
    Mesmo Número do Forks, APs para a penúlltima Magia

    Coloque um Change Skill e deixe "All Party Members". Em "Set" coloque "Memorize" Skill e em "Wich Tech Skill?"
    Coloque Flame
    Penúltima magia que quer que o Hero aprenda com APs

    Na Else Case...
    Isso é infinito, coloque quantas magias quiser! Só vai precisar mudar o Número do Forks e da Message e trocar a magia que aprenderá!

    Para não ficar confuso:

    Citar

    <>If Var(0007:APs) 37
      <>Message: Parabéns, você conseguiu 37 APs e 
                :aprenderá a magia Ultima!
      <>Change Skill: ([All Members], Ultima) Learn
      <>
    :Else Case
      <>If Vari(0007:APs) 15
      <>Message: Parabéns, você conseguiu 15 APs e 
                :aprenderá a magia Flame!
      <>Change Skill: ([All Members], Flame) Learn
      <>
      :Else Case
      <>
      :End Case
      <>
    :End Case
    <>


    2º Common -> Mais de 1 Hero no seu Game
    Em si, é a mesma coisa. Mas crie 1 Common Event para cada Hero
    Siga todos os Passos acima, mudando apenas:

    Forks Conditions, Variável "APs", Set=37
    A Variável APs, cada Hero deve ter 1, o Hero 1->APs, Hero 2->APs 2 etc.

    O Change Skill, ao invés de "All Party Members", coloque "Fix" e Selecione o Hero que "pertence" a Variável "APs 2".

    Idéia:
    Saraiva-kun
    Créditos:
    Preischadt-Mau3000
    É só gente! Espero ter ajudado, Dúvidas? Bugs? É só comentar!"