O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Aumentar Atributos Baseando-se em Condições de Batalha

Iniciado por Arthur França, 03/11/2017 às 14:13

03/11/2017 às 14:13 Última edição: 03/11/2017 às 14:21 por Corvo
Boa tarde a todos!

Estou realmente estourando meus neurônios pra aprender js, mas um dia eu chego lá (eu espero). Mas se alguém puder me ajudar com esse problema, certamente vai me adiantar muito.

Estou tentando criar um sistema onde os atributos do personagem crescem de acordo com o que acontece nos combates. Por exemplo: se determinado personagem receber muitos golpes durante as lutas, seu MaxHP e DEF (ou MgcDEF, caso seja ataques mágicos) irão aumentar a cada combate; Se ele usa muitas habilidades (gastando mana), sua MaxMP irá aumentar. Coisas assim. Caso eu não tenha sido claro, por favor deixe-me saber, e eu vou tentar passar exemplos melhores.

Gostaria de saber se existe algum plugin ou script (estou procurando há uma semana +/-, assistindo vídeos, buscando em comunidades estrangeiras, porém sem sucesso), ou se alguém sabe como transformar essa ideia em códigos.

Agradeço desde já!

[NOTA] Agora que eu reparei que existe uma área de Suporte para Scripts e Plugins. Se lá for o lugar certo para este tópico, por favor movam-no para lá. Novamente, obrigado!

[NOTA2] Essa foi rápida! uasusahsa Obrigado pra quem moveu o tópico! :clap:

 

Olha, tu pode fazer uma gambiarra com isso por eventos mesmo. Por exemplo, uma habilidade que cause dano físico ao jogador também aumente determinado valor em uma variável. Depois, tu corrige esse valor e aumenta o atributo manualmente. Não é difícil, mas vai precisar de uma paciênciazinha pra programar. Se não souber como programar isso é só avisar.

Obrigado Corvo!

Realmente, programação nunca foi meu forte. Eu vou tentar te explicar o que eu já consegui fazer:
Dentro da janela de efeito o Ataque Básico, por exemplo, eu consegui crescer o atributo "Ataque" +1 a cada ataque bem efetuado. Não precisei usar variáveis nem evento comum.
No entanto, caso eu tente colocar um efeito do tipo "+1 MaxHP do alvo", para que quando o inimigo atacar o personagem, ele receba esse buff permanentemente, ficando um pouco mais forte cada vez que recebe um golpe, ele não responde. Tentei então usar evento comum, mas não encontrei uma condição do tipo "Se o Actor receber um golpe, então 'tal coisa' acontece". Tentei aprender JS nos últimos dias, e tudo que eu entendi é que eu vou precisar de tempo pra aprender a programar por minha conta, ahhaha.
Enfim, qualquer ajuda é bem vinda no estado em que eu estou agora.

 

Para ser sincero eu nunca testei essa função do "Crescer [Parâmetro]". Até onde eu sei ele só vale para o usuário da habilidade, não pro alvo mesmo.

Então, cara. Esse tipo de condição não existe mesmo e faz falta. Tu citou JS, então usa o MV, certo? Bom, a gambiarra que eu fiz serve melhor para uma equipe de um único personagem. O pessoal que manja do Java Script pode conseguir enfiar uns comandos no cálculo de dano da habilidade, mas como não é o meu caso, às gambiarras:

Vou exemplificar a lógica usando apenas um atributo, o HP. Primeiro, eu criaria uma segunda habilidade "Atacar". Ela seria usada pelos inimigos para que o herói não aumente seus próprios atributos atacando. Nela, inserimos um evento comum cuja única função é somar um ponto à uma variável pré-definida. Logo, toda vez que o inimigo atacar, esse valor será aumentado.

Terminada a batalha, faria uma correção nesse valor porque são feitos vários ataques em uma batalha. O valor seria absurdamente aumentado se fosse integral, logo dividiria o valor da variável por dois. Depois, bastaria usar o comando "Alterar" parâmetro e somar o valor da variável ao do parâmetro do personagem, zerando a variável no final.

Dito isso você precisaria de uma variável e um evento comum para cada parâmetro, depois distribuí-los nas habilidades. O problema dos eventos é que se você tem uma equipe com vários membros, você não tem como saber quem foi o alvo do quê.

Porém, eu não acho que um plugin para isso seja algo difícil de fazer. Se essa gambiarra não resolver, basta aguardar que alguém aparece com uma solução melhor.

Entendi a sua lógica. De fato, ela funcionaria muito bem pra mim seu eu não usasse equipe. Na verdade, o principal problema é justamente este que você citou: saber quem levou o ataque, e ajustar a variável adequada.

Ainda assim, o que você me falou ainda pode ser útil em outros aspectos do meu projeto. Obrigado pela ajuda, Corvo!