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

Sobre sistema de agilidade

Iniciado por DarlesLSF, 04/10/2019 às 19:51

04/10/2019 às 19:51 Última edição: 05/10/2019 às 06:24 por Corvo
Bom jovens, to criando um sistema de batalha no rm2k3, dai to na parte pra decidir quem começa o turno baseado na agilidade do personagem e dos monstros. Gostaria da opinião de vocês sobre isso, de como fariam essa parte, pois notei que em alguns jogos a ordem muda a cada turno. Eu estava pensando em fazer uma variância da agilidade, tanto pra mais quanto pra menos a cada turno, assim mudando a ordem.
Ex:1º turno:    agilidade do jogador = 10 no primeiro turno
                      agilidade do monstro = 12 no primeiro turno

2º turno: variância de 20% tanto pra mais quanto pra menos, pra mudar a ordem.
Darles LSF

Eu sugiro que, para decidir quem começa o turno, crie uma variável aleatória. 1, os heróis começarão; 2, os monstros.

Depois, para determinar quem tem a agilidade maior, dentre o grupo que irá começar, faça o seguinte:

<> v[maior_agilidade] = v[hero1_agilidade]

if (v[maior_agilidade] < v[hero2_agilidade])
<> v[maior_agilidade] = v[hero2_agilidade]
end

if (v[maior_agilidade] < v[hero3_agilidade])
<> v[maior_agilidade] = v[hero3_agilidade]
end

Obs: a lógica aqui é que, para verificar o maior, você iguala o primeiro, e verifica se o valor é menor que os demais.
Unique Destiny | um novo conceito de RPG Maker 2000!

07/10/2019 às 21:51 #2 Última edição: 21/01/2020 às 15:33 por Crixus
O sistema é mais complexo que isto, por acaso um cara na RpgMakerWeb perguntou isso, imagino que seja você mesmo:
https://forums.rpgmakerweb.com/index.php?threads/help-with-turn-order-in-cbs.113968

Solução em português:
Caso você queira igual ao Rpg2k3 com "Charging Bar" (Diferente do Rpg2k) você precisa criar uma "evento" que recalcule ao inicio de cada rodada:
Evento Batalha - Página 1 (Ínicio automatico/Looping):
<>Variavel:[Turno Membro-A] + Hero-A Agility
<>Variavel:[Turno Membro-B] + Hero-B Agility
<>Variavel:[Turno Membro-C] + Hero-C Agility
<>Variavel:[Turno Membro-D] + Hero-D Agility
<>Variavel:[Turno Inimigo-A] + Variable:[Slime-Agility]
<>Variavel:[Turno Inimigo-B] + Variable:[Slime-Agility]
<>Variavel:[Turno Inimigo-C] + Variable:[Slime-Agility]
<>Variavel:[Turno Inimigo-D] + Variable:[RedSlime-Agility]
<>IF Condição[Turno Membro-A] >= 1000
  <>Call Event: Hero-A - Pagina do Menu de batalha deste membro
  <>
:Fim
<>IF Condição[Turno Membro-B] >= 1000
  <>Call Event: Hero-A - Pagina do Menu de batalha deste membro
  <>
:Fim
<>IF Condição[Turno Membro-C] >= 1000
  <>Call Event: Hero-A - Pagina do Menu de batalha deste membro
  <>
:Fim
<>IF Condição[Turno Membro-D] >= 1000
  <>Call Event: Hero-A - Pagina do Menu de batalha deste membro
  <>
:Fim
<>IF Condição[Turno Inimigo-A] >= 1000
  <>Call Event: Inimigo-A - Pagina de ação deste inimigo
  <>
:Fim
<>IF Condição[Turno Inimigo-B] >= 1000
  <>Call Event: Inimigo-B - Pagina de ação deste inimigo
  <>
:Fim
<>IF Condição[Turno Inimigo-C] >= 1000
  <>Call Event: Inimigo-C - Pagina de ação deste inimigo
  <>
:Fim
<>IF Condição[Turno Inimigo-D] >= 1000
  <>Call Event: Inimigo-D - Pagina de ação deste inimigo
  <>
:Fim
<>


Ao final página do menu de cada membro ou inimigo você deve zerar a variavel "Turno" deste, por examplo:
Inimigo-A - Pagina 1 (Modo: Ao tocar):
<>Variavel:[Aleatório] - 1..3
<>IF Variable:[Aleatório] = 1
  <>Comentário: Atacar
  <>
:Fim
<>IF Variable:[Aleatório] = 2
  <>Comentário: Combo
  <>
:Fim
<>IF Variable:[Aleatório] = 3
  <>Comentário: Autodestruição
  <>
