Olá, pessoal! Eu de novo! Hehe
Uso o RPG Maker MV e há um tempo atrás pedi ajuda com uma mecânica de habilidades que eu estou tentando criar para o meu jogo. É como se fossem "follow-up skills", mas os scripts desse gênero ainda não supriram o que eu preciso...
Agora que entendo um pouquinho de lógica de programação (diferente do meu pedido anterior, quando eu não sabia nada hehe), acho que consigo deixar mais claro o que eu preciso que o script faça. Mas não consigo achar na internet os comandos certos para fazerem isso.
Como funcionam essas habilidades?- Primeiro um usuário (que pode ser um aliado um inimigo!) realiza uma ação que causa um estado no alvo (novamente, pode ser um aliado ou um inimigo). Chamarei esse estado de Vulnerabilidade pra ajudar na explicação.
- Assim que realiza a ação, acontece uma checagem para ver quais personagens da equipe do usuário podem instantaneamente realizar uma ação no alvo com esse estado. Chamarei essa segunda ação de "Perseguição".
Por exemplo: se um Ator usou a primeira habilidade e causou esse estado (Vulnerabilidade) em um Inimigo, então a checagem é para ver se algum outro Ator possui a habilidade "Perseguição" para realizar a ação seguinte instantaneamente.
OU, se a habilidade foi usada por um Inimigo e causou Vulnerabilidade em um Ator, então a checagem é para ver se algum outro Inimigo possui a habilidade "Perseguição" para realizar a ação seguinte instantaneamente.
- Se houver alguém na equipe que tenha essa habilidade, ele é forçado a usá-la imediatamente no alvo com "Vulnerabilidade".
Por exemplo, seguindo os exemplos anteriores: se um ator usou uma habilidade que causou "Vulnerabilidade" em um inimigo e houver algum outro ator (incluindo o usuário!) que possui a habilidade "Perseguição", esta ação é realizada imediatamente.
Mas, se um inimigo usa a habilidade que causa "Vulnerabilidade" em um Ator e se houver algum outro inimigo (incluindo o usuário!) que possui a habilidade "Perseguição", esta ação é realizada imediatamente.
Essa é a estrutura básica desse "sistema" (script) que eu estou tentando criar. Já consegui criar algo semelhante com eventos comuns, mas por esse método eu só consigo checar se atores específicos possuem a habilidade "Perseguição" (e como meu jogo tem MUITOS personagens, acaba sendo inviável criar uma checagem individual para cada ator - além de não conseguir colocar essa habilidade para ser executada por Inimigos).
Se eu conseguir descobrir os comandos para criar um script que faça o que está acima, já estarei super feliz!!! Haha
Mas, se possível, gostaria de tirar algumas outras dúvidas e fazer com que o script atenda a essas possibilidades também:
1- Uma habilidade que causa dano em grupo têm chances de causar "Vulnerabilidade" nos alvos.
> Como fazer para que um personagem (inimigo ou ator) realize apenas uma "perseguição" em apenas um alvo caso mais de um personagem inimigo (ator ou inimigo) adquira o estado "Vulnerabilidade" (para que um mesmo personagem não realize a mesma ação em alvos diferentes)? (Porém, se houver outros personagem com a habilidade "Perseguição", cada um deles poderá usar sua habilidade em um dos alvos remanescentes)
2- Com o fim de ambas as ações (habilidade que causa "Vulnerabilidade" e habilidade "Perseguição") o estado "Vulnerabilidade é removido.
> Sei que caso a habilidade "Perseguição" seja usada, é só acrescentar "Remover 'Vulnerabilidade'" nos efeitos da habilidade, mas e se a habilidade não for usada? Como faço para que o(s) alvo(s) percam o estado?
3- Mudança de sprite/posição.
> Gostaria que alguns estados de vulnerabilidade causassem uma alteração física no personagem. Por exemplo: ao ser atingido por "Vulnerabilidade" o personagem ficasse caído no chão (chamaria esse estado de "queda" e usaria os sprites do personagem "morto") ou realizaria um salto na tela (chamaria esse estado de "Voo"). Como fazer isso?
> Se no exemplo acima o personagem é atingido por "Voo", gostaria que a habilidade "Perseguição" fosse usada quando ele estivesse no "ar". Tem como fazer isso?
4- Combo ainda maior.
> Gostaria de criar algumas habilidades de "Perseguição" que não só perseguissem o alvo, mas também o colocassem em um novo estado de "Vulnerabilidade", podendo acionar outra habilidade "Perseguição".
Por exemplo:
>> Personagem 1 usa uma habilidade que causa "Voo".
>> Personagem 2 é forçado a usar uma habilidade que persegue "Voo" e causa "Queda" (nesse caso, Voo é removido e Queda é adicionado ao alvo).
>> Personagem 3 é forçado a usar uma habilidade que persegue "Queda" (removendo "Queda").
Seria muito bom conseguir criar um script com todas essas funções, até para poder disponibilizar para outras pessoas que queiram utilizar esse sistema, mas realmente não encontro os comandos necessários.
Outro jeito que talvez supra as minhas necessidades é pelas "Action Sequences" do Yanfly, mas nesse caso também preciso de alguns comandos que eu desconheço.
OBS.: Tenho todos os plugins do Yanfly instalados.
Link para os plugins do Yanfly:
http://yanfly.moe/yep/Link para os plugins de Action Sequences:
http://yanfly.moe/2015/10/11/yep-4-action-sequence-pack-1/http://yanfly.moe/2015/10/12/yep-5-action-sequence-pack-2/http://yanfly.moe/2015/10/12/yep-6-action-sequence-pack-3/Muito obrigado desde já, galera!