:Fim
<>Variavel:[Turno Inimigo-A] = 0
<>


Demo de um sistema quase finalizado deste tipo:
--- LINK REMOVIDO ---

Citação de: Crixus online 07/10/2019 às 21:51
O sistema é mais complexo que isto, por acaso um cara na RpgMakerWeb perguntou isso, imagino que seja você mesmo:
https://forums.rpgmakerweb.com/index.php?threads/help-with-turn-order-in-cbs.113968

Solução em português:
Caso você queira igual ao Rpg2k3 com "Charging Bar" (Diferente do Rpg2k) você precisa criar uma "evento" que recalcule ao inicio de cada rodada:
Evento Batalha - Página 1 (Ínicio automatico/Looping):
<>Variavel:[Turno Membro-A] + Hero-A Agility
<>Variavel:[Turno Membro-B] + Hero-B Agility
<>Variavel:[Turno Membro-C] + Hero-C Agility
<>Variavel:[Turno Membro-D] + Hero-D Agility
<>Variavel:[Turno Inimigo-A] + Variable:[Slime-Agility]
<>Variavel:[Turno Inimigo-B] + Variable:[Slime-Agility]
<>Variavel:[Turno Inimigo-C] + Variable:[Slime-Agility]
<>Variavel:[Turno Inimigo-D] + Variable:[RedSlime-Agility]
<>IF Condição[Turno Membro-A] >= 1000
  <>Call Event: Hero-A - Pagina do Menu de batalha deste membro
  <>
:Fim
<>IF Condição[Turno Membro-B] >= 1000
  <>Call Event: Hero-A - Pagina do Menu de batalha deste membro
  <>
:Fim
<>IF Condição[Turno Membro-C] >= 1000
  <>Call Event: Hero-A - Pagina do Menu de batalha deste membro
  <>
:Fim
<>IF Condição[Turno Membro-D] >= 1000
  <>Call Event: Hero-A - Pagina do Menu de batalha deste membro
  <>
:Fim
<>IF Condição[Turno Inimigo-A] >= 1000
  <>Call Event: Inimigo-A - Pagina de ação deste inimigo
  <>
:Fim
<>IF Condição[Turno Inimigo-B] >= 1000
  <>Call Event: Inimigo-B - Pagina de ação deste inimigo
  <>
:Fim
<>IF Condição[Turno Inimigo-C] >= 1000
  <>Call Event: Inimigo-C - Pagina de ação deste inimigo
  <>
:Fim
<>IF Condição[Turno Inimigo-D] >= 1000
  <>Call Event: Inimigo-D - Pagina de ação deste inimigo
  <>
:Fim
<>


Ao final página do menu de cada membro ou inimigo você deve zerar a variavel "Turno" deste, por examplo:
Inimigo-A - Pagina 1 (Modo: Ao tocar):
<>Variavel:[Aleatório] - 1..3
<>IF Variable:[Aleatório] = 1
  <>Comentário: Atacar
  <>
:Fim
<>IF Variable:[Aleatório] = 2
  <>Comentário: Combo
  <>
:Fim
<>IF Variable:[Aleatório] = 3
  <>Comentário: Autodestruição
  <>
:Fim
<>Variavel:[Turno Inimigo-A] = 0
<>


Demo de um sistema quase finalizado deste tipo:
https://tanatosmaker.forumeiros.com/t5-2k-2k3-advanced-cbs-v2-0

Sim, era eu mesmo kkk
Eu tinha baixado essa demo já pra ver, mas como não dava pra abrir ela no rpg maker pra ver e entender como foi feito, dai fiquei boiando kkk
Eu havia feito um sistema totalmente diferente do teu e muito mais complexo, mas esse teu me agradou mais. Obrigado jovem :D
Darles LSF

Putz, é mesmo, meus sistemas em desenvolvimento eu encriptava pra ninguém reclamar que o código não estava completo.
Isso é apenas visual, o necessário é apenas adaptar ao seu sistema de ataque dos inimigos e o menu do player em batalha.

Se funcionar me avise.

Citação de: Crixus online 08/10/2019 às 19:10
Putz, é mesmo, meus sistemas em desenvolvimento eu encriptava pra ninguém reclamar que o código não estava completo.
Isso é apenas visual, o necessário é apenas adaptar ao seu sistema de ataque dos inimigos e o menu do player em batalha.

Se funcionar me avise.

Funcionou sim, muito obrigado xD
Darles LSF

Não precisa "citar" a mensagem toda, só tem eu na conversa, logo vou saber que a resposta foi pra mim.

Ajuda metendo Like no RpgMakerWeb.