Tutorial BFK (Batalha do Faerun Knights)
0 membros e 1 visitante (1 bot) estão vendo este board no momento.
Dante
Administrador
Tutorial BFK (Batalha do Faerun Knights)
criado por Raven em 2000 sabe se lá
Qua, 28 de janeiro de 2026, 15:36:48
Qua, 28 de janeiro de 2026, 15:36:48
Tutorial BFK – por Raven (@raven)
Este tutorial tem como objetivo explicar e orientar o funcionamento, a criação e a modificação do Battle System BFK para RPG Maker 2000.
O texto foi organizado e reescrito para ficar mais claro e legível, mas a lógica original foi mantida.
O tutorial está dividido nas seguintes partes:
- PARTE 1 – ORGANIZE-SE
- PARTE 2 – CONFIGURAÇÕES (DATABASE, SWITCHES E VARIÁVEIS)
- PARTE 3 – MAPAS
- PARTE 4 – ENCONTROS
- PARTE 5 – BATALHA (VALORES E EVENTOS)
- PARTE 6 – BATALHA (TURNOS)
- PARTE 7 – MONSTROS
- PARTE 8 – HERÓIS
PARTE 1 – ORGANIZE-SE
A primeira tarefa, antes de criar um battle system, é planejar no papel como ele vai funcionar:
- Como será o sistema de batalha.
- Quantos heróis e inimigos participarão.
- Onde cada inimigo ficará na tela.
- Como serão os menus e gráficos.
- Como serão magias, itens, condições etc.
Isso torna as ideias mais claras e o objetivo mais fácil de alcançar.
No BFK eu imaginei inicialmente quatro heróis e quatro monstros, com um menu giratório para as ações e a tela inteira usada para o combate.
No fim, o sistema ficou com quatro heróis e três monstros em batalha ao mesmo tempo.
O BFK é baseado no BEP: a organização dos eventos é semelhante, mas:
- No BEP os heróis não mudavam de posição.
- No BFK há troca de personagem, troca de ordem e magias mais variadas.
Por isso, embora a base seja o BEP, foi necessário modificar muita coisa.
Antes de abrir o RPG Maker 2000 e começar a criar mapas e eventos para o battle system, tenha cuidado: é fácil se perder.
O ideal é usar um caderno (em vez de um arquivo no computador) para registrar tudo o que será usado no sistema:
1. História
2. Heróis
3. Itens de batalha
4. Magias
5. Condições de estado
6. Efeitos (elementos)
7. Habilidades dos heróis
8. Habilidades dos inimigos
1. Crie a história
A história deve vir antes de tudo.
Você precisa ter uma noção de:
- Quantos personagens o jogo terá.
- Quantas magias, itens e condições existirão.
- Quantos personagens começam o jogo.
- Se há trocas de heróis durante a história.
Com a história clara, fica muito mais simples dimensionar o sistema de batalha.
2. Defina seus heróis
Liste todos os heróis que existirão no jogo e atribua um número fixo para cada um.
Esses números serão usados em todo o battle system.
Exemplo:
Heróis
1 – João
2 – Maria
3 – Carlos
4 – Márcia
5 – José
Use sempre os mesmos números em todas as variáveis que se referirem a cada herói.
3. Defina seus itens de batalha
Liste apenas os itens que poderão ser usados DURANTE as batalhas.
Itens de exploração (chaves, pedras, itens secretos que não são usados em combate) não precisam entrar aqui.
Armas e armaduras só precisam ser listadas se tiverem efeitos específicos em combate, por exemplo:
- Espada de Fogo: animação de ataque de fogo, elemento Fogo etc.
Dê um número e um nome para cada item e descreva o efeito.
Exemplo:
Itens
1 – Poção – Cura 10 HP de um membro.
2 – Erva – Recupera 10 MP de um membro.
3 – Remédio – Cura veneno de um membro.
4 – Cura Total – Restaura todo o HP de todos os membros.
5 – Power Up – Aumenta o ataque em 5.
6 – Espada de Fogo – Ataques do tipo Fogo.
4. Defina suas magias
Liste todas as magias que poderão ser usadas em combate, com:
- Número
- Nome
- Custo em MP
- Dano ou efeito
Exemplo:
Magias
1 – Fogo – Magia de fogo, gasta 10 MP, causa entre 10 e 15 de dano.
2 – Água – Magia de água, gasta 15 MP, causa entre 20 e 30 de dano.
3 – Veneno – Envenena um inimigo.
5. Defina as condições (status)
Liste todas as condições de estado que existirão no jogo (normal, envenenado, dormindo, morto etc.), com:
- Número
- Nome
- Efeito básico
Exemplo:
Condições
1 – Normal – Estado normal.
2 – Envenenado – Perde HP a cada turno.
3 – Morto – HP 0, fora de combate.
6. Defina os efeitos (elementos)
Os efeitos (ou elementos) são tipos de ataque ou afinidade: Fogo, Água, Espada, Cura etc.
Quando uma magia de Fogo é usada em um monstro de Água, o dano pode ser aumentado ou reduzido, conforme a lógica que você definir.
Exemplo:
Efeitos
1 – Fogo
2 – Água
3 – Espada
4 – Cura
7. Defina as habilidades dos heróis (variáveis base)
Cada personagem terá um conjunto de atributos e variáveis que o battle system usará.
É importante listar todas em sequência, sem reiniciar a numeração entre heróis.
Exemplo para João:
Habilidades (exemplo – João)
001 – João HP
002 – João HP Máximo
003 – João MP
004 – João MP Máximo
005 – João Ataque
006 – João Defesa
007 – João Agilidade
008 – João Inteligência
009 – João Magia (poder mágico)
010 – João Efeito (elemento do ataque)
011 – João XP
012 – João Nível
013 – João Nível da Magia
014 – João Posição (na equipe)
015 – João Movimento (ação escolhida)
016 – João Especial
017 – João Condição (status)
018 – João Escolha (uso em menus/setas)
019 – João Item (item selecionado)
020 – João Alvo
Repita essa estrutura para cada herói, continuando a numeração (não recomece em 001).
Deixe colunas no caderno para observações futuras (por exemplo, fórmulas, limites, valores iniciais).
8. Defina as habilidades dos inimigos (variáveis base)
Da mesma forma, cada inimigo em combate terá suas variáveis.
Aqui falamos de “inimigos em combate” (EN1, EN2, EN3), que são instâncias de “monstros” definidos em outro lugar.
Exemplo básico (para EN1):
Habilidades (exemplo – EN1)
001 – EN1 HP
002 – EN1 HP Máximo
003 – EN1 MP
004 – EN1 MP Máximo
005 – EN1 Ataque
006 – EN1 Defesa
007 – EN1 Agilidade
008 – EN1 Inteligência
009 – EN1 Magia (poder mágico)
010 – EN1 Efeito (elemento do ataque)
011 – EN1 XP (experiência concedida)
012 – EN1 GP (dinheiro concedido)
013 – EN1 Nível da Magia
014 – EN1 Posição (na tela)
015 – EN1 Movimento (ação escolhida)
016 – EN1 Especial
017 – EN1 Condição
018 – EN1 Escolha
019 – EN1 Variável auxiliar
020 – EN1 Alvo
O importante não é quantos tipos de monstros existem no jogo, mas quantos inimigos podem aparecer AO MESMO TEMPO em uma batalha.
No BFK, em cada combate há no máximo 3 inimigos.
Liste as habilidades de EN1, EN2, EN3 etc., sempre continuando a numeração de variáveis.
PARTE 2 – CONFIGURAÇÕES (DATABASE, SWITCHES E VARIÁVEIS)
2.1. O que fazer na Database do RPG Maker 2000
Na Database, você usará relativamente pouco para o BFK:
- Heróis: preencha completamente (status, curvas de crescimento, gráficos).
- Itens e magias:
- Preencha nome e comentário dos itens/magias usados FORA de combate.
- Para itens/magias usados apenas em batalha, basta nome e comentário (o resto será controlado por eventos e variáveis).
- Armas e armaduras: preencha normalmente.
- Terrenos, Monstros, Monster Party, Attributes: podem ser apagados, pois o BFK não depende diretamente dessas seções.
- Condições (Normal, Envenenado etc.): crie todas, mas sem se preocupar profundamente com as configurações da Database (o controle principal será via eventos).
- Sistema, Chipsets, Animação de batalha: configure normalmente, como em qualquer projeto.
2.2. Listando variáveis e switches
É fundamental listar todas as variáveis e switches usadas pelo battle system:
- Numere e nomeie tudo.
- Tente manter agrupamentos lógicos (por herói, por inimigo, por tipo de uso).
- As habilidades definidas na parte 1 serão transformadas em variáveis.
Exemplo de agrupamento de variáveis de heróis:
001 – João HP
002 – João HP Máximo
003 – João MP
004 – João MP Máximo
005 – João Ataque
006 – Maria HP
007 – Maria HP Máximo
008 – Maria MP
009 – Maria MP Máximo
Exemplo de agrupamento para monstros/inimigos:
010 – M1 HP
011 – M2 HP
012 – M3 HP
013 – M1 MP
014 – M2 MP
015 – M3 MP
016 – M1 HP Máximo
017 – M2 HP Máximo
018 – M3 HP Máximo
Neste tutorial, repetiremos a configuração original do BFK.
Portanto, os nomes e números de variáveis/switches são os mesmos do sistema original, e você pode adaptá-los para o seu jogo.
Este material assume conhecimento avançado de RPG Maker 2000:
- Uso de variáveis.
- Forks (condicionais).
- Ciclos (loops).
- Labels (rótulos).
- Eventos paralelos e comuns.
2.3. Switches (Swt.)
Abaixo, uma lista de switches usados pelo BFK, em ordem numérica.
É recomendável imprimir esta lista e nomear suas próprias switches seguindo a mesma ideia (a numeração pode mudar no seu projeto).
Observação:
Quando houver uma switch por herói (Herói 1, Herói 2 etc.), crie uma para cada personagem.
Quando a switch se chamar apenas “Herói”, ela vale para todos.
1. Nome do Herói 1 – Indica que o herói 1 está presente.
2. Nome do Herói 2 – Indica que o herói 2 está presente.
3. Nome do Herói 3 – Indica que o herói 3 está presente.
4. Nome do Herói 4 – Indica que o herói 4 está presente.
5. Monstro 1 Morto – Indica que o inimigo 1 morreu.
6. Monstro 2 Morto – Indica que o inimigo 2 morreu.
7. Monstro 3 Morto – Indica que o inimigo 3 morreu.
8. Herói 1 Hit – Herói 1 foi atingido.
9. Herói 2 Hit – Herói 2 foi atingido.
10. Herói 3 Hit – Herói 3 foi atingido.
11. Herói 4 Hit – Herói 4 foi atingido.
12. Herói 1 Def – Herói 1 está defendendo.
13. Herói 2 Def – Herói 2 está defendendo.
14. Herói 3 Def – Herói 3 está defendendo.
15. Herói 4 Def – Herói 4 está defendendo.
16. Herói 1 Morto – Herói 1 está morto.
17. Herói 2 Morto – Herói 2 está morto.
18. Herói 3 Morto – Herói 3 está morto.
19. Herói 4 Morto – Herói 4 está morto.
20. Went 1 – Marca que a posição 1 (primeira ação do turno) já foi utilizada por um herói.
21. Went 2 – Mesma ideia, para a posição 2.
22. Went 3 – Posição 3.
23. Went 4 – Posição 4.
24. Went 5 – Posição de ação do inimigo 1.
25. Went 6 – Posição de ação do inimigo 2.
26. Went 7 – Posição de ação do inimigo 3.
27. Herói 1 Fora da Equipe (Not Hire) – Indica que o herói 1 não está na equipe.
28. Herói 2 Fora da Equipe.
29. Herói 3 Fora da Equipe.
30. Herói 4 Fora da Equipe.
31. Vitória – Indica que a equipe dos heróis venceu a batalha.
32. Cancelado – Alguma ação foi cancelada.
33. @Book – Controle interno de uso de magias.
34. Run – Ação de tentar fugir.
35. Fugindo – O grupo está executando fuga.
36. Breaker – Switch de controle para ciclos de ações.
37. All – A ação afeta todos os alvos.
38. Encontro 01 – Controle de encontros.
39. Encontro 19 – Switch auxiliar para evitar certos bugs de encontro.
40. Encontro 20 – Habilita os encontros aleatórios.
Nota:
“Posição de combate” é a ordem em que as ações acontecem em um round.
Se existem 4 heróis e 3 monstros na mesma batalha, cada um terá sua vez.
As switches Went registram se aquela posição de ação já foi usada naquele turno.
2.4. Variáveis (Var.)
Novamente, listadas em ordem numérica.
Aconselha-se imprimir esta lista e usá-la como base no seu projeto.
Observação:
Quando houver “Herói 1” ou “EN 1”, crie uma variável análoga para cada herói/inimigo.
Quando estiver apenas “Herói”, vale para todos.
1. Herói 1 Level – Nível do personagem.
2. Herói 1 XP – Experiência atual.
3. Herói 1 HP – HP atual.
4. Herói 1 HP Máximo – HP máximo.
5. Herói 1 MP – MP atual.
6. Herói 1 MP Máximo – MP máximo.
7. Herói 1 Weapon – ID da arma equipada.
8. Herói 1 Ataque – Força de ataque.
9. Herói 1 Defesa – Defesa física.
10. Herói 1 Condição – Estado (normal, veneno etc.).
11. Herói 1 Magia – Poder mágico.
12. Herói 1 Defesa Mágica – Resistência a magias.
13. Herói 1 Speed – Agilidade/velocidade.
14. Herói 1 Target – Alvo selecionado.
15. Herói 1 Move – Ação a ser executada.
16. Herói 1 Position – Posição do herói na tela.
17. Herói 1 Level Spell – Nível de magias.
18. Herói 1 Use Spell – Magia selecionada.
19. Herói 1 Item – Item selecionado.
20. Herói 1 Elemento – Elemento atual do ataque.
21. EN 1 GP – GP (dinheiro) do inimigo.
22. EN 1 XP – XP concedida.
23. EN 1 HP – HP atual.
24. EN 1 HP Máximo – HP máximo.
25. EN 1 MP – MP atual.
26. EN 1 MP Máximo – MP máximo.
27. EN 1 Ataque – Força de ataque.
28. EN 1 Defesa – Defesa.
29. EN 1 Condição – Estado.
30. EN 1 Magia – Poder mágico.
31. EN 1 Speed – Agilidade.
32. EN 1 Target – Alvo do inimigo.
33. EN 1 Move – Ação do inimigo.
34. EN 1 X – Posição X do inimigo na tela.
35. EN 1 Y – Posição Y do inimigo na tela.
36. EN 1 Elemento – Elemento do inimigo.
37–48. EN ??? – Conjunto de valores “pré-configurados” de monstros (HP, MP, XP, GP, Ataque, Defesa, Condição, Magia, Speed, Elemento).
Esses valores são copiados para EN 1, EN 2, EN 3 conforme o sorteio de monstros do encontro.
49–52. Escolha 1–4 – Variáveis auxiliares para setas, menus e cálculos diversos.
53. Milhar – Parte de milhar do número (para exibir dano em 4 dígitos).
54. Centena – Parte de centena do número.
55. Dezena – Parte de dezena do número.
56. Unidade – Parte de unidade do número.
57–58. Variável 1 e Variável 2 – Variáveis reservas para cálculos temporários.
59. Damage – Dano calculado.
60. X Atual – Coordenada X atual do herói alvo.
61. Y Atual – Coordenada Y atual do herói alvo.
62. X Futuro – Coordenada X alvo futura.
63. Y Futuro – Coordenada Y alvo futura.
64. XP Ganho – Total de XP obtido no combate.
65. GP Ganho – Total de GP obtido no combate.
66. Passos – Número de passos dados pelo herói.
67. Passos para Combate – Número de passos sorteado para disparar encontro.
68. Battle ID – ID do mapa atual de onde o combate foi iniciado.
69. Battle X – Coordenada X do herói no mapa ao entrar em combate.
70. Battle Y – Coordenada Y do herói no mapa ao entrar em combate.
71. Turnos – Número de turnos decorridos no combate.
72. Iniciativa 1 – Velocidade de comparação 1 (para decidir quem age primeiro).
73. Iniciativa 2 – Velocidade de comparação 2.
74. Miss – Número para definir chance de erro em ataques.
75. Contador – Número de ações já realizadas no turno.
76. Equipe – Quantidade de personagens na equipe atual.
77. Líder – ID do herói líder.
78. Seguidor 1 – ID do segundo herói na formação.
79. Seguidor 2 – ID do terceiro herói.
80. Seguidor 3 – ID do quarto herói.
81. HP/MP Geral – HP/MP de transição (usado para cálculos e displays).
82. HP/MP Máx. Geral – HP/MP máximo de transição.
83. Atacado X – Posição X de quem foi atingido.
84. Atacado Y – Posição Y de quem foi atingido.
PARTE 3 – MAPAS
3.1. Cuidados com mapas e IDs de eventos
Ao criar mapas para o battle system, tome cuidado com:
- ID dos mapas.
- ID dos eventos em cada mapa.
É recomendável:
- Ter um mapa “modelo” com todos os eventos do BSys.
- Copiar/colar esse mapa ao criar novos locais que usam o mesmo sistema.
Assim, os IDs dos eventos permanecem alinhados, o que evita muitos problemas.
Mapas muito grandes podem complicar a organização; use mapas do tamanho mínimo necessário para o battle system.
3.2. Organização lógica dos mapas
Agrupe os mapas de forma lógica na árvore do RPG Maker, para não se perder:
- Mapa de Configuração do Jogo (Inicial).
- Mapas de Encontros.
- Mapa de Batalha.
3.3. Mapa de configuração do jogo (“Início”)
Esta ideia vem do BEP: um mapa especializado para configurar o jogo.
Isso economiza tempo, eventos e eventos comuns.
Sugestão:
- Crie um mapa “Início”, totalmente preto (background).
- Use um herói sem charset para telas iniciais/apresentação, trocando para o herói principal depois.
No mapa “Início”, crie um evento de Auto-Start que fará:
1. Ligar as switches “Herói X Morto” para todos, exceto os heróis que começarão o jogo (esses ficam “vivos”).
2. Definir a variável “Herói 1 Position” (e das demais) para a posição de combate inicial desejada.
3. Dar os itens iniciais ao jogador.
4. Configurar X Atual e Y Atual para a posição do herói.
5. Sortear “Passos para Combate” com um valor adequado (ex.: 10–20 para mapas pequenos, 10–30 para mapas grandes).
6. Ligar a switch “Encontro 20” (habilita o evento de passos/encontros).
7. Definir a variável “Líder” como o ID do herói principal.
8. Definir “Herói 1 Level Spell” como 1 (indicando que todas as magias começam no nível 1).
9. Teleportar o jogador para o mapa do início da aventura.
10. Se estiver usando um herói “em branco”, este é o momento de trocá-lo pelo herói principal.
11. Desligar todas as switches “Went”.
12. Ligar apenas a switch “Nome do Herói X” dos heróis realmente presentes, desligando as outras.
PARTE 4 – ENCONTROS
4.1. Organização dos monstros
Antes de programar, faça no caderno:
- Uma lista de monstros.
- Uma tabela com os atributos de cada tipo de monstro (HP, MP, XP, GP, ataques, magias, elemento etc.).
Você pode ir completando essa tabela aos poucos, à medida que o jogo avança.
4.2. Problema clássico do BEP e cuidado no BFK
No BEP existe um sistema para evitar um bug clássico:
- Iniciar uma batalha enquanto o herói está no meio de um teleporte, trocando de mapa.
Esse sistema, no BEP, é complexo e usa várias variáveis.
O BFK não incluiu a mesma solução, mas há a ideia de:
- Desligar temporariamente a switch “Encontro 19” durante teletransportes e trechos perigosos.
Na versão 2.0 do BFK, o autor planeja uma solução mais estável para isso.
4.3. Mapa de Encontros
Novamente, a ordem dos IDs é importante.
O ideal é criar primeiro os eventos de encontro nesse mapa “base” de encontros e depois copiar para outros mapas.
Há dois eventos principais:
- Evento “Encontros” – controla quando um encontro acontece.
- Evento “Valores/Monstros” – escolhe quais monstros participarão, quantos e seus valores.
Há também um Evento Comum chamado “Valores”, que atualiza os status atuais dos heróis e monstros.
4.4. Evento “Encontros”
Este evento:
- Deve ser do tipo Processo Paralelo.
- Condição: switch “Encontro 20” = ON.
Fluxo (resumido):
1. Label 1.
2. Atualizar X Futuro e Y Futuro com a posição atual do herói.
3. Se X Futuro for diferente de X Atual:
- Incrementar “Passos” em 1.
- Atualizar X Atual com a posição atual.
- Repetir a mesma lógica para Y Futuro/Y Atual.
4. Se “Passos” for igual a “Passos para Combate”:
- Esperar um pequeno tempo (0.2s) para evitar conflitos de leitura.
- Se “Encontro 19” estiver ON:
- Diminuir “Passos para Combate” em 5.
- Desligar “Encontro 19”.
- Voltar ao Label 1 (sem iniciar batalha).
- Para cada herói, verificar se está na equipe:
- Se estiver: “Herói X Morto” = OFF.
- Se não estiver: “Herói X Morto” = ON.
- “Run” = OFF (permitir nova tentativa de fuga depois).
- Desligar menu padrão do RM2k.
- “Encontro 01” = OFF.
- Ligar “EN 1 Morto”, “EN 2 Morto”, “EN 3 Morto” (para resetar inimigos).
- Zerar “Passos”.
- Memorizar BGM atual.
- Tocar SE de encontro.
- Tocar BGM de combate.
- Fazer transição de tela (Erase Screen).
- Memorizar mapa atual (Battle ID, Battle X, Battle Y).
- Aguardar 1s.
- Deixar o herói invisível.
- Chamar o evento “Valores/Monstros”, página 1.
- Teleportar para o mapa de batalha.
4.5. Evento “Valores/Monstros”
Objetivo:
- Decidir quantos inimigos entrarão em combate.
- Quais tipos de monstros serão EN1, EN2, EN3.
- Definir todos os valores (HP, MP, XP, GP etc.).
Página 1:
1. Atribuir a “Escolha 1” um valor aleatório (por exemplo, 1 a 3).
- Cada valor corresponde a um tipo de monstro possível para EN1 (mosca, slime, sanguessuga etc.).
2. Zerar EN1 HP Máximo (e o mesmo para EN2, EN3).
3. Se “Escolha 1 = 1”:
- “EN1 Morto” = OFF.
- Chamar a página do monstro correspondente (ex.: Mosca).
- Copiar os valores “EN ???” (pré-configurados) para EN1 (HP, MP, XP, GP etc.).
4. Repetir para cada resultado possível de EN1.
5. Repetir todo o processo para EN2 e EN3, usando novas variáveis de escolha.
- Para evitar que sempre haja EN2 e EN3, você pode aumentar o intervalo aleatório
(por exemplo, para EN2, “Escolha 1” de 1 a 4, em que 4 significa que EN2 não entra em combate).
6. Se o resultado indicar que EN2 ou EN3 não participa:
- Ligar “EN2 Morto”/“EN3 Morto”.
- Zerar todos os valores de HP, XP, GP, etc. do respectivo inimigo.
7. Ao final, chamar o Evento Comum “Valores”.
Página 2 em diante:
- Cada página representa um tipo de monstro (Mosca, Slime, etc.).
- Nela, você configura as variáveis EN ??? (HP, HP Máximo, MP etc.) com valores fixos para cada tipo.
- O HP Máximo é o valor usado como “identificador” do tipo de monstro (ex.: Mosca = HP Máx. 10; Slime = 20 etc.).
4.6. Evento Comum “Valores”
Objetivo:
- Atualizar todas as variáveis de heróis com seus valores reais no momento da batalha:
Exemplo de configuração:
- Herói 1 HP = HP do herói 1 (comando “Change Variable = Hero HP”).
- Herói 1 HP Máximo = Max HP do herói 1.
- Herói 1 MP, MP Máximo, Level, XP, Ataque, Defesa, Magia, Defesa Mágica, Speed etc.
Repita para todos os heróis (e, se desejar, use lógica semelhante para inimigos).
PARTE 5 – BATALHA (VALORES E EVENTOS BÁSICOS)
Nesta parte, vamos ver os eventos comuns principais que dão suporte ao battle system:
- Resolve Dano (ajuste de HP/MP após o combate).
- HP (Perda) – display dos números de dano.
- HP (Ganho) – display de cura.
- Itens – display de quantidade de itens.
- Fundo (Background) – troca do fundo de batalha conforme o terreno.
5.1. Comum Evento “Resolve Dano”
Serve para ajustar o HP e o MP dos heróis ao sair do combate, quando durante a batalha usamos valores intermediários.
Exemplo de fluxo para HP:
1. “Change HP” – Aumentar o HP de todos os heróis para um valor alto (por exemplo, +999), apenas para nivelar.
2. Para cada herói:
- Herói 1 Move = Herói 1 HP Máximo original.
- Herói 1 Move -= Herói 1 HP atual.
- “Change HP” – Diminuir o HP do herói 1 em “Herói 1 Move”.
3. Repetir para todos os heróis.
4. Repetir o mesmo processo para MP.
O objetivo é garantir que o HP/MP final após o combate corresponda aos valores lógicos acumulados.
5.2. Comum Evento “HP (Perda)” – Exibição de dano
Este evento transforma o valor da variável Damage em quatro dígitos (milhar, centena, dezena, unidade) e mostra as imagens correspondentes.
Passos gerais:
1. Milhar = Damage.
2. Escolha 4 = Damage.
3. Milhar ÷= 1000 (resultado é o dígito da milhar).
4. Escolha 4 %= 1000 (resto da divisão, usado para as casas seguintes).
5. Centena = Escolha 4.
6. Escolha 1 = Centena.
7. Centena ÷= 100.
8. Escolha 1 %= 100.
9. Escolha 2 = Escolha 1.
10. Dezena = Escolha 2.
11. Dezena ÷= 10.
12. Escolha 2 %= 10.
13. Escolha 3 = Escolha 2.
14. Unidade = Escolha 3.
Depois disso:
- Definir X Atual e Y Atual para a posição do alvo (Atacado X/Y).
- Exibir a pic correspondente ao dígito da milhar (ou remover se Milhar = 0).
- Deslocar X Atual para mostrar centena atrás da milhar, depois dezena, depois unidade.
Assim, ao chamar este evento após calcular um dano, o número aparecerá “saltando” do inimigo/herói atingido.
5.3. Comum Evento “HP (Ganho)”
É o mesmo princípio de “HP (Perda)”, mas para exibir cura (valores positivos) em cor diferente ou com outras imagens.
5.4. Comum Evento “Itens” – Display da quantidade de itens
Objetivo:
- Mostrar, em forma de número, quantos itens de um tipo o jogador possui.
Como o limite de itens no RM2k é 99, bastam dezenas e unidades:
- Dezena = quantidade de itens.
- Unidade = resto (Dezena % 10).
O evento é igual ao de dano, mas sem milhar e centena.
5.5. Comum Evento “Fundo” – Background da batalha
No BFK existe apenas UM mapa de combate; o fundo (background) muda conforme o tipo de terreno.
Organize:
- Variável “Fundo”:
- 1 – Planície
- 2 – Floresta
- 3 – Montanhas
- etc.
Em cada mapa de exploração, configure a variável “Fundo” para o valor correspondente.
Quando uma batalha começa, o Evento Comum “Fundo”:
1. Se Fundo = 1: Change Background → Planície.
2. Se Fundo = 2: Change Background → Floresta.
3. Se Fundo = 3: Change Background → Montanhas.
Lembre-se de atualizar a variável “Fundo” sempre que o jogador entrar em um mapa de tipo diferente.
PARTE 6 – BATALHA (TURNOS) – “CHECK DEATH/SPEED” E “BATTLE BEGIN”
Na parte de turnos, dois eventos de mapa são centrais:
- Check Death/Speed – Verifica mortes e calcula iniciativa/ordem de ação.
- Battle Begin – Coração do sistema, que controla início, turnos e fim da batalha.
Além deles, cada herói, monstro e display de HP/MP tem o seu próprio evento de mapa.
6.1. Estrutura de eventos no mapa de batalha
No BFK (e BEP) existem, aproximadamente:
- 10 eventos de personagens (heróis).
- 3 eventos de monstros (EN1, EN2, EN3).
- 1 evento de HP por herói.
- 1 evento de MP por herói.
- 1 evento de HP por monstro.
- 3 eventos de mapa (Battle Begin, Check Death/Speed, Útil/Extras).
No total, cerca de 32 eventos no mapa de batalha.
Cada evento tem várias páginas, por exemplo:
- Battle Begin – 13 páginas.
- Check Death/Speed – 13 páginas.
- Herói – 23 páginas cada.
- Monstros – cerca de 7 páginas cada.
- HP/MP de heróis e monstros – 2 páginas cada.
Importante:
Mesmo que algumas páginas ainda não tenham conteúdo, crie-as para reservar os IDs corretamente.
6.2. Display de HP/MP com Charsets
No BFK, o HP/MP é exibido por meio de charsets (não por pictures, como no BEP).
Para cada HP/MP de herói/monstro, crie um evento com:
- Página 1: gráfico com barras de 100%, 95%, 90% etc.
- Página 2: condição “Herói X Morto” = ON, com gráfico em branco (desaparece ao morrer).
Exemplo de lógica da página 1:
1. HP/MP Geral = Herói 1 HP.
2. Pos. Atual = Herói 1 Position.
3. HP/MP Máx. Geral = Herói 1 HP Máximo.
4. HP/MP Geral *= 100.
5. HP/MP Geral ÷= HP/MP Máx. Geral.
6. Se HP/MP Geral = 100: gráfico de 100%.
7. Se < 100 e >= 95: gráfico de 95%.
8. Se < 95 e >= 90: gráfico de 90%.
9. E assim por diante, para todos os intervalos de porcentagem que desejar.
Repita essa lógica em cada evento de HP/MP para todos os heróis, chamando esse evento sempre que houver dano ou cura.
6.3. Evento “Check Death/Speed”
Este evento é a grande sacada do BEP/BFK.
Ele controla:
- Quando um inimigo morre.
- Quando um herói morre.
- Qual é a velocidade efetiva de cada posição.
- Qual herói/monstro age em cada vez, levando em conta a posição (1, 2, 3, 4) e a agilidade.
Ele é dividido em 13 páginas, considerando 4 heróis em combate.
Se houver menos heróis, removem-se algumas páginas.
Resumidamente:
- Página 1 – Verifica morte de inimigos (HP <= 0, liga EN1 Morto etc., remove gráficos).
- Páginas 2 a 5 – Relacionam a velocidade de cada herói com cada posição (usando as switches Went).
- Páginas 6 a 9 – Identificam qual a velocidade efetiva em cada posição (Iniciativa 1).
- Páginas 10 a 13 – Determinam quais páginas de ação dos heróis serão chamadas, conforme a posição e a ação escolhida (Herói 1 Move etc.).
As switches “Went” indicam que a vez daquela posição já foi consumida naquele turno.
6.4. Evento “Battle Begin”
Este é o núcleo do BFK.
Controla:
- Inicialização do combate.
- Exibição inicial de HP/MP, monstros, heróis, fundo.
- Fluxo principal de turnos (com chamadas a Check Death/Speed).
- Fim do combate (vitória, derrota, fuga).
Por causa de uma limitação do RM2k:
- A página 12 de Battle Begin é a primeira a rodar automaticamente (Auto-Start).
- Páginas menores que chamam páginas maiores não retornam corretamente.
- Por isso, a organização das páginas é importante, e a página 13 é o fim do combate.
Página 12 – Início da batalha (resumido):
1. Deixar o herói invisível.
2. Esperar 1s.
3. Chamar o Evento Comum “Fundo” (trocar background).
4. Desligar EN1 Dead, EN2 Dead, EN3 Dead.
5. Zerar Contador (ações do combate).
6. Se EN1 HP Máx. = 0: EN1 Dead = ON (não está em combate). Repetir para EN2 e EN3.
7. Herói X Not Hire = OFF para todos os heróis.
8. Vitória = OFF.
9. Todas as switches Went = OFF.
10. EN1 X/Y, EN2 X/Y, EN3 X/Y = posição de cada evento de inimigo no mapa.
11. Identificar, pelo HP Máximo, que gráfico cada monstro deve usar (Mosca, Slime etc.) e exibir a picture correspondente.
12. Chamar Battle Begin página 6 (verificar mortos, iniciar estado).
13. Chamar Battle Begin página 4 (configurar vez de ação).
14. Chamar Battle Begin página 3 (posicionar heróis na tela).
15. Chamar Battle Begin página 5 (configurar displays de HP/MP).
16. Mostrar a tela.
17. Esperar 0.5s.
18. Chamar Battle Begin página 13 (laço de combate/fim).
Página 1 – Battle Moves (turnos):
- Contém o ciclo principal em que:
- Calcula velocidades.
- Chama Check Death/Speed.
- Verifica fuga, vitória, game over.
- Limpa e religa switches Went quando todos já agiram.
Página 2 – Derrota e Vitória:
- Derrota: quando todos os heróis estão com “Herói X Dead” = ON.
- Vitória: quando todos os inimigos estão com “ENX Morto” = ON.
- Liga Vitória.
- Calcula XP Ganho e GP Ganho.
- Distribui XP entre heróis vivos.
- Chama Resolve Dano.
- Adiciona GP ao grupo.
- Mostra mensagens de recompensa.
Página 3 – Posição de cada herói:
- Determina a posição gráfica de cada herói na tela, conforme:
- Variáveis Líder, Seguidor 1, Seguidor 2, Seguidor 3.
- Herói X Position (1, 2, 3, 4).
Página 4 – Posição lógica (ordem de ação):
- Define quais heróis ocupam qual posição lógica (1, 2, 3, 4) para os turnos.
Página 5 – Display de HP/MP:
- Atualiza todos os eventos de HP e MP de heróis e monstros, chamando os eventos específicos de display.
Página 6 – Tratamento de mortos em combate:
- Liga Went X automaticamente se um herói em determinada posição estiver morto.
- Assim, a posição não será usada naquele turno.
Página 7 – Condições (veneno etc.):
- Aplica efeitos de condições (ex.: veneno tira HP por turno) e chama HP (Perda).
Páginas 8 a 13 –
- Fazem a ligação entre velocidades dos heróis, velocidades dos inimigos, e determinam quem age primeiro, chamando as páginas corretas de ação (tanto de heróis quanto de monstros).
PARTE 7 – MONSTROS
Os eventos dos monstros (EN1, EN2, EN3) ficam em eventos separados no mapa de batalha.
Cada inimigo terá:
- Uma página de escolha de ações.
- Páginas de exibição de gráficos (pictures).
- Páginas de ataques específicos (ataque normal, crítico, duplo, especial, veneno etc.).
- Página de fuga, se o monstro puder fugir.
7.1. Página 1 – Escolha de ações (EN1)
Fluxo básico:
1. Se EN1 Morto = OFF (está vivo).
2. Se EN1 HP Máx. = 20 (por exemplo, “Mosca”):
- EN1 Move = número aleatório entre 1 e N (N = quantidade de habilidades da Mosca).
3. Se EN1 HP Máx. = 38 (outro tipo de monstro):
- Mesma lógica com outro conjunto de habilidades.
4. Dependendo de EN1 Move:
- 1 → Call evento página 3 (ataque normal).
- 2 → Call evento página 4 (ataque crítico).
- etc.
5. Se nenhuma condição for satisfeita, usar ataque normal como padrão.
7.2. Página 2 – Exibição de pictures
Serve para exibir a imagem correta de cada monstro, de acordo com o tipo:
1. Se EN1 Morto = OFF:
- Se EN1 HP Máx. = 20 → Show Picture da Mosca em EN1 X/Y.
- Se EN1 HP Máx. = 38 → Show Picture do Slime em EN1 X/Y.
2. Repetir para todos os tipos de monstros.
7.3. Página 3 – Ataque normal
Fluxo simplificado:
1. Miss = número aleatório (definindo chance de erro).
2. Reposicionar pictures dos monstros.
3. Calcular Damage (fórmula à sua escolha).
4. Escolher alvo:
- Equipe = número de heróis em combate.
- EN1 Alvo = número aleatório de 1 a Equipe.
- Converter EN1 Alvo de “posição” (Líder, Seguidor 1 etc.) para o ID do herói correspondente.
5. Se Miss = valor de erro (ex.: 8):
- Mostrar “MISS” na posição do herói.
- Damage = 0.
6. Caso contrário:
- Damage -= Defesa do herói alvo.
- Se Defesa reduzir Damage abaixo de 1, Damage = 1.
- Herói HP -= Damage.
- Chamar HP (Perda).
- Atualizar displays de HP/MP.
- Se Herói HP = 0 → Herói Morto = ON.
Páginas seguintes:
- Mesma estrutura geral, adaptando-se a ataques duplos, ataques com veneno, magias etc.
Página de fuga:
- Zera XP e GP do inimigo (se esse for o efeito).
- Liga EN1 Morto (inimigo “sai” do combate).
PARTE 8 – HERÓIS
Os heróis têm eventos complexos porque:
- Compartilham menus (de ataque, magia, itens, fuga).
- Precisam de setas para seleção de ações, itens, magias e alvos.
- Precisam de gráficos diferentes para defender, atacar, ser atingidos, morrer, comemorar etc.
Cada herói possui um evento com muitas páginas (cerca de 23), por exemplo:
- Página 1 – Vazia (display inicial).
- Página 2 – Menu principal (Ataque, Defesa, Magia, Itens, Fugir).
- Página 3 – Fuga.
- Página 4 – Defesa.
- Página 5 – Menu de Magia.
- Página 6 – Ataque.
- Página 7 – Menu de Itens.
- Página 8 – Biblioteca de Magias (verifica se a magia pode ser usada).
- Página 9 – Seta de ataque aos monstros.
- Página 10 – Seta de ataque mágico aos monstros.
- Página 11 – Check Spell MP (se há MP e se o herói possui aquela magia).
- Página 12 – Itens (efeito durante combate).
- Página 13 – Alvo dos itens (seta nos heróis).
- Página 14 – Resolvendo itens (valida quais itens o herói tem).
- Página 15 – Validar alvo (inimigo).
- Página 16 – Efeito das magias.
- Página 17 – Redução de dano por elemento.
- Página 18 – Validar alvo (aliado).
- Página 19 – Seta de alvo dos itens nos aliados.
- Página 20 – GFX do herói atingido (condição Herói Hit).
- Página 21 – GFX de vitória.
- Página 22 – GFX de morto.
- Página 23 – GFX de morto durante vitória.
- Página 24 – GFX de herói fora da equipe.
8.1. Página 2 – Menu principal
No menu principal, o jogador escolhe a ação:
- Ataque.
- Defesa.
- Magia.
- Itens.
- Fugir.
- Cancelar (em algumas implementações).
Fluxo resumido:
1. Label para reinício do menu.
2. Imagem do herói em posição neutra de combate.
3. Herói 1 Move = 1 (ataque como padrão).
4. Se Herói 1 está na equipe e vivo:
- Herói 1 Def = OFF.
- Herói 1 Hit = OFF.
5. Iniciar ciclo de seta:
- Seta controla a variável Herói 1 Move (1 = Ataque, 2 = Defesa, 3 = Magia, 4 = Itens, 5 = Fugir, 6 = Cancelar).
- As pictures do menu mudam conforme o valor de Herói 1 Move.
6. Em confirmação:
- Se Move = 1 → Remover pics de menu, reposicionar monstros, chamar página 9 (escolha de alvo).
- Se Move = 2 → Remover pics de menu, ligar Herói 1 Def = ON.
- Se Move = 3 → Remover pics, chamar página 5 (menu magia).
- Se Move = 4 → Verificar se há itens, se houver chamar página 7 (menu itens).
- Se Move = 5 → Marcar Run = ON, chamar página 3 (fuga).
- Se Move = 6 → Cancelar (comportamento depende da sua lógica: pode voltar ao menu anterior ou marcar Breaker).
8.2. Página 5 – Menu de Magia
Fluxo básico:
1. @Book = OFF (magia ainda não usada).
2. Label de retorno.
3. Reposicionar monstros.
4. Chamar página de condições (Battle Begin página 7), caso alguma impeça o uso de magia.
5. Mostrar pics do menu de magia.
6. Herói 1 Use Spell = 1 (primeira magia).
7. Seta controla “Herói 1 Use Spell”.
8. Em cancelamento:
- Use Spell = 0.
- Cancelado = ON.
- Voltar para o menu anterior.
9. Em confirmação:
- Chamar página 11 (Check Spell MP).
- Se Cancelado = ON, voltar ao menu de magia.
- Se a magia for de cura (por exemplo, ID 22): chamar página 11 de escolha de alvo aliado.
- Caso contrário: chamar página 10 de escolha de alvo inimigo.
10. Após selecionar alvo e validar, chamar página 16 (efeito da magia).
8.3. Página 6 – Ataque
Fluxo simplificado:
1. Chamar página 15 (validar alvo inimigo).
2. Esperar 0.5s.
3. Ciclo de animação de ataque (golpe do herói).
4. Miss = número aleatório; se der o valor de erro, trata como miss.
5. Se acertar:
- Damage baseado em Ataque do herói, Defesa do inimigo, elemento etc.
- EN1 HP -= Damage.
- Chamar HP (Perda), atualizar displays.
- Se EN1 HP = 0 → EN1 Morto = ON.
8.4. Página 7 – Menu de Itens
Fluxo básico:
1. Herói 1 Item = 1 (primeiro item).
2. Seta controla Heroi 1 Item (limites dependem de quantos tipos de item existem).
3. Em cada item:
- Verificar se o herói possui aquele item.
- Se sim, mostrar picture e carregar a variável Dezena com a quantidade.
- Chamar o Evento Comum “Itens” para exibir o número.
4. Em confirmação:
- Se for item que afeta todos (ID maior que certo valor), tratar de forma especial.
- Caso contrário, chamar página 13 (alvo dos itens).
- Depois, chamar página 12 (efeito do item).
8.5. Páginas 15, 16, 18, 19 – Alvos e efeitos
- Página 15 – Validar alvo inimigo:
- Se o inimigo selecionado estiver morto, avançar para o próximo.
- Se todos estiverem mortos, repetir até encontrar um vivo.
- Página 16 – Efeito das magias:
- Determinar dano/efeito conforme Herói 1 Use Spell.
- Aplicar ao alvo (inimigo ou herói).
- Chamar HP (Perda) e Battle Begin página 5.
- Página 18 – Validar alvo aliado:
- Versão adaptada de Página 15, mas focando em heróis.
- Página 19 – Seta de alvo dos itens nos aliados:
- Mesmo princípio da seta de ataque, mas apontando para heróis em vez de monstros.
8.6. Páginas de GFX (20–24)
Essas páginas não possuem evento (script), apenas gráficos e condições:
- 20 – Herói atingido (Hit) – condição “Herói 1 Hit = ON”.
- 21 – Herói vitorioso – condição “Vitória = ON”.
- 22 – Herói morto – condição “Herói 1 Morto = ON”.
- 23 – Herói morto durante vitória – condição “Vitória = ON” e “Herói 1 Morto = ON”.
- 24 – Herói fora da equipe – condição “Herói Not Hire = ON”.
Considerações finais
O Battle System BFK é complexo e exige muita atenção a:
- Numeração de variáveis e switches.
- IDs de eventos e número de páginas.
- Organização lógica dos mapas de encontro e batalha.
Se você seguir este tutorial com calma, usando um caderno para planejar tudo e respeitando a estrutura de eventos, é possível criar ou modificar um battle system semelhante ao BFK ou BEP.
Qualquer dúvida, originalmente o autor pedia para ser contatado via fórum da RPG Menace, e-mail ou ICQ.
Se este material for útil para você, lembre-se de creditar “Raven” como autor do sistema e do tutorial original.
Tutorial BFK - por Raven
Este tutorial visa explicar e orientar o funcionamento, criação e modificação do Battle System BFK.
Este Tutorial será dividido em partes:
PARTE-1 ==> ORGANIZE-SE
PARTE-2 ==> CONFIGURAÇÕES
PARTE-3 ==> MAPAS
PARTE-4 ==> ENCONTROS
PARTE-5 ==> BATALHA (VALORES E EVENTOS)
PARTE-6 ==> BATALHA (TURNOS)
PARTE-7 ==>HEROIS
PARTE-8 ==> MONSTROS
PARTE-1 ==> ORGANIZE-SE
A primeira tarefa em fazer um battle system é rascunhar a maneira que vc deseja fazer o battle system, onde ficará cada monstro, as imagens dos menus, os heróis, que maneira vai correr seu sistema.
Isso deixará suas idéias mais claras e o objetivo mais fácil de se alcançar.
No caso do BFK, eu imaginei quatro heróis e 4 monstros. Um menu giratório para as ações. E utilizar a tela completa para o combate, mas acabei fazendo três monstros e 4 heróis. Meu sistema é baseado no BEP.
Por isso a organização de eventos é idêntica a ele. Mas no BEP os heróis não mudavam de posição no combate e no BFK havia a necessidade de troca de personagem e ordem, por isso tive que modificar muito o Bkf, as magias também são diversificadas. Assim como os ataques e outros detalhes do jogo.
Mas o método de organização ainda é a do BEP, pois ele foi criado muito bem organizado.
Antes de abris seu RM2k e começar a criar mapas e eventos. Para começar seu Bsys. CUIDADO! Vc pode se perder e se atrapalhar. Por isso eu recomendo que vc apanhe um caderno* para organizar seu jogo. Da seguinte maneira:
* Eu aconselho usar o caderno ao eives do micro, pois é muito mais rápido e pratico, na hora que vc tiver criando seu Bsys.
1- Crie a história - Isso tem que acontecer, antes de tudo. Pois vc tem que ter controle de numero de personagens, numero de magias itens. Etc. como vai funcionar o decorrer da história. Quantos personagens começam. Se há troca de heróis durante a história. Etc. Por isso é importante vc ter criado a história antes de criar seu jogo ou Bsys.
2- Defina seus heróis - Vc precisa definir quem são seus personagem durante todo o jogo. Para isso vc terá que dar nome e numero a cada herói, isso é muito importante, pois vc vai usar sempre esses números em seu Bsys. Como abaixo:
Heróis
1- João
2- Maria
3- Carlos
4- Márcia
5- José
3- Defina seus itens-Vc precisa definir todos os itens que serão usados durante a batalha, somente os itens que vc utilizará durante os combates, chaves, itens secretos, pedras ou alguns do tipo comum não precisa escrever, Armaduras e armas também não é necessário a não ser que elas influenciem com efeitos os combates, por ex: Espada de fogo, no combate ela tem uma animação de fogo diferente das outras, ai sim vc tem que descriminar na lista. De numero e nome a cada um deles, e descreva seu funcionamento. Como por Ex:
Itens
1- Poção - Cura 10Hp de um membro
2- Erva - Cura 10 Mp de um membro
3- Remédio - Cura o veneno de um membro.
4- Cura total - cura todo o Hp de todos os membros.
5- Power Up - Aumenta o ataque em 5
6- Espada de Fogo - Dá ataques de fogo.
4- Defina suas Magias - Vc precisa definir todas as suas magias e efeitos, somente as magias que serão utilizadas durante os combates, vc deve dar nome numero e efeito a cada um deles, Ex:
Magia
1- Fogo - Magia de fogo gasta 10 mp e dá 10-15 de dano
2- Água - Magia de água gasta 15 mp e dá 20-30 de dano
3- Veneno - Causa envenenamento em um inimigo.
5- Defina suas Condições - Vc precisa definir todas as suas condições no jogo como Envenenado, normal, dormindo, etc, dando numero, nome e o efeito de cada um. Ex:
Condições
1- Normal - Condição normal
2- Envenenado - Condição envenenado
3- Morto - Condição morto.
6- Defina os efeitos - Vc precisa definir todas os efeitos, estes efeitos são o tipo de ataque que é utilizado por ex. uma magia de fogo seu Efeito é o FOGO, portanto de essa magia for usada num monstro de Água, o dano é reduzido. Vc deve dar nome e numero a cada um deles, Ex:
Efeito:
1- Fogo
2- Água
3- Espada
4- Cura
7- Defina as Habilidades dos heróis - cada personagem deve ter sua habilidade, para isso vc deve listar todas, uma dica é agrupe sempre as habilidades por personagem, pois fica mais rápido e pratico de se visualizar. A habilidade consiste em toda as configurações de cada personagem, no BFK eu usei algumas que são padrão, mas vc pode criar habilidades especiais conforme o seu jogo necessite. Vc deve dar nome e numero a cada um deles, vou listar as habilidades básicas de um personagem.
Habilidade:
001 - João Hp
002 - João Max Hp
003 - João Mp
004 - João Max Mp
005 - João Ataque
006 - João Defesa
007 - João Agilidade
008 - João Inteligência
009 - João Magia
010 - João Efeito
011 - João XP
012 - João Nível
013 - João Nível da Magia
014 - João Posição (na equipe)
015 - João Movimento
016 - João Especial
017 - João Condição
018 - João Escolha
019 - João Item
020 - João Alvo
Faça cada uma delas para cada herói no jogo lembrando em continuar a numeração e não zerar a numeração de um personagem ao outro, colocando em colunas para vc colocar observações futuras na frente (uma dica é numerar estes itens reservando o mesmo numero para as suas futuras variáveis.).
8- Defina as Habilidades dos Inimigod - cada Inimigo deve ter sua habilidade, para isso vc deve listar todas, uma dica é agrupar sempre as habilidades por inimigo, pois fica mais rápido e pratico de se visualizar. As habilidades consistem em toda as configurações de cada inimigo, no BFK eu usei algumas que são padrão, mas vc pode criar habilidades especiais conforme o seu jogo necessite. Vc deve dar nome e numero a cada um deles, vou listar as habilidades básicas de um inimigoo.
Habilidade:
001 - EN1 Hp
002 - EN1 Max Hp
003 - EN1 Mp
004 - EN1 Max Mp
005 - EN1 Ataque
006 - EN1 Defesa
007 - EN1 Agilidade
008 - EN1 Inteligência
009 - EN1 Magia
010 - EN1 Efeito
011 - EN1 XP
012 - EN1 GP
013 - EN1 Nível da Magia
014 - EN1 Posição (na tela)
015 - EN1 Movimento
016 - EN1 Especial
017 - EN1 Condição
018 - EN1 Escolha
019 - EN1 variável
020 - EN1 Alvo
EN1 = inimigo, não importa a quantidade de tipos de monstros que vc vai ter no seu jogo, o que importa é quantos terão durante o mesmo combate, no caso do BFK só tem três Monstros no mesmo combate( embora sua configura;ao permita até).
Faça cada uma delas para cada inimigo no combate lembrando em continuar a numeração e não zerar a numeração de um inimigo ao outro, colocando umas colunas para vc colocar observações futuras na frente.
(uma dica é numerar estes itens reservando o mesmo numero para as suas futuras variáveis.).
PARTE-2 ==> Configurações
E a Database? O que fazer?
Na Database. Vc num vai usar quase nada. A tela dos Heróis vc deve preenchê-la completamente.
Os itens e magias vc só preenche o nome e o comentário os itens e magias que serão usados FORA DE COMBATE, os que forem usar apenas dentro do combate, vc só dá nome e Explicação para o item. Armas e armaduras vc deve preencher completo.
Os Terrenos (back graund) Monstros, Monster party, Attributes vc pode deletar todas não é preciso utilizá-los.
As condições como normal, envenenado e outros. Vc deve criar. Mas sem se preocupar com as configurações.
Sistema, chipsets, e outros que não influem no combate são preenchidos normalmente. Assim como a animação de batalha vc pode criá-las normalmente.
Importante!
Liste sempre suas Variáveis e Switches, Numere e de nomes, será mais fácil de se orientar.
Conforme dito no tutorial passado transforme as habilidades dos heróis e monstros em variáveis (Apenas de nome a elas. Não de valores ainda) lembrando sempre de manter agrupado as habilidades dos heróis por nome do Herói, e as habilidades dos monstros em ordem de Habilidade dos monstros ex:
001 - João Hp
002 - João Max Hp
003 - João Mp
004 - João Max Mp
005 - João Ataque
006 - Maria Hp
007 - Maria Max Hp
008 - Maria Mp
009 - Maria Max Mp
E dos monstros assim:
010 - M1 Hp
011 - M2 Hp
012 - M3 Hp
013 - M1 Mp
014 - M2 Mp
015 - M3 Mp
016 - M1 Max Hp
017 - M2 Max Hp
018 - M3 Max Hp
Lembrem-se nesse tutorial vamos fazer a mesma configuração do BFK, portanto vou dar nomes para as variáveis e Swt. Conforme no meu Bsys. Vcs podem trocar os nomes conforme sua necessidade.
Este Tutorial é apenas para quem tem conhecimentos avançados em RM2k, pois não vou explicar fatores básicos de Variáveis ou forks ou de outros comandos, como fazer setas simples, cálculos básicos e etc.
Ok. Vamos agora configurar todas as nossas switch e variável, porque isso? Porque é mais organizado. E pratico, se vc tivesse criando seu próprio System vc poderia ir criando as switches e variáveis conforme vai precisando, mas como isso é um tutorial e visa à praticidade das coisas, vamos configurar todos as Swt e Var. Necessárias para criar o Bsys.
Switches (Swt.).
Vou colocar em ordem numérica todas as swt. Necessárias para o bsys. Aconselho imprimir esta pagina e listar suas Switches também.(pois elas podem ter números e ordens diferentes.).
Quando eu falo listar é apenas para dar nomes as Swts.
Obs: Quando existe uma swt com herói 1, heroi2, etc. vc deve fazer uma destas para cada herói no jogo, agora se estiver só Herói sem numero é porque esta swt serve para todos os heróis.
1. Nome do herói 1 (Estas Swt. Servem para identificar quais os heróis que estão presentes).
2. Nome do herói 2 (Estas Swt. Servem para identificar quais os heróis que estão presentes).
3. Nome do herói 3 (Estas Swt. Servem para identificar quais os heróis que estão presentes).
4. Nome do Herói 4 (Estas Swt. Servem para identificar quais os heróis que estão presentes).
5. Monstro 1 Morto (Esta irá identificar quando o Monstro 1 estiver morto)
6. Monstro 2 Morto (Esta irá identificar quando o Monstro 2 estiver morto)
7. Monstro 3 Morto (Esta irá identificar quando o Monstro 3 estiver morto)
8. Herói 1 Hit (Esta é para identificar quando o herói é atingido)
9. Herói 2 Hit (Esta é para identificar quando o herói é atingido)
10. Herói 3 Hit (Esta é para identificar quando o herói é atingido)
11. Herói 4 Hit (Esta é para identificar quando o herói é atingido)
12. Herói 1 def (Esta é para identificar quando o herói está defendendo)
13. Herói 2 def (Esta é para identificar quando o herói está defendendo)
14. Herói 3 def (Esta é para identificar quando o herói está defendendo)
15. Herói 4 def (Esta é para identificar quando o herói está defendendo)
16. Herói 1 Morto (Esta é para identificar quando o herói está morto)
17. Herói 2 Morto (Esta é para identificar quando o herói está morto)
18. Herói 3 Morto (Esta é para identificar quando o herói está morto)
19. Herói 4 Morto (Esta é para identificar quando o herói está morto)
20. Went 1 (Esta é para identificar a 1ª posição de Herói no combate*)
21. Went 2 (Esta é para identificar a 2ª posição de Herói no combate*)
22. Went 3 (Esta é para identificar a 3ª posição de Herói no combate*)
23. Went 4 (Esta é para identificar a 4ª posição de Herói no combate*)
24. Went 5 (Esta é para identificar a 1ª posição de Monstro no combate*)
25. Went 6 (Esta é para identificar a 2ª posição de Monstro no combate*)
26. Went 7 (Esta é para identificar a 3ª posição de Monstro no combate*)
27. Herói 1 not hire (Esta é para identificar quando o herói não está presente)
28. Herói 2 not hire (Esta é para identificar quando o herói não está presente)
29. Herói 3 not hire (Esta é para identificar quando o herói não está presente)
30. Herói 4 not hire (Esta é para identificar quando o herói não está presente)
31. Vitória (Esta é para identificar quando os heróis ganham a batalha)
32. Cancelado (quando uma ação for cancelada)
33. @book (Para identificar o uso das magias)
34. Run (Para ativar a fuga)
35. Fugindo (Para fugir)
36. *breaker* (para o ciclo de ações)
37. All (para identificar quando a ação é feita em todos os heróis)
38. Encontro 01
39. Encontro 19 (validar os encontros)
40. Encontro 20 (Ativar os encontros)
* posição de combate é a ordem de ações que acontecem em 1 round tipo se existem 4 heróis e 3 monstros na mesma batalha cada um tem sua vez de atacar Esses Went registra quantos ataques pode haver no combate.
Variáveis (var.).
Vou colocar em ordem numérica todas as var. Necessárias para o bsys. Aconselho imprimir esta pagina e listar suas variables também.(pois elas podem ter números e ordens diferentes.).
Quando eu falo listar é apenas para dar nomes as var.
Obs: Quando existe uma var. Com herói 1 ou Em 1 vc deve fazer uma destas para cada herói ou inimigo no jogo, agora se estiver só Herói sem numero é porque esta var serve para todos os heróis.
Lembrando que quando eu falo EN (inimigo) quer dizer a cada inimigo dentro do mesmo combate.
1. Herói 1 Level (Registra o Nível do personagem)
2. Herói 1 XP (Registra o XP do personagem)
3. Herói 1 HP (Registra o HP do personagem)
4. Herói 1 Max HP ((Registra o Nível máximo do HP do personagem))
5. Herói 1 Mp (Registra o MP do personagem)
6. Herói 1 Max MP ((Registra o Nível máximo do MP do personagem))
7. Herói 1 Weapon (((Registra a arma utilizada pelo personagem**)))
8. Herói 1 Ataque (((Registra a Força de ataque do personagem)))
9. Herói 1 Defeso (((Registra a força de defesa do personagem)))
10. Herói 1 Condição (((Registra a condição do personagem)))
11. Herói 1 Magia (((Registra o poder da magia do personagem)))
12. Herói 1 Magia Def (((Registra o poder de defesa contra magia do personagem)))
13. Herói 1 Speed (((Registra a agilidade e velocidade do personagem)))
14. Herói 1 Target (((Registra o Alvo do personagem do personagem)))
15. Herói 1 Move (((Registra a ação que será executada pelo personagem)))
16. Herói 1 Position (((Registra a posição na tela do personagem)))
17. Herói 1 level Spell (((Registra o Nível da Magia do personagem)))
18. Herói 1 Use Spell (((Registra a Magia a ser usada pelo personagem)))
19. Herói 1 Item (((Registra o Item a ser usada pelo personagem)))
20. Herói 1 Elemento (((Registra ao elemento do personagem)))
21. En 1 GP (Registra o Nível do inimigo)
22. En 1 XP (Registra o XP do inimigo)
23. En 1 HP (Registra o HP do inimigo)
24. En 1 Max HP ((Registra o Nível máximo do HP do inimigo))
25. En 1 Mp (Registra o MP do inimigo)
26. En 1 Max MP ((Registra o Nível máximo do MP do inimigo))
27. En 1 Ataque (((Registra a Força de ataque do inimigo)))
28. En 1 Defesa (((Registra a força de defesa do inimigo)))
29. En 1 Condição (((Registra a condição do inimigo)))
30. En 1 Magia (((Registra o poder da magia do inimigo)))
31. En 1 Speed (((Registra a agilidade e velocidade do inimigo)))
32. En 1 Target (((Registra o Alvo do inimigo)))
33. En 1Move (((Registra a ação que será executada pelo inimigo)))
34. En 1 X(((Registra a posição X na tela do inimigo)))
35. En 1 Y(((Registra a posição Y na tela do inimigo)))
36. En 1 Elemento (((Registra ao elemento do inimigo)))
37. En ??? GP (Registra o Nível do inimigo Pré-configurado)
38. En ??? XP (Registra o XP do inimigo Pré-configurado)
39. En ??? HP (Registra o HP do inimigo Pré-configurado)
40. En ??? Max HP ((Registra o Nível máximo do HP do inimigo Pré-configurado))
41. En ??? Mp (Registra o MP do inimigo Pré-configurado)
42. En ???Max MP ((Registra o Nível máximo do MP do inimigo Pré-configurado))
43. En ???Ataque (((Registra a Força de ataque do inimigo Pré-configurado)))
44. En ???Defesa (((Registra a força de defesa do inimigo Pré-configurado)))
45. En ???Condição (((Registra a condição do inimigo Pré-configurado)))
46. En ???Magia (((Registra o poder da magia do inimigo Pré-configurado)))
47. En ??? Speed (((Registra a agilidade e velocidade do inimigo Pré configurado)))
48. Em ??? Elemento (((Registra ao elemento do inimigo Pré-configurado)))
49. Escolha 1 ((isto é para usar para setas e escolhas))
50. Escolha 2 ((isto é para usar para setas e escolhas))
51. Escolha 3 ((isto é para usar para setas e escolhas))
52. Escolha 4 ((isto é para usar para setas e escolhas))
53. Milhar ((isto é para calcular o Hp e dano em milhar))
54. Centena ((isto é para calcular o Hp e dano em centenas))
55. Dezena ((isto é para calcular o Hp e dano em dezenas))
56. Unidade ((isto é para calcular o Hp e dano em unidades))
57. Variável 1 ((isto é uma variável reserva que funciona como gancho para outras))
58. Variável 2 ((isto é uma variável reserva que funciona como gancho para outras))
59. Damage ((Registra o dano causado))
60. ---X--- ((Registra a coordenada X, atual do Heroi))
61. ---Y--- ((Registra a coordenada Y, atual do Heroi))
62. ---Get X--- ((Registra a coordenada X, futura do Heroi))
63. ---Get Y--- ((Registra a coordenada Y, Futura do Heroi))
64. XP ganho ((Registra o Xp ganho no combate))
65. GP ganho ((Registra o Gp ganho no combate))
66. Passos ((Registra o numero de passos dados pelo heroi))
67. Passos para combate ((Registra o numero de passos para o combate))
68. Battle ID ((Registra o numero ID do mapa atual))
69. Battle X ((Registra a Coordenada X do herói no mapa atual))
70. Battle Y ((Registra a Coordenada Y do herói no mapa atual))
71. Turnos ((Registra o numero de turnos no combate))
72. Iniciativa 1((Registra a velocidade de combate comparada 1))
73. Iniciativa 2 ((Registra a velocidade de combate comparada 2))
74. Miss ((Registra o valor para errar um ataque))
75. * contador *((Registra o numero de ações no combate))
76. Equipe ((Registra o numero personagens na atual equipe))
77. Líder ((Registra o numero do 1º herói na equipe))
78. Seguidor 1 ((Registra o numero do 2º Herói na equipe))
79. Seguidor 2 ((Registra o numero do 2º Herói na equipe))
80. Seguidor 3 ((Registra o numero do 2º Herói na equipe))
81. MP/HP Geral ((Registra o numero de Hp/Mp de transição de todos os herois))
82. MP/Hp Max Geral ((Registra o numero de Hp/Mp Max de transição de todos os herois))
83. Atacado X ((Registra a posição do atacado X))
84. Atacado Y ((Registra a posição do atacado Y))
PARTE-3 ==> Mapas
O mapa Cuidado!
Na hora de criar mapas tenha cuidado!Com o ID deles e dos eventos neles contidos.
Nos eventos é importante que sejam criados todos na mesma ordem. Eu aconselho, ao usar um Bsys, Fazer sempre um copy paste do mapa que contem as configurações do Bsys. Para que vc não perca a ordem dos IDs dos seus eventos.
Mapas muito grandes complicam. O melhor a fazer são mapas no tamanho mínimo para o Bsys.
Importante!
Agrupe seus mapas com uma ordem lógica para vc não se perder, durante a criação do seu jogo e do seu Bsys.
Para o Bsys vc deve criar três mapas.
Um será o de configuração do jogo.
Um será de mapa de encontro
Um será de batalha.
Mapa de configuração do Jogo.
Essa foi uma idéia excelente do BEP. (embora eu não tenha certeza que foi esta a real intenção do criador).
Criar um mapa com um evento de configurações iniciais, com ele vc ganha tempo, eventos e Comuns eventos.
Vamos chamar este Mapa de “Inicio”, se vc tiver uma Apresentação ou qualquer outra coisa que venha antes do começo do jogo, o mapa inicio pode vir logo depois dela. É aconselhável usar um personagem sem charset para estas coisas depois troque para o herói principal.
Neste mapa faça ele todo preto (usando o tile do Background).
Vamos criar um evento de auto inicio neste mapa, nele vamos configurar as var. E swts iniciais do jogo.
Na tela de eventos vamos fazer os seguintes passos:
1. Mudar as Swts dos “herói morto”, para ON, deixar Off apenas a do(s) herói(s) que iniciam o jogo.
2. Mudar a var. “Herói position”, como eu havia dito esta var. Configura a posição no combate como no exemplo abaixo:
M H1
M H2
M H3
H4
Os heróis (H) estão em posição no combate, o numero ao lado representa a posição que ele vai ter no combate. Se vc começa com 1 herói e ele deve estar na posição 2 a variável herói 1 Position será igual a 2
3. Adicione os itens necessários para o inicio do jogo.
4. Configure as variáveis “---X---“ e “---Y---“ para a coordenada do herói.
5. Configure a variável “Passos Combate” para um numero aleatório, este numero servira como gatilho para entrar no combate quando o numero de passos de seu herói chegar ao mesmo numero dessa variável o combate terá inicio. Eu aconselho um numero de 10 a 20 para mapas pequenos e de 10 a 30 para mapas grandes.
6. Ligue a Swt Encontro 20 = ON (ela permite que o evento de passos seja ativado, mais pra frente).
7. Configure a variável “Líder” para o numero ID de seu personagem principal.
8. Configure a variável “Herói 1 level spell” para 1 ( quer dizer que todas suas magias são de nível 1)
9. Faça o teleporte para o mapa que começa o jogo.
10. Se vc estiver usando um herói em branco aqui é o momento ideal para se trocar o herói.
11. Mude todas as swts. “Went” para OFF
12. Mude todas as swts. “Nome do Herói” para Off, exceto a do herói que inicia o jogo que deve estar ON.
PARTE-4 ==> Encontros
A Dica!
Escreva no caderno uma relação e monstros, e faça uma tabela contendo toda a configuração dos monstros que vc criou, vc pode fazer isso durante o jogo, não precisa fazer tudo antes, mas os primeiros monstros que irá usar, é interessante que vc tenha todos os valores anotados.
Importante!
Nesta parte existe um bug, no BEP ele tem um sistema para evitar esse bug, que é o de entrar em combate quando está no meio do teleporte de um mapa para outro. O BEP não tem esse problema, pois ele fez um esquema de variáveis para evitar. Já no BFK eu não coloquei, pois o do BEP, é muito complicado e trabalhoso. Estou tentando fazer um menos complicado, pode ser que funcione apenas desligando temporariamente a swt Encontro 19.
Para a versão 2.0 do BFK creio que já tenho uma solução estável para este problema.
Mapa de Encontros.
Lembrando novamente da importância do ID dos eventos por tanto o ideal é que antes de se criar um mapa faça os eventos de encontro, para manter o Numero do ID igual. Em todos os mapas.
Existem dois eventos neste caso o evento “encontro” e o evento “Valores/monstros”, existe um Comum evento que trabalha junto com estes dois o evento Chamado “valores”.
Cada ação terá um numero, no caso das forks o que for dentro da mesma fork receberá o mesmo numero tipo:
O evento 3 é uma fork, o que vier dentro desta fork será a ação 3 a., se essa fork tiver outra dentro dela os eventos terão a seguinte numeração 3.a.a., e assim por diante.
Evento “Encontros”
Este evento irá configurar, quando se tem um encontro, e quem participa do encontro.
Este evento deve ser Paralelo Processo, e a condição são se a swt. “Encontro 20” estiver ON
Vamos para a configuração da pagina de eventos:
1. Coloque um Label 1.
2. Config. Var. “---Get X---“ e “---GetY---“ para a coordenada X, e Y.
3. Ente com uma Fork se “---Get X---“ for diferente (other) da var. “---X---“
3 a. Dentro da fork mude a var. “Passos” para +1, e depois configure a var. “---X---“ para a coordenada do herói. (esta fork vai aumentar em 1 a var. “Passos” toda a vez que o herói se mover no eixo de X, faça o mesmo para o eixo de Y).
4. Entre com uma nova fork, se var. “Passos” for igual a Var. “Passos Combate”.
4 a. Dentro coloque um wait de uns 0.2 sec ( isso é para o seu evento não ter tempo para encontrar as variáveis).
4 b. Entre com uma nova fork, se Swt. “Encontro 19” estiver ON. (esta opção eu acho que pode dar cabo com o bug)
4.b.a. Mude a variável “Passos combate” para -, 5
4.b.b. Mude a swt “encontro 19” para off
4.b.c. Go to Label 1. (quer dizer se o swt encontro 19 estiver ligada não á encontro. E retorna lá em cima.).
4.c. Entre com uma fork, se Herói 1 estiver na equipe, mude a swt “herói 1 Morto” para Off, em else case mude a swt “herói 1 Morto” para On. (faça isso com todos os heróis)
4.d. Mude a swt “Run” para OFF (para que possa funcionar a fuga outras vezes).
4.e. Desabilite o menu do RM2k
4.f. Mude a swt “encontro 01” Para Off
4.g. Mude a swt “EN 1 Morto” Para ON ( faça isso para todos os inimigos, serve para reiniciar os monstros)
4.h. Mude a variável “passos” para igual a 0.
4.i. Memorize o Bgm
4.j. play um SE (para avisar que houve um encontro).
4.k. Play o Bgm do combate.
4.L. Faça uma transição de tela. (erase screen).
4.m. Memorize o local usando as var “Battle ID, Battle X e Battle Y”.
4.n. Wait 1.0 sec.
4.o. Deixe invisível o seu herói.
4.p. chame o evento “valores/monstros do mapa, pagina 1.
4.q. Teleporte para o mapa do combate.
Evento “Valores/monstros”
Este evento irá configurar, quais são os monstros, quantos são os monstros, como serão os monstros.
Este evento não tem condição, e deve ser acionado com toque do herói, (na verdade o herói não vai tocá-lo para acionar, e sim o Evento “Encontro” é quem vai chamar as ações contidas na 1 pagina deste evento.
A primeira pagina irá configurar os monstros no combate, como quantidade, quis serão, e onde vão aparecer, as demais paginas são as configurações do grupo de monstros deste mapa. Cada pagina extra será um monstro, como vamos ver a seguir.
No caso do BEP e do BFK, os monstros são identificados através do numero Max de HP, porque isso?, é para não criar um numero Id para cada monstro, então escolhemos , um numero que poderia ser constante no monstro, no caso o Max Hp, se vc quiser usar uma outra variável para identificar o tipo de monstro fique avontede.
Pagina 1:
1. Config. Var. “Escolha 1” para um numero aleatório (este numero irá calcular a possibilidade do En1 ser um tipo diferente de monstro, se vc colocar de 1 a 3, o resultado 1 quer dizer que o En1 será um monstro(mosca), se for 2 será um outro Monstro(slime), e se for 3 será outro (sanguessuga), no caso do inimigo 1 todos os números deve resultar em um inimigo, mas nos outros um resultado pode ser considerado que o En2 não está em combate, assim se o resultado do en2 for 3, EN2 não entra em combate, mas isso vamos ver mais pra frente.
2. Zere as variáveis “EN1 Max HP” (zere de todos os inimigos).
3. Entre com uma fork, se a var. “Escolha 1” for igual a 1.
3.a. Mude a Swt. “En1 morto” para Off (faça apenas a do En1, pois estamos configurando quem será o inimigo 1.).
3.b Chame o evento da pagina do monstro escolhido ( caso vc decidiu que o resultado da var. “escolha 1” quando fosse igual a 1 o monstro que irá aparecer será uma mosca. Então vc deve chamar o evento que configura o EN1 para mosca, mas isso também veremos mais pra frente.)
3.c Troque todos as var. EN???, para as var. do EN1, Ex: var.”EN1 HP” igual ao valor da var, EN??? HP.
4. Repita os passos do item 3 para cada opção de En1 que vc tiver.
5. Repita os paços 1 à 4, Para cada inimigo que vc tiver em combate
6. Para os En2 e En3, aumente, 1 na sua Escolha, para que de uma opção a mais para o EN2 não está em combate, e/ou En3 não está em combate. Desta maneira, Entre com uma fork se var. ”escolha 1” for igual a 4 ( por exemplo).
6.a. Mude a Swt. Do “EN2, e/ou En3 Morto”, para On, Isso fará com que o EN escolhido não se torne um alvo.
6.b Zere todas as var. Relacionadas ao En2, e/ou En3, que não entrarem em combate, como Max Hp, Hp, Xp, Gp.Etc.
7. Call Evento, Chame o comum evento chamado Valores.
Pagina 2
Aqui estão as pré-configurações de cada monstro vc deve fazer uma pagina, para cada monstro que pode aparecer no papa atual. Ex, Pagina 2 é a mosca, pagina 3 é a Slime..Etc...
Aqui vc vai configurar as Variáveis que tem interrogações no nome Ex: “EN??? Hp”, EN??? XP,etc.
Com o numero que vc quiser. Lembrando que o HP Max deve ser fixo para cada tipo de monstro.Ex: todas as slime tem Max HP = 20, todas as moscas tem Max HP = 10 etc.
Depois quando o evento retornar a pagina 1 elas serão substituídas de acordo com o En correspondente.
Comum Evento “Valores”
Este comum evento irá configurar, as estatísticas atuais de seus personagens.
Aqui é fácil é só configurar todas as variáveis de todos os heróis. Ex:
Var. “Herói 1 Hp” = Hp do herói 1
Var. “Herói 1 Max HP = Hp Max Do herói 1..
E assim por diante. Faça isso com o Level, Hp, Mp, MaxMp, MaxHP, XP, Ataque, defesa, magia, defesa da magia e Speed, Faça isso para todos os personagens tudo no mesmo evento.
Tutorial BFK - Parte 2 por Raven
Este tutorial visa explicar e orientar o funcionamento, criação e modificação do Battle System BFK.
Este Tutorial será dividido em partes:
PARTE-1 ==> ORGANIZE-SE
PARTE-2 ==> CONFIGURAÇÕES
PARTE-3 ==> MAPAS
PARTE-4 ==> ENCONTROS
PARTE-5 ==> BATALHA (VALORES E EVENTOS)
PARTE-6 ==> BATALHA (TURNOS)
PARTE-7 ==>MONSTROS
PARTE-8 ==> HEROIS
PARTE-5 ==> BATALHA (Valores e Eventos)
No tutorial passado vimos como organizar e configurar nosso Bsys. Agora vamos entrar na parte mais complicada desse tutorial.
1. Vc tem que ter um bom conhecimento do funcionamento de todos os eventos de RM2k.
2. Este Tutorial foi feito para vcs poderem modificar ou criar um Bsys como o BEP ou BFK.
3. Ter feito todos os passos do 1º Tutorial.
Batalhas
Vamos encarar a batalha como um grande circulo de forks e variáveis.
È importante vc saber quando usar um comum evento e quando usar um Evento de pagina.
Nesta parte do tutorial estarei explicando todo os Comuns eventos do BFK, e sua utilização.
Importante!
Para criar um Bsys vc tem que ter uma linha de raciocínio. Lógico imagine que o bsys é um grande circulo de eventos paginas e apêndices (que são os Comuns eventos).
Separar uma pagina para cada tipo de efeito ou ação é muito importante, vale lembrar que quando se usa um call evento de uma pagina a outra tome cuidado em só chamar paginas que estão à frente, nunca atrás, pois o RM2k não consegue retornar a pagina de evento inicial se ela estiver antes do call.
Por ex: se a pagina 5 chamar a pagina 2 e vc quer que ao fim da página 2 o evento volte a pagina 5 automaticamente. Isso não vai ocorrer. (não sei porque. Mas isso é falho) por isso eu digo que o BEP é muito bem organizado, o BFK também segue o mesmo principio.
No BEP o HP é feito por pics e o BFK o Hp é feito por Charsets.
Neste vamos fazer como no BFK, embora a programação ser quase a mesma no BKF ela fica um pouco menor e mais fácil.
Comuns eventos.
Os comuns eventos principais para o Bsys (BKF) são:
HP (perda)
HP (ganho)
Valores (este nós vimos no tutorial passado)
Resolvendo Dano
Itens
Fundo (Background)
Resolve dano
Este Comum Evento serve para arrumar o hp e Mp dos personagens ao sair do combate.
O comando é bem simples:
1. Mude o Hp (Change hp), aumente o HP de todos os heróis para 999 (Mude o valor dos hp, isso serve para nivelar todos os hps).
2. Mude a Var “Herói 1 Move” = “Herói 1 Max HP
3. Mude a Var. “Herói 1 Move” - Var. “Herói 1 HP”
4. Mude o HP (Change hp), só do herói 1, selecione Decresce Hp e o Operando é a var. “Herói 1 Move” (isso fará com que subtraia o valor obtido da variável “herói 1 move” que é o resto da subtração de hp Max original do Hp atual, e depois retirado dos 999 que vc havia colocado no começo).
5. Repita os passos 2 a 4 para todos os heróis
6. Repita os paços 1 a 5 para os valores de MP.
HP Perda
Este Comum Evento serve para fazer o display dos números que saltam do inimigo ou aliado, quando é atingido.
O comando é um pouco trabalhoso:
1. Mude a var. “Milhar” para ser = ao da var. “Damage”
2. Mude a Var “Escolha 4” = var “Damage”
3. Mude a var. “Milhar” e divida por 1000 (o resultado será o numero da milhar do dano)
4. Mude a var. “Escolha 4” Mod. 1000 (o resultado será a sobra da divisão acima)
5. Mude a Var “Centena” = a Var “Escolha 4”
6. Mude a Var “Escolha 1” = a Var “Centena”
7. Mude a Var “Centena” e divida por 100 (o resultado será o numero da centena do dano)
8. Mude a Var “Escolha 1” Mod. 100 (o resultado será a sobra da divisão acima)
9. Mude a Var “Escolha 2” = a var “Escolha 1”
10. Mude a Var “Dezena” = a Var “Escolha 2”
11. Mude a Var “Dezena” divida por 10 (o resultado será o numero da dezena do dano)
12. Mude a Var “Escolha 2” Mod. 10 (o resultado será a sobra da divisão acima)
13. Mude a Var “Escolha 3” = a var “Escolha 2”
14. Mude a Var “Unidade” = a var “Escolha 3” (fazendo isso tudo vc destrincha um numero do dano em seus algarismos, ex: se o seu dano é 2578, Na variável Milhar tem que ter o numero 2, na centena o numero 5, na dezena o numero 7 e na unidade o numero 8.).
15. Coloque uma nota aqui para dizer que vc vai checar a milhar.
16. Mude a Var “---X---” = a -, 25 (Durante o jogo essa variável x será configurada para o local X onde está o alvo, esse valor -, 25 é para a pic do milhar do dano aparecer na frente de todos os números, e este é um valor ideal, caso vc use pics de números iguais ao do BEP ou BKF).
17. Mude a Var “---Y---” = a +, 0 (Durante o jogo essa variável Y será configurada para o local Y onde está o alvo, esse valor +, 0 é para a pic do milhar do dano aparecer no mesmo eixo do alvo).
18. Coloque uma fork se milhar for igual a 0 (essa fork serve para remover a pic da milhar caso o valor dela for igual a zero)
18.a. Remove pic 20 (a pic 20 será do milhar.).
19. Coloque uma fork se milhar for igual a 1 (essa fork serve mostrar a pic da milhar 1 caso o valor dela for igual a 1)
19.a. Show pic 20 no local das variáveis “---X---“ e “---Y---“.
20. Repita os passos 19 para cada numero de 2 a 9.
21. Coloque uma nota aqui para dizer que vc vai checar a centena.
22. Mude a Var “---X---” = a +, 8 (Durante o jogo essa variável x será configurada para o local X onde está o alvo, a reduzido o valor da milhar esse valor +, 0 é para a pic da centena do dano aparecer atrás do milhar, e este é um valor ideal, caso vc use pics de números iguais ao do BEP ou BKF).
23. Mude a Var “---Y---” = a +, 0 (Durante o jogo essa variável Y será configurada para o local Y onde está o alvo, esse valor +, 0 é para a pic da centena do dano aparecer no mesmo eixo do alvo).
24. Coloque uma fork se a “centena” for igual a 0 (essa fork serve para remover a pic da centena caso o valor dela for igual a zero)
24.a. Remove pic 19 (a pic 19 será da centena.).
25. Coloque uma fork se centena for igual a 1 (essa fork serve mostrar a pic da centena 1 caso o valor dela for igual a 1)
25.a. Show pic 19 no local das variáveis “---X---“ e “---Y---“.
26. Repita o processo da centena para as dezenas e unidades.(Atenção! Lembre de mudar a variável “escolha 1” para milhar “escolha 2” para a centena, “escolha 3” para a dezena, “escolha 4” para a unidade).
Assim vc terá configurado, o display do dano, quando haver um ataque basta indicar o valor X e Y do atacado o dano e chamar este evento, que irá aparecer o numero total do dano. (mas isso vamos ver mais para frente, detalhadamente.).
HP (Ganho)
Se vc conseguiu fazer o evento de Hp perda. Aqui é a mesma coisa, só que ele vai ser chamado quando vc recuperar o hp ou Mp, a idéia é que o display dos números fique de outra cor para poder identificar quando está sofrendo dano e quando está recuperando o hp, os dois usam as mesmas variáveis, só basta vc mudar a cor da pic ou a própria pic.
Itens (check)
Aqui vamos configurar o display do numero de um determinado item, para dizermos que os heróis têm 03 poções, ou 33 ehter.Etc., aqui também é bem fácil. É o mesmo processo do HP ganho e perda, mas só vamos utilizar as dezenas e as unidades, já que o limite Maximo do RM2k para itens é de 99.
Lembrando aqui ao invés de configurar a variável “Damage” (dano), como o valor principal, nosso valor de numero de itens será colocado na variável Dezena direto, portanto não é necessário fazer a parte das change variável com a variável Damage. Mas para frente vcs vão entender isso. EX.
Quando fomos verificar o numero de itens de poção o valor total desse item será colocado direto na variável “dezena”.
O local onde irá aparecer a pic é determinado por vc de acordo com seu display dos itens.
Fundo
Este é um evento exclusivo do BFK, mas isso vai ajudar muito no seu jogo, No BEP é feito um mapa de combate para cada local e grupo de monstros. Já no BFK só existe 1 mapa para o combate que varia de acordo com o grupo de monstros. Para isso vamos listar os tipos de terrenos desejados e vamos listar (dar nome e numero) para cada um deles.
Em cada tipo de mapa nos vamos configurar o variável “fundo” para o numero determinado. EX.
Listamos os tipos de terrenos da seguinte forma:
1- Planicie
2- Floresta
3- Montanhas
A cada mapa mudamos o variável “fundo” para o seu numero. Se estivermos nas montanhas no evento de teleporte configuramos o variável “fundo” par ser igual a 3, daí quando entrar em combate o Background mudar para o das montanhas. Para isso que serve este comum evento pra mudar o background do combate. Por isso este evento são sucessivas, forks para cada tipo de terreno, assim:
1. Se a variável “fundo” for igual a 1.
2. Change background da planície.
Faça isso para todos os tipos de background que vc tiver. No jogo. (e não esqueça de mudar a var. Cada vez que mudar de terreno).
Estas foram os comuns eventos básicos necessários para fazer um bsys. Agora vamos para os eventos dentro do mapa de combate.
Importante!
Aqui vc precisa ter exatamente todos os eventos necessários para o seu Bsys, mesmo que estejam em branco, mas crie todos para reservar o numero de ID de cada um deles.
No caso do BFK, são 10 personagens, 3 monstros, um evento para cada HP (herói e monstro), 1 evento para cada MP (herói), e 3 eventos de Mapa totalizando 32 eventos no mapa.
Eles devem estar no mapa no momento da construção do Bsys.
Os eventos dos Monstros e dos heróis veremos mais a frente, agora vamos dar atenção aos eventos de mapa.
São 3 eventos no BFK e no BEP (apesar de que o 3º evento do BEP, e do BFK terem diferentes usos, No caso do BFK serve para configurar o menu de Magias, e no BEP serve para fazer os personagens piscarem quando selecionado.), no entanto vc pode estudar e ver a possibilidade de anular esse 3 evento. Que no BFK se chama “Úteis”.
É importante também configurarmos o numero de pagina de cada evento, pois vamos usar muito a opção Call evento, e isso necessitam que os eventos tenham o numero exato de Paginas (obs. O numero de pagina pode variar para o numero de membros em combate, lembramos que esse tutorial é para fazer um Bsys com 4 heróis e 3 monstros).
Vamos a lista.
Battle begin - 13 Paginas
Check Death/Speed - 13 Paginas
Herói (todos) - 23 paginas cada
Monstros (todos) - 7 paginas (contando 1 ataque mágico, se o monstro tiver + ataques esse numero pode aumentar.).
Hp/Mp Heróis (todos) - 2 paginas
Hp Monstros (todos) - 2 paginas
Útil (depende se vc vai usar essa opção ou não) Nesse tutorial não vai usar esta opção.
Mas 2 deles são de vital importância o evento chamado “Battle Begin”, e o “Chack Death/Speed”.
Vamos começar com os eventos de display de hp e Mp, no caso do Bep ele é feito por pics, e no caso do BFK ele é feito por Char, nos dois casos o evento tem a mesma construção, mas indicam eventos diferentes. Vamos a ele:
“HP e MP Display por Char sets”
Criamos 1 charset para cada hp e Mp de herói e monstro, com 2 paginas, a 2 pagina deve ter a condição de Swt “herói 1 Morto” e a figura me branco, isso é para quando o herói ou monstro morrer o hp e o Mp desaparecerem.
A primeira pagina, coloque o chipset com 100%, faça chipset para cada 10% de hp e mp. Da maneira que vc deseja.
Vamos construir o evento da 1 pagina.
1. Mude a var. “Hp/mp geral” = a var. “Herói 1 HP”.
2. Mude a var. “Posição atual” = a var. “Herói 1 Position”
3. Mude a var. “Hp/mp Max geral” = a var. “Herói 1 MaxHP”.
4. Mude a var. “HP/MP geral” multiplique por 100 (que é à base de porcentagem).
5. Mude a var. “HP/MP geral” para dividir com a var. “HP/MP Max geral”. (vc irá obter a verdadeira porcentagem de Hp ou mp.).
6. Coloque uma fork, se var. ““ HP/MP geral “= 100”.
6.a. Mude o chipset desse evento para a figura de 100%.
7. Coloque uma fork, se var. ““ HP/MP geral “menor (Small) 100”.
7.a Coloque uma fork, se var. ““ HP/MP geral “maior (bigger) 94 (resultará nos números de 95-99)”.
7.a.a. Mude o chipset para o de 95%.
8. Coloque uma fork, se var. ““ HP/MP geral “menor (Small) 95”.
8.a Coloque uma fork, se var. ““HP/MP geral” maior (bigger) 89 ( resultará nos números de 90-94)
8.a.a. Mude o chipset para o de 90%.
9. Faça isso para cada porcentagem desejada, vc pode fazer isso com menos ou mais porcentagem basta arrumar as forks.
Faça esse evento em cada uma dos hp e mp dos heróis.(lembrando de identificar MP para o MP e Hp para o HP.) e cada vez que o herói sofrer dano esse evento será chamado.()
“Check Death/Speed”
Este com certeza é a grande sacada do BEP, é este evento que muitos Makers que estão construindo seu Bsys.. Tem dificuldade de fazer os chamados Turnos correrem devidamente, apesar deste evento funcionar em função do Battle Beguin, que é o evento principal do Bsys, ele é quem determina o ciclo de ações.
No BEP e no BKF, as ações são controladas pela velocidade de cada herói e monstro, quem tiver a maior velocidade (Atributo de Agilidade) atacará primeiro.
Este evento é dividido em 13 paginas se vc tiver 4 heróis em combate, a cada herói a menos vc exclui 3 paginas. Se vc quiser um bsys com 2 heróis em combate ( isso quer dizer que sua equipe de combate não passa de 2 heróis) vc terá que ter 7 paginas nesse evento.
Em todas as Paginas deixe o gfx em branco, neste evento todas as condições são Push Key.
Pagina 01 - Morte dos monstros.
Como o nome diz aqui nós vamos configurar as condições para cada inimigo e a ação de cada inimigo quando morre, da seguinte maneira:
1. Coloque uma fork se var. “En1 Hp” for Menor que (Below) 0
1.a. Coloque outra fork se swt “EN1 Morto” estiver OFF (quer dizer se o hp inimigo 1 for menor que 0 e ele estiver vivo, por isso da swt off, para identificar que esse monstro ainda não foi morto.)
1.a.a. Faça o evento de seu monstro morrendo ( use move pics, sons.. o que quiser.), e coloque um Call evento para o evento do EN1 pagina 2 ( ela irá reconhecer a morte do monstro, veremos isso mais pra frente)
1.a.b. Remova a pic do EN1
1.a.c. Mude a swt “En1 morto” para ON
2. Faça isso para todos o inimigos.
Pagina 02 - relação de velocidade de herói pela posição numero 1.
No BEP e no BFK aqui os Ataques funcionam da seguinte maneira, quem tiver o maior ataque, ataca primeiro, mas primeiro os heróis tem a ação e depois os monstros. Esse evento vai determinar a relação de posição e velocidade. O herói que ta na 1 posição de velocidade y, o herói que ta na 2 posição tem velocidade y, não tem nenhum herói na posição 3 então a velocidade dele é 0. se X<Y então o herói que está na 2 posição irá atacar primeiro que o que está na 1 posição, com este evento isso é permitido que aconteça, sem que vc tenha que fazer um evento para cada possibilidade. De ataque, por isso foram criadas as swt “Went”. Para ligar indicar a ordem, dos ataques. Posição aqui eu quero dizer “Vez de ação”.
1. Insira uma fork se var. “Herói 1 position” for =1 ( a variação desse numero quem determina é outro evento)
1.a. Insira outra fork se swt “Went 1” estiver off
1.a.b. Mude a var “iniciativa 2” para Set Herói 1 Speed ( a var. “iniciativa 2” é para os heróis e a “iniciativa 1” para comparação). Else Case: “iniciativa 2” = 0
2. Faça isso para todos os heróis. Alternado apenas o variável “Herói position” e “herói Speed”. A Swt Went, e a var, iniciativa 2 continuam as mesmas. Vale lembrar que o valor de todas as variáveis “ Herói Position” deve ser igual a 1.
Pagina 03 - relação de velocidade de herói pela posição numero 2.
1. Insira uma fork se var. “Herói 1 position” for =2 ( a variação desse numero quem determina é outro evento)
1.a. Insira outra fork se swt “Went 2” estiver off
1.a.b. Mude a var “iniciativa 2” para Set Herói 1 Speed ( a var. “iniciativa 2” é para os heróis e a “iniciativa 1” para comparação). Else Case: “iniciativa 2” = 0
2. Faça isso para todos os heróis. Alternado apenas o variável “Herói position” e “herói Speed”. A Swt Went, e a var. “iniciativa 2” continuam as mesmas. Vale lembrar que o valor de todas as variáveis “ Herói Position” deve ser igual a 2.
Pagina 04 - relação de velocidade de herói pela posição numero 3.
1. Insira uma fork se var. “Herói 1 position” for =3 ( a variação desse numero quem determina é outro evento)
1.a. Insira outra fork se swt “Went 3” estiver off
1.a.b. Mude a var “iniciativa 2” para Set Herói 1 Speed ( a var. “iniciativa 2” é para os heróis e a “iniciativa 1” para comparação). Else Case: “iniciativa 2” = 0
2. Faça isso para todos os heróis. Alternado apenas o variável “Herói position” e “herói Speed”. A Swt Went, e a var. “iniciativa 2” continuam as mesmas. Vale lembrar que o valor de todas as variáveis “ Herói Position” deve ser igual a 3.
Pagina 05 - relação velocidade de herói pela posição numero 4.
1. Insira uma fork se var. “Herói 1 position” for =4 ( a variação desse numero quem determina é outro evento)
1.a. Insira outra fork se swt “Went 4” estiver off
1.a.b. Mude a var “iniciativa 2” para Set Herói 1 Speed ( a var. “iniciativa 2” é para os heróis e a “iniciativa 1” para comparação). Else Case: “iniciativa 2” = 0
2. Faça isso para todos os heróis. Alternado apenas o variável “Herói position” e “herói Speed”. A Swt Went, e a var. “iniciativa 2” continuam as mesmas. Vale lembrar que o valor de todas as variáveis “ Herói Position” deve ser igual a 4.
Pagina 06 - identifica qual a real velocidade pela posição numero 1.
Aqui vamos identificar a variável “iniciativa 1” para o numero da agilidade do herói que está nesta posição1, depois a variável “ iniciativa 1” e “ iniciativa 2”, serão comparadas( em outro evento), as paginas anteriores serviram para calcular a velocidade do próximo atacante em ralação0 ao atual, que é o que vamos configurar agora.
1. Coloque uma fork se Var. “Herói 1 positon” for igual a 1.
1.a. mude a variável “iniciativa 1” para set ver. Herói 1 speed.
2. faça isso para todos os heróis considerando a posição =1
Pagina 07 - identifica qual a real velocidade pela posição numero 2.
1. Coloque uma fork se Var. “Herói 1 positon” for igual a 2.
1.a. Mude a variável “iniciativa 1” para set ver. Herói 1 speed.
2. Faça isso para todos os heróis considerando a posição =2
Pagina 08 - identifica qual a real velocidade pela posição numero 3.
1. Coloque uma fork se Var. “Herói 1 positon” for igual a 3.
1.a. Mude a variável “iniciativa 1” para set ver. Herói 1 speed.
2. Faça isso para todos os heróis considerando a posição =3.
Pagina 09 - identifica qual a real velocidade pela posição numero 4.
1. Coloque uma fork se Var. “Herói 1 positon” for igual a 4.
1.a. Mude a variável “iniciativa 1” para set ver. Herói 1 speed.
2. Faça isso para todos os heróis considerando a posição =4
Pagina 10 - Determinando ações conforme a ordem de posição ( vez de ação).
Agora que já calculamos a velocidade de cada um e sabemos qual é a posição mais rápida. Sempre relacionando a 1 posição com a segunda, quem tiver a maior é comparada com a terceira, e quem tiver maior é comparada com a 4 ( mas isso é feito em uma ação em outro evento) aqui só é feita a configuração o Check como diz o nome do evento.)
Nesta pagina vamos checar as posições com as ações, as ações disponíveis para cada herói é colocado em uma pagina, e indicada pela var. “Herói Move”, a cada valor dessa variável é indicada uma ação e uma pagina (mas isso nós vamos ver detalhadamente mais diante.).
O que vai acontecer aqui é o seguinte: vai ser checada a vez do herói e dependendo da ação escolhida Ele vai executar na ordem determinada, das posições. Essa parte pode ser um pouco confusa, mas vcs irão entender depois que fizerem o evento de turnos no “Battle begin” que é onde vai cruzar todas essas informações. Por enquanto tenha paciência e execute as tarefas.
1. Coloque uma fork, se var. “Herói 1 position” = 1
1.a. Coloque outra fork, se var. “herói 1 move” = 1 ( o move 1 do herói 1 é o ataque)
1.a.a. Call evento Herói 1 pagina 6. ( a pagina 6 do heroi1 é a ação ataque normal).
1.b. Coloque uma fork, se var. “herói 1 move” = 2 ( o move 2 do herói 1 é ao defesa)
1.b.a Call evento Herói 1 pagina 4. ( a pagina 4 do heroi1 é a ação de defesa).
1.c. Coloque uma fork, se var. “ Herói 1 move” = 3 ( o move 2 do herói 1é a biblioteca de magias)
1.c.a. Call evento Herói 1 pagina 8. ( a pagina 8 do herói 1 é a ação de biblioteca de magias).
1.d. Coloque uma fork, se var. “herói 1move” = 4 (o move 4 do herói 1é a biblioteca de itens)
1.d.a. Call evento Herói 1 pagina 12. ( a pagina 12 do herói 1 é a ação de biblioteca de itens).
1.e. Mude a swt “ went1” para on ( isso quer dizer que já passou a vez do primeiro atacante.)
2. Faça isso para todos os heróis na posição 1, aqui a única coisa que vc vai mudar são as variáveis dos heróis, os valores não vão mudar, mude todos os “herói 1” para “Herói 2”, a swt “ Went 1” continua a mesma, assim como o valor da posição que será sempre 1.
Pagina 11 - Determinando ações conforme a ordem de posição ( vez de ação)2.
1. Coloque uma fork, se var. “Herói 1 position” = 2
1.a. Coloque outra fork, se var. “herói 1 move” = 1 ( o move 1 do herói 1 é o ataque)
1.a.a. Call evento Herói 1 pagina 6. ( a pagina 6 do heroi1 é a ação ataque normal).
1.b. Coloque uma fork, se var. “herói 1 move” = 2 ( o move 2 do herói 1 é ao defesa)
1.b.a Call evento Herói 1 pagina 4. ( a pagina 4 do heroi1 é a ação de defesa).
1.c. Coloque uma fork, se var. “ Herói 1 move” = 3 ( o move 2 do herói 1é a biblioteca de magias)
1.c.a. Call evento Herói 1 pagina 8. ( a pagina 8 do herói 1 é a ação de biblioteca de magias).
1.d. Coloque uma fork, se var. “herói 1move” = 4 (o move 4 do herói 1é a biblioteca de itens)
1.d.a. Call evento Herói 1 pagina 12. ( a pagina 12 do herói 1 é a ação de biblioteca de itens).
1.e. Mude a swt “ went2” para on ( isso quer dizer que já passou a vez do segundo atacante.)
2. Faça isso para todos os heróis na posição 2, aqui a única coisa que vc vai mudar são as variáveis dos heróis, os valores não vão mudar, mude todos os “herói 1” para “Herói 2”, a swt “ Went 2” continua a mesma, assim como o valor da posição que será sempre 2.
Pagina 12 - Determinando ações conforme a ordem de posição ( vez de ação)3.
1. Coloque uma fork, se var. “Herói 1 position” = 3
1.a. Coloque outra fork, se var. “herói 1 move” = 1 ( o move 1 do herói 1 é o ataque)
1.a.a. Call evento Herói 1 pagina 6. ( a pagina 6 do heroi1 é a ação ataque normal).
1.b. Coloque uma fork, se var. “herói 1 move” = 2 ( o move 2 do herói 1 é ao defesa)
1.b.a Call evento Herói 1 pagina 4. ( a pagina 4 do heroi1 é a ação de defesa).
1.c. Coloque uma fork, se var. “ Herói 1 move” = 3 ( o move 2 do herói 1é a biblioteca de magias)
1.c.a. Call evento Herói 1 pagina 8. ( a pagina 8 do herói 1 é a ação de biblioteca de magias).
1.d. Coloque uma fork, se var. “herói 1move” = 4 (o move 4 do herói 1é a biblioteca de itens)
1.d.a. Call evento Herói 1 pagina 12. ( a pagina 12 do herói 1 é a ação de biblioteca de itens).
1.e. Mude a swt “ went3” para on ( isso quer dizer que já passou a vez do terceiro atacante.)
2. Faça isso para todos os heróis na posição 3, aqui a única coisa que vc vai mudar são as variáveis dos heróis, os valores não vão mudar, mude todos os “herói 1” para “Herói 2”, a swt “ Went 3” continua a mesma, assim como o valor da posição que será sempre 3.
Pagina 13 - Determinando ações conforme a ordem de posição ( vez de ação)4.
2. Coloque uma fork, se var. “Herói 1 position” = 4
1.a. Coloque outra fork, se var. “herói 1 move” = 1 ( o move 1 do herói 1 é o ataque)
1.a.a. Call evento Herói 1 pagina 6. ( a pagina 6 do heroi1 é a ação ataque normal).
1.b. Coloque uma fork, se var. “herói 1 move” = 2 ( o move 2 do herói 1 é ao defesa)
1.b.a Call evento Herói 1 pagina 4. ( a pagina 4 do heroi1 é a ação de defesa).
1.c. Coloque uma fork, se var. “ Herói 1 move” = 3 ( o move 2 do herói 1é a biblioteca de magias)
1.c.a. Call evento Herói 1 pagina 8. ( a pagina 8 do herói 1 é a ação de biblioteca de magias).
1.d. Coloque uma fork, se var. “herói 1move” = 4 (o move 4 do herói 1é a biblioteca de itens)
1.d.a. Call evento Herói 1 pagina 12. ( a pagina 12 do herói 1 é a ação de biblioteca de itens).
1.e. Mude a swt “ went4” para on ( isso quer dizer que já passou a vez do quarto atacante.)
3. Faça isso para todos os heróis na posição 4, aqui a única coisa que vc vai mudar são as variáveis dos heróis, os valores não vão mudar, mude todos os “herói 1” para “Herói 2”, a swt “ Went 4” continua a mesma, assim como o valor da posição que será sempre 4.
“Battle Begin”
Este evento é o coração do Bsys, nele vai ter toda a ligação de todos os eventos, em uma ordem gigante de eventos.
Turnos, hp, mp, são todos controlados por este evento.
Nele contem 13 paginas, sendo somente a 12ª inicializada automaticamente.
Importante!
Porque a 12ª, e não a 1ª ou a 13ª???
Se vcs, lembram das dicas que eu dei, o comando Call evento quando chama uma pagina do “mesmo evento” ( quando se chama outros paginas de outros eventos não tem esse problema), e o numero da pagina ( o numero id dela, não quantidade de eventos)é maior que a da pagina que a chamou( o numero id dela, não quantidade de eventos), o RM2k não consegue retornar a pagina original, não sei porque mas dá erro. E a ação não volta para a pagina principal. Por isso ela tem que ser a 12ª, pois a 13 é o fim do combate, portanto não precisa voltar a qualquer outra pagina.
Como ela é a primeira pagina vamos começar por ela.
Pagina 12 - Battle Beguin!!!.
Não sei se vcs fizeram pois se não fizeram é bom fazer se não seu Bsys vai ficar horrível, é que quando vc entra em combate e se teleporta para o mapa de combate, NÃO USE A TRANSFERENCIA DE TELA NORMAL DO TELEPORTE, use um Erese screen, pois se naum, quando começar o combate além de todo mundo ver o combate sendo montado fica com uma cara muito esquisita ( por isso demora um pouco para a tela voltar a aparecer entre o encontro e o mapa de combate.
Nosso evento começará assim:
1. Deixe seu herói invisível.
2. Wait 1.0 sec
3. Call evento, Comum evento Fundo ( trocará seu background)
4. Mude as SWT “ En1 Dead” para off ( mude as do EN2,3 e 4 também para off)
5. Mud a Var, “*contador*”para set 0 ( este serve para identificar quantas ações forma feitas)
6. Entre com uma fork, se var. “En1 Max Hp” = 0 ( aqui nós vamos cruzar as informações do evento encontro para o combate, se hP Max for = 0 quer dizer que esse inimigo não entrou em combate)
6.a. mude Swt “ En1 dead” para on (isso vai tirar o En1 de combate)
7. Faça os passos 6 e 6.a, para cada inimigo.
8. Mude as swt “Herói 1 not hire” para off ( faça isso para todos os heróis)
9. Mude a swt. “Vitória!” Para off
10. Mude as swt. “Went” para off (mude todos os wents, para off.)
11. Mude as variáveis “En1 X” e “En1 Y” para as posições do evento do inimigo 1 ( fazer isso com todos os inimigos, com suas variáveis correspondentes.)
12. ( nota: como no meu Bsys os inimigos são classificados pelo Max Hp agora nos vamos identificar as figuras com os monstros através do Max hp do monstro)
13. Entre com uma Fork, se var. “EM 1 Max Hp” = 20 ( o hp Max 20 corresponde a mosca)
13.a Show pic n1 ( Pic n1 reservado para o monstro 1) Mosca.png
14. Faça os passos 13, para cada monstro (En1, En2, En3) e para cada tipo de monstro nesse combate, ( meleck, sange suga. Lembrando de usar a variável que identifica o seu monstro exemplo eu uso o Max hp .)
15. Call event Battle begin pagina 6.( verifica se algum dos Heróis ou inimigos estão mortos)
16. Call event Battle begin pagina 4.(Configura a vez de ação de cada personagem)
17. Call event Battle begin pagina 3.(Configura a posição de cada herói na tela)
18. Call event Battle begin pagina 5.(configura o valor de hp e mp nas barras)
19. Show Screen (agora sim sua tela deve aparecer, com todos os gráficos já posicionados.)
20. Espere 0.5 sec
21. Call event Battle begin pagina 13.( inicia/termina o combate)
Pagina 01 - Battle Moves..
Este evento encabeça os turnos conforme fomos criando esse evento vou explicando o objetivo de cada ação.
1. coloque uma nota, com o objetivo desse evento, eu coloquei o mesmo do BEP “Battle move results”.
2. inicie um ciclo( vamos chamar este cyclo de “A”.)
3. crie um Label ( no BFK é o n 6).
4. crie outro Label (no BFK é o n 19) ( vou ser honesto não sei porque existem 2 lebal no BEP, acho que 1 só resolve, pois os labeis só buscam na mesma pagina).
5. configure as var. “Speed Herói 1”= a Agilildade do herói 1 ( faça isso para todos os heróis, se seu Bsys for controlada através da velocidade de cada personagem.)
6. Call evento: chame este evento na pagina 9 ( isso irá checar a ordem de ataque).
7. crie um novo label ( no BFK é o Label 5).
8. crie uma fork, se swt. “Run” estiver ON.( quer dizer se escolher fugir a o cyclo ira terminar)
8.a. Break o ciclo.
9. crie uma fork, se swt “Vitória” setiver On ( se a equipe venceu o combate o ciclo ira terminar)
9.a. Break ciclo.
10. Call evento: este evento pagina 5 (isso serve para configurar o Hp e mp atual)
11. mude as var. “Iniciativa 1” e “iniciativa 2” = 0.
12. Call evento: este evento pagina 11 (isso serve para Verificar quem esta morto “Inimigos))
13. Call evento: este evento pagina 10 (checa a iniciativa dos inimigos)
14. Call evento: este evento pagina 11 (Isto serve para verificar quem está morto “Heróis”)
15. Call evento: este evento pagina 8 (checa a iniciativa dos Herois)
16. Nota: Estes call eventos acima, são o que faz o turno girar, e só vai parar quando ligar a vitória o fugir, se todos morrerem é ligado o game over, ou vc pode colocar uma nova swt. Determinando o que vai acontecer quando todos morrerem).
17. crie uma fork, se swt “Went 1” for ON.
18. Crie uma fork dentro da outra com todos as swt “WENTS” ( quer dizer se todas as swt Wents estiverem ON, acontecera um evento.
18.a. Dentro da ultima fork vamos colocar: uma Change Swt que torne todas as swt Went= Off ( vale lembrar que as swt Wents são para indicar a vez, se não existir este evento os ataques aconteceram apenas uma vez. Por isso após todos atacarem deve-se desligar todas e recomeçar os ataques.)
18.b. crie uma nova fork, se swt “ En1 morto” = off.
18.b.a. mude a var. “Speed En1” +, 999 ( isso é para poder zerar o speed dos monstros e eles não ficarem atacando toda hora.)
18.b.b. Repita os passos 18.b, 18.b.a, para tofos os “En Mortos”
18.c Coloque um go to Label 6” ( isso voltará ao inicio desse evento)
19. Coloque um Go to label 5 ( isso fará retornar os eventos de ação caso o combate não tenha acabado)
20. Coloque um Label 3
21. Break ciclo.
22. nota: todos estes eventos são dentro do cyclo do item 2.
Pagina 02 - Evento Derrota e Vitória..
Este evento nós vamos configurar quando se considera uma vitória e quando se considera uma derrota.
1. inicie o evento com uma nota: com o nome dessa pagina.
2. crie uma fork, se swt “Herói 1 dead” = On.
2.a crie uma fork dentro da outra com as condições das variáveis Herói morto ON para todos os heróis.( isso é para verificar quando todos os heróis estão mortos, para dar a sentença de derrotados.)
2.b. Dentro da ultima fork, coloque o evento de derrota, faço o que quiser escurecer tlas.. colocar som.. diminuir o volume da music..etc..
2.c Coloque o Game over ( se vc não quiser habilite um swt para se caso morrer acontecer um outro evento... pré configurado na pagina 1.)
3. No fim de todos os eventos acima vamos colocar uma nova fork, deta vez , vamos considerar os inimigos mortos. Então ficará; fork, se swt “En1 Morto” = ON
3.a. Crie uma fork dentro da outra com as condições das variáveis En2 morto ON para todos os inimigos.( isso é para verificar quando todos os inimigos morrerem, dar a sentença de Vitóra.)
3.b. Mude a var. “vitória “ ON ( Para indicar que a equipe venceu.)
3.c. toque a musica de vitória.
3.d. Mude as swt, “encontro 1”, off.
3.e. Mude as var. “xp ganho” = 0
3.f. Mude as var. “gp ganho” = 0
3.g. Mude a var. “gp ganho” para + var. “en1 GP” ( some + todos os gp dos EN2,EN3)
3.h. Mude a var. “xp ganho” para + var. “en1 XP” ( some + todos os xp dos EN2,EN3)
3.i. nota: no Bkf o XP é dividido igualmente para o numero de combatentes, por isso eu divido o total da var. “XP Ganho” pelo numero atual da equipe. (Mas vc pode fazer como quiser, mas na versão do Bfk 2.0 o xp vai ser completo.)
3.j. Insira uma fork, se o herói 1 estiver na equipe,
3.j.a. Insira outra fork, se o swt “herói 1 Morto” estiver ON, ( em Else case coloque Change Hp Incresed +1, isso serve se o herói morreu no combate ele não vai ganhar xp, mas irá retornar com 1hp, mas ainda morto.)
3.j.a.a. Mude o XP ( usando a opção Change XP, do Herói 1, somando o valor da variável XP ganho, deixe clicado a opção avisar Level UP).
4. Repita os passos 3.j. Para todos os heróis.
5. Call evento: Commum Evento: Resolve dano ( para caucular o HP e MP real dos heróis)
6. Adicione Gp usando a var. “GP ganho”.
7. wait 0.5sec
8. Coloque uma mensagem de Ganha XP.. Ganha GP. Ganha sei lá o que.
Pagina 03 - Lugar de cada herói..
Aqui vamos definir onde vai ficar posicionado cada herói dentro da tela, isso se em seu jogo existe a pociblidade de alteração de formação, ou a equipe pode variar durante o jogo, vc deve fazer esse evento.
Aqui vc pode fazer a formação do herói à-vontade. No caso, é só separa por uma fork e uma variável contendo o numero da posições desejadas.
1. Entre com uma fork, se Herói 1 estiver na equipe. ( else case: mude swt “ heroi1 not hire”=on)
1.a Entre com uma fork, se var. “Herói1 position” = 1
1.a.a. use a opção “place of event”, para teleportar o evento do herói 1 até o desejado.
1.a.b. No Bkf eu uso um char set para fazer o display do hp, e também uso um plece event para configura-lo, se vc usar um outro tipo de display para seu hp vc pode colocar o evento aqui. Ao invés de place events vc vai usar show pics ou outro comando..
1.b Entre com uma fork, se var. “Herói1 position” = 2
1.b.a. use a opção “place of event”, para teleportar o evento do herói 1 até o desejado.
1.b.b. No Bkf eu uso um char set para fazer o display do hp, e também uso um plece event para configura-lo, se vc usar um outro tipo de display para seu hp vc pode colocar o evento aqui. Ao invés de place events vc vai usar show pics ou outro comando.
1.c. Entre com uma fork, se var. “Herói1 position” = 3
1.c.a. use a opção “place of event”, para teleportar o evento do herói 1 até o desejado.
1.c.b. No Bkf eu uso um char set para fazer o display do hp, e também uso um plece event para configura-lo, se vc usar um outro tipo de display para seu hp vc pode colocar o evento aqui. Ao invés de place events vc vai usar show pics ou outro comando.
1.d. Entre com uma fork, se var. “Herói1 position” = 4
1.d.a. use a opção “place of event”, para teleportar o evento do herói 1 até o desejado.
1.d.b. No Bkf eu uso um char set para fazer o display do hp, e também uso um plece event para configura-lo, se vc usar um outro tipo de display para seu hp vc pode colocar o evento aqui. Ao invés de place events vc vai usar show pics ou outro comando
1.e. Entre com uma fork, se swt “ Herói1 Morto” = ON
1.e.a. Mude o gráfico do evento para o desenho dele morto.
2. Faça os passos 1 para todos os heróis.
Pagina 04 - Qual é a real posição
Aqui vamos definir quem vem na frente de quem graficamente. Tipo o herói 2 é o líder e tem que aparecer na posição 1 da tela. Etc..Como havíamos acertado nem antes onde seriam as posições na tela. Isso não tem no BEP(antigo) é uma inovação do BKF, a possibilidade de todos os heróis ocuparem todas as posições. Ex: no BEP o herói principal sempre irá aparecer na 1ª posição (lado superior direito da tela), e os outros nessa seqüência. lá eles não podem mudar de posição. Já no BKF isso mudou.. Todos podem assumir qualquer posição que o jogador quiser, desde que tenha personagens para aquela, posição. Ex. se o jogador estive jogando com 1 herói apenas, este herói não pode ocupar a posição 2.
Nós havíamos criado 4 variáveis, chamada Líder, seguidor 1,2 e 3. e também colocamos números para cada herói assim vamos determinar a posição. EX: O Herói 1 seu numero ID =1, herói 5 seu numeroID = 5 e herói 6 seu numero ID =6, vamos fazer que a ordem de formação seja: herói 6, herói 1e herói 5. sendo assim o herói 6 é o líder, ( então a variável “líder” = 6 - que é o numero do herói.), o herói 1 é o seguidor 1, ( então a var. “seguidor 1” = 1 que é o numero do herói 1) e o herói 5 é o seguidor 2. ( então a var. “seguidor 2” = 5 que é o numero do herói 5).
Pré determinamos também a posição de combate do Líder, seguidor 1,2 e3. e numeramos cada posição.
En1 Lider -------- posição 1
En2 Seg. 1 ------ Posição 2
En3 Seg. 2 ----- Posição 3
Seg. 3. ---Posição 4
Vamos configurar essas variaveis:
1. Entre com uma fork, se var. “líder” = 1 ( quer dizer se o valor de é o ID do herói 1)
2. Mude a var “ Herói 1 position” = 1.
3. Entre com uma fork, se var. “seguidor 1” = 1 ( quer dizer se o valor de é o ID do herói 1)
4. Mude a var “ Herói 1 position” = 2.
5. Entre com uma fork, se var. “seguidor 2” = 1 ( quer dizer se o valor de é o ID do herói 1)
6. Mude a var “ Herói 1 position” = 3.
7. Entre com uma fork, se var. “seguidor 3” = 1 ( quer dizer se o valor de é o ID do herói 1)
8. Mude a var “ Herói 1 position” = 4.
9. Repita os passos 1-8 para todos os heróis.
Pagina 05 - Display Hp e mp.
Aqui vamos fazer os eventos do display de hp e mp. No caso do BEP, este configura diretamente as pics do HP e Mp, mas no caso do BFK, eles chamam eventos que estão nos chars dos hps e mps.
Aqui vc vai fazer da forma que deseja fazer o display do seu jogo. Mas no tutorial eu vou colocar conforme o do BFk ai vcs encontram o melhor jeito.
1. Entre com uma fork, se var. “Herói 1 HP” Above, 0
1.a. Mude a swt. “herói 1 Morto” = ON ( serve para verificar se o herói já está morto ou não.)
2. Faça isso para todos os heróis.
3. Entre com uma fork, Se herói 1 estiver na equipe.
3.a. Call evento, Chame o evento do Hp e Mp do herói. ( se seu display de hp e mp forem charsets, se não faça os eventos de hp e Mp em um comum evento, faça como achar melhor e mais cômodo.).
4. faça isso para todos os heróis, e inimigos.
Pagina 06 - Display Hp e mp.
Aqui vamos fazer os eventos que faz o System entender que o herói está fora de combate durante o combate. (morto). Para isso acontecer temos que ligar os swt “wents”, para indicar que não estão no combate.
Da seguinte forma:
1. Entre com uma fork, se swt. “ En1dead” = ON
1.a. mude o swt “went 4” = On ( lembre-se que a swt “went 4” é reservada para o 1 inimigo.)
2. Entre com uma fork, se swt. “ En2dead” = ON
2.a. mude o swt “went 5” = On ( lembre-se que a swt “went 5” é reservada para o 2 inimigo.)
3. Entre com uma fork, se swt. “ En3dead” = ON
3.a. mude o swt “went 6” = On ( lembre-se que a swt “went 6” é reservada para o 3 inimigo.)
4. Entre com uma fork, se swt. “ Heroi 1 Morto” = ON
4.a. Entre com uma fork, se var. “ Heroi 1 position” = 1
4.a.a. Mude a swt. “went 1” para On ( lembre-se que a swt “went 1” é reservada para a posição 1.)
4.b. Entre com uma fork, se var. “ Heroi 1 position” = 2
4.b.a. Mude a swt. “went 2” para On ( lembre-se que a swt “went 2” é reservada para a posição 2.)
4.c. Entre com uma fork, se var. “ Heroi 1 position” = 3
4.c.a. Mude a swt. “went 3” para On ( lembre-se que a swt “went 3” é reservada para a posição 3.)
4.d. Entre com uma fork, se var. “ Heroi 1 position” = 4
4.d.a. Mude a swt. “went 4” para On ( lembre-se que a swt “went 4” é reservada para a posição 4.)
5. Faça os paços 4 para todos os heróis.
6. Entre com uma fork, se var. “herói 1position” for diferente de 1 (other)
6.a. Entre com uma fork, se var. “herói 2position” for diferente de 1 (other)
6.a.a. Entre com uma fork, se var. “herói 3position” for diferente de 1 (other)
6.a.a.a. Entre com uma fork, se var. “herói 4position” for diferente de 1 (other) ( faça uma fork dentro da outra com todos os heróis na posição 1.
6.a.(...)a. Dentro da ultima fork, coloque ligar Went 1 ON ( isso seginifica se todos os erois estiverem em posições que não seja a 1, a went 1 será ligada e cancelando o turno do herói que estiver ( ou que não estiver) na posição 1.
7. Faça as etapas 6 para cada posição de herói, lembrando que para a posição 2 è a Went 2, a posição 3 é a went 3 e assim por diante.)
Pagina 07 - Condição (veneno, e outros).
Outra inovação do BFK, não me lembro o que o BEP tem nessa pagina.. mas seja o que for é inútil..kkkkkkkkkkkkk. mas aqui no BFK é configurado a condição do herói., demos numero a cada condição EX.: Normal=0, Veneno=1, Paralizado=2.. etc...
Aqui nós vamos comparar e colocar estes efeitos.:
1. Entre com uma fork, se var. “Herói 1 condição” = 1 ( envenenado)
1.a. Entre com uma fork, se swt. “Herói not hire” = off ( pois o heroi pode estar invenenado mas não está no combate)
1.a.a. Entre com uma fork, se swt. “Herói 1 morto” = Off ( o herói deve estar vivo)
1.a.a.a. mude a var. “Dano” = 0 (aqui vai o efeito da condição no caso do veneno ele perde um numero X de hp a cada Raund).
1.a.a.b. mude a var. “Dano” para um numero aleatório de 1-10
1.a.a.c. mude a var. “---X---” = coord X do Herói 1.
1.a.a.d. mude a var. “---Y---” = coord Y do Herói 1.( isso é para o dano aparecer no heroi 1)
1.a.a.e. chame o comum evento de “HP perda” ( para fazer o display da perda pelo veneno).
1.a.a.c. mude a var.”herói 1 HP” para -, var. “dano”.
2. Faça este evento para todos os heróis.
3. Faça os paços 1 e 2 para cada tipo de Condição.
Pagina 08 - chek Speed Hero ( ver quem é o herói mais rápido)
Aqui vcs vão intender como é checados a velocidade, e aqueles eventos todos do “Check Speed/dead”.
Aqui vamos intercalar a “Battle begin” com o “Check Speed/dead”.
1. Entre com uma fork, se swt “went1” = OFF ( se o herói da posição 1 não fez a ação.)
1.a. Call evento - check Speed/Dead” na pagina 5 ( irá comparar a velocidade do Heroi 1 com o da posição 1.)
1.b Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En1 Speed” ( a iniciativa 1 foi configurada para o speed do herói da posição 1 pela call evento acima).
1.b.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En2 Speed”
1.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En3 Speed”( esses últimos eventos nós verificamos se a velocidado do herói que está na posição 1 é maior que todos os inimigos, se for vamos comparar com as dos heróis, se não for ira acontecer outro evento no final deste.mas vamos ver isso no final.)
1.b.a.a.a. Call evento - check Speed/Dead” na pagina 3 ( irá comparar a velocidade do Heroi 1 com o da posição 1,com a do herói da posição 2, tornando a variável “iniciativa 2” = ao speed do herói da posição 2.)
1.b.a.a.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
1.b.a.a.b.a. Call evento - check Speed/Dead” na pagina 4 ( irá comparar a velocidade do Heroi com o da posição 1,com a do herói da posição 3, tornando a variável “iniciativa 2” = ao speed do herói da posição 3.)
1.b.a.a.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
1.b.a.a.b.b.a. Call evento - check Speed/Dead” na pagina 5 ( irá comparar a velocidade do Heroi com o da posição 1,com a do herói da posição 4, tornando a variável “iniciativa 2” = ao speed do herói da posição 4.)
1.b.a.a.b.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”( else case: GoTo Label nº1.( se a velocidade do herói da posição 1 não for maior que a de ningém, ele irá esperar e o system irá buscar o próximo, até que todos tenham jogado e só assim voltará a este evento.)
1.b.a.a.b.b.a.a.b. Call evento - check Speed/Dead” na pagina 10 ( irá iniciar as ações do herói da posição 1 quando as velocidades dos monstros e dos outros heróis forem menor que a dele.)
1.b.a.a.b.b.a.a.c. Mude a swt. “went1” = On ( quer dizer que o heroi da posição 1 já fez a ação.)
1.b.a.a.b.b.a.a.d. Call evento - este evento na pagina 2 ( irá verificar se com esse ataque o combate acabou., se não o evento da pagina 2 irá continuar os turnos.e só retornará aqui depois que o herói da posição 1 vencer o combate. )
1.b.a.a.b.b.a.a.e. Mude a swt. “vitória!!” = On ( assim se o ataque do herói da posição 1 for o final irá ligar a vitoria.)
1.b.a.a.b.b.a.a.f. Go to Label nº 3 ( isso irá levar este evento para o fim sem ter que passar pelos outros heróis, já que a vitória já foi concluída.)
2. Lebel n º1
3. Entre com uma fork, se swt “went2” = OFF ( se o herói da posição 2 não fez a ação.)
3.a. Call evento - check Speed/Dead” na pagina 6 ( irá comparar a velocidade do Heroi com o da posição 2.)
3.b Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En1 Speed” ( a iniciativa 1 foi configurada para o speed do herói da posição 2 pela call evento acima).
3.b.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En2 Speed”
3.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En3 Speed”( esses últimos eventos nós verificamos se a velocidado do herói que está na posição 2 é maior que todos os inimigos, se for vamos comparar com as dos heróis, se não for ira acontecer outro evento no final deste.mas vamos ver isso no final.)
3.b.a.a.a. Call evento - check Speed/Dead” na pagina 4 ( irá comparar a velocidade do Heroi da posição 2,com a do herói da posição 3, tornando a variável “iniciativa 2” = ao speed do herói da posição 3.)
3.b.a.a.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
3.b.a.a.b.a. Call evento - check Speed/Dead” na pagina 5 ( irá comparar a velocidade do Heroi com o da posição 2,com a do herói da posição 4, tornando a variável “iniciativa 2” = ao speed do herói da posição 4.)
3.b.a.a.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
3.b.a.a.b.b.a. Call evento - check Speed/Dead” na pagina 2 ( irá comparar a velocidade do Heroi com o da posição 2,com a do herói da posição 1, tornando a variável “iniciativa 2” = ao speed do herói da posição 1.)
3.b.a.a.b.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”( else case: GoTo Label nº2.( se a velocidade do herói da posição 1 não for maior que a de ningém, ele irá esperar e o system irá buscar o próximo, até que todos tenham jogado e só assim voltará a este evento.)
3.b.a.a.b.b.a.a.b. Call evento - check Speed/Dead” na pagina 11 ( irá iniciar as ações do herói da posição 2 quando as velocidades dos monstros e dos outros heróis forem menor que a dele.)
3.b.a.a.b.b.a.a.c. Mude a swt. “went2” = On ( quer dizer que o heroi da posição 2 já fez a ação.)
3.b.a.a.b.b.a.a.d. Call evento - este evento na pagina 2 ( irá verificar se com esse ataque o combate acabou., se não o evento da pagina 2 irá continuar os turnos.e só retornará aqui depois que o herói da posição 2 vencer o combate. )
3.b.a.a.b.b.a.a.e. Mude a swt. “vitória!!” = On ( assim se o ataque do herói da posição 2 for o final irá ligar a vitoria.)
3.b.a.a.b.b.a.a.f. Go to Label nº 3 ( isso irá levar este evento para o fim sem ter que passar pelos outros heróis, já que a vitória já foi concluída.)
4. Lebel nº2
5. Entre com uma fork, se swt “went3” = OFF ( se o herói da posição 3 não fez a ação.)
5.a. Call evento - check Speed/Dead” na pagina 7 ( irá comparar a velocidade do Heroi com o da posição 3.)
5.b Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En1 Speed” ( a iniciativa 1 foi configurada para o speed do herói da posição 3 pela call evento acima).
5.b.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En2 Speed”
5.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En3 Speed”( esses últimos eventos nós verificamos se a velocidado do herói que está na posição 3 é maior que todos os inimigos, se for vamos comparar com as dos heróis, se não for ira acontecer outro evento no final deste.mas vamos ver isso no final.)
5.b.a.a.a. Call evento - check Speed/Dead” na pagina 5 ( irá comparar a velocidade do Heroi da posição 3,com a do herói da posição 4, tornando a variável “iniciativa 2” = ao speed do herói da posição 4.)
5.b.a.a.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
5.b.a.a.b.a. Call evento - check Speed/Dead” na pagina 2 ( irá comparar a velocidade do Heroi com o da posição 3,com a do herói da posição 1, tornando a variável “iniciativa 2” = ao speed do herói da posição 1.)
5.b.a.a.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
5.b.a.a.b.b.a. Call evento - check Speed/Dead” na pagina 3 ( irá comparar a velocidade do Heroi com o da posição 3,com a do herói da posição 2, tornando a variável “iniciativa 2” = ao speed do herói da posição 2.)
5.b.a.a.b.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”( else case: GoTo Label nº4.( se a velocidade do herói da posição 3 não for maior que a de ningém, ele irá esperar e o system irá buscar o próximo, até que todos tenham jogado e só assim voltará a este evento.)
5.b.a.a.b.b.a.a.b. Call evento - check Speed/Dead” na pagina 12 ( irá iniciar as ações do herói da posição 3 quando as velocidades dos monstros e dos outros heróis forem menor que a dele.)
5.b.a.a.b.b.a.a.c. Mude a swt. “went3” = On ( quer dizer que o heroi da posição 3 já fez a ação.)
5.b.a.a.b.b.a.a.d. Call evento - este evento na pagina 2 ( irá verificar se com esse ataque o combate acabou., se não o evento da pagina 2 irá continuar os turnos.e só retornará aqui depois que o herói da posição 3 vencer o combate. )
5.b.a.a.b.b.a.a.e. Mude a swt. “vitória!!” = On ( assim se o ataque do herói da posição 3 for o final irá ligar a vitoria.)
5.b.a.a.b.b.a.a.f. Go to Label nº 3 ( isso irá levar este evento para o fim sem ter que passar pelos outros heróis, já que a vitória já foi concluída.)
6. Lebel nº4
7. Entre com uma fork, se swt “went4” = OFF ( se o herói da posição 4 não fez a ação.)
7.a. Call evento - check Speed/Dead” na pagina 8 ( irá comparar a velocidade do Heroi com o da posição 4.)
7.b Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En1 Speed” ( a iniciativa 1 foi configurada para o speed do herói da posição 4 pela call evento acima).
7.b.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En2 Speed”
7.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En3 Speed”( esses últimos eventos nós verificamos se a velocidado do herói que está na posição 4 é maior que todos os inimigos, se for vamos comparar com as dos heróis, se não for ira acontecer outro evento no final deste.mas vamos ver isso no final.)
7.b.a.a.a. Call evento - check Speed/Dead” na pagina 2 ( irá comparar a velocidade do Heroi da posição 4,com a do herói da posição 1, tornando a variável “iniciativa 2” = ao speed do herói da posição 1.)
7.b.a.a.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
7.b.a.a.b.a. Call evento - check Speed/Dead” na pagina 3 ( irá comparar a velocidade do Heroi com o da posição 4,com a do herói da posição 2, tornando a variável “iniciativa 2” = ao speed do herói da posição 2.)
7.b.a.a.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
7.b.a.a.b.b.a. Call evento - check Speed/Dead” na pagina 4 ( irá comparar a velocidade do Heroi com o da posição 4,com a do herói da posição 3, tornando a variável “iniciativa 2” = ao speed do herói da posição 3.)
7.b.a.a.b.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”( else case: GoTo Label nº3.( se a velocidade do herói da posição 4 não for maior que a de ningém, ele irá esperar e o system irá buscar o próximo, até que todos tenham jogado e só assim voltará a este evento.)
7.b.a.a.b.b.a.a.b. Call evento - check Speed/Dead” na pagina 13 ( irá iniciar as ações do herói da posição 4 quando as velocidades dos monstros e dos outros heróis forem menor que a dele.)
7.b.a.a.b.b.a.a.c. Mude a swt. “went4” = On ( quer dizer que o heroi da posição 4 já fez a ação.)
7.b.a.a.b.b.a.a.d. Call evento - este evento na pagina 2 ( irá verificar se com esse ataque o combate acabou., se não o evento da pagina 2 irá continuar os turnos.e só retornará aqui depois que o herói da posição 4 vencer o combate. )
7.b.a.a.b.b.a.a.e. Mude a swt. “vitória!!” = On ( assim se o ataque do herói da posição 4 for o final irá ligar a vitoria.)
7.b.a.a.b.b.a.a.f. Go to Label nº 3 ( isso irá levar este evento para o fim sem ter que passar pelos outros heróis, já que a vitória já foi concluída.)
8. Label nº3
Pagina 09 - Chek Hero Turn
Aqui vcs vamos fazer as condições para que chame o menu do personagem, no caso de BFK todos os personagens usufruem das mesmas pics e sistema de menu de batalha, apenas as variáveis de um personagem para outro muda, mas a exucução do menu é a mesma, assim acontece também com o BEP, pois cada herói deve fazer uma ação diferente sem ter que refazer um evento, pra cada um, se todos vão usar do mesmo menu.
1. Mude as swt. “Went1” ( todas as var. “wents”) = Off
2. Entre com um ciclo.
2.a. Entre com uma fork, se Herói 1 estiver na equipe.
2.a.a. Entre com uma fork, se swt. Herói 1 morto” = Off
2.a.a.a. Entre com uma fork, se var. “Herói 1 position” = var. “Contador” ( isso vai verificar se é a vez do herói 1 escolher a ação.)
2.a.a.a.a. Call evento: Heroi 1, pagina 02 ( é a pagina onde fica o menu de commandos).
2.a.a.a.b. Mova as pics de todos os inimigos em suas respectivas coordenadas. (ex.: move pic 1 para a var. “En1 X”, “En1 Y”. Faça isso com todas as pics de inimigos.)
2.a.a.a.c. Call evento: Este evento, na pagina 5 (irá arrumar os hp e mps)
2.b Entre com uma fork, se Swt. “Run” = on (quando a escolha do herói foi fugir)
2.b.a. Quebre o cyclo.( se a opção for fugir)
2.c. Faça isso para todos os heróis ( sempre dentro do ciclo).
2.d. ainda dentro do ciclo, entre com uma fork, se swt. “ *breaker*” = On ( essa swt. Ligará sómente quando todas as ações estiverem sido escolhidas.) Else case: mude a var. “*contador*”, +1 (quer dizer se não terminou as ações acrecente 1 no contador, que será confrontado com a var. da positon dos outros heróis, e dará a a vez ao proximo, em outras palavras aumente 1 para poder fazer a ação do próximo herói.)
2.d.a. Mude a var. “*contador*”, - ,1 ( irá parar o contador no numero anterior.)
2.e. Mude a swt. “*breacker*” = off
2.f. Entre com uma fork, se var. “*Contador*” = 5 (este numero deve ser o numero de heróis total +1, ex. se seu bsys só tiver 3 heróis no Maximo em combate vc coloca o valor 4 que é 3(heróis)+1.)
2.f.a. mude a var. “*Contador*” = 0
2.f.b. quebre o ciclo (Break cycle).
3. Agora fora do ciclo, Call evento: Este evento pagina 7 (chama as condições, que dizer que depois de ter selecionado todas as ações dos heróis eles vão sofrer as condições.. tipo veneno, paralizia.. etc...)
Pagina 10 - Check Enemy Speed.
Aqui vamos fazer o calculo da velocidade dos monstros em relação a equipe.
1. Entre com uma fork, se swt. “vitória” = On
1.a. Go to Label 3.
2. entre com uma fork, se swt “went5” = OFF ( went 5 é reservada para o inimigo 1).
2.a. Mude a var. “iniciativa 1” = var. “En1 Speed”.
2.b. Call evento: Check Speed/dead pagina 2 ( irá configurar a var. “Iniciativa 2” para o speed do heroi da posição 1).
2.c. Entre com uma fork, se var “iniciativa 1” for maior (above) “iniciativa 2”
2.c.a. Call evento: Check Speed/dead pagina 3 ( irá configurar a var. “Iniciativa 2” para o speed do heroi da posição 2).
2.c.b. Entre com uma fork, se var “iniciativa 1” for maior (above) “iniciativa 2”
2.c.b.a. Call evento: Check Speed/dead pagina 4 ( irá configurar a var. “Iniciativa 2” para o speed do heroi da posição 3).
2.c.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) “iniciativa 2”
2.c.b.b.a. Call evento: Check Speed/dead pagina 5 ( irá configurar a var. “Iniciativa 2” para o speed do heroi da posição 4).
2.c.b.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) “iniciativa 2”
2.c.b.b.b.a. Call evento; Inimigo 1 pagina 1( está é a pagina de ataques do En1.)
2.c.b.b.b.b. Mude a swt. “Went 5” = ON.
2.c.b.b.b.c. Call evento: Este evento pagina 2 ( irá verificar se terminou o combate.)
2.c.b.b.b.d. Mude a var. “En1 Speed” +, 999. (isso irá zerar a velocidade, e reinicia-la. De uma base que é 999.)
3. Faça os comandos nº 2 para todos os outros monstros.
4. no final coloque o lebel 3, porque caso a swt.”vitória” for ligada os monstros não continuarem atacando.
Pagina 11- Display Hp e mp.
Esta pagina é cópia da pagina 6 deste evento portanto é só copiar, precisa ter os dois pois lembra aquele pau que eu mencionei no começo de uma pagina menor não chamar uma maior, bem essa pagina é um exemplo precisa da pagina 11 e da 06 por este motivo.
Pagina 13- fim do combate
Esta pagina vamos determinar o fim do combate pois se vc vencer ou fugir irá cair nesta pagina.
Esta pagina tem a condição da Swt “Encontro 1” = On ( para evitar do bsys entrar em um novo ciclo)
1. coloque um Lebel n º1
2. Mude a swt “ encontro 1” = on ( para que o evento não chame o auto start da pagina 12 novamete).
3. Call evento: este evento pagina 1 ( na verdade depois da pagina 12 ele vem pra cá ai começa o combate por isso ele vai para a pagina 1, e só vai voltar a pagina 13 quando o ciclo for quebrado, ou terminar a batalha.)
4. Lebel nº 9
5. feche a tela com um efeito
6. mude todas as swt “heróis morto” para OFF
7. abaixe o volume da mid. (Fade out.)
8. wait 1.0 sec
9. Go to memorized place.
10. Play memorized BGM
11. de um novo valor aleatório para a var. “passos combate”.
12. volte com a opacidade normal do Herói. ( faça com que ele volte a estar visível)
13. Call evento: Comum evento, Resolve dano ( que irá transformar todas as variáveis alteradas dos heróis para as verdadeiras.
14. Zere as Var. “En1 Xp, Gp” isso vale para todos os inimigos.)
15. ligue seu menu.
16. mude a swt “ encontro 1” = off
17. Show screen..
Pronto!!!! Todo o turno do combate foi configurado.
Agora vc só vai precisar fazer as ações dos monstros e dos heróis. Que veremos a seguir.
“Monstros”
vcs devem ter notado que durante este tutorial eu faço a distinção de Monstros/inimigos, mostro é quando se trata de um tipo de inimigo. E Inimigo é quando se fala de um oponente dentro do combate, embora as duas coisas sejam a mesma praticamente aqui temos que diferenciar, pois os inimigos possuem monstros aleatoriaos.
Este evento é construído dentro do Charset ( ou evento) dos inimigos no caso EN1, En2, En3, se seus monstros são pics vc deixa a imagem desse charset em branco. E não precisa ter condição nenhuma.
Importante!
Aqui vc pode ter quantas paginas achar necessárias vou demonstrar algumas para vc se adaptar a um bsys.
Os eventos dos monstros são os de escolha da ação e as demais para aplicar a ação, cada tipo de ação de um inimigo deve ter uma pagina para ele.
Lembra do nosso caderninho... ele vai ser muuuito utuil agora.. pois lá vc identificou a variável que irá indicar um tipo de monstro. (Ex.: no BFK e o BEP usa a variável “max hp” do inimigo para identificar o tipo de monstro e o valor de 20 é para identificar a mosca, 38 o slime.. e assim por diante.)
No cardeninho vc colocou todas as especificações do monstro incluindo os ataques que ele pode fazer e os numerou, ex: ( uma abelha pode ter um ataque normal, um ataque critico, um duplo ataque, e um Espacial que envenena o inimigo. Um slime pode ter apenas um ataque normal.)
Cada habilidade do monstro foi catalogada Ex.: Ataque normal, ataque critico, ataque duplo, magia, fugir, etc..)
Cada uma da habilidades deve ter um numero que será correspondente a pagina deste evento.
Pagina 01- escolha das ações.
Nesta paginas vamos determinar quais as ações que os inimigos do 1 grupo ( grupo de encontro) podem executar. Como os inimigos fazem ataques automáticos não precisamos fazer seleções como é o caso dos heróis. Então se baseia em um numero aleatório que identifica um ataque. No BEP ele complica mais essa 1 pagina, mas no BFK fica mais fácil, mas eu creio que de pra simplificar mais ainda.
1. Entre com uma fork, Se swt. “En1 morto” = Off ( se o inimigo 1 estiver vivo)
1.a. Entre com uma fork, se var. “En1 HP Max” = 20 ( essa fork deve indicar a variable que vc está usando para identificar qual é o monstro, como eu já tinha dito o BFK e o BEP usa a variável “max hp” do inimigo para identificar o tipo de monstro e o valor de 20 é para identificar a mosca, outros valores identificam outros monstros.)
1.a.a. Mude a Var. “En1 move” para um numero aleatório ( aqui o numero a ser escolhido deve ser os da habilidade que esse monstro pode usar, vamos considerar que essa mosca tem as seguintes habilidades; Ataque[1], Ataque duplo[2], Ataque critico [3], fugir [4], envenenar [5]. Então o nuero aqui deve ser um numero aleatório entre 1 a 5.) ( vc pode fazer diferente como no BEP, dando prioridade a um ataque ex. de 1-5 é o ataque normal, de 6-7 ataque critico e 8 é o especial, isso fará com que a probabilidade do monstro usar um ataque normal é maior que a de usar um outro tipo.)
1.b. Ente com uma fork, se var. “En1 HP Max” = 38 (aquí indica o novo tipo de mosntro, repita os paços acima para cada monstro nesse grupo de combate.)
1.c. wait 0.3 seg.
1.d. Entre com uma fork, se var. “En1 move” = 1 ( aqui vamos identificar a variável para a ação se vc fez apartir de prioridade desse ataque, é a conselhavel que vc use um less ( menos que) o numero esolhido);
1.d.a. Call evento este evento pagina 3 ( é a pagina onde esta a ação do ataque normal.)
1.d.b. Go to Label nº9
1.e. Entre com uma fork, se var. “En1 move” = 2 ( aqui vamos identificar a variável para a ação)
1.e.a. Call evento este evento pagina 4 ( é a pagina onde esta a ação do ataque critico.)
1.d.b. Go to Label nº9
1.f. Faça isso para todos os ataques e habilidades que vc julgue necessário, sempre após o termino da seleção de ataque coloque um go to label 9.
1.g. Na ultima habilidade coloca um else case, no Else case coloque para fazer uma ação normal no caso da pagina 3 que é o ataque normal. Pois caso nenhuma ação for selecionada ele irá fazer um ataque normal.
2. coloque o Lebel 9.
Pagina 02 - show pics
Nesta paginas vamos fazer as pics de cada monstro para cada lugar. O evento de encontro já determinou quantos monstros irá ter no encontro e também já determinou quais são estes monstros através da var. “Em Max HP”, agora o que faremos é colocar as pics exatas nos lugares determinados.
1. Entre com uma fork, se Swt “ En1 Morto” = Off ( se tiver vivo)
1.a. entre com uma fork, se var. “ En1 Max Hp” = 20 (que é o numero para reconhecer como o monstro Mosca)
1.a.a. Show pic 1 (pic da mosca) nas var. “En1X” e “En1Y”.
1.b. Faça o mesmo para todos as pics dos seus monstros.
Pagina 03 - Ataque normal
Desta pagina em diante vamos colocar exatamente o que queremos que aconteça quando o ataque for selecionado. Vou citar apenas o esquema de como fazer ele funcionar, como ele vai funcionar vai da sua criatividade e como vc deseja.
1. Coloque uma nota indicando o tipo de ataque.
2. Mude a var. “miss” = numero aleatório ( escolha qualquer variação de erro que vc quiser, eu coloco de 1-8, quando der 8 ocorre o miss.)
3. Coloque as pics dos monstros nos seus lugares, movendo-as para o En1 X, En1Y..etc..
4. Calcule o Dano, como vc deseja, deixando o valor na var. “Dano”
5. Entre com um ciclo ( Para que o monstro escolha um personagem ativo como alvo).
5.a. coloque um Lebel nº 30
5.b. mude a var. “equipe” para o numero da equipe.
5.c. Mude a var. “en1 alvo” = numero aleatorio entre 1-4 ( numero de herios no mesmo combate)
5.d. Entre com uma fork, se var. “equipe” for > (bigger) que var. “En1 Alvo” elsecase: go to label 30
5.d.a. Entre com uma fork, se var “En1 alvo” = 1
5.d.a.a. Mude a var “En1alvo” = var “ Líder” ( seleciona o herói que ocupa a posição de líder.)
5.d.a.b. Go to label 31
5.d.b. Entre com uma fork, se var “En1 alvo” = 2
5.d.b.a. Mude a var “En1alvo” = var “ Seguidor1” ( seleciona o herói que ocupa a posição de Seg.1.)
5.d.b.b. Go to label 31
5.d.c. Entre com uma fork, se var “En1 alvo” = 3
5.d.c.a. Mude a var “En1alvo” = var “ Seguidor 2” ( seleciona o herói que ocupa a posição de Seg.2.)
5.d.c.b. Go to label 31
5.d.d. Entre com uma fork, se var “En1 alvo” = 4
5.d.d.a. Mude a var “En1alvo” = var “ Seguidor 3” ( seleciona o herói que ocupa a posição de Seg. 3.)
5.d.d.b. Go to label 31
5.e. Lebel nº31
5.f. Entre com uma fork, se var. “En1 Alvo” = 1 ( se o alvo for o herói 1)
5.f.a. Entre com uma fork, se Herói 1 estiver na equipe ( na verdade esta fork não precisa existir mas é bom pois sabe como é.. as vezes vc pode se enganar nas var.)
5.f.a.a. Entre com uma fork, se swt “ Herói 1 morto” = Off ( o herói 1 deve estar vivo)
5.f.a.a.a. Entre com uma fork, se var. “miss” = 8 ( quer dizer que errou o alvo)
5.f.a.a.a.a. coloque o efeito de errar.(som)
5.f.a.a.a.b. Mude as var “---X---“ e “---Y---“ para as coordenadas do herói 1
5.f.a.a.a.c. faça a pic de Miss aparecer. Da forma que quiser.
5.f.a.a.b. Mude a swt “Herói 1 Hit” = On ( quer dizer que o Herói 1 foi atingido e ligara uma pagina com o char sendo atingido)
5.f.a.a.c. Entre com uma fork, se var “ En1 HP Max” = 20 ( quer dizer se o monstro que atacaou for o de Hpmax 20, que é a mosca)
5.f.a.a.c.a. coloque o animação do ataque da mosca.
5.f.a.a.d. faça 5.f.a.a.c. com todos os tipos de monstros que tenham ataques com animações diferentes.
5.f.a.a.e. Mude as var “---X---“ e “---Y---“ para as coordenadas do herói 1
5.f.a.a.f. wait 0.2 sec
5.f.a.a.g. Mude a swt “Herói 1 Hit” = OFF
5.f.a.a.h. Entre com uma fork, se swt “Heroi 1 def” = On
5.f.a.a.h.a. Mude a imagem do Herói 1 para a dele defendendo.
5.f.a.a.i. Lebel 15
5.f.a.a.j. Entre com uma fork, se var. “herói 1 Hp” > ( bigger) 0
5.f.a.a.j.a. Mude a var “Dano” - var. “herói 1 defesa”
5.f.a.a.j.b. Entre com uma fork, se swt “heroi 1 Def” = On
5.f.a.a.j.b.a. mude a var. “dano” divida por 2
5.f.a.a.j.c. Entre com uma fork, se var. “Dano”< (small) 0
5.f.a.a.j.c.a. Mude a var. “dano” =1
5.f.a.a.j.d. mude a var. “herói 1 HP” - var “dano” ( sofre o dano do inimigo)
5.f.a.a.j.e. call Evento: comum evento : HP perda
5.f.a.a.j.f. call Evento: Battle Beguin: pagina 5 (irá arrumar os HP/Mp)
5.f.a.a.j.g. Entre com uma fork, se var “herói 1 Hp” = 0
5.f.a.a.j.g.a. Mude swt “Heóri 1 Morto” = ON
5.f.a.a.k. Break cicle.
5.g. Faça os paços 5.f. para todos os heróis.
As demais paginas seguem o mesmo principio.. é só vc fazer caulcolos de dano, diferentes.. ou aplicar efeitos.. etc..
Pagina de fulga
No caso da pagina de fulga é só criar um evento zerando oas variaveis de Xp, e GP do monstro, e ligar a swt. Do En1Morto, que o evento de batalha vai considerar que esse inimigo morreu, e continuará o combate,
Faça esses eventos para o EN2 e En3.
“Herois”
Agora vamos para a ultima parte deste tutorial, aqui vão estar todas as ações que o herói pode fazer, seus itens e magias. Aqui o mais importante é ter conhecimento em fazer setas. Ler um tutorial de “menu melhor”, Passwords ou de “Setas”, inclusive esses dois estão para download no site da unimax.
Ajudara muito para fazer essa parte da batalha, por isso não vou explicar como se faz um menu com setas e coisa e tal, vou colocar sempre da seguinte forma; Coloque uma seta para selecionar a variável “tal..” com os pontos de seleção igual há. 1, 2,3,......Ex.:
Coloque uma seta para variável “Escolha1”, para os pontos da variável “heroi position”.
Quer dizer que vc vai escolher um password (var. “Escolha1”), e a cada variação ( clicar pra cima, ou para baixo) a variável irá aumentar ou diminuir 1 ponto. Da variável “herói Position”.
OU Coloque uma seta para variável “Escolha1”, para a quantidade de itens na var. “herói itens”.
Quer dizer que vc vai escolher um password (var. “Escolha1”), e a cada variação ( clicar pra cima, ou para baixo) a variável irá aumentar ou diminuir 1 ponto. Tendo um limite a numero Max e min. De itens no jogo, e esse numero será guardado na var. “Herói Itens.”
Importante!
Todas as imagens das paginas devem ser com o personagem em posição inicial de ataque, se tiver movimento coloque todas em movimento. Apenas em alguns casos que irei alertar a imagem será mudada.
Pagina 01 - Vazia.
Esta pagina é a que vai fazer, o 1º display do herói. Não há eventos
Pagina 02 - Menu Principal
Aqui vai todo o evento do menu, como ele vai se comportar, quais são as escolhas qual pagina irá chamar, como eu havia dito não vou explicar como fazer menus, mas vou deixar algumas dicas.
1. Crie um label (muito importante caso o jogador queira cancelar a ação e voltar com o menu no começo deste evento).
2. Coloque a imagem do herói na posição preparado para atacar.
3. Deixe como padrão o movimento básico que é o ataque. A variável que vai conter qual é a ação é a variável “Heroi 1 Move”.
4. Configure as variáveis (caso vc tenha) que irão pré determinar as posições das pics.
5. Entre com uma fork, se Herói 1 Estiver na equipe (para o funcionamento do menu do Herói 1, ele deve estar na equipe).
5.a. Mude a swt. “Herói 1 Def” = off ( pois ele vai parar de se defender para poder escolher uma nova ação).
5.b. Entre com uma fork, se swt “Herói 1 Morto” = OFF (para o funcionamento do menu do Herói 1, ele deve estar vivo).
5.b.a Mude a swt “Herói 1 Hit” = OFF ( para indicar que o herói não está sendo atacado ainda)
5.b.b. Mude a var. “Herói 1 Move” = 1 ( para que o movimento inicial seja 1, o move 1 é a escolha de ataque, caso no seu Bsys vc queira fazer como o System do CT que ele sempre inicia da última escolha feita, desconsidere esse passo).
5.b.c. Coloque as Pics e chars no seus devidos lugares para iniciar a escolha da ação.
5.b.d. Inicie o Ciclo da seta.
5.b.d.a Coloque uma seta para variável “Escolha1”, para os pontos da variável “Herói 1 Move”, com o limite do numero de ações existentes, no caso do BFK existem o ataque, defesa, magia, itens e fugir, cada uma deve receber um numero que seá indicado pela variável “Herói 1 move”. E faça as pics/char indicarem as posições e ações na tela. Ex.: var. “Herói 1 Move” = 3 show pic na Defesa.
5.b.d.a.a. Em caso de cancelamento: (var.”Escolha1” = 6) Mude a var. “Herói 1 Move” = 6 (6 no BFK é ação de cancelamento). E Break Cyclo.
5.b.d.a.b. Em caso de confirmação: (var.”Escolha1” = 5) Break Cyclo.
5.b.e. Entre com uma fork, se var. “Herói 1 Move” = 1( quer dizer que quando se confirmou a ação, chamar a pagina da preparação da ação 1 = ataque.)
5.b.e.a. Remover as pics do menu. e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.e.b. Call Evento: Este evento: Pagina 9 ( chamará a pagina de escolha do alvo)
5.b.f. Entre com uma fork, se var. “Herói 1 Move” = 2( quer dizer que quando se confirmou a ação, chamar a pagina da preparação da ação 2 = Defesa.)
5.b.f.a. Remover as pics do menu. e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.f.b. Mude a swt. “ Herói 1 Def” = ON
5.b.g. Entre com uma fork, se var. “Herói 1 Move” = 3( quer dizer que quando se confirmou a ação, chamar a pagina da preparação da ação 3 = Magia.)
5.b.g.a. Remover as pics do menu. e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.g.b. Call Evento: Este evento: Pagina 5 ( chamará a pagina do menu de escolha da magia).
5.b.h. Entre com uma fork, se var. “Herói 1 Move” = 4( quer dizer que quando se confirmou a ação, chamar a pagina da preparação da ação 4 = itens.)
5.b.h.a. Entre com uma fork, se os heróis NÃO Tiver item 1( faça isso para todos os itens, colocando uma fork dentro da outra, e na ultima, se o herói não tiver nenhum item, coloque GO to Label 1, irá reiniciar o menu de escolha)
5.b.h.b. Remover as pics do menu.( aqui se o herói tiver qualquer item o menu irá continuar esse evento) e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.h.c. Call Evento: Este evento: Pagina 7 ( chamará a pagina do menu do item).
5.b.i. Entre com uma fork, se var. “Herói 1 Move” = 5( quer dizer que quando se confirmou a ação, chamar a pagina da preparação da ação 5 = fugir.)
5.b.i.a. Mude a swt. “Ran” = On (isso irá indicar ao system que vc tentou fugir)
5.b.i.b. Remover as pics do menu.(aqui se o herói tiver qualquer item o menu irá continuar esse evento) e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.i.c. Call Evento: Este evento: Pagina 3 ( chamará a pagina da fuga.).
5.b.j. Entre com uma fork, se var. “Herói 1 Move” = 6( quer dizer que a ação foi cancelada)
5.b.j.a. Remover as pics do menu. e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.j.b. Entre com uma fork, se var. “ Herói 1 Position” mais que (Above)= 3 ( isso é para quando sua posição for maior que ou igual a 3, Todas as ações serão canceladas), Else case: Go to Label 1.
5.b.j.b.a. Mude a var. “Breaker” = ON
5.b.k. Entre com uma fork, se swt. “cancelado” = ON (caso outra ação tenha cancelado esta)
5.b.k.a. Mude a swt “ cancelado” = OFF
5.b.k.b. Go to Label 1
6. Remover todas as pics do menu.
Pagina 03 - Ran!
Aqui vamos colocar as ações de fuga, se baseia só em movimentos dos char.. em fuga. O Gráfico da pagina é também d herói correndo.
Pagina 04 - Defendendo
Aqui vai todo o evento de defesa do herói 1, o Gráfico dessa pagina é do herói 1 se defendendo, nesse evento vc vai modificar a var. “Herói 1 defesa” para + um numero a sua escolha, no BFK eu determinei que a var “Herói 1 defesa” será aumentada em + var. “Herói level”, mas vc determina a vontade isso.
Pagina 05 - Menu Magia.
Aqui vai todo o evento do menu da magia. A seguir vamos para algumas dicas:
1. Mude a swt. “@book” = OFF (essa swt é para identificar que o menu de magia está desativado, e será e que pode ser usado uma nova magia.)
2. Lebel 3
3. Coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
4. Call evento: Battle Beguin : Pagina 7 ( isso irá chamar a pagina de condições, se vc tem alguma condição que possa evitar do herói 1 utilizar a magia, ele será ativado).
5. Show pics do menu evento.
6. Proceda da mesma maneira que a pagina do menu principal
7. Entre com uma fork, se Herói 1 Estiver na equipe (para o funcionamento do menu do Herói 1, ele deve estar na equipe).
7.a. Mude a swt. “Herói 1 Def” = off ( pois ele vai parar de se defender para poder escolher uma nova ação).
7.b. Entre com uma fork, se swt “Herói 1 Morto” = OFF (para o funcionamento do menu do Herói 1, ele deve estar vivo).
7.b.a Mude a swt “Herói 1 Hit” = OFF ( para indicar que o herói não está sendo atacado ainda)
7.b.b. Mude a var. “Herói 1 use spell” = 1 ( para que a magia inicial seja 1)
7.b.c. Coloque as Pics e chars no seus devidos lugares para iniciar a escolha da ação.
7.b.d. Inicie o Ciclo da seta.
7.b.d.a Coloque uma seta para variável “Escolha4”, para os pontos da variável “Herói 1 use spell”, com o limite do numero de magias existentes, cada uma deve receber um numero que será indicado pela variável “Herói 1 use spell”. E faça as pics/char indicarem as posições e ações na tela. Ex.: var. “Herói 1 use speel” = 3 show pic na magia de fogo.
7.b.d.a.a. Em caso de cancelamento: (var.”Escolha4” = 6) Mude a var. “Herói 1 use spell” = 0 (0 no BFK é nenhuma magia celecionada). E Break Cyclo.
7.b.d.a.b. Em caso de confirmação: (var.”Escolha4” = 5) Break Cyclo.
8. Mude a swt. “Cancelado” = OFF
9. Entre com uma fork, se var. “Escolha 4” = 6 ( botão de cancelamento)
9.a. Mude a Swt. “@Book” = OFF
9.b. Call evento: Battle Begin: Página 5 ( Fará o Dsplay do HP/MP).
9.c. Mude a Swt. “Cancelado” = ON
9.d. Mude a var. “Escolha 4” = 0
9.e. Go To Label 9
10. Entre com uma fork, se var. “Escolha 4” = 5 ( botão de canfirmação)
10.a. Call evento: este evento: Página 11 ( Irá checar se vc pode usar a magia escolhida)
10.b. Entre com uma fork, se a Swt. “Cancelado” = ON
10.b.a. Go to Label 3
10.c. Entre com uma for, se use var. “Herói 1 use Speel” = 22 ( no BKF as magia de cura é a numero 22, por isso deve ser feita uma diferenciação aqui se a magia escolhida for de cura, os alvos serão os personagens, se não os alvos serão aos inimigos). Else case: Call Evento: este evento: Página 10.(chamará o evento de escolha do alvo inimigo)
10.c.a Call Evento: este evento: Página 11.(chamará o evento de escolha do alvo aliado)
10.d. Coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
10.d. Entre com uma fork, se a Swt. “Cancelado” = ON
10.d.a. Go to Label 3
10.e. Go to label 9
11. Lebel nº5
12. Go to label 3.
13. Label 9.
Pagina 06 - Atacando
Aqui vai todo o evento de ataque do herói 1, cou dar as dicas de como fazer, e vc cria os ataques de forma que vc deseja.
1. Call Evento: Este evento: página 15 ( Este chamará o evento que vai verificar se o alvo escolhido para o herói 1 ainda é valido, se ainda está vivo.)
2. wait 0.5sec
3. Inicie um ciclo.
3.a. Lebel 9
3.b. coloque a figura do herói em posição de ataque.
3.c. Mude a var “Miss” = numero aleatório ( do mesmo jeito que vc fez no monstro.)
3.d. Entre com uma fork, se var “miss” = numero do 8 ( numero qualquer definido para errar o ataque.)
3.d.a. Faça a ação do herói errando o ataque.
3.d.b. Go to Label 14
3.e. Wait 0.3 sec.
3.f. Entre com uma fork, se var, “herói 1 Alvo” = 1
3.f.a. Faça seu herói atacar o EN1, calculando o dano, e fazendo com que a pic do EM pisque.
3.g. Entre com uma fork, se var, “herói 1 Alvo” = 2
3.g.a. Faça seu herói atacar o EN2. Calculando o dano, e fazendo com que a pic do EM pisque.
3.h. Entre com uma fork, se var, “herói 1 Alvo” = 3
3.h.a. Faça seu herói atacar o EN3. Calculando o dano, e fazendo com que a pic do EM pisque.
3.i. Lebel 14 ( Caso houve o miss - vamos fazer o evento de miss, aqui separando também por alvo)
3.j. Entre com uma fork, se var. “Herói 1 Alvo” = 1
3.j.a. Entre com uma fork, se a var. “Miss” = 8 ( houve erro)
3.j.a.a. Configure as var “---X---“ e “---Y---“ para as coordenadas do En1
3.j.a.b. Faça aparecer a pic de “Miss”
3.j.a.c. Wait 0.5 sec
3.j.a.d. Mude a variavel “dano” = 0
3.j.a.e. Go to label 12
3.j.b. Mude a var. “Dano” - var. “ En1 Defesa” = Faz a defesa diminuir o dano.
3.j.c. Mude a var. “En1 Hp” - Var. “Dano”.
3.j.d. Configure as var “---X---“ e “---Y---“ para as coordenadas do En1
3.k. Faça o mesmo para todos os alvos, EN2 EN3.
3.l. Call Evento: comum evento: HP Perda .
3.m. Call Evento: Battle begin: página 5
3.n. Call Evento: Check Dead/Speed: página 1.
3.o. Label 2
3.p. Lebel 12
3.q. wait 0.5 sec
3.r. Break ciclo.
Pagina 07 - menu Itens
Aqui vai todo o evento de menu dos itens, essa muitas vezes é uma dificuldade para os novatos em Bsys.
1. Mude var. “Herói 1 item” = 1
2. Label 5
3. Mude var. “escolha 4” = 4
4. Inicie um ciclo
4.a. Label 11
4.b. Entre com uma fork, se a var. “Herói 1 item”< 1 (smaller)
4.b.a. Call Evento: Este evento : Pagina 14 ( irá verificar se vc ainda tem itens).
4.b.b. Go to label 11.
4.c. Entre com uma fork, se a var. “Herói 1 item”> 1 (bigger)
4.c.a. Call Evento: Este evento : Pagina 14 ( irá verificar se vc ainda tem itens).
4.c.b. Go to label 11.
4.d. Entre com uma fork, se var.Herói 1 item = 1 ( Item numero 1 = Poção)
4.d.a. Entre com uma fork, se Possui Item poção. Else case: Call evento: este evento: Pagina 14, e Go to label 11.
4.d.a.a. Faça o display (show pic)do seu item.(poção)
4.d.a.b. Mude a var. “Dezena” = numero de itens de POÇÃO.
4.e. Faça os paços 4.d. para todos os itens.
4.f. Call Evento: Comum evento: Item.
4.g. Label 6
4.h. Coloque uma seta para variável “Escolha4”, para os pontos da variável “heroi 1 Item”.
Em cada opção +1 e - 1 da seta, coloque um go to label 11 ( ex: Fork, se var “Escolha 4” = 1, diminua em 1 ponto a var “Heroi 1 Item”, e goto label 11.)
4.i. Em caso de confirmação: entre com uma fork, se var. “herói 1 item” for maior que 13 ( no BFK os itens acima de 13 afetam todos os personagens.) Else case: Call Evento: Este evento : Pagina 13 ( chamará a escolha de alvo.
4.i.a. Call Evento: Este evento : Pagina 19 ( irá verificar se vc ainda tem itens).
4.j. Entre com uma fork, se Swt. “Cancelado” = On
4.j.a. Mude a swt “Cancelado” = OFF
4.j.b. Go to Label 11
4.k. Break cyclo
4.l. Entre com uma fork, se var “ Escolha 4” = 6
4.l.a. Remova as pics
4.l.b. Call evento: battle Begin Evento: Pagina 4
4.l.b. Call evento: battle Begin Evento: Pagina 5
4.l.d. Mude a swt “cancelado” = on
4.l.e. go to label 12
4.m. Break ciclo
5. Label 12
Pagina 08 - Spell Library!
Aqui vai todo o evento que irá verificar se a magia pode ser ou não usada, se o herói possui a magia.
1. Entre com uma fork, se var “ Herói 1 use spell” for = 22 ( lembrando que a magia numero 22 é a que tem efeito sobre os heróis portanto irá chmar um alvo aliado.)
1.a. Call evento: Este evento pagina 18 ( chamará o evento que valida o alvo um heroi)
1.b. GO to label 22
2. Call evento: Este evento: Pág. 15 ( se a magia não for de alvo um herói ela seguirá para este evento que chamará a validação de um inimigo.)
3. Label 22
4. Wait 1,0 sec
5. Entre com uma Fork, se var “Herói 1 use Spell” = 1 ( se o herói 1 usar a magia 1 que é a de fogo)
5.a. Mude a var. “Herói 1 Elemento” = 1 ( indica que o elemento usado pelo herói é a do fogo)
5.b. Aqui subtraia da var. “ herói 1 MP” o valor que será gasto por esta magia.)
5.c. Faça a chamada da magia, faça aparecer texto ou coisa assim mas não a animação da magia ainda, é só para indicar o jogador que a magia foi acionada.
5.d. Call evento: este evento; Pág 16 ( chamará o evento dos efeitos da magia.)
5.e. Wait 0,2 sec
5.f. Call evento: Battle Beguin , Pagina 2 ( irá verificar se o jogo terminou com esta ação.)
5.g. Call evento: Battle Beguin , Pagina 5 ( irá verificar os MP e HP.)
6. Faça os passos 5 para cada magia que vc tiver.
7. Label 12
8. Call evento: Check Death/speed , Pagina 1 ( irá verificar se o inimigo está morto.)
Pagina 09 - Ceta de ataque aos Monstros
Aqui vamos fazer a ceta para selecionar o alvo do herói por isso só vou colocar umas dicas como vc vai fazer a ceta fica ao seus cuidados.
1. logo no inicio do evento coloque forks, para identificar o alvo inicial desta maneira:
2. Entre com uma fork, Se swt “ En4 Morto” = OFF ( se o inimigo 4 estiver vivo)
2.a. Mude a var. “Herói 1 Alvo” = 4 ( Valida o primeiro alvo como o monstro 4)
3. Faça para os demais mosntros, lembrando de sempre fazer em ordem decrecente, do En4 ao En1, pois assim evitará a ceta iniciar no local onde não á montros.
4. Inicie um cyclo ( que será para a ceta)
4.a. Lebel 5
4.b. Reposicione as imagens dos inimigos.
4.c. Entre com uma fork, se var “herói 1 Alvo” = 1
4.c.a. Posicione a pic da ceta no En1.
4.d. faça isso para todos o inimigos, mas coloque abaixo da fork do alvo uma nova fork, se swt “En2(ou En3) Morto” = OFF, Else Case: Mude a var. “Herói 1 alvo” +,1
4.e. Coloque uma seta para variável “Escolha1”, para os pontos da variável “Herói 1 alvo”,
4.f. Coloque um novo ciclo ( esse é para identificar se o monstro ainda vive, e sua ceta não apontar um espaço vazio.)
4.f.a. Entre com uma fork, se var “herói 1 alvo” = 1
4.f.a.a. Entre com uma fork, se swt “ En1 Morto” = OFF
4.f.a.a.a break ciclo.
4.g. Agora entre com a condição de confirmação da ceta ( se Escolha 1 = 5)
4.g.a. Go to label 12
5. Label 2
6. Go to label 5
7. label 12
8. break cyclo.
Pagina 10 - Ceta de ataque com magia aos monstros
Aqui vamos fazer a ceta para selecionar o alvo do herói por isso só vou colocar umas dicas como vc vai fazer a ceta fica ao seus cuidados
Importante, este evento é igual ao da pagina 9. é importante ele existir para que possa correr independência de um alvo e outro. Para diferenciar a ação de escolha do alvo de ataque normal, e da escolha de ataque de magia.
Pagina 11 - Check speel mp
Este evento é relativamente simples pois vc vai fazer condições para que o herói não possa usar uma magia que gaste 20 MP se ele só tem 5 mp,
Aqui vc irá dar as condições de uso do MP, com as magias, faça isso para cada tipo de magia, que depois o Bsys irá vir verificar se o Herói tem MP suficiente para soltar a magia tal..
Aqui são condições de Forks, ex:
Se var “Herói 1 Use spell” = 1
Mas ele não possui a magia fogo memorizada, ou não possui Mp suficiente, è cancelado a magia.
E no fim de cada condição negativa coloque a swt “Cancelado” = ON, pois quando retornar ao evento da escolha da magia o menu regeitará o uso da mesma ou por falta de MP ou por não possuir a magia escolhida.
No BFK aqui eu coloco as condições dos Slots.
Pagina 12 - Itens
Aqui vamos fazer os efeitos dos itens durante o combate.
Iniciando com uma fork para cada item ex:
Entre com uma fork, se var “ Herói1 Item” = 1 ( poção)
Faça toda a ação da poção,
Aumente o hp.. faça seu herói na pose de beber poção, remova o item usado, coloque condições ( só funciona se o alvo estiver vivoetc..). e todos os efeitos que vc quer durante a batalha, quando usado o item.
Faça para todos os itens.
Nota: se seu item for de reviver alguém, no fim do evento deste item faça chamar o evento Battle begin pagina 5
Que irá verificar o hp para voltar ao normal.
Pagina 13 - Alvo dos itens
Aqui vamos fazer o mesmo que as setas da pagina 09/10. mas ao invés dos alvos serem nos EN1,En2 etc..
Serão os próprios heróis ( pois os itens são geralmente usados só nos heróis)
Dica no evento de confirmação, da escolha coloque por ultimo:
Call evento : Battle begin evento: pág 4
Call evento : Battle begin evento: pág 5
Pagina 14 - Resolvendo os itens
Esta pagina irá conter as condições dos itens, para saber quais os itens que vc ainda tem, e não fazer a seleção dos itens que você não tem.
1. Entre com uma fork, se var “ Escolha 4” = 1 ( lembre essa variável deve ser a que vc usa para fazer a seta da escolha do seu item)
1.a. Mude a var “ Herói 1 Item” +, 1
2. Entre com uma fork, se var “ Escolha 4” = 4 ( lembre essa variável deve ser a que vc usa para fazer a seta da escolha do seu item)
2.a. Mude a var “ Herói 1 Item” -, 1
3. Entre com uma fork, se var “Herói 1 item” for menor que 0 ( bellow)
3.a. Mude a var “ Herói 1 Item” = 16 ( Numero Max de tipos de itens que vc tem)
4. Entre com uma fork, se var “Herói 1 item” for maior que 16 ( bigger)
4.a. Mude a var “ Herói 1 Item” =1 ( Numero do Mínio do tipo de item que vc tem)
Pagina 15 - Validar alvo ( inimigo)
Esta pagina irá validar se seu alvo ainda existe, e se não atacará o próximo.
1. Label 19
2. Entre com uma fork, se var “ Heroi 1 Alvo” = 1 ( alvo é o En1)
2.a. Entre com uma fork, se Swt “En1 Morto” = ON ( e se En1 estiver morto)
2.a.a. mude a var. “herói 1 Alvo” +, 1
3. Faça o mesmo apara todos os alvos, no ultimo alvo, dentro das 2 forks coloque:
4. Go to label 19 ( isso é para se caso o ultimo alvo estiver morto este evento volte a se repetir.)
Pagina 16- Efeito das magias.
Nesta pagina vamos colocar todo o efeito que as magias tem, dano, animações.. e tudo mas de como vc quer que cada magia se comporte, lembrando da seguinte sequencia:
1. no inicio coloque um Call evento: este evento: Pagina 15 (irá validar o inimigo)
2. Faça todos os eventos necessários utilizando como fork a var. Herói 1 use spell ( se for 1 display magia do fogo, se for 2 magia da água..etc..)
3. Faça cada alvo separadamente ( ex. se var “herói 1 alvo” = 2 faça os ataques se direcionarem ao En2)
4. no final de cada magia coloque um go to label 22
5. no final de todas as magias coloque o Lebel 22(assim ao acionar uma magia o evento não precisa ser lido completamente.)
6. Call evento: comum evento : Perda de HP
7. Call evento: battle beguin: pagina 5
Pagina 17 - Redução de dano.
Esta pagina irá reduzir o dano conforme o elemento. Tipo um monstro de fogo recebe o dano dobrado quando é atingido por um ataque de água.
É isso que vamos fazer aqui.. fica a critério de vc usar esse evento por isso não vou escrever.
Dica faça isso para cada variação da var. Herói 1 alvo, e para cada combinação de elemento.
E reduza ou amplie da Var. “Dano” veja maiores detalhes no meu jogo!!!
Pagina 18 - Validar alvo ( aliado)
Esta pagina irá validar se seu alvo ainda existe, e se não atacará o próximo. Considerando que esse alvo são os heróis,
Faça da mesma forma que foi feito o evento da pagina 15, mas levando em confederação que seus alvos são todos os seus aliados.)
Pagina 19 - Seta de alvo dos itens nos Aliados
Aqui vamos fazer a seta para selecionar o alvo do item que será aplicado
Importante, este evento é igual ao da pagina 9.
Mas levando em consideração que seus alvos são todos os seus aliados.
Pagina 20 - GFX do herói - hit
Aqui o evento é branco só vamos colocar no GFX do evento o seu herói sendo atingido, e a condição é a SWT “ Herói 1 HIT” = ON
Pagina 21 - GFX do herói - Vitória
Aqui o evento é branco só vamos colocar no GFX do evento o seu herói comemorando a vitória, e a condição é a SWT “ vitória!!” = ON
Pagina 22 - GFX do herói - morto
Aqui o evento é branco só vamos colocar no GFX do evento o seu herói morto, e a condição é a SWT “ Herói 1 Morto” = ON
Pagina 23 - GFX do herói - Vitória + Morto
Aqui o evento é branco só vamos colocar no GFX do evento o seu herói morto durante a vitória da equipe, e a condição é a SWT “ vitória!!” = ON e swt “ Herói 1 morto” = ON
Pagina 24 - GFX do herói - Fora da Equipe
Aqui o evento é todo branco, e a condição é a SWT “Herói not hire” = ON
As demais paginas vc pode configurar com outras posições e chama-las na hora que desejar, ligando uma Swt.
Cada herói deve ter seus próprios eventos, portanto.
Duplique esse evento e altere para o herói 2.. herói 3.. etc..
È bem complicado. Qualquer duvida é só falar comigo através do fórum da RPG Menace.
http://www.rpgmenace.cjb.net
ou por e-mail:
[email protected]
ou por icq
44920827
Este tutorial tem como objetivo explicar e orientar o funcionamento, a criação e a modificação do Battle System BFK para RPG Maker 2000.
O texto foi organizado e reescrito para ficar mais claro e legível, mas a lógica original foi mantida.
O tutorial está dividido nas seguintes partes:
- PARTE 1 – ORGANIZE-SE
- PARTE 2 – CONFIGURAÇÕES (DATABASE, SWITCHES E VARIÁVEIS)
- PARTE 3 – MAPAS
- PARTE 4 – ENCONTROS
- PARTE 5 – BATALHA (VALORES E EVENTOS)
- PARTE 6 – BATALHA (TURNOS)
- PARTE 7 – MONSTROS
- PARTE 8 – HERÓIS
PARTE 1 – ORGANIZE-SE
A primeira tarefa, antes de criar um battle system, é planejar no papel como ele vai funcionar:
- Como será o sistema de batalha.
- Quantos heróis e inimigos participarão.
- Onde cada inimigo ficará na tela.
- Como serão os menus e gráficos.
- Como serão magias, itens, condições etc.
Isso torna as ideias mais claras e o objetivo mais fácil de alcançar.
No BFK eu imaginei inicialmente quatro heróis e quatro monstros, com um menu giratório para as ações e a tela inteira usada para o combate.
No fim, o sistema ficou com quatro heróis e três monstros em batalha ao mesmo tempo.
O BFK é baseado no BEP: a organização dos eventos é semelhante, mas:
- No BEP os heróis não mudavam de posição.
- No BFK há troca de personagem, troca de ordem e magias mais variadas.
Por isso, embora a base seja o BEP, foi necessário modificar muita coisa.
Antes de abrir o RPG Maker 2000 e começar a criar mapas e eventos para o battle system, tenha cuidado: é fácil se perder.
O ideal é usar um caderno (em vez de um arquivo no computador) para registrar tudo o que será usado no sistema:
1. História
2. Heróis
3. Itens de batalha
4. Magias
5. Condições de estado
6. Efeitos (elementos)
7. Habilidades dos heróis
8. Habilidades dos inimigos
1. Crie a história
A história deve vir antes de tudo.
Você precisa ter uma noção de:
- Quantos personagens o jogo terá.
- Quantas magias, itens e condições existirão.
- Quantos personagens começam o jogo.
- Se há trocas de heróis durante a história.
Com a história clara, fica muito mais simples dimensionar o sistema de batalha.
2. Defina seus heróis
Liste todos os heróis que existirão no jogo e atribua um número fixo para cada um.
Esses números serão usados em todo o battle system.
Exemplo:
Heróis
1 – João
2 – Maria
3 – Carlos
4 – Márcia
5 – José
Use sempre os mesmos números em todas as variáveis que se referirem a cada herói.
3. Defina seus itens de batalha
Liste apenas os itens que poderão ser usados DURANTE as batalhas.
Itens de exploração (chaves, pedras, itens secretos que não são usados em combate) não precisam entrar aqui.
Armas e armaduras só precisam ser listadas se tiverem efeitos específicos em combate, por exemplo:
- Espada de Fogo: animação de ataque de fogo, elemento Fogo etc.
Dê um número e um nome para cada item e descreva o efeito.
Exemplo:
Itens
1 – Poção – Cura 10 HP de um membro.
2 – Erva – Recupera 10 MP de um membro.
3 – Remédio – Cura veneno de um membro.
4 – Cura Total – Restaura todo o HP de todos os membros.
5 – Power Up – Aumenta o ataque em 5.
6 – Espada de Fogo – Ataques do tipo Fogo.
4. Defina suas magias
Liste todas as magias que poderão ser usadas em combate, com:
- Número
- Nome
- Custo em MP
- Dano ou efeito
Exemplo:
Magias
1 – Fogo – Magia de fogo, gasta 10 MP, causa entre 10 e 15 de dano.
2 – Água – Magia de água, gasta 15 MP, causa entre 20 e 30 de dano.
3 – Veneno – Envenena um inimigo.
5. Defina as condições (status)
Liste todas as condições de estado que existirão no jogo (normal, envenenado, dormindo, morto etc.), com:
- Número
- Nome
- Efeito básico
Exemplo:
Condições
1 – Normal – Estado normal.
2 – Envenenado – Perde HP a cada turno.
3 – Morto – HP 0, fora de combate.
6. Defina os efeitos (elementos)
Os efeitos (ou elementos) são tipos de ataque ou afinidade: Fogo, Água, Espada, Cura etc.
Quando uma magia de Fogo é usada em um monstro de Água, o dano pode ser aumentado ou reduzido, conforme a lógica que você definir.
Exemplo:
Efeitos
1 – Fogo
2 – Água
3 – Espada
4 – Cura
7. Defina as habilidades dos heróis (variáveis base)
Cada personagem terá um conjunto de atributos e variáveis que o battle system usará.
É importante listar todas em sequência, sem reiniciar a numeração entre heróis.
Exemplo para João:
Habilidades (exemplo – João)
001 – João HP
002 – João HP Máximo
003 – João MP
004 – João MP Máximo
005 – João Ataque
006 – João Defesa
007 – João Agilidade
008 – João Inteligência
009 – João Magia (poder mágico)
010 – João Efeito (elemento do ataque)
011 – João XP
012 – João Nível
013 – João Nível da Magia
014 – João Posição (na equipe)
015 – João Movimento (ação escolhida)
016 – João Especial
017 – João Condição (status)
018 – João Escolha (uso em menus/setas)
019 – João Item (item selecionado)
020 – João Alvo
Repita essa estrutura para cada herói, continuando a numeração (não recomece em 001).
Deixe colunas no caderno para observações futuras (por exemplo, fórmulas, limites, valores iniciais).
8. Defina as habilidades dos inimigos (variáveis base)
Da mesma forma, cada inimigo em combate terá suas variáveis.
Aqui falamos de “inimigos em combate” (EN1, EN2, EN3), que são instâncias de “monstros” definidos em outro lugar.
Exemplo básico (para EN1):
Habilidades (exemplo – EN1)
001 – EN1 HP
002 – EN1 HP Máximo
003 – EN1 MP
004 – EN1 MP Máximo
005 – EN1 Ataque
006 – EN1 Defesa
007 – EN1 Agilidade
008 – EN1 Inteligência
009 – EN1 Magia (poder mágico)
010 – EN1 Efeito (elemento do ataque)
011 – EN1 XP (experiência concedida)
012 – EN1 GP (dinheiro concedido)
013 – EN1 Nível da Magia
014 – EN1 Posição (na tela)
015 – EN1 Movimento (ação escolhida)
016 – EN1 Especial
017 – EN1 Condição
018 – EN1 Escolha
019 – EN1 Variável auxiliar
020 – EN1 Alvo
O importante não é quantos tipos de monstros existem no jogo, mas quantos inimigos podem aparecer AO MESMO TEMPO em uma batalha.
No BFK, em cada combate há no máximo 3 inimigos.
Liste as habilidades de EN1, EN2, EN3 etc., sempre continuando a numeração de variáveis.
PARTE 2 – CONFIGURAÇÕES (DATABASE, SWITCHES E VARIÁVEIS)
2.1. O que fazer na Database do RPG Maker 2000
Na Database, você usará relativamente pouco para o BFK:
- Heróis: preencha completamente (status, curvas de crescimento, gráficos).
- Itens e magias:
- Preencha nome e comentário dos itens/magias usados FORA de combate.
- Para itens/magias usados apenas em batalha, basta nome e comentário (o resto será controlado por eventos e variáveis).
- Armas e armaduras: preencha normalmente.
- Terrenos, Monstros, Monster Party, Attributes: podem ser apagados, pois o BFK não depende diretamente dessas seções.
- Condições (Normal, Envenenado etc.): crie todas, mas sem se preocupar profundamente com as configurações da Database (o controle principal será via eventos).
- Sistema, Chipsets, Animação de batalha: configure normalmente, como em qualquer projeto.
2.2. Listando variáveis e switches
É fundamental listar todas as variáveis e switches usadas pelo battle system:
- Numere e nomeie tudo.
- Tente manter agrupamentos lógicos (por herói, por inimigo, por tipo de uso).
- As habilidades definidas na parte 1 serão transformadas em variáveis.
Exemplo de agrupamento de variáveis de heróis:
001 – João HP
002 – João HP Máximo
003 – João MP
004 – João MP Máximo
005 – João Ataque
006 – Maria HP
007 – Maria HP Máximo
008 – Maria MP
009 – Maria MP Máximo
Exemplo de agrupamento para monstros/inimigos:
010 – M1 HP
011 – M2 HP
012 – M3 HP
013 – M1 MP
014 – M2 MP
015 – M3 MP
016 – M1 HP Máximo
017 – M2 HP Máximo
018 – M3 HP Máximo
Neste tutorial, repetiremos a configuração original do BFK.
Portanto, os nomes e números de variáveis/switches são os mesmos do sistema original, e você pode adaptá-los para o seu jogo.
Este material assume conhecimento avançado de RPG Maker 2000:
- Uso de variáveis.
- Forks (condicionais).
- Ciclos (loops).
- Labels (rótulos).
- Eventos paralelos e comuns.
2.3. Switches (Swt.)
Abaixo, uma lista de switches usados pelo BFK, em ordem numérica.
É recomendável imprimir esta lista e nomear suas próprias switches seguindo a mesma ideia (a numeração pode mudar no seu projeto).
Observação:
Quando houver uma switch por herói (Herói 1, Herói 2 etc.), crie uma para cada personagem.
Quando a switch se chamar apenas “Herói”, ela vale para todos.
1. Nome do Herói 1 – Indica que o herói 1 está presente.
2. Nome do Herói 2 – Indica que o herói 2 está presente.
3. Nome do Herói 3 – Indica que o herói 3 está presente.
4. Nome do Herói 4 – Indica que o herói 4 está presente.
5. Monstro 1 Morto – Indica que o inimigo 1 morreu.
6. Monstro 2 Morto – Indica que o inimigo 2 morreu.
7. Monstro 3 Morto – Indica que o inimigo 3 morreu.
8. Herói 1 Hit – Herói 1 foi atingido.
9. Herói 2 Hit – Herói 2 foi atingido.
10. Herói 3 Hit – Herói 3 foi atingido.
11. Herói 4 Hit – Herói 4 foi atingido.
12. Herói 1 Def – Herói 1 está defendendo.
13. Herói 2 Def – Herói 2 está defendendo.
14. Herói 3 Def – Herói 3 está defendendo.
15. Herói 4 Def – Herói 4 está defendendo.
16. Herói 1 Morto – Herói 1 está morto.
17. Herói 2 Morto – Herói 2 está morto.
18. Herói 3 Morto – Herói 3 está morto.
19. Herói 4 Morto – Herói 4 está morto.
20. Went 1 – Marca que a posição 1 (primeira ação do turno) já foi utilizada por um herói.
21. Went 2 – Mesma ideia, para a posição 2.
22. Went 3 – Posição 3.
23. Went 4 – Posição 4.
24. Went 5 – Posição de ação do inimigo 1.
25. Went 6 – Posição de ação do inimigo 2.
26. Went 7 – Posição de ação do inimigo 3.
27. Herói 1 Fora da Equipe (Not Hire) – Indica que o herói 1 não está na equipe.
28. Herói 2 Fora da Equipe.
29. Herói 3 Fora da Equipe.
30. Herói 4 Fora da Equipe.
31. Vitória – Indica que a equipe dos heróis venceu a batalha.
32. Cancelado – Alguma ação foi cancelada.
33. @Book – Controle interno de uso de magias.
34. Run – Ação de tentar fugir.
35. Fugindo – O grupo está executando fuga.
36. Breaker – Switch de controle para ciclos de ações.
37. All – A ação afeta todos os alvos.
38. Encontro 01 – Controle de encontros.
39. Encontro 19 – Switch auxiliar para evitar certos bugs de encontro.
40. Encontro 20 – Habilita os encontros aleatórios.
Nota:
“Posição de combate” é a ordem em que as ações acontecem em um round.
Se existem 4 heróis e 3 monstros na mesma batalha, cada um terá sua vez.
As switches Went registram se aquela posição de ação já foi usada naquele turno.
2.4. Variáveis (Var.)
Novamente, listadas em ordem numérica.
Aconselha-se imprimir esta lista e usá-la como base no seu projeto.
Observação:
Quando houver “Herói 1” ou “EN 1”, crie uma variável análoga para cada herói/inimigo.
Quando estiver apenas “Herói”, vale para todos.
1. Herói 1 Level – Nível do personagem.
2. Herói 1 XP – Experiência atual.
3. Herói 1 HP – HP atual.
4. Herói 1 HP Máximo – HP máximo.
5. Herói 1 MP – MP atual.
6. Herói 1 MP Máximo – MP máximo.
7. Herói 1 Weapon – ID da arma equipada.
8. Herói 1 Ataque – Força de ataque.
9. Herói 1 Defesa – Defesa física.
10. Herói 1 Condição – Estado (normal, veneno etc.).
11. Herói 1 Magia – Poder mágico.
12. Herói 1 Defesa Mágica – Resistência a magias.
13. Herói 1 Speed – Agilidade/velocidade.
14. Herói 1 Target – Alvo selecionado.
15. Herói 1 Move – Ação a ser executada.
16. Herói 1 Position – Posição do herói na tela.
17. Herói 1 Level Spell – Nível de magias.
18. Herói 1 Use Spell – Magia selecionada.
19. Herói 1 Item – Item selecionado.
20. Herói 1 Elemento – Elemento atual do ataque.
21. EN 1 GP – GP (dinheiro) do inimigo.
22. EN 1 XP – XP concedida.
23. EN 1 HP – HP atual.
24. EN 1 HP Máximo – HP máximo.
25. EN 1 MP – MP atual.
26. EN 1 MP Máximo – MP máximo.
27. EN 1 Ataque – Força de ataque.
28. EN 1 Defesa – Defesa.
29. EN 1 Condição – Estado.
30. EN 1 Magia – Poder mágico.
31. EN 1 Speed – Agilidade.
32. EN 1 Target – Alvo do inimigo.
33. EN 1 Move – Ação do inimigo.
34. EN 1 X – Posição X do inimigo na tela.
35. EN 1 Y – Posição Y do inimigo na tela.
36. EN 1 Elemento – Elemento do inimigo.
37–48. EN ??? – Conjunto de valores “pré-configurados” de monstros (HP, MP, XP, GP, Ataque, Defesa, Condição, Magia, Speed, Elemento).
Esses valores são copiados para EN 1, EN 2, EN 3 conforme o sorteio de monstros do encontro.
49–52. Escolha 1–4 – Variáveis auxiliares para setas, menus e cálculos diversos.
53. Milhar – Parte de milhar do número (para exibir dano em 4 dígitos).
54. Centena – Parte de centena do número.
55. Dezena – Parte de dezena do número.
56. Unidade – Parte de unidade do número.
57–58. Variável 1 e Variável 2 – Variáveis reservas para cálculos temporários.
59. Damage – Dano calculado.
60. X Atual – Coordenada X atual do herói alvo.
61. Y Atual – Coordenada Y atual do herói alvo.
62. X Futuro – Coordenada X alvo futura.
63. Y Futuro – Coordenada Y alvo futura.
64. XP Ganho – Total de XP obtido no combate.
65. GP Ganho – Total de GP obtido no combate.
66. Passos – Número de passos dados pelo herói.
67. Passos para Combate – Número de passos sorteado para disparar encontro.
68. Battle ID – ID do mapa atual de onde o combate foi iniciado.
69. Battle X – Coordenada X do herói no mapa ao entrar em combate.
70. Battle Y – Coordenada Y do herói no mapa ao entrar em combate.
71. Turnos – Número de turnos decorridos no combate.
72. Iniciativa 1 – Velocidade de comparação 1 (para decidir quem age primeiro).
73. Iniciativa 2 – Velocidade de comparação 2.
74. Miss – Número para definir chance de erro em ataques.
75. Contador – Número de ações já realizadas no turno.
76. Equipe – Quantidade de personagens na equipe atual.
77. Líder – ID do herói líder.
78. Seguidor 1 – ID do segundo herói na formação.
79. Seguidor 2 – ID do terceiro herói.
80. Seguidor 3 – ID do quarto herói.
81. HP/MP Geral – HP/MP de transição (usado para cálculos e displays).
82. HP/MP Máx. Geral – HP/MP máximo de transição.
83. Atacado X – Posição X de quem foi atingido.
84. Atacado Y – Posição Y de quem foi atingido.
PARTE 3 – MAPAS
3.1. Cuidados com mapas e IDs de eventos
Ao criar mapas para o battle system, tome cuidado com:
- ID dos mapas.
- ID dos eventos em cada mapa.
É recomendável:
- Ter um mapa “modelo” com todos os eventos do BSys.
- Copiar/colar esse mapa ao criar novos locais que usam o mesmo sistema.
Assim, os IDs dos eventos permanecem alinhados, o que evita muitos problemas.
Mapas muito grandes podem complicar a organização; use mapas do tamanho mínimo necessário para o battle system.
3.2. Organização lógica dos mapas
Agrupe os mapas de forma lógica na árvore do RPG Maker, para não se perder:
- Mapa de Configuração do Jogo (Inicial).
- Mapas de Encontros.
- Mapa de Batalha.
3.3. Mapa de configuração do jogo (“Início”)
Esta ideia vem do BEP: um mapa especializado para configurar o jogo.
Isso economiza tempo, eventos e eventos comuns.
Sugestão:
- Crie um mapa “Início”, totalmente preto (background).
- Use um herói sem charset para telas iniciais/apresentação, trocando para o herói principal depois.
No mapa “Início”, crie um evento de Auto-Start que fará:
1. Ligar as switches “Herói X Morto” para todos, exceto os heróis que começarão o jogo (esses ficam “vivos”).
2. Definir a variável “Herói 1 Position” (e das demais) para a posição de combate inicial desejada.
3. Dar os itens iniciais ao jogador.
4. Configurar X Atual e Y Atual para a posição do herói.
5. Sortear “Passos para Combate” com um valor adequado (ex.: 10–20 para mapas pequenos, 10–30 para mapas grandes).
6. Ligar a switch “Encontro 20” (habilita o evento de passos/encontros).
7. Definir a variável “Líder” como o ID do herói principal.
8. Definir “Herói 1 Level Spell” como 1 (indicando que todas as magias começam no nível 1).
9. Teleportar o jogador para o mapa do início da aventura.
10. Se estiver usando um herói “em branco”, este é o momento de trocá-lo pelo herói principal.
11. Desligar todas as switches “Went”.
12. Ligar apenas a switch “Nome do Herói X” dos heróis realmente presentes, desligando as outras.
PARTE 4 – ENCONTROS
4.1. Organização dos monstros
Antes de programar, faça no caderno:
- Uma lista de monstros.
- Uma tabela com os atributos de cada tipo de monstro (HP, MP, XP, GP, ataques, magias, elemento etc.).
Você pode ir completando essa tabela aos poucos, à medida que o jogo avança.
4.2. Problema clássico do BEP e cuidado no BFK
No BEP existe um sistema para evitar um bug clássico:
- Iniciar uma batalha enquanto o herói está no meio de um teleporte, trocando de mapa.
Esse sistema, no BEP, é complexo e usa várias variáveis.
O BFK não incluiu a mesma solução, mas há a ideia de:
- Desligar temporariamente a switch “Encontro 19” durante teletransportes e trechos perigosos.
Na versão 2.0 do BFK, o autor planeja uma solução mais estável para isso.
4.3. Mapa de Encontros
Novamente, a ordem dos IDs é importante.
O ideal é criar primeiro os eventos de encontro nesse mapa “base” de encontros e depois copiar para outros mapas.
Há dois eventos principais:
- Evento “Encontros” – controla quando um encontro acontece.
- Evento “Valores/Monstros” – escolhe quais monstros participarão, quantos e seus valores.
Há também um Evento Comum chamado “Valores”, que atualiza os status atuais dos heróis e monstros.
4.4. Evento “Encontros”
Este evento:
- Deve ser do tipo Processo Paralelo.
- Condição: switch “Encontro 20” = ON.
Fluxo (resumido):
1. Label 1.
2. Atualizar X Futuro e Y Futuro com a posição atual do herói.
3. Se X Futuro for diferente de X Atual:
- Incrementar “Passos” em 1.
- Atualizar X Atual com a posição atual.
- Repetir a mesma lógica para Y Futuro/Y Atual.
4. Se “Passos” for igual a “Passos para Combate”:
- Esperar um pequeno tempo (0.2s) para evitar conflitos de leitura.
- Se “Encontro 19” estiver ON:
- Diminuir “Passos para Combate” em 5.
- Desligar “Encontro 19”.
- Voltar ao Label 1 (sem iniciar batalha).
- Para cada herói, verificar se está na equipe:
- Se estiver: “Herói X Morto” = OFF.
- Se não estiver: “Herói X Morto” = ON.
- “Run” = OFF (permitir nova tentativa de fuga depois).
- Desligar menu padrão do RM2k.
- “Encontro 01” = OFF.
- Ligar “EN 1 Morto”, “EN 2 Morto”, “EN 3 Morto” (para resetar inimigos).
- Zerar “Passos”.
- Memorizar BGM atual.
- Tocar SE de encontro.
- Tocar BGM de combate.
- Fazer transição de tela (Erase Screen).
- Memorizar mapa atual (Battle ID, Battle X, Battle Y).
- Aguardar 1s.
- Deixar o herói invisível.
- Chamar o evento “Valores/Monstros”, página 1.
- Teleportar para o mapa de batalha.
4.5. Evento “Valores/Monstros”
Objetivo:
- Decidir quantos inimigos entrarão em combate.
- Quais tipos de monstros serão EN1, EN2, EN3.
- Definir todos os valores (HP, MP, XP, GP etc.).
Página 1:
1. Atribuir a “Escolha 1” um valor aleatório (por exemplo, 1 a 3).
- Cada valor corresponde a um tipo de monstro possível para EN1 (mosca, slime, sanguessuga etc.).
2. Zerar EN1 HP Máximo (e o mesmo para EN2, EN3).
3. Se “Escolha 1 = 1”:
- “EN1 Morto” = OFF.
- Chamar a página do monstro correspondente (ex.: Mosca).
- Copiar os valores “EN ???” (pré-configurados) para EN1 (HP, MP, XP, GP etc.).
4. Repetir para cada resultado possível de EN1.
5. Repetir todo o processo para EN2 e EN3, usando novas variáveis de escolha.
- Para evitar que sempre haja EN2 e EN3, você pode aumentar o intervalo aleatório
(por exemplo, para EN2, “Escolha 1” de 1 a 4, em que 4 significa que EN2 não entra em combate).
6. Se o resultado indicar que EN2 ou EN3 não participa:
- Ligar “EN2 Morto”/“EN3 Morto”.
- Zerar todos os valores de HP, XP, GP, etc. do respectivo inimigo.
7. Ao final, chamar o Evento Comum “Valores”.
Página 2 em diante:
- Cada página representa um tipo de monstro (Mosca, Slime, etc.).
- Nela, você configura as variáveis EN ??? (HP, HP Máximo, MP etc.) com valores fixos para cada tipo.
- O HP Máximo é o valor usado como “identificador” do tipo de monstro (ex.: Mosca = HP Máx. 10; Slime = 20 etc.).
4.6. Evento Comum “Valores”
Objetivo:
- Atualizar todas as variáveis de heróis com seus valores reais no momento da batalha:
Exemplo de configuração:
- Herói 1 HP = HP do herói 1 (comando “Change Variable = Hero HP”).
- Herói 1 HP Máximo = Max HP do herói 1.
- Herói 1 MP, MP Máximo, Level, XP, Ataque, Defesa, Magia, Defesa Mágica, Speed etc.
Repita para todos os heróis (e, se desejar, use lógica semelhante para inimigos).
PARTE 5 – BATALHA (VALORES E EVENTOS BÁSICOS)
Nesta parte, vamos ver os eventos comuns principais que dão suporte ao battle system:
- Resolve Dano (ajuste de HP/MP após o combate).
- HP (Perda) – display dos números de dano.
- HP (Ganho) – display de cura.
- Itens – display de quantidade de itens.
- Fundo (Background) – troca do fundo de batalha conforme o terreno.
5.1. Comum Evento “Resolve Dano”
Serve para ajustar o HP e o MP dos heróis ao sair do combate, quando durante a batalha usamos valores intermediários.
Exemplo de fluxo para HP:
1. “Change HP” – Aumentar o HP de todos os heróis para um valor alto (por exemplo, +999), apenas para nivelar.
2. Para cada herói:
- Herói 1 Move = Herói 1 HP Máximo original.
- Herói 1 Move -= Herói 1 HP atual.
- “Change HP” – Diminuir o HP do herói 1 em “Herói 1 Move”.
3. Repetir para todos os heróis.
4. Repetir o mesmo processo para MP.
O objetivo é garantir que o HP/MP final após o combate corresponda aos valores lógicos acumulados.
5.2. Comum Evento “HP (Perda)” – Exibição de dano
Este evento transforma o valor da variável Damage em quatro dígitos (milhar, centena, dezena, unidade) e mostra as imagens correspondentes.
Passos gerais:
1. Milhar = Damage.
2. Escolha 4 = Damage.
3. Milhar ÷= 1000 (resultado é o dígito da milhar).
4. Escolha 4 %= 1000 (resto da divisão, usado para as casas seguintes).
5. Centena = Escolha 4.
6. Escolha 1 = Centena.
7. Centena ÷= 100.
8. Escolha 1 %= 100.
9. Escolha 2 = Escolha 1.
10. Dezena = Escolha 2.
11. Dezena ÷= 10.
12. Escolha 2 %= 10.
13. Escolha 3 = Escolha 2.
14. Unidade = Escolha 3.
Depois disso:
- Definir X Atual e Y Atual para a posição do alvo (Atacado X/Y).
- Exibir a pic correspondente ao dígito da milhar (ou remover se Milhar = 0).
- Deslocar X Atual para mostrar centena atrás da milhar, depois dezena, depois unidade.
Assim, ao chamar este evento após calcular um dano, o número aparecerá “saltando” do inimigo/herói atingido.
5.3. Comum Evento “HP (Ganho)”
É o mesmo princípio de “HP (Perda)”, mas para exibir cura (valores positivos) em cor diferente ou com outras imagens.
5.4. Comum Evento “Itens” – Display da quantidade de itens
Objetivo:
- Mostrar, em forma de número, quantos itens de um tipo o jogador possui.
Como o limite de itens no RM2k é 99, bastam dezenas e unidades:
- Dezena = quantidade de itens.
- Unidade = resto (Dezena % 10).
O evento é igual ao de dano, mas sem milhar e centena.
5.5. Comum Evento “Fundo” – Background da batalha
No BFK existe apenas UM mapa de combate; o fundo (background) muda conforme o tipo de terreno.
Organize:
- Variável “Fundo”:
- 1 – Planície
- 2 – Floresta
- 3 – Montanhas
- etc.
Em cada mapa de exploração, configure a variável “Fundo” para o valor correspondente.
Quando uma batalha começa, o Evento Comum “Fundo”:
1. Se Fundo = 1: Change Background → Planície.
2. Se Fundo = 2: Change Background → Floresta.
3. Se Fundo = 3: Change Background → Montanhas.
Lembre-se de atualizar a variável “Fundo” sempre que o jogador entrar em um mapa de tipo diferente.
PARTE 6 – BATALHA (TURNOS) – “CHECK DEATH/SPEED” E “BATTLE BEGIN”
Na parte de turnos, dois eventos de mapa são centrais:
- Check Death/Speed – Verifica mortes e calcula iniciativa/ordem de ação.
- Battle Begin – Coração do sistema, que controla início, turnos e fim da batalha.
Além deles, cada herói, monstro e display de HP/MP tem o seu próprio evento de mapa.
6.1. Estrutura de eventos no mapa de batalha
No BFK (e BEP) existem, aproximadamente:
- 10 eventos de personagens (heróis).
- 3 eventos de monstros (EN1, EN2, EN3).
- 1 evento de HP por herói.
- 1 evento de MP por herói.
- 1 evento de HP por monstro.
- 3 eventos de mapa (Battle Begin, Check Death/Speed, Útil/Extras).
No total, cerca de 32 eventos no mapa de batalha.
Cada evento tem várias páginas, por exemplo:
- Battle Begin – 13 páginas.
- Check Death/Speed – 13 páginas.
- Herói – 23 páginas cada.
- Monstros – cerca de 7 páginas cada.
- HP/MP de heróis e monstros – 2 páginas cada.
Importante:
Mesmo que algumas páginas ainda não tenham conteúdo, crie-as para reservar os IDs corretamente.
6.2. Display de HP/MP com Charsets
No BFK, o HP/MP é exibido por meio de charsets (não por pictures, como no BEP).
Para cada HP/MP de herói/monstro, crie um evento com:
- Página 1: gráfico com barras de 100%, 95%, 90% etc.
- Página 2: condição “Herói X Morto” = ON, com gráfico em branco (desaparece ao morrer).
Exemplo de lógica da página 1:
1. HP/MP Geral = Herói 1 HP.
2. Pos. Atual = Herói 1 Position.
3. HP/MP Máx. Geral = Herói 1 HP Máximo.
4. HP/MP Geral *= 100.
5. HP/MP Geral ÷= HP/MP Máx. Geral.
6. Se HP/MP Geral = 100: gráfico de 100%.
7. Se < 100 e >= 95: gráfico de 95%.
8. Se < 95 e >= 90: gráfico de 90%.
9. E assim por diante, para todos os intervalos de porcentagem que desejar.
Repita essa lógica em cada evento de HP/MP para todos os heróis, chamando esse evento sempre que houver dano ou cura.
6.3. Evento “Check Death/Speed”
Este evento é a grande sacada do BEP/BFK.
Ele controla:
- Quando um inimigo morre.
- Quando um herói morre.
- Qual é a velocidade efetiva de cada posição.
- Qual herói/monstro age em cada vez, levando em conta a posição (1, 2, 3, 4) e a agilidade.
Ele é dividido em 13 páginas, considerando 4 heróis em combate.
Se houver menos heróis, removem-se algumas páginas.
Resumidamente:
- Página 1 – Verifica morte de inimigos (HP <= 0, liga EN1 Morto etc., remove gráficos).
- Páginas 2 a 5 – Relacionam a velocidade de cada herói com cada posição (usando as switches Went).
- Páginas 6 a 9 – Identificam qual a velocidade efetiva em cada posição (Iniciativa 1).
- Páginas 10 a 13 – Determinam quais páginas de ação dos heróis serão chamadas, conforme a posição e a ação escolhida (Herói 1 Move etc.).
As switches “Went” indicam que a vez daquela posição já foi consumida naquele turno.
6.4. Evento “Battle Begin”
Este é o núcleo do BFK.
Controla:
- Inicialização do combate.
- Exibição inicial de HP/MP, monstros, heróis, fundo.
- Fluxo principal de turnos (com chamadas a Check Death/Speed).
- Fim do combate (vitória, derrota, fuga).
Por causa de uma limitação do RM2k:
- A página 12 de Battle Begin é a primeira a rodar automaticamente (Auto-Start).
- Páginas menores que chamam páginas maiores não retornam corretamente.
- Por isso, a organização das páginas é importante, e a página 13 é o fim do combate.
Página 12 – Início da batalha (resumido):
1. Deixar o herói invisível.
2. Esperar 1s.
3. Chamar o Evento Comum “Fundo” (trocar background).
4. Desligar EN1 Dead, EN2 Dead, EN3 Dead.
5. Zerar Contador (ações do combate).
6. Se EN1 HP Máx. = 0: EN1 Dead = ON (não está em combate). Repetir para EN2 e EN3.
7. Herói X Not Hire = OFF para todos os heróis.
8. Vitória = OFF.
9. Todas as switches Went = OFF.
10. EN1 X/Y, EN2 X/Y, EN3 X/Y = posição de cada evento de inimigo no mapa.
11. Identificar, pelo HP Máximo, que gráfico cada monstro deve usar (Mosca, Slime etc.) e exibir a picture correspondente.
12. Chamar Battle Begin página 6 (verificar mortos, iniciar estado).
13. Chamar Battle Begin página 4 (configurar vez de ação).
14. Chamar Battle Begin página 3 (posicionar heróis na tela).
15. Chamar Battle Begin página 5 (configurar displays de HP/MP).
16. Mostrar a tela.
17. Esperar 0.5s.
18. Chamar Battle Begin página 13 (laço de combate/fim).
Página 1 – Battle Moves (turnos):
- Contém o ciclo principal em que:
- Calcula velocidades.
- Chama Check Death/Speed.
- Verifica fuga, vitória, game over.
- Limpa e religa switches Went quando todos já agiram.
Página 2 – Derrota e Vitória:
- Derrota: quando todos os heróis estão com “Herói X Dead” = ON.
- Vitória: quando todos os inimigos estão com “ENX Morto” = ON.
- Liga Vitória.
- Calcula XP Ganho e GP Ganho.
- Distribui XP entre heróis vivos.
- Chama Resolve Dano.
- Adiciona GP ao grupo.
- Mostra mensagens de recompensa.
Página 3 – Posição de cada herói:
- Determina a posição gráfica de cada herói na tela, conforme:
- Variáveis Líder, Seguidor 1, Seguidor 2, Seguidor 3.
- Herói X Position (1, 2, 3, 4).
Página 4 – Posição lógica (ordem de ação):
- Define quais heróis ocupam qual posição lógica (1, 2, 3, 4) para os turnos.
Página 5 – Display de HP/MP:
- Atualiza todos os eventos de HP e MP de heróis e monstros, chamando os eventos específicos de display.
Página 6 – Tratamento de mortos em combate:
- Liga Went X automaticamente se um herói em determinada posição estiver morto.
- Assim, a posição não será usada naquele turno.
Página 7 – Condições (veneno etc.):
- Aplica efeitos de condições (ex.: veneno tira HP por turno) e chama HP (Perda).
Páginas 8 a 13 –
- Fazem a ligação entre velocidades dos heróis, velocidades dos inimigos, e determinam quem age primeiro, chamando as páginas corretas de ação (tanto de heróis quanto de monstros).
PARTE 7 – MONSTROS
Os eventos dos monstros (EN1, EN2, EN3) ficam em eventos separados no mapa de batalha.
Cada inimigo terá:
- Uma página de escolha de ações.
- Páginas de exibição de gráficos (pictures).
- Páginas de ataques específicos (ataque normal, crítico, duplo, especial, veneno etc.).
- Página de fuga, se o monstro puder fugir.
7.1. Página 1 – Escolha de ações (EN1)
Fluxo básico:
1. Se EN1 Morto = OFF (está vivo).
2. Se EN1 HP Máx. = 20 (por exemplo, “Mosca”):
- EN1 Move = número aleatório entre 1 e N (N = quantidade de habilidades da Mosca).
3. Se EN1 HP Máx. = 38 (outro tipo de monstro):
- Mesma lógica com outro conjunto de habilidades.
4. Dependendo de EN1 Move:
- 1 → Call evento página 3 (ataque normal).
- 2 → Call evento página 4 (ataque crítico).
- etc.
5. Se nenhuma condição for satisfeita, usar ataque normal como padrão.
7.2. Página 2 – Exibição de pictures
Serve para exibir a imagem correta de cada monstro, de acordo com o tipo:
1. Se EN1 Morto = OFF:
- Se EN1 HP Máx. = 20 → Show Picture da Mosca em EN1 X/Y.
- Se EN1 HP Máx. = 38 → Show Picture do Slime em EN1 X/Y.
2. Repetir para todos os tipos de monstros.
7.3. Página 3 – Ataque normal
Fluxo simplificado:
1. Miss = número aleatório (definindo chance de erro).
2. Reposicionar pictures dos monstros.
3. Calcular Damage (fórmula à sua escolha).
4. Escolher alvo:
- Equipe = número de heróis em combate.
- EN1 Alvo = número aleatório de 1 a Equipe.
- Converter EN1 Alvo de “posição” (Líder, Seguidor 1 etc.) para o ID do herói correspondente.
5. Se Miss = valor de erro (ex.: 8):
- Mostrar “MISS” na posição do herói.
- Damage = 0.
6. Caso contrário:
- Damage -= Defesa do herói alvo.
- Se Defesa reduzir Damage abaixo de 1, Damage = 1.
- Herói HP -= Damage.
- Chamar HP (Perda).
- Atualizar displays de HP/MP.
- Se Herói HP = 0 → Herói Morto = ON.
Páginas seguintes:
- Mesma estrutura geral, adaptando-se a ataques duplos, ataques com veneno, magias etc.
Página de fuga:
- Zera XP e GP do inimigo (se esse for o efeito).
- Liga EN1 Morto (inimigo “sai” do combate).
PARTE 8 – HERÓIS
Os heróis têm eventos complexos porque:
- Compartilham menus (de ataque, magia, itens, fuga).
- Precisam de setas para seleção de ações, itens, magias e alvos.
- Precisam de gráficos diferentes para defender, atacar, ser atingidos, morrer, comemorar etc.
Cada herói possui um evento com muitas páginas (cerca de 23), por exemplo:
- Página 1 – Vazia (display inicial).
- Página 2 – Menu principal (Ataque, Defesa, Magia, Itens, Fugir).
- Página 3 – Fuga.
- Página 4 – Defesa.
- Página 5 – Menu de Magia.
- Página 6 – Ataque.
- Página 7 – Menu de Itens.
- Página 8 – Biblioteca de Magias (verifica se a magia pode ser usada).
- Página 9 – Seta de ataque aos monstros.
- Página 10 – Seta de ataque mágico aos monstros.
- Página 11 – Check Spell MP (se há MP e se o herói possui aquela magia).
- Página 12 – Itens (efeito durante combate).
- Página 13 – Alvo dos itens (seta nos heróis).
- Página 14 – Resolvendo itens (valida quais itens o herói tem).
- Página 15 – Validar alvo (inimigo).
- Página 16 – Efeito das magias.
- Página 17 – Redução de dano por elemento.
- Página 18 – Validar alvo (aliado).
- Página 19 – Seta de alvo dos itens nos aliados.
- Página 20 – GFX do herói atingido (condição Herói Hit).
- Página 21 – GFX de vitória.
- Página 22 – GFX de morto.
- Página 23 – GFX de morto durante vitória.
- Página 24 – GFX de herói fora da equipe.
8.1. Página 2 – Menu principal
No menu principal, o jogador escolhe a ação:
- Ataque.
- Defesa.
- Magia.
- Itens.
- Fugir.
- Cancelar (em algumas implementações).
Fluxo resumido:
1. Label para reinício do menu.
2. Imagem do herói em posição neutra de combate.
3. Herói 1 Move = 1 (ataque como padrão).
4. Se Herói 1 está na equipe e vivo:
- Herói 1 Def = OFF.
- Herói 1 Hit = OFF.
5. Iniciar ciclo de seta:
- Seta controla a variável Herói 1 Move (1 = Ataque, 2 = Defesa, 3 = Magia, 4 = Itens, 5 = Fugir, 6 = Cancelar).
- As pictures do menu mudam conforme o valor de Herói 1 Move.
6. Em confirmação:
- Se Move = 1 → Remover pics de menu, reposicionar monstros, chamar página 9 (escolha de alvo).
- Se Move = 2 → Remover pics de menu, ligar Herói 1 Def = ON.
- Se Move = 3 → Remover pics, chamar página 5 (menu magia).
- Se Move = 4 → Verificar se há itens, se houver chamar página 7 (menu itens).
- Se Move = 5 → Marcar Run = ON, chamar página 3 (fuga).
- Se Move = 6 → Cancelar (comportamento depende da sua lógica: pode voltar ao menu anterior ou marcar Breaker).
8.2. Página 5 – Menu de Magia
Fluxo básico:
1. @Book = OFF (magia ainda não usada).
2. Label de retorno.
3. Reposicionar monstros.
4. Chamar página de condições (Battle Begin página 7), caso alguma impeça o uso de magia.
5. Mostrar pics do menu de magia.
6. Herói 1 Use Spell = 1 (primeira magia).
7. Seta controla “Herói 1 Use Spell”.
8. Em cancelamento:
- Use Spell = 0.
- Cancelado = ON.
- Voltar para o menu anterior.
9. Em confirmação:
- Chamar página 11 (Check Spell MP).
- Se Cancelado = ON, voltar ao menu de magia.
- Se a magia for de cura (por exemplo, ID 22): chamar página 11 de escolha de alvo aliado.
- Caso contrário: chamar página 10 de escolha de alvo inimigo.
10. Após selecionar alvo e validar, chamar página 16 (efeito da magia).
8.3. Página 6 – Ataque
Fluxo simplificado:
1. Chamar página 15 (validar alvo inimigo).
2. Esperar 0.5s.
3. Ciclo de animação de ataque (golpe do herói).
4. Miss = número aleatório; se der o valor de erro, trata como miss.
5. Se acertar:
- Damage baseado em Ataque do herói, Defesa do inimigo, elemento etc.
- EN1 HP -= Damage.
- Chamar HP (Perda), atualizar displays.
- Se EN1 HP = 0 → EN1 Morto = ON.
8.4. Página 7 – Menu de Itens
Fluxo básico:
1. Herói 1 Item = 1 (primeiro item).
2. Seta controla Heroi 1 Item (limites dependem de quantos tipos de item existem).
3. Em cada item:
- Verificar se o herói possui aquele item.
- Se sim, mostrar picture e carregar a variável Dezena com a quantidade.
- Chamar o Evento Comum “Itens” para exibir o número.
4. Em confirmação:
- Se for item que afeta todos (ID maior que certo valor), tratar de forma especial.
- Caso contrário, chamar página 13 (alvo dos itens).
- Depois, chamar página 12 (efeito do item).
8.5. Páginas 15, 16, 18, 19 – Alvos e efeitos
- Página 15 – Validar alvo inimigo:
- Se o inimigo selecionado estiver morto, avançar para o próximo.
- Se todos estiverem mortos, repetir até encontrar um vivo.
- Página 16 – Efeito das magias:
- Determinar dano/efeito conforme Herói 1 Use Spell.
- Aplicar ao alvo (inimigo ou herói).
- Chamar HP (Perda) e Battle Begin página 5.
- Página 18 – Validar alvo aliado:
- Versão adaptada de Página 15, mas focando em heróis.
- Página 19 – Seta de alvo dos itens nos aliados:
- Mesmo princípio da seta de ataque, mas apontando para heróis em vez de monstros.
8.6. Páginas de GFX (20–24)
Essas páginas não possuem evento (script), apenas gráficos e condições:
- 20 – Herói atingido (Hit) – condição “Herói 1 Hit = ON”.
- 21 – Herói vitorioso – condição “Vitória = ON”.
- 22 – Herói morto – condição “Herói 1 Morto = ON”.
- 23 – Herói morto durante vitória – condição “Vitória = ON” e “Herói 1 Morto = ON”.
- 24 – Herói fora da equipe – condição “Herói Not Hire = ON”.
Considerações finais
O Battle System BFK é complexo e exige muita atenção a:
- Numeração de variáveis e switches.
- IDs de eventos e número de páginas.
- Organização lógica dos mapas de encontro e batalha.
Se você seguir este tutorial com calma, usando um caderno para planejar tudo e respeitando a estrutura de eventos, é possível criar ou modificar um battle system semelhante ao BFK ou BEP.
Qualquer dúvida, originalmente o autor pedia para ser contatado via fórum da RPG Menace, e-mail ou ICQ.
Se este material for útil para você, lembre-se de creditar “Raven” como autor do sistema e do tutorial original.
Tutorial BFK - por Raven
Este tutorial visa explicar e orientar o funcionamento, criação e modificação do Battle System BFK.
Este Tutorial será dividido em partes:
PARTE-1 ==> ORGANIZE-SE
PARTE-2 ==> CONFIGURAÇÕES
PARTE-3 ==> MAPAS
PARTE-4 ==> ENCONTROS
PARTE-5 ==> BATALHA (VALORES E EVENTOS)
PARTE-6 ==> BATALHA (TURNOS)
PARTE-7 ==>HEROIS
PARTE-8 ==> MONSTROS
PARTE-1 ==> ORGANIZE-SE
A primeira tarefa em fazer um battle system é rascunhar a maneira que vc deseja fazer o battle system, onde ficará cada monstro, as imagens dos menus, os heróis, que maneira vai correr seu sistema.
Isso deixará suas idéias mais claras e o objetivo mais fácil de se alcançar.
No caso do BFK, eu imaginei quatro heróis e 4 monstros. Um menu giratório para as ações. E utilizar a tela completa para o combate, mas acabei fazendo três monstros e 4 heróis. Meu sistema é baseado no BEP.
Por isso a organização de eventos é idêntica a ele. Mas no BEP os heróis não mudavam de posição no combate e no BFK havia a necessidade de troca de personagem e ordem, por isso tive que modificar muito o Bkf, as magias também são diversificadas. Assim como os ataques e outros detalhes do jogo.
Mas o método de organização ainda é a do BEP, pois ele foi criado muito bem organizado.
Antes de abris seu RM2k e começar a criar mapas e eventos. Para começar seu Bsys. CUIDADO! Vc pode se perder e se atrapalhar. Por isso eu recomendo que vc apanhe um caderno* para organizar seu jogo. Da seguinte maneira:
* Eu aconselho usar o caderno ao eives do micro, pois é muito mais rápido e pratico, na hora que vc tiver criando seu Bsys.
1- Crie a história - Isso tem que acontecer, antes de tudo. Pois vc tem que ter controle de numero de personagens, numero de magias itens. Etc. como vai funcionar o decorrer da história. Quantos personagens começam. Se há troca de heróis durante a história. Etc. Por isso é importante vc ter criado a história antes de criar seu jogo ou Bsys.
2- Defina seus heróis - Vc precisa definir quem são seus personagem durante todo o jogo. Para isso vc terá que dar nome e numero a cada herói, isso é muito importante, pois vc vai usar sempre esses números em seu Bsys. Como abaixo:
Heróis
1- João
2- Maria
3- Carlos
4- Márcia
5- José
3- Defina seus itens-Vc precisa definir todos os itens que serão usados durante a batalha, somente os itens que vc utilizará durante os combates, chaves, itens secretos, pedras ou alguns do tipo comum não precisa escrever, Armaduras e armas também não é necessário a não ser que elas influenciem com efeitos os combates, por ex: Espada de fogo, no combate ela tem uma animação de fogo diferente das outras, ai sim vc tem que descriminar na lista. De numero e nome a cada um deles, e descreva seu funcionamento. Como por Ex:
Itens
1- Poção - Cura 10Hp de um membro
2- Erva - Cura 10 Mp de um membro
3- Remédio - Cura o veneno de um membro.
4- Cura total - cura todo o Hp de todos os membros.
5- Power Up - Aumenta o ataque em 5
6- Espada de Fogo - Dá ataques de fogo.
4- Defina suas Magias - Vc precisa definir todas as suas magias e efeitos, somente as magias que serão utilizadas durante os combates, vc deve dar nome numero e efeito a cada um deles, Ex:
Magia
1- Fogo - Magia de fogo gasta 10 mp e dá 10-15 de dano
2- Água - Magia de água gasta 15 mp e dá 20-30 de dano
3- Veneno - Causa envenenamento em um inimigo.
5- Defina suas Condições - Vc precisa definir todas as suas condições no jogo como Envenenado, normal, dormindo, etc, dando numero, nome e o efeito de cada um. Ex:
Condições
1- Normal - Condição normal
2- Envenenado - Condição envenenado
3- Morto - Condição morto.
6- Defina os efeitos - Vc precisa definir todas os efeitos, estes efeitos são o tipo de ataque que é utilizado por ex. uma magia de fogo seu Efeito é o FOGO, portanto de essa magia for usada num monstro de Água, o dano é reduzido. Vc deve dar nome e numero a cada um deles, Ex:
Efeito:
1- Fogo
2- Água
3- Espada
4- Cura
7- Defina as Habilidades dos heróis - cada personagem deve ter sua habilidade, para isso vc deve listar todas, uma dica é agrupe sempre as habilidades por personagem, pois fica mais rápido e pratico de se visualizar. A habilidade consiste em toda as configurações de cada personagem, no BFK eu usei algumas que são padrão, mas vc pode criar habilidades especiais conforme o seu jogo necessite. Vc deve dar nome e numero a cada um deles, vou listar as habilidades básicas de um personagem.
Habilidade:
001 - João Hp
002 - João Max Hp
003 - João Mp
004 - João Max Mp
005 - João Ataque
006 - João Defesa
007 - João Agilidade
008 - João Inteligência
009 - João Magia
010 - João Efeito
011 - João XP
012 - João Nível
013 - João Nível da Magia
014 - João Posição (na equipe)
015 - João Movimento
016 - João Especial
017 - João Condição
018 - João Escolha
019 - João Item
020 - João Alvo
Faça cada uma delas para cada herói no jogo lembrando em continuar a numeração e não zerar a numeração de um personagem ao outro, colocando em colunas para vc colocar observações futuras na frente (uma dica é numerar estes itens reservando o mesmo numero para as suas futuras variáveis.).
8- Defina as Habilidades dos Inimigod - cada Inimigo deve ter sua habilidade, para isso vc deve listar todas, uma dica é agrupar sempre as habilidades por inimigo, pois fica mais rápido e pratico de se visualizar. As habilidades consistem em toda as configurações de cada inimigo, no BFK eu usei algumas que são padrão, mas vc pode criar habilidades especiais conforme o seu jogo necessite. Vc deve dar nome e numero a cada um deles, vou listar as habilidades básicas de um inimigoo.
Habilidade:
001 - EN1 Hp
002 - EN1 Max Hp
003 - EN1 Mp
004 - EN1 Max Mp
005 - EN1 Ataque
006 - EN1 Defesa
007 - EN1 Agilidade
008 - EN1 Inteligência
009 - EN1 Magia
010 - EN1 Efeito
011 - EN1 XP
012 - EN1 GP
013 - EN1 Nível da Magia
014 - EN1 Posição (na tela)
015 - EN1 Movimento
016 - EN1 Especial
017 - EN1 Condição
018 - EN1 Escolha
019 - EN1 variável
020 - EN1 Alvo
EN1 = inimigo, não importa a quantidade de tipos de monstros que vc vai ter no seu jogo, o que importa é quantos terão durante o mesmo combate, no caso do BFK só tem três Monstros no mesmo combate( embora sua configura;ao permita até).
Faça cada uma delas para cada inimigo no combate lembrando em continuar a numeração e não zerar a numeração de um inimigo ao outro, colocando umas colunas para vc colocar observações futuras na frente.
(uma dica é numerar estes itens reservando o mesmo numero para as suas futuras variáveis.).
PARTE-2 ==> Configurações
E a Database? O que fazer?
Na Database. Vc num vai usar quase nada. A tela dos Heróis vc deve preenchê-la completamente.
Os itens e magias vc só preenche o nome e o comentário os itens e magias que serão usados FORA DE COMBATE, os que forem usar apenas dentro do combate, vc só dá nome e Explicação para o item. Armas e armaduras vc deve preencher completo.
Os Terrenos (back graund) Monstros, Monster party, Attributes vc pode deletar todas não é preciso utilizá-los.
As condições como normal, envenenado e outros. Vc deve criar. Mas sem se preocupar com as configurações.
Sistema, chipsets, e outros que não influem no combate são preenchidos normalmente. Assim como a animação de batalha vc pode criá-las normalmente.
Importante!
Liste sempre suas Variáveis e Switches, Numere e de nomes, será mais fácil de se orientar.
Conforme dito no tutorial passado transforme as habilidades dos heróis e monstros em variáveis (Apenas de nome a elas. Não de valores ainda) lembrando sempre de manter agrupado as habilidades dos heróis por nome do Herói, e as habilidades dos monstros em ordem de Habilidade dos monstros ex:
001 - João Hp
002 - João Max Hp
003 - João Mp
004 - João Max Mp
005 - João Ataque
006 - Maria Hp
007 - Maria Max Hp
008 - Maria Mp
009 - Maria Max Mp
E dos monstros assim:
010 - M1 Hp
011 - M2 Hp
012 - M3 Hp
013 - M1 Mp
014 - M2 Mp
015 - M3 Mp
016 - M1 Max Hp
017 - M2 Max Hp
018 - M3 Max Hp
Lembrem-se nesse tutorial vamos fazer a mesma configuração do BFK, portanto vou dar nomes para as variáveis e Swt. Conforme no meu Bsys. Vcs podem trocar os nomes conforme sua necessidade.
Este Tutorial é apenas para quem tem conhecimentos avançados em RM2k, pois não vou explicar fatores básicos de Variáveis ou forks ou de outros comandos, como fazer setas simples, cálculos básicos e etc.
Ok. Vamos agora configurar todas as nossas switch e variável, porque isso? Porque é mais organizado. E pratico, se vc tivesse criando seu próprio System vc poderia ir criando as switches e variáveis conforme vai precisando, mas como isso é um tutorial e visa à praticidade das coisas, vamos configurar todos as Swt e Var. Necessárias para criar o Bsys.
Switches (Swt.).
Vou colocar em ordem numérica todas as swt. Necessárias para o bsys. Aconselho imprimir esta pagina e listar suas Switches também.(pois elas podem ter números e ordens diferentes.).
Quando eu falo listar é apenas para dar nomes as Swts.
Obs: Quando existe uma swt com herói 1, heroi2, etc. vc deve fazer uma destas para cada herói no jogo, agora se estiver só Herói sem numero é porque esta swt serve para todos os heróis.
1. Nome do herói 1 (Estas Swt. Servem para identificar quais os heróis que estão presentes).
2. Nome do herói 2 (Estas Swt. Servem para identificar quais os heróis que estão presentes).
3. Nome do herói 3 (Estas Swt. Servem para identificar quais os heróis que estão presentes).
4. Nome do Herói 4 (Estas Swt. Servem para identificar quais os heróis que estão presentes).
5. Monstro 1 Morto (Esta irá identificar quando o Monstro 1 estiver morto)
6. Monstro 2 Morto (Esta irá identificar quando o Monstro 2 estiver morto)
7. Monstro 3 Morto (Esta irá identificar quando o Monstro 3 estiver morto)
8. Herói 1 Hit (Esta é para identificar quando o herói é atingido)
9. Herói 2 Hit (Esta é para identificar quando o herói é atingido)
10. Herói 3 Hit (Esta é para identificar quando o herói é atingido)
11. Herói 4 Hit (Esta é para identificar quando o herói é atingido)
12. Herói 1 def (Esta é para identificar quando o herói está defendendo)
13. Herói 2 def (Esta é para identificar quando o herói está defendendo)
14. Herói 3 def (Esta é para identificar quando o herói está defendendo)
15. Herói 4 def (Esta é para identificar quando o herói está defendendo)
16. Herói 1 Morto (Esta é para identificar quando o herói está morto)
17. Herói 2 Morto (Esta é para identificar quando o herói está morto)
18. Herói 3 Morto (Esta é para identificar quando o herói está morto)
19. Herói 4 Morto (Esta é para identificar quando o herói está morto)
20. Went 1 (Esta é para identificar a 1ª posição de Herói no combate*)
21. Went 2 (Esta é para identificar a 2ª posição de Herói no combate*)
22. Went 3 (Esta é para identificar a 3ª posição de Herói no combate*)
23. Went 4 (Esta é para identificar a 4ª posição de Herói no combate*)
24. Went 5 (Esta é para identificar a 1ª posição de Monstro no combate*)
25. Went 6 (Esta é para identificar a 2ª posição de Monstro no combate*)
26. Went 7 (Esta é para identificar a 3ª posição de Monstro no combate*)
27. Herói 1 not hire (Esta é para identificar quando o herói não está presente)
28. Herói 2 not hire (Esta é para identificar quando o herói não está presente)
29. Herói 3 not hire (Esta é para identificar quando o herói não está presente)
30. Herói 4 not hire (Esta é para identificar quando o herói não está presente)
31. Vitória (Esta é para identificar quando os heróis ganham a batalha)
32. Cancelado (quando uma ação for cancelada)
33. @book (Para identificar o uso das magias)
34. Run (Para ativar a fuga)
35. Fugindo (Para fugir)
36. *breaker* (para o ciclo de ações)
37. All (para identificar quando a ação é feita em todos os heróis)
38. Encontro 01
39. Encontro 19 (validar os encontros)
40. Encontro 20 (Ativar os encontros)
* posição de combate é a ordem de ações que acontecem em 1 round tipo se existem 4 heróis e 3 monstros na mesma batalha cada um tem sua vez de atacar Esses Went registra quantos ataques pode haver no combate.
Variáveis (var.).
Vou colocar em ordem numérica todas as var. Necessárias para o bsys. Aconselho imprimir esta pagina e listar suas variables também.(pois elas podem ter números e ordens diferentes.).
Quando eu falo listar é apenas para dar nomes as var.
Obs: Quando existe uma var. Com herói 1 ou Em 1 vc deve fazer uma destas para cada herói ou inimigo no jogo, agora se estiver só Herói sem numero é porque esta var serve para todos os heróis.
Lembrando que quando eu falo EN (inimigo) quer dizer a cada inimigo dentro do mesmo combate.
1. Herói 1 Level (Registra o Nível do personagem)
2. Herói 1 XP (Registra o XP do personagem)
3. Herói 1 HP (Registra o HP do personagem)
4. Herói 1 Max HP ((Registra o Nível máximo do HP do personagem))
5. Herói 1 Mp (Registra o MP do personagem)
6. Herói 1 Max MP ((Registra o Nível máximo do MP do personagem))
7. Herói 1 Weapon (((Registra a arma utilizada pelo personagem**)))
8. Herói 1 Ataque (((Registra a Força de ataque do personagem)))
9. Herói 1 Defeso (((Registra a força de defesa do personagem)))
10. Herói 1 Condição (((Registra a condição do personagem)))
11. Herói 1 Magia (((Registra o poder da magia do personagem)))
12. Herói 1 Magia Def (((Registra o poder de defesa contra magia do personagem)))
13. Herói 1 Speed (((Registra a agilidade e velocidade do personagem)))
14. Herói 1 Target (((Registra o Alvo do personagem do personagem)))
15. Herói 1 Move (((Registra a ação que será executada pelo personagem)))
16. Herói 1 Position (((Registra a posição na tela do personagem)))
17. Herói 1 level Spell (((Registra o Nível da Magia do personagem)))
18. Herói 1 Use Spell (((Registra a Magia a ser usada pelo personagem)))
19. Herói 1 Item (((Registra o Item a ser usada pelo personagem)))
20. Herói 1 Elemento (((Registra ao elemento do personagem)))
21. En 1 GP (Registra o Nível do inimigo)
22. En 1 XP (Registra o XP do inimigo)
23. En 1 HP (Registra o HP do inimigo)
24. En 1 Max HP ((Registra o Nível máximo do HP do inimigo))
25. En 1 Mp (Registra o MP do inimigo)
26. En 1 Max MP ((Registra o Nível máximo do MP do inimigo))
27. En 1 Ataque (((Registra a Força de ataque do inimigo)))
28. En 1 Defesa (((Registra a força de defesa do inimigo)))
29. En 1 Condição (((Registra a condição do inimigo)))
30. En 1 Magia (((Registra o poder da magia do inimigo)))
31. En 1 Speed (((Registra a agilidade e velocidade do inimigo)))
32. En 1 Target (((Registra o Alvo do inimigo)))
33. En 1Move (((Registra a ação que será executada pelo inimigo)))
34. En 1 X(((Registra a posição X na tela do inimigo)))
35. En 1 Y(((Registra a posição Y na tela do inimigo)))
36. En 1 Elemento (((Registra ao elemento do inimigo)))
37. En ??? GP (Registra o Nível do inimigo Pré-configurado)
38. En ??? XP (Registra o XP do inimigo Pré-configurado)
39. En ??? HP (Registra o HP do inimigo Pré-configurado)
40. En ??? Max HP ((Registra o Nível máximo do HP do inimigo Pré-configurado))
41. En ??? Mp (Registra o MP do inimigo Pré-configurado)
42. En ???Max MP ((Registra o Nível máximo do MP do inimigo Pré-configurado))
43. En ???Ataque (((Registra a Força de ataque do inimigo Pré-configurado)))
44. En ???Defesa (((Registra a força de defesa do inimigo Pré-configurado)))
45. En ???Condição (((Registra a condição do inimigo Pré-configurado)))
46. En ???Magia (((Registra o poder da magia do inimigo Pré-configurado)))
47. En ??? Speed (((Registra a agilidade e velocidade do inimigo Pré configurado)))
48. Em ??? Elemento (((Registra ao elemento do inimigo Pré-configurado)))
49. Escolha 1 ((isto é para usar para setas e escolhas))
50. Escolha 2 ((isto é para usar para setas e escolhas))
51. Escolha 3 ((isto é para usar para setas e escolhas))
52. Escolha 4 ((isto é para usar para setas e escolhas))
53. Milhar ((isto é para calcular o Hp e dano em milhar))
54. Centena ((isto é para calcular o Hp e dano em centenas))
55. Dezena ((isto é para calcular o Hp e dano em dezenas))
56. Unidade ((isto é para calcular o Hp e dano em unidades))
57. Variável 1 ((isto é uma variável reserva que funciona como gancho para outras))
58. Variável 2 ((isto é uma variável reserva que funciona como gancho para outras))
59. Damage ((Registra o dano causado))
60. ---X--- ((Registra a coordenada X, atual do Heroi))
61. ---Y--- ((Registra a coordenada Y, atual do Heroi))
62. ---Get X--- ((Registra a coordenada X, futura do Heroi))
63. ---Get Y--- ((Registra a coordenada Y, Futura do Heroi))
64. XP ganho ((Registra o Xp ganho no combate))
65. GP ganho ((Registra o Gp ganho no combate))
66. Passos ((Registra o numero de passos dados pelo heroi))
67. Passos para combate ((Registra o numero de passos para o combate))
68. Battle ID ((Registra o numero ID do mapa atual))
69. Battle X ((Registra a Coordenada X do herói no mapa atual))
70. Battle Y ((Registra a Coordenada Y do herói no mapa atual))
71. Turnos ((Registra o numero de turnos no combate))
72. Iniciativa 1((Registra a velocidade de combate comparada 1))
73. Iniciativa 2 ((Registra a velocidade de combate comparada 2))
74. Miss ((Registra o valor para errar um ataque))
75. * contador *((Registra o numero de ações no combate))
76. Equipe ((Registra o numero personagens na atual equipe))
77. Líder ((Registra o numero do 1º herói na equipe))
78. Seguidor 1 ((Registra o numero do 2º Herói na equipe))
79. Seguidor 2 ((Registra o numero do 2º Herói na equipe))
80. Seguidor 3 ((Registra o numero do 2º Herói na equipe))
81. MP/HP Geral ((Registra o numero de Hp/Mp de transição de todos os herois))
82. MP/Hp Max Geral ((Registra o numero de Hp/Mp Max de transição de todos os herois))
83. Atacado X ((Registra a posição do atacado X))
84. Atacado Y ((Registra a posição do atacado Y))
PARTE-3 ==> Mapas
O mapa Cuidado!
Na hora de criar mapas tenha cuidado!Com o ID deles e dos eventos neles contidos.
Nos eventos é importante que sejam criados todos na mesma ordem. Eu aconselho, ao usar um Bsys, Fazer sempre um copy paste do mapa que contem as configurações do Bsys. Para que vc não perca a ordem dos IDs dos seus eventos.
Mapas muito grandes complicam. O melhor a fazer são mapas no tamanho mínimo para o Bsys.
Importante!
Agrupe seus mapas com uma ordem lógica para vc não se perder, durante a criação do seu jogo e do seu Bsys.
Para o Bsys vc deve criar três mapas.
Um será o de configuração do jogo.
Um será de mapa de encontro
Um será de batalha.
Mapa de configuração do Jogo.
Essa foi uma idéia excelente do BEP. (embora eu não tenha certeza que foi esta a real intenção do criador).
Criar um mapa com um evento de configurações iniciais, com ele vc ganha tempo, eventos e Comuns eventos.
Vamos chamar este Mapa de “Inicio”, se vc tiver uma Apresentação ou qualquer outra coisa que venha antes do começo do jogo, o mapa inicio pode vir logo depois dela. É aconselhável usar um personagem sem charset para estas coisas depois troque para o herói principal.
Neste mapa faça ele todo preto (usando o tile do Background).
Vamos criar um evento de auto inicio neste mapa, nele vamos configurar as var. E swts iniciais do jogo.
Na tela de eventos vamos fazer os seguintes passos:
1. Mudar as Swts dos “herói morto”, para ON, deixar Off apenas a do(s) herói(s) que iniciam o jogo.
2. Mudar a var. “Herói position”, como eu havia dito esta var. Configura a posição no combate como no exemplo abaixo:
M H1
M H2
M H3
H4
Os heróis (H) estão em posição no combate, o numero ao lado representa a posição que ele vai ter no combate. Se vc começa com 1 herói e ele deve estar na posição 2 a variável herói 1 Position será igual a 2
3. Adicione os itens necessários para o inicio do jogo.
4. Configure as variáveis “---X---“ e “---Y---“ para a coordenada do herói.
5. Configure a variável “Passos Combate” para um numero aleatório, este numero servira como gatilho para entrar no combate quando o numero de passos de seu herói chegar ao mesmo numero dessa variável o combate terá inicio. Eu aconselho um numero de 10 a 20 para mapas pequenos e de 10 a 30 para mapas grandes.
6. Ligue a Swt Encontro 20 = ON (ela permite que o evento de passos seja ativado, mais pra frente).
7. Configure a variável “Líder” para o numero ID de seu personagem principal.
8. Configure a variável “Herói 1 level spell” para 1 ( quer dizer que todas suas magias são de nível 1)
9. Faça o teleporte para o mapa que começa o jogo.
10. Se vc estiver usando um herói em branco aqui é o momento ideal para se trocar o herói.
11. Mude todas as swts. “Went” para OFF
12. Mude todas as swts. “Nome do Herói” para Off, exceto a do herói que inicia o jogo que deve estar ON.
PARTE-4 ==> Encontros
A Dica!
Escreva no caderno uma relação e monstros, e faça uma tabela contendo toda a configuração dos monstros que vc criou, vc pode fazer isso durante o jogo, não precisa fazer tudo antes, mas os primeiros monstros que irá usar, é interessante que vc tenha todos os valores anotados.
Importante!
Nesta parte existe um bug, no BEP ele tem um sistema para evitar esse bug, que é o de entrar em combate quando está no meio do teleporte de um mapa para outro. O BEP não tem esse problema, pois ele fez um esquema de variáveis para evitar. Já no BFK eu não coloquei, pois o do BEP, é muito complicado e trabalhoso. Estou tentando fazer um menos complicado, pode ser que funcione apenas desligando temporariamente a swt Encontro 19.
Para a versão 2.0 do BFK creio que já tenho uma solução estável para este problema.
Mapa de Encontros.
Lembrando novamente da importância do ID dos eventos por tanto o ideal é que antes de se criar um mapa faça os eventos de encontro, para manter o Numero do ID igual. Em todos os mapas.
Existem dois eventos neste caso o evento “encontro” e o evento “Valores/monstros”, existe um Comum evento que trabalha junto com estes dois o evento Chamado “valores”.
Cada ação terá um numero, no caso das forks o que for dentro da mesma fork receberá o mesmo numero tipo:
O evento 3 é uma fork, o que vier dentro desta fork será a ação 3 a., se essa fork tiver outra dentro dela os eventos terão a seguinte numeração 3.a.a., e assim por diante.
Evento “Encontros”
Este evento irá configurar, quando se tem um encontro, e quem participa do encontro.
Este evento deve ser Paralelo Processo, e a condição são se a swt. “Encontro 20” estiver ON
Vamos para a configuração da pagina de eventos:
1. Coloque um Label 1.
2. Config. Var. “---Get X---“ e “---GetY---“ para a coordenada X, e Y.
3. Ente com uma Fork se “---Get X---“ for diferente (other) da var. “---X---“
3 a. Dentro da fork mude a var. “Passos” para +1, e depois configure a var. “---X---“ para a coordenada do herói. (esta fork vai aumentar em 1 a var. “Passos” toda a vez que o herói se mover no eixo de X, faça o mesmo para o eixo de Y).
4. Entre com uma nova fork, se var. “Passos” for igual a Var. “Passos Combate”.
4 a. Dentro coloque um wait de uns 0.2 sec ( isso é para o seu evento não ter tempo para encontrar as variáveis).
4 b. Entre com uma nova fork, se Swt. “Encontro 19” estiver ON. (esta opção eu acho que pode dar cabo com o bug)
4.b.a. Mude a variável “Passos combate” para -, 5
4.b.b. Mude a swt “encontro 19” para off
4.b.c. Go to Label 1. (quer dizer se o swt encontro 19 estiver ligada não á encontro. E retorna lá em cima.).
4.c. Entre com uma fork, se Herói 1 estiver na equipe, mude a swt “herói 1 Morto” para Off, em else case mude a swt “herói 1 Morto” para On. (faça isso com todos os heróis)
4.d. Mude a swt “Run” para OFF (para que possa funcionar a fuga outras vezes).
4.e. Desabilite o menu do RM2k
4.f. Mude a swt “encontro 01” Para Off
4.g. Mude a swt “EN 1 Morto” Para ON ( faça isso para todos os inimigos, serve para reiniciar os monstros)
4.h. Mude a variável “passos” para igual a 0.
4.i. Memorize o Bgm
4.j. play um SE (para avisar que houve um encontro).
4.k. Play o Bgm do combate.
4.L. Faça uma transição de tela. (erase screen).
4.m. Memorize o local usando as var “Battle ID, Battle X e Battle Y”.
4.n. Wait 1.0 sec.
4.o. Deixe invisível o seu herói.
4.p. chame o evento “valores/monstros do mapa, pagina 1.
4.q. Teleporte para o mapa do combate.
Evento “Valores/monstros”
Este evento irá configurar, quais são os monstros, quantos são os monstros, como serão os monstros.
Este evento não tem condição, e deve ser acionado com toque do herói, (na verdade o herói não vai tocá-lo para acionar, e sim o Evento “Encontro” é quem vai chamar as ações contidas na 1 pagina deste evento.
A primeira pagina irá configurar os monstros no combate, como quantidade, quis serão, e onde vão aparecer, as demais paginas são as configurações do grupo de monstros deste mapa. Cada pagina extra será um monstro, como vamos ver a seguir.
No caso do BEP e do BFK, os monstros são identificados através do numero Max de HP, porque isso?, é para não criar um numero Id para cada monstro, então escolhemos , um numero que poderia ser constante no monstro, no caso o Max Hp, se vc quiser usar uma outra variável para identificar o tipo de monstro fique avontede.
Pagina 1:
1. Config. Var. “Escolha 1” para um numero aleatório (este numero irá calcular a possibilidade do En1 ser um tipo diferente de monstro, se vc colocar de 1 a 3, o resultado 1 quer dizer que o En1 será um monstro(mosca), se for 2 será um outro Monstro(slime), e se for 3 será outro (sanguessuga), no caso do inimigo 1 todos os números deve resultar em um inimigo, mas nos outros um resultado pode ser considerado que o En2 não está em combate, assim se o resultado do en2 for 3, EN2 não entra em combate, mas isso vamos ver mais pra frente.
2. Zere as variáveis “EN1 Max HP” (zere de todos os inimigos).
3. Entre com uma fork, se a var. “Escolha 1” for igual a 1.
3.a. Mude a Swt. “En1 morto” para Off (faça apenas a do En1, pois estamos configurando quem será o inimigo 1.).
3.b Chame o evento da pagina do monstro escolhido ( caso vc decidiu que o resultado da var. “escolha 1” quando fosse igual a 1 o monstro que irá aparecer será uma mosca. Então vc deve chamar o evento que configura o EN1 para mosca, mas isso também veremos mais pra frente.)
3.c Troque todos as var. EN???, para as var. do EN1, Ex: var.”EN1 HP” igual ao valor da var, EN??? HP.
4. Repita os passos do item 3 para cada opção de En1 que vc tiver.
5. Repita os paços 1 à 4, Para cada inimigo que vc tiver em combate
6. Para os En2 e En3, aumente, 1 na sua Escolha, para que de uma opção a mais para o EN2 não está em combate, e/ou En3 não está em combate. Desta maneira, Entre com uma fork se var. ”escolha 1” for igual a 4 ( por exemplo).
6.a. Mude a Swt. Do “EN2, e/ou En3 Morto”, para On, Isso fará com que o EN escolhido não se torne um alvo.
6.b Zere todas as var. Relacionadas ao En2, e/ou En3, que não entrarem em combate, como Max Hp, Hp, Xp, Gp.Etc.
7. Call Evento, Chame o comum evento chamado Valores.
Pagina 2
Aqui estão as pré-configurações de cada monstro vc deve fazer uma pagina, para cada monstro que pode aparecer no papa atual. Ex, Pagina 2 é a mosca, pagina 3 é a Slime..Etc...
Aqui vc vai configurar as Variáveis que tem interrogações no nome Ex: “EN??? Hp”, EN??? XP,etc.
Com o numero que vc quiser. Lembrando que o HP Max deve ser fixo para cada tipo de monstro.Ex: todas as slime tem Max HP = 20, todas as moscas tem Max HP = 10 etc.
Depois quando o evento retornar a pagina 1 elas serão substituídas de acordo com o En correspondente.
Comum Evento “Valores”
Este comum evento irá configurar, as estatísticas atuais de seus personagens.
Aqui é fácil é só configurar todas as variáveis de todos os heróis. Ex:
Var. “Herói 1 Hp” = Hp do herói 1
Var. “Herói 1 Max HP = Hp Max Do herói 1..
E assim por diante. Faça isso com o Level, Hp, Mp, MaxMp, MaxHP, XP, Ataque, defesa, magia, defesa da magia e Speed, Faça isso para todos os personagens tudo no mesmo evento.
Tutorial BFK - Parte 2 por Raven
Este tutorial visa explicar e orientar o funcionamento, criação e modificação do Battle System BFK.
Este Tutorial será dividido em partes:
PARTE-1 ==> ORGANIZE-SE
PARTE-2 ==> CONFIGURAÇÕES
PARTE-3 ==> MAPAS
PARTE-4 ==> ENCONTROS
PARTE-5 ==> BATALHA (VALORES E EVENTOS)
PARTE-6 ==> BATALHA (TURNOS)
PARTE-7 ==>MONSTROS
PARTE-8 ==> HEROIS
PARTE-5 ==> BATALHA (Valores e Eventos)
No tutorial passado vimos como organizar e configurar nosso Bsys. Agora vamos entrar na parte mais complicada desse tutorial.
1. Vc tem que ter um bom conhecimento do funcionamento de todos os eventos de RM2k.
2. Este Tutorial foi feito para vcs poderem modificar ou criar um Bsys como o BEP ou BFK.
3. Ter feito todos os passos do 1º Tutorial.
Batalhas
Vamos encarar a batalha como um grande circulo de forks e variáveis.
È importante vc saber quando usar um comum evento e quando usar um Evento de pagina.
Nesta parte do tutorial estarei explicando todo os Comuns eventos do BFK, e sua utilização.
Importante!
Para criar um Bsys vc tem que ter uma linha de raciocínio. Lógico imagine que o bsys é um grande circulo de eventos paginas e apêndices (que são os Comuns eventos).
Separar uma pagina para cada tipo de efeito ou ação é muito importante, vale lembrar que quando se usa um call evento de uma pagina a outra tome cuidado em só chamar paginas que estão à frente, nunca atrás, pois o RM2k não consegue retornar a pagina de evento inicial se ela estiver antes do call.
Por ex: se a pagina 5 chamar a pagina 2 e vc quer que ao fim da página 2 o evento volte a pagina 5 automaticamente. Isso não vai ocorrer. (não sei porque. Mas isso é falho) por isso eu digo que o BEP é muito bem organizado, o BFK também segue o mesmo principio.
No BEP o HP é feito por pics e o BFK o Hp é feito por Charsets.
Neste vamos fazer como no BFK, embora a programação ser quase a mesma no BKF ela fica um pouco menor e mais fácil.
Comuns eventos.
Os comuns eventos principais para o Bsys (BKF) são:
HP (perda)
HP (ganho)
Valores (este nós vimos no tutorial passado)
Resolvendo Dano
Itens
Fundo (Background)
Resolve dano
Este Comum Evento serve para arrumar o hp e Mp dos personagens ao sair do combate.
O comando é bem simples:
1. Mude o Hp (Change hp), aumente o HP de todos os heróis para 999 (Mude o valor dos hp, isso serve para nivelar todos os hps).
2. Mude a Var “Herói 1 Move” = “Herói 1 Max HP
3. Mude a Var. “Herói 1 Move” - Var. “Herói 1 HP”
4. Mude o HP (Change hp), só do herói 1, selecione Decresce Hp e o Operando é a var. “Herói 1 Move” (isso fará com que subtraia o valor obtido da variável “herói 1 move” que é o resto da subtração de hp Max original do Hp atual, e depois retirado dos 999 que vc havia colocado no começo).
5. Repita os passos 2 a 4 para todos os heróis
6. Repita os paços 1 a 5 para os valores de MP.
HP Perda
Este Comum Evento serve para fazer o display dos números que saltam do inimigo ou aliado, quando é atingido.
O comando é um pouco trabalhoso:
1. Mude a var. “Milhar” para ser = ao da var. “Damage”
2. Mude a Var “Escolha 4” = var “Damage”
3. Mude a var. “Milhar” e divida por 1000 (o resultado será o numero da milhar do dano)
4. Mude a var. “Escolha 4” Mod. 1000 (o resultado será a sobra da divisão acima)
5. Mude a Var “Centena” = a Var “Escolha 4”
6. Mude a Var “Escolha 1” = a Var “Centena”
7. Mude a Var “Centena” e divida por 100 (o resultado será o numero da centena do dano)
8. Mude a Var “Escolha 1” Mod. 100 (o resultado será a sobra da divisão acima)
9. Mude a Var “Escolha 2” = a var “Escolha 1”
10. Mude a Var “Dezena” = a Var “Escolha 2”
11. Mude a Var “Dezena” divida por 10 (o resultado será o numero da dezena do dano)
12. Mude a Var “Escolha 2” Mod. 10 (o resultado será a sobra da divisão acima)
13. Mude a Var “Escolha 3” = a var “Escolha 2”
14. Mude a Var “Unidade” = a var “Escolha 3” (fazendo isso tudo vc destrincha um numero do dano em seus algarismos, ex: se o seu dano é 2578, Na variável Milhar tem que ter o numero 2, na centena o numero 5, na dezena o numero 7 e na unidade o numero 8.).
15. Coloque uma nota aqui para dizer que vc vai checar a milhar.
16. Mude a Var “---X---” = a -, 25 (Durante o jogo essa variável x será configurada para o local X onde está o alvo, esse valor -, 25 é para a pic do milhar do dano aparecer na frente de todos os números, e este é um valor ideal, caso vc use pics de números iguais ao do BEP ou BKF).
17. Mude a Var “---Y---” = a +, 0 (Durante o jogo essa variável Y será configurada para o local Y onde está o alvo, esse valor +, 0 é para a pic do milhar do dano aparecer no mesmo eixo do alvo).
18. Coloque uma fork se milhar for igual a 0 (essa fork serve para remover a pic da milhar caso o valor dela for igual a zero)
18.a. Remove pic 20 (a pic 20 será do milhar.).
19. Coloque uma fork se milhar for igual a 1 (essa fork serve mostrar a pic da milhar 1 caso o valor dela for igual a 1)
19.a. Show pic 20 no local das variáveis “---X---“ e “---Y---“.
20. Repita os passos 19 para cada numero de 2 a 9.
21. Coloque uma nota aqui para dizer que vc vai checar a centena.
22. Mude a Var “---X---” = a +, 8 (Durante o jogo essa variável x será configurada para o local X onde está o alvo, a reduzido o valor da milhar esse valor +, 0 é para a pic da centena do dano aparecer atrás do milhar, e este é um valor ideal, caso vc use pics de números iguais ao do BEP ou BKF).
23. Mude a Var “---Y---” = a +, 0 (Durante o jogo essa variável Y será configurada para o local Y onde está o alvo, esse valor +, 0 é para a pic da centena do dano aparecer no mesmo eixo do alvo).
24. Coloque uma fork se a “centena” for igual a 0 (essa fork serve para remover a pic da centena caso o valor dela for igual a zero)
24.a. Remove pic 19 (a pic 19 será da centena.).
25. Coloque uma fork se centena for igual a 1 (essa fork serve mostrar a pic da centena 1 caso o valor dela for igual a 1)
25.a. Show pic 19 no local das variáveis “---X---“ e “---Y---“.
26. Repita o processo da centena para as dezenas e unidades.(Atenção! Lembre de mudar a variável “escolha 1” para milhar “escolha 2” para a centena, “escolha 3” para a dezena, “escolha 4” para a unidade).
Assim vc terá configurado, o display do dano, quando haver um ataque basta indicar o valor X e Y do atacado o dano e chamar este evento, que irá aparecer o numero total do dano. (mas isso vamos ver mais para frente, detalhadamente.).
HP (Ganho)
Se vc conseguiu fazer o evento de Hp perda. Aqui é a mesma coisa, só que ele vai ser chamado quando vc recuperar o hp ou Mp, a idéia é que o display dos números fique de outra cor para poder identificar quando está sofrendo dano e quando está recuperando o hp, os dois usam as mesmas variáveis, só basta vc mudar a cor da pic ou a própria pic.
Itens (check)
Aqui vamos configurar o display do numero de um determinado item, para dizermos que os heróis têm 03 poções, ou 33 ehter.Etc., aqui também é bem fácil. É o mesmo processo do HP ganho e perda, mas só vamos utilizar as dezenas e as unidades, já que o limite Maximo do RM2k para itens é de 99.
Lembrando aqui ao invés de configurar a variável “Damage” (dano), como o valor principal, nosso valor de numero de itens será colocado na variável Dezena direto, portanto não é necessário fazer a parte das change variável com a variável Damage. Mas para frente vcs vão entender isso. EX.
Quando fomos verificar o numero de itens de poção o valor total desse item será colocado direto na variável “dezena”.
O local onde irá aparecer a pic é determinado por vc de acordo com seu display dos itens.
Fundo
Este é um evento exclusivo do BFK, mas isso vai ajudar muito no seu jogo, No BEP é feito um mapa de combate para cada local e grupo de monstros. Já no BFK só existe 1 mapa para o combate que varia de acordo com o grupo de monstros. Para isso vamos listar os tipos de terrenos desejados e vamos listar (dar nome e numero) para cada um deles.
Em cada tipo de mapa nos vamos configurar o variável “fundo” para o numero determinado. EX.
Listamos os tipos de terrenos da seguinte forma:
1- Planicie
2- Floresta
3- Montanhas
A cada mapa mudamos o variável “fundo” para o seu numero. Se estivermos nas montanhas no evento de teleporte configuramos o variável “fundo” par ser igual a 3, daí quando entrar em combate o Background mudar para o das montanhas. Para isso que serve este comum evento pra mudar o background do combate. Por isso este evento são sucessivas, forks para cada tipo de terreno, assim:
1. Se a variável “fundo” for igual a 1.
2. Change background da planície.
Faça isso para todos os tipos de background que vc tiver. No jogo. (e não esqueça de mudar a var. Cada vez que mudar de terreno).
Estas foram os comuns eventos básicos necessários para fazer um bsys. Agora vamos para os eventos dentro do mapa de combate.
Importante!
Aqui vc precisa ter exatamente todos os eventos necessários para o seu Bsys, mesmo que estejam em branco, mas crie todos para reservar o numero de ID de cada um deles.
No caso do BFK, são 10 personagens, 3 monstros, um evento para cada HP (herói e monstro), 1 evento para cada MP (herói), e 3 eventos de Mapa totalizando 32 eventos no mapa.
Eles devem estar no mapa no momento da construção do Bsys.
Os eventos dos Monstros e dos heróis veremos mais a frente, agora vamos dar atenção aos eventos de mapa.
São 3 eventos no BFK e no BEP (apesar de que o 3º evento do BEP, e do BFK terem diferentes usos, No caso do BFK serve para configurar o menu de Magias, e no BEP serve para fazer os personagens piscarem quando selecionado.), no entanto vc pode estudar e ver a possibilidade de anular esse 3 evento. Que no BFK se chama “Úteis”.
É importante também configurarmos o numero de pagina de cada evento, pois vamos usar muito a opção Call evento, e isso necessitam que os eventos tenham o numero exato de Paginas (obs. O numero de pagina pode variar para o numero de membros em combate, lembramos que esse tutorial é para fazer um Bsys com 4 heróis e 3 monstros).
Vamos a lista.
Battle begin - 13 Paginas
Check Death/Speed - 13 Paginas
Herói (todos) - 23 paginas cada
Monstros (todos) - 7 paginas (contando 1 ataque mágico, se o monstro tiver + ataques esse numero pode aumentar.).
Hp/Mp Heróis (todos) - 2 paginas
Hp Monstros (todos) - 2 paginas
Útil (depende se vc vai usar essa opção ou não) Nesse tutorial não vai usar esta opção.
Mas 2 deles são de vital importância o evento chamado “Battle Begin”, e o “Chack Death/Speed”.
Vamos começar com os eventos de display de hp e Mp, no caso do Bep ele é feito por pics, e no caso do BFK ele é feito por Char, nos dois casos o evento tem a mesma construção, mas indicam eventos diferentes. Vamos a ele:
“HP e MP Display por Char sets”
Criamos 1 charset para cada hp e Mp de herói e monstro, com 2 paginas, a 2 pagina deve ter a condição de Swt “herói 1 Morto” e a figura me branco, isso é para quando o herói ou monstro morrer o hp e o Mp desaparecerem.
A primeira pagina, coloque o chipset com 100%, faça chipset para cada 10% de hp e mp. Da maneira que vc deseja.
Vamos construir o evento da 1 pagina.
1. Mude a var. “Hp/mp geral” = a var. “Herói 1 HP”.
2. Mude a var. “Posição atual” = a var. “Herói 1 Position”
3. Mude a var. “Hp/mp Max geral” = a var. “Herói 1 MaxHP”.
4. Mude a var. “HP/MP geral” multiplique por 100 (que é à base de porcentagem).
5. Mude a var. “HP/MP geral” para dividir com a var. “HP/MP Max geral”. (vc irá obter a verdadeira porcentagem de Hp ou mp.).
6. Coloque uma fork, se var. ““ HP/MP geral “= 100”.
6.a. Mude o chipset desse evento para a figura de 100%.
7. Coloque uma fork, se var. ““ HP/MP geral “menor (Small) 100”.
7.a Coloque uma fork, se var. ““ HP/MP geral “maior (bigger) 94 (resultará nos números de 95-99)”.
7.a.a. Mude o chipset para o de 95%.
8. Coloque uma fork, se var. ““ HP/MP geral “menor (Small) 95”.
8.a Coloque uma fork, se var. ““HP/MP geral” maior (bigger) 89 ( resultará nos números de 90-94)
8.a.a. Mude o chipset para o de 90%.
9. Faça isso para cada porcentagem desejada, vc pode fazer isso com menos ou mais porcentagem basta arrumar as forks.
Faça esse evento em cada uma dos hp e mp dos heróis.(lembrando de identificar MP para o MP e Hp para o HP.) e cada vez que o herói sofrer dano esse evento será chamado.()
“Check Death/Speed”
Este com certeza é a grande sacada do BEP, é este evento que muitos Makers que estão construindo seu Bsys.. Tem dificuldade de fazer os chamados Turnos correrem devidamente, apesar deste evento funcionar em função do Battle Beguin, que é o evento principal do Bsys, ele é quem determina o ciclo de ações.
No BEP e no BKF, as ações são controladas pela velocidade de cada herói e monstro, quem tiver a maior velocidade (Atributo de Agilidade) atacará primeiro.
Este evento é dividido em 13 paginas se vc tiver 4 heróis em combate, a cada herói a menos vc exclui 3 paginas. Se vc quiser um bsys com 2 heróis em combate ( isso quer dizer que sua equipe de combate não passa de 2 heróis) vc terá que ter 7 paginas nesse evento.
Em todas as Paginas deixe o gfx em branco, neste evento todas as condições são Push Key.
Pagina 01 - Morte dos monstros.
Como o nome diz aqui nós vamos configurar as condições para cada inimigo e a ação de cada inimigo quando morre, da seguinte maneira:
1. Coloque uma fork se var. “En1 Hp” for Menor que (Below) 0
1.a. Coloque outra fork se swt “EN1 Morto” estiver OFF (quer dizer se o hp inimigo 1 for menor que 0 e ele estiver vivo, por isso da swt off, para identificar que esse monstro ainda não foi morto.)
1.a.a. Faça o evento de seu monstro morrendo ( use move pics, sons.. o que quiser.), e coloque um Call evento para o evento do EN1 pagina 2 ( ela irá reconhecer a morte do monstro, veremos isso mais pra frente)
1.a.b. Remova a pic do EN1
1.a.c. Mude a swt “En1 morto” para ON
2. Faça isso para todos o inimigos.
Pagina 02 - relação de velocidade de herói pela posição numero 1.
No BEP e no BFK aqui os Ataques funcionam da seguinte maneira, quem tiver o maior ataque, ataca primeiro, mas primeiro os heróis tem a ação e depois os monstros. Esse evento vai determinar a relação de posição e velocidade. O herói que ta na 1 posição de velocidade y, o herói que ta na 2 posição tem velocidade y, não tem nenhum herói na posição 3 então a velocidade dele é 0. se X<Y então o herói que está na 2 posição irá atacar primeiro que o que está na 1 posição, com este evento isso é permitido que aconteça, sem que vc tenha que fazer um evento para cada possibilidade. De ataque, por isso foram criadas as swt “Went”. Para ligar indicar a ordem, dos ataques. Posição aqui eu quero dizer “Vez de ação”.
1. Insira uma fork se var. “Herói 1 position” for =1 ( a variação desse numero quem determina é outro evento)
1.a. Insira outra fork se swt “Went 1” estiver off
1.a.b. Mude a var “iniciativa 2” para Set Herói 1 Speed ( a var. “iniciativa 2” é para os heróis e a “iniciativa 1” para comparação). Else Case: “iniciativa 2” = 0
2. Faça isso para todos os heróis. Alternado apenas o variável “Herói position” e “herói Speed”. A Swt Went, e a var, iniciativa 2 continuam as mesmas. Vale lembrar que o valor de todas as variáveis “ Herói Position” deve ser igual a 1.
Pagina 03 - relação de velocidade de herói pela posição numero 2.
1. Insira uma fork se var. “Herói 1 position” for =2 ( a variação desse numero quem determina é outro evento)
1.a. Insira outra fork se swt “Went 2” estiver off
1.a.b. Mude a var “iniciativa 2” para Set Herói 1 Speed ( a var. “iniciativa 2” é para os heróis e a “iniciativa 1” para comparação). Else Case: “iniciativa 2” = 0
2. Faça isso para todos os heróis. Alternado apenas o variável “Herói position” e “herói Speed”. A Swt Went, e a var. “iniciativa 2” continuam as mesmas. Vale lembrar que o valor de todas as variáveis “ Herói Position” deve ser igual a 2.
Pagina 04 - relação de velocidade de herói pela posição numero 3.
1. Insira uma fork se var. “Herói 1 position” for =3 ( a variação desse numero quem determina é outro evento)
1.a. Insira outra fork se swt “Went 3” estiver off
1.a.b. Mude a var “iniciativa 2” para Set Herói 1 Speed ( a var. “iniciativa 2” é para os heróis e a “iniciativa 1” para comparação). Else Case: “iniciativa 2” = 0
2. Faça isso para todos os heróis. Alternado apenas o variável “Herói position” e “herói Speed”. A Swt Went, e a var. “iniciativa 2” continuam as mesmas. Vale lembrar que o valor de todas as variáveis “ Herói Position” deve ser igual a 3.
Pagina 05 - relação velocidade de herói pela posição numero 4.
1. Insira uma fork se var. “Herói 1 position” for =4 ( a variação desse numero quem determina é outro evento)
1.a. Insira outra fork se swt “Went 4” estiver off
1.a.b. Mude a var “iniciativa 2” para Set Herói 1 Speed ( a var. “iniciativa 2” é para os heróis e a “iniciativa 1” para comparação). Else Case: “iniciativa 2” = 0
2. Faça isso para todos os heróis. Alternado apenas o variável “Herói position” e “herói Speed”. A Swt Went, e a var. “iniciativa 2” continuam as mesmas. Vale lembrar que o valor de todas as variáveis “ Herói Position” deve ser igual a 4.
Pagina 06 - identifica qual a real velocidade pela posição numero 1.
Aqui vamos identificar a variável “iniciativa 1” para o numero da agilidade do herói que está nesta posição1, depois a variável “ iniciativa 1” e “ iniciativa 2”, serão comparadas( em outro evento), as paginas anteriores serviram para calcular a velocidade do próximo atacante em ralação0 ao atual, que é o que vamos configurar agora.
1. Coloque uma fork se Var. “Herói 1 positon” for igual a 1.
1.a. mude a variável “iniciativa 1” para set ver. Herói 1 speed.
2. faça isso para todos os heróis considerando a posição =1
Pagina 07 - identifica qual a real velocidade pela posição numero 2.
1. Coloque uma fork se Var. “Herói 1 positon” for igual a 2.
1.a. Mude a variável “iniciativa 1” para set ver. Herói 1 speed.
2. Faça isso para todos os heróis considerando a posição =2
Pagina 08 - identifica qual a real velocidade pela posição numero 3.
1. Coloque uma fork se Var. “Herói 1 positon” for igual a 3.
1.a. Mude a variável “iniciativa 1” para set ver. Herói 1 speed.
2. Faça isso para todos os heróis considerando a posição =3.
Pagina 09 - identifica qual a real velocidade pela posição numero 4.
1. Coloque uma fork se Var. “Herói 1 positon” for igual a 4.
1.a. Mude a variável “iniciativa 1” para set ver. Herói 1 speed.
2. Faça isso para todos os heróis considerando a posição =4
Pagina 10 - Determinando ações conforme a ordem de posição ( vez de ação).
Agora que já calculamos a velocidade de cada um e sabemos qual é a posição mais rápida. Sempre relacionando a 1 posição com a segunda, quem tiver a maior é comparada com a terceira, e quem tiver maior é comparada com a 4 ( mas isso é feito em uma ação em outro evento) aqui só é feita a configuração o Check como diz o nome do evento.)
Nesta pagina vamos checar as posições com as ações, as ações disponíveis para cada herói é colocado em uma pagina, e indicada pela var. “Herói Move”, a cada valor dessa variável é indicada uma ação e uma pagina (mas isso nós vamos ver detalhadamente mais diante.).
O que vai acontecer aqui é o seguinte: vai ser checada a vez do herói e dependendo da ação escolhida Ele vai executar na ordem determinada, das posições. Essa parte pode ser um pouco confusa, mas vcs irão entender depois que fizerem o evento de turnos no “Battle begin” que é onde vai cruzar todas essas informações. Por enquanto tenha paciência e execute as tarefas.
1. Coloque uma fork, se var. “Herói 1 position” = 1
1.a. Coloque outra fork, se var. “herói 1 move” = 1 ( o move 1 do herói 1 é o ataque)
1.a.a. Call evento Herói 1 pagina 6. ( a pagina 6 do heroi1 é a ação ataque normal).
1.b. Coloque uma fork, se var. “herói 1 move” = 2 ( o move 2 do herói 1 é ao defesa)
1.b.a Call evento Herói 1 pagina 4. ( a pagina 4 do heroi1 é a ação de defesa).
1.c. Coloque uma fork, se var. “ Herói 1 move” = 3 ( o move 2 do herói 1é a biblioteca de magias)
1.c.a. Call evento Herói 1 pagina 8. ( a pagina 8 do herói 1 é a ação de biblioteca de magias).
1.d. Coloque uma fork, se var. “herói 1move” = 4 (o move 4 do herói 1é a biblioteca de itens)
1.d.a. Call evento Herói 1 pagina 12. ( a pagina 12 do herói 1 é a ação de biblioteca de itens).
1.e. Mude a swt “ went1” para on ( isso quer dizer que já passou a vez do primeiro atacante.)
2. Faça isso para todos os heróis na posição 1, aqui a única coisa que vc vai mudar são as variáveis dos heróis, os valores não vão mudar, mude todos os “herói 1” para “Herói 2”, a swt “ Went 1” continua a mesma, assim como o valor da posição que será sempre 1.
Pagina 11 - Determinando ações conforme a ordem de posição ( vez de ação)2.
1. Coloque uma fork, se var. “Herói 1 position” = 2
1.a. Coloque outra fork, se var. “herói 1 move” = 1 ( o move 1 do herói 1 é o ataque)
1.a.a. Call evento Herói 1 pagina 6. ( a pagina 6 do heroi1 é a ação ataque normal).
1.b. Coloque uma fork, se var. “herói 1 move” = 2 ( o move 2 do herói 1 é ao defesa)
1.b.a Call evento Herói 1 pagina 4. ( a pagina 4 do heroi1 é a ação de defesa).
1.c. Coloque uma fork, se var. “ Herói 1 move” = 3 ( o move 2 do herói 1é a biblioteca de magias)
1.c.a. Call evento Herói 1 pagina 8. ( a pagina 8 do herói 1 é a ação de biblioteca de magias).
1.d. Coloque uma fork, se var. “herói 1move” = 4 (o move 4 do herói 1é a biblioteca de itens)
1.d.a. Call evento Herói 1 pagina 12. ( a pagina 12 do herói 1 é a ação de biblioteca de itens).
1.e. Mude a swt “ went2” para on ( isso quer dizer que já passou a vez do segundo atacante.)
2. Faça isso para todos os heróis na posição 2, aqui a única coisa que vc vai mudar são as variáveis dos heróis, os valores não vão mudar, mude todos os “herói 1” para “Herói 2”, a swt “ Went 2” continua a mesma, assim como o valor da posição que será sempre 2.
Pagina 12 - Determinando ações conforme a ordem de posição ( vez de ação)3.
1. Coloque uma fork, se var. “Herói 1 position” = 3
1.a. Coloque outra fork, se var. “herói 1 move” = 1 ( o move 1 do herói 1 é o ataque)
1.a.a. Call evento Herói 1 pagina 6. ( a pagina 6 do heroi1 é a ação ataque normal).
1.b. Coloque uma fork, se var. “herói 1 move” = 2 ( o move 2 do herói 1 é ao defesa)
1.b.a Call evento Herói 1 pagina 4. ( a pagina 4 do heroi1 é a ação de defesa).
1.c. Coloque uma fork, se var. “ Herói 1 move” = 3 ( o move 2 do herói 1é a biblioteca de magias)
1.c.a. Call evento Herói 1 pagina 8. ( a pagina 8 do herói 1 é a ação de biblioteca de magias).
1.d. Coloque uma fork, se var. “herói 1move” = 4 (o move 4 do herói 1é a biblioteca de itens)
1.d.a. Call evento Herói 1 pagina 12. ( a pagina 12 do herói 1 é a ação de biblioteca de itens).
1.e. Mude a swt “ went3” para on ( isso quer dizer que já passou a vez do terceiro atacante.)
2. Faça isso para todos os heróis na posição 3, aqui a única coisa que vc vai mudar são as variáveis dos heróis, os valores não vão mudar, mude todos os “herói 1” para “Herói 2”, a swt “ Went 3” continua a mesma, assim como o valor da posição que será sempre 3.
Pagina 13 - Determinando ações conforme a ordem de posição ( vez de ação)4.
2. Coloque uma fork, se var. “Herói 1 position” = 4
1.a. Coloque outra fork, se var. “herói 1 move” = 1 ( o move 1 do herói 1 é o ataque)
1.a.a. Call evento Herói 1 pagina 6. ( a pagina 6 do heroi1 é a ação ataque normal).
1.b. Coloque uma fork, se var. “herói 1 move” = 2 ( o move 2 do herói 1 é ao defesa)
1.b.a Call evento Herói 1 pagina 4. ( a pagina 4 do heroi1 é a ação de defesa).
1.c. Coloque uma fork, se var. “ Herói 1 move” = 3 ( o move 2 do herói 1é a biblioteca de magias)
1.c.a. Call evento Herói 1 pagina 8. ( a pagina 8 do herói 1 é a ação de biblioteca de magias).
1.d. Coloque uma fork, se var. “herói 1move” = 4 (o move 4 do herói 1é a biblioteca de itens)
1.d.a. Call evento Herói 1 pagina 12. ( a pagina 12 do herói 1 é a ação de biblioteca de itens).
1.e. Mude a swt “ went4” para on ( isso quer dizer que já passou a vez do quarto atacante.)
3. Faça isso para todos os heróis na posição 4, aqui a única coisa que vc vai mudar são as variáveis dos heróis, os valores não vão mudar, mude todos os “herói 1” para “Herói 2”, a swt “ Went 4” continua a mesma, assim como o valor da posição que será sempre 4.
“Battle Begin”
Este evento é o coração do Bsys, nele vai ter toda a ligação de todos os eventos, em uma ordem gigante de eventos.
Turnos, hp, mp, são todos controlados por este evento.
Nele contem 13 paginas, sendo somente a 12ª inicializada automaticamente.
Importante!
Porque a 12ª, e não a 1ª ou a 13ª???
Se vcs, lembram das dicas que eu dei, o comando Call evento quando chama uma pagina do “mesmo evento” ( quando se chama outros paginas de outros eventos não tem esse problema), e o numero da pagina ( o numero id dela, não quantidade de eventos)é maior que a da pagina que a chamou( o numero id dela, não quantidade de eventos), o RM2k não consegue retornar a pagina original, não sei porque mas dá erro. E a ação não volta para a pagina principal. Por isso ela tem que ser a 12ª, pois a 13 é o fim do combate, portanto não precisa voltar a qualquer outra pagina.
Como ela é a primeira pagina vamos começar por ela.
Pagina 12 - Battle Beguin!!!.
Não sei se vcs fizeram pois se não fizeram é bom fazer se não seu Bsys vai ficar horrível, é que quando vc entra em combate e se teleporta para o mapa de combate, NÃO USE A TRANSFERENCIA DE TELA NORMAL DO TELEPORTE, use um Erese screen, pois se naum, quando começar o combate além de todo mundo ver o combate sendo montado fica com uma cara muito esquisita ( por isso demora um pouco para a tela voltar a aparecer entre o encontro e o mapa de combate.
Nosso evento começará assim:
1. Deixe seu herói invisível.
2. Wait 1.0 sec
3. Call evento, Comum evento Fundo ( trocará seu background)
4. Mude as SWT “ En1 Dead” para off ( mude as do EN2,3 e 4 também para off)
5. Mud a Var, “*contador*”para set 0 ( este serve para identificar quantas ações forma feitas)
6. Entre com uma fork, se var. “En1 Max Hp” = 0 ( aqui nós vamos cruzar as informações do evento encontro para o combate, se hP Max for = 0 quer dizer que esse inimigo não entrou em combate)
6.a. mude Swt “ En1 dead” para on (isso vai tirar o En1 de combate)
7. Faça os passos 6 e 6.a, para cada inimigo.
8. Mude as swt “Herói 1 not hire” para off ( faça isso para todos os heróis)
9. Mude a swt. “Vitória!” Para off
10. Mude as swt. “Went” para off (mude todos os wents, para off.)
11. Mude as variáveis “En1 X” e “En1 Y” para as posições do evento do inimigo 1 ( fazer isso com todos os inimigos, com suas variáveis correspondentes.)
12. ( nota: como no meu Bsys os inimigos são classificados pelo Max Hp agora nos vamos identificar as figuras com os monstros através do Max hp do monstro)
13. Entre com uma Fork, se var. “EM 1 Max Hp” = 20 ( o hp Max 20 corresponde a mosca)
13.a Show pic n1 ( Pic n1 reservado para o monstro 1) Mosca.png
14. Faça os passos 13, para cada monstro (En1, En2, En3) e para cada tipo de monstro nesse combate, ( meleck, sange suga. Lembrando de usar a variável que identifica o seu monstro exemplo eu uso o Max hp .)
15. Call event Battle begin pagina 6.( verifica se algum dos Heróis ou inimigos estão mortos)
16. Call event Battle begin pagina 4.(Configura a vez de ação de cada personagem)
17. Call event Battle begin pagina 3.(Configura a posição de cada herói na tela)
18. Call event Battle begin pagina 5.(configura o valor de hp e mp nas barras)
19. Show Screen (agora sim sua tela deve aparecer, com todos os gráficos já posicionados.)
20. Espere 0.5 sec
21. Call event Battle begin pagina 13.( inicia/termina o combate)
Pagina 01 - Battle Moves..
Este evento encabeça os turnos conforme fomos criando esse evento vou explicando o objetivo de cada ação.
1. coloque uma nota, com o objetivo desse evento, eu coloquei o mesmo do BEP “Battle move results”.
2. inicie um ciclo( vamos chamar este cyclo de “A”.)
3. crie um Label ( no BFK é o n 6).
4. crie outro Label (no BFK é o n 19) ( vou ser honesto não sei porque existem 2 lebal no BEP, acho que 1 só resolve, pois os labeis só buscam na mesma pagina).
5. configure as var. “Speed Herói 1”= a Agilildade do herói 1 ( faça isso para todos os heróis, se seu Bsys for controlada através da velocidade de cada personagem.)
6. Call evento: chame este evento na pagina 9 ( isso irá checar a ordem de ataque).
7. crie um novo label ( no BFK é o Label 5).
8. crie uma fork, se swt. “Run” estiver ON.( quer dizer se escolher fugir a o cyclo ira terminar)
8.a. Break o ciclo.
9. crie uma fork, se swt “Vitória” setiver On ( se a equipe venceu o combate o ciclo ira terminar)
9.a. Break ciclo.
10. Call evento: este evento pagina 5 (isso serve para configurar o Hp e mp atual)
11. mude as var. “Iniciativa 1” e “iniciativa 2” = 0.
12. Call evento: este evento pagina 11 (isso serve para Verificar quem esta morto “Inimigos))
13. Call evento: este evento pagina 10 (checa a iniciativa dos inimigos)
14. Call evento: este evento pagina 11 (Isto serve para verificar quem está morto “Heróis”)
15. Call evento: este evento pagina 8 (checa a iniciativa dos Herois)
16. Nota: Estes call eventos acima, são o que faz o turno girar, e só vai parar quando ligar a vitória o fugir, se todos morrerem é ligado o game over, ou vc pode colocar uma nova swt. Determinando o que vai acontecer quando todos morrerem).
17. crie uma fork, se swt “Went 1” for ON.
18. Crie uma fork dentro da outra com todos as swt “WENTS” ( quer dizer se todas as swt Wents estiverem ON, acontecera um evento.
18.a. Dentro da ultima fork vamos colocar: uma Change Swt que torne todas as swt Went= Off ( vale lembrar que as swt Wents são para indicar a vez, se não existir este evento os ataques aconteceram apenas uma vez. Por isso após todos atacarem deve-se desligar todas e recomeçar os ataques.)
18.b. crie uma nova fork, se swt “ En1 morto” = off.
18.b.a. mude a var. “Speed En1” +, 999 ( isso é para poder zerar o speed dos monstros e eles não ficarem atacando toda hora.)
18.b.b. Repita os passos 18.b, 18.b.a, para tofos os “En Mortos”
18.c Coloque um go to Label 6” ( isso voltará ao inicio desse evento)
19. Coloque um Go to label 5 ( isso fará retornar os eventos de ação caso o combate não tenha acabado)
20. Coloque um Label 3
21. Break ciclo.
22. nota: todos estes eventos são dentro do cyclo do item 2.
Pagina 02 - Evento Derrota e Vitória..
Este evento nós vamos configurar quando se considera uma vitória e quando se considera uma derrota.
1. inicie o evento com uma nota: com o nome dessa pagina.
2. crie uma fork, se swt “Herói 1 dead” = On.
2.a crie uma fork dentro da outra com as condições das variáveis Herói morto ON para todos os heróis.( isso é para verificar quando todos os heróis estão mortos, para dar a sentença de derrotados.)
2.b. Dentro da ultima fork, coloque o evento de derrota, faço o que quiser escurecer tlas.. colocar som.. diminuir o volume da music..etc..
2.c Coloque o Game over ( se vc não quiser habilite um swt para se caso morrer acontecer um outro evento... pré configurado na pagina 1.)
3. No fim de todos os eventos acima vamos colocar uma nova fork, deta vez , vamos considerar os inimigos mortos. Então ficará; fork, se swt “En1 Morto” = ON
3.a. Crie uma fork dentro da outra com as condições das variáveis En2 morto ON para todos os inimigos.( isso é para verificar quando todos os inimigos morrerem, dar a sentença de Vitóra.)
3.b. Mude a var. “vitória “ ON ( Para indicar que a equipe venceu.)
3.c. toque a musica de vitória.
3.d. Mude as swt, “encontro 1”, off.
3.e. Mude as var. “xp ganho” = 0
3.f. Mude as var. “gp ganho” = 0
3.g. Mude a var. “gp ganho” para + var. “en1 GP” ( some + todos os gp dos EN2,EN3)
3.h. Mude a var. “xp ganho” para + var. “en1 XP” ( some + todos os xp dos EN2,EN3)
3.i. nota: no Bkf o XP é dividido igualmente para o numero de combatentes, por isso eu divido o total da var. “XP Ganho” pelo numero atual da equipe. (Mas vc pode fazer como quiser, mas na versão do Bfk 2.0 o xp vai ser completo.)
3.j. Insira uma fork, se o herói 1 estiver na equipe,
3.j.a. Insira outra fork, se o swt “herói 1 Morto” estiver ON, ( em Else case coloque Change Hp Incresed +1, isso serve se o herói morreu no combate ele não vai ganhar xp, mas irá retornar com 1hp, mas ainda morto.)
3.j.a.a. Mude o XP ( usando a opção Change XP, do Herói 1, somando o valor da variável XP ganho, deixe clicado a opção avisar Level UP).
4. Repita os passos 3.j. Para todos os heróis.
5. Call evento: Commum Evento: Resolve dano ( para caucular o HP e MP real dos heróis)
6. Adicione Gp usando a var. “GP ganho”.
7. wait 0.5sec
8. Coloque uma mensagem de Ganha XP.. Ganha GP. Ganha sei lá o que.
Pagina 03 - Lugar de cada herói..
Aqui vamos definir onde vai ficar posicionado cada herói dentro da tela, isso se em seu jogo existe a pociblidade de alteração de formação, ou a equipe pode variar durante o jogo, vc deve fazer esse evento.
Aqui vc pode fazer a formação do herói à-vontade. No caso, é só separa por uma fork e uma variável contendo o numero da posições desejadas.
1. Entre com uma fork, se Herói 1 estiver na equipe. ( else case: mude swt “ heroi1 not hire”=on)
1.a Entre com uma fork, se var. “Herói1 position” = 1
1.a.a. use a opção “place of event”, para teleportar o evento do herói 1 até o desejado.
1.a.b. No Bkf eu uso um char set para fazer o display do hp, e também uso um plece event para configura-lo, se vc usar um outro tipo de display para seu hp vc pode colocar o evento aqui. Ao invés de place events vc vai usar show pics ou outro comando..
1.b Entre com uma fork, se var. “Herói1 position” = 2
1.b.a. use a opção “place of event”, para teleportar o evento do herói 1 até o desejado.
1.b.b. No Bkf eu uso um char set para fazer o display do hp, e também uso um plece event para configura-lo, se vc usar um outro tipo de display para seu hp vc pode colocar o evento aqui. Ao invés de place events vc vai usar show pics ou outro comando.
1.c. Entre com uma fork, se var. “Herói1 position” = 3
1.c.a. use a opção “place of event”, para teleportar o evento do herói 1 até o desejado.
1.c.b. No Bkf eu uso um char set para fazer o display do hp, e também uso um plece event para configura-lo, se vc usar um outro tipo de display para seu hp vc pode colocar o evento aqui. Ao invés de place events vc vai usar show pics ou outro comando.
1.d. Entre com uma fork, se var. “Herói1 position” = 4
1.d.a. use a opção “place of event”, para teleportar o evento do herói 1 até o desejado.
1.d.b. No Bkf eu uso um char set para fazer o display do hp, e também uso um plece event para configura-lo, se vc usar um outro tipo de display para seu hp vc pode colocar o evento aqui. Ao invés de place events vc vai usar show pics ou outro comando
1.e. Entre com uma fork, se swt “ Herói1 Morto” = ON
1.e.a. Mude o gráfico do evento para o desenho dele morto.
2. Faça os passos 1 para todos os heróis.
Pagina 04 - Qual é a real posição
Aqui vamos definir quem vem na frente de quem graficamente. Tipo o herói 2 é o líder e tem que aparecer na posição 1 da tela. Etc..Como havíamos acertado nem antes onde seriam as posições na tela. Isso não tem no BEP(antigo) é uma inovação do BKF, a possibilidade de todos os heróis ocuparem todas as posições. Ex: no BEP o herói principal sempre irá aparecer na 1ª posição (lado superior direito da tela), e os outros nessa seqüência. lá eles não podem mudar de posição. Já no BKF isso mudou.. Todos podem assumir qualquer posição que o jogador quiser, desde que tenha personagens para aquela, posição. Ex. se o jogador estive jogando com 1 herói apenas, este herói não pode ocupar a posição 2.
Nós havíamos criado 4 variáveis, chamada Líder, seguidor 1,2 e 3. e também colocamos números para cada herói assim vamos determinar a posição. EX: O Herói 1 seu numero ID =1, herói 5 seu numeroID = 5 e herói 6 seu numero ID =6, vamos fazer que a ordem de formação seja: herói 6, herói 1e herói 5. sendo assim o herói 6 é o líder, ( então a variável “líder” = 6 - que é o numero do herói.), o herói 1 é o seguidor 1, ( então a var. “seguidor 1” = 1 que é o numero do herói 1) e o herói 5 é o seguidor 2. ( então a var. “seguidor 2” = 5 que é o numero do herói 5).
Pré determinamos também a posição de combate do Líder, seguidor 1,2 e3. e numeramos cada posição.
En1 Lider -------- posição 1
En2 Seg. 1 ------ Posição 2
En3 Seg. 2 ----- Posição 3
Seg. 3. ---Posição 4
Vamos configurar essas variaveis:
1. Entre com uma fork, se var. “líder” = 1 ( quer dizer se o valor de é o ID do herói 1)
2. Mude a var “ Herói 1 position” = 1.
3. Entre com uma fork, se var. “seguidor 1” = 1 ( quer dizer se o valor de é o ID do herói 1)
4. Mude a var “ Herói 1 position” = 2.
5. Entre com uma fork, se var. “seguidor 2” = 1 ( quer dizer se o valor de é o ID do herói 1)
6. Mude a var “ Herói 1 position” = 3.
7. Entre com uma fork, se var. “seguidor 3” = 1 ( quer dizer se o valor de é o ID do herói 1)
8. Mude a var “ Herói 1 position” = 4.
9. Repita os passos 1-8 para todos os heróis.
Pagina 05 - Display Hp e mp.
Aqui vamos fazer os eventos do display de hp e mp. No caso do BEP, este configura diretamente as pics do HP e Mp, mas no caso do BFK, eles chamam eventos que estão nos chars dos hps e mps.
Aqui vc vai fazer da forma que deseja fazer o display do seu jogo. Mas no tutorial eu vou colocar conforme o do BFk ai vcs encontram o melhor jeito.
1. Entre com uma fork, se var. “Herói 1 HP” Above, 0
1.a. Mude a swt. “herói 1 Morto” = ON ( serve para verificar se o herói já está morto ou não.)
2. Faça isso para todos os heróis.
3. Entre com uma fork, Se herói 1 estiver na equipe.
3.a. Call evento, Chame o evento do Hp e Mp do herói. ( se seu display de hp e mp forem charsets, se não faça os eventos de hp e Mp em um comum evento, faça como achar melhor e mais cômodo.).
4. faça isso para todos os heróis, e inimigos.
Pagina 06 - Display Hp e mp.
Aqui vamos fazer os eventos que faz o System entender que o herói está fora de combate durante o combate. (morto). Para isso acontecer temos que ligar os swt “wents”, para indicar que não estão no combate.
Da seguinte forma:
1. Entre com uma fork, se swt. “ En1dead” = ON
1.a. mude o swt “went 4” = On ( lembre-se que a swt “went 4” é reservada para o 1 inimigo.)
2. Entre com uma fork, se swt. “ En2dead” = ON
2.a. mude o swt “went 5” = On ( lembre-se que a swt “went 5” é reservada para o 2 inimigo.)
3. Entre com uma fork, se swt. “ En3dead” = ON
3.a. mude o swt “went 6” = On ( lembre-se que a swt “went 6” é reservada para o 3 inimigo.)
4. Entre com uma fork, se swt. “ Heroi 1 Morto” = ON
4.a. Entre com uma fork, se var. “ Heroi 1 position” = 1
4.a.a. Mude a swt. “went 1” para On ( lembre-se que a swt “went 1” é reservada para a posição 1.)
4.b. Entre com uma fork, se var. “ Heroi 1 position” = 2
4.b.a. Mude a swt. “went 2” para On ( lembre-se que a swt “went 2” é reservada para a posição 2.)
4.c. Entre com uma fork, se var. “ Heroi 1 position” = 3
4.c.a. Mude a swt. “went 3” para On ( lembre-se que a swt “went 3” é reservada para a posição 3.)
4.d. Entre com uma fork, se var. “ Heroi 1 position” = 4
4.d.a. Mude a swt. “went 4” para On ( lembre-se que a swt “went 4” é reservada para a posição 4.)
5. Faça os paços 4 para todos os heróis.
6. Entre com uma fork, se var. “herói 1position” for diferente de 1 (other)
6.a. Entre com uma fork, se var. “herói 2position” for diferente de 1 (other)
6.a.a. Entre com uma fork, se var. “herói 3position” for diferente de 1 (other)
6.a.a.a. Entre com uma fork, se var. “herói 4position” for diferente de 1 (other) ( faça uma fork dentro da outra com todos os heróis na posição 1.
6.a.(...)a. Dentro da ultima fork, coloque ligar Went 1 ON ( isso seginifica se todos os erois estiverem em posições que não seja a 1, a went 1 será ligada e cancelando o turno do herói que estiver ( ou que não estiver) na posição 1.
7. Faça as etapas 6 para cada posição de herói, lembrando que para a posição 2 è a Went 2, a posição 3 é a went 3 e assim por diante.)
Pagina 07 - Condição (veneno, e outros).
Outra inovação do BFK, não me lembro o que o BEP tem nessa pagina.. mas seja o que for é inútil..kkkkkkkkkkkkk. mas aqui no BFK é configurado a condição do herói., demos numero a cada condição EX.: Normal=0, Veneno=1, Paralizado=2.. etc...
Aqui nós vamos comparar e colocar estes efeitos.:
1. Entre com uma fork, se var. “Herói 1 condição” = 1 ( envenenado)
1.a. Entre com uma fork, se swt. “Herói not hire” = off ( pois o heroi pode estar invenenado mas não está no combate)
1.a.a. Entre com uma fork, se swt. “Herói 1 morto” = Off ( o herói deve estar vivo)
1.a.a.a. mude a var. “Dano” = 0 (aqui vai o efeito da condição no caso do veneno ele perde um numero X de hp a cada Raund).
1.a.a.b. mude a var. “Dano” para um numero aleatório de 1-10
1.a.a.c. mude a var. “---X---” = coord X do Herói 1.
1.a.a.d. mude a var. “---Y---” = coord Y do Herói 1.( isso é para o dano aparecer no heroi 1)
1.a.a.e. chame o comum evento de “HP perda” ( para fazer o display da perda pelo veneno).
1.a.a.c. mude a var.”herói 1 HP” para -, var. “dano”.
2. Faça este evento para todos os heróis.
3. Faça os paços 1 e 2 para cada tipo de Condição.
Pagina 08 - chek Speed Hero ( ver quem é o herói mais rápido)
Aqui vcs vão intender como é checados a velocidade, e aqueles eventos todos do “Check Speed/dead”.
Aqui vamos intercalar a “Battle begin” com o “Check Speed/dead”.
1. Entre com uma fork, se swt “went1” = OFF ( se o herói da posição 1 não fez a ação.)
1.a. Call evento - check Speed/Dead” na pagina 5 ( irá comparar a velocidade do Heroi 1 com o da posição 1.)
1.b Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En1 Speed” ( a iniciativa 1 foi configurada para o speed do herói da posição 1 pela call evento acima).
1.b.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En2 Speed”
1.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En3 Speed”( esses últimos eventos nós verificamos se a velocidado do herói que está na posição 1 é maior que todos os inimigos, se for vamos comparar com as dos heróis, se não for ira acontecer outro evento no final deste.mas vamos ver isso no final.)
1.b.a.a.a. Call evento - check Speed/Dead” na pagina 3 ( irá comparar a velocidade do Heroi 1 com o da posição 1,com a do herói da posição 2, tornando a variável “iniciativa 2” = ao speed do herói da posição 2.)
1.b.a.a.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
1.b.a.a.b.a. Call evento - check Speed/Dead” na pagina 4 ( irá comparar a velocidade do Heroi com o da posição 1,com a do herói da posição 3, tornando a variável “iniciativa 2” = ao speed do herói da posição 3.)
1.b.a.a.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
1.b.a.a.b.b.a. Call evento - check Speed/Dead” na pagina 5 ( irá comparar a velocidade do Heroi com o da posição 1,com a do herói da posição 4, tornando a variável “iniciativa 2” = ao speed do herói da posição 4.)
1.b.a.a.b.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”( else case: GoTo Label nº1.( se a velocidade do herói da posição 1 não for maior que a de ningém, ele irá esperar e o system irá buscar o próximo, até que todos tenham jogado e só assim voltará a este evento.)
1.b.a.a.b.b.a.a.b. Call evento - check Speed/Dead” na pagina 10 ( irá iniciar as ações do herói da posição 1 quando as velocidades dos monstros e dos outros heróis forem menor que a dele.)
1.b.a.a.b.b.a.a.c. Mude a swt. “went1” = On ( quer dizer que o heroi da posição 1 já fez a ação.)
1.b.a.a.b.b.a.a.d. Call evento - este evento na pagina 2 ( irá verificar se com esse ataque o combate acabou., se não o evento da pagina 2 irá continuar os turnos.e só retornará aqui depois que o herói da posição 1 vencer o combate. )
1.b.a.a.b.b.a.a.e. Mude a swt. “vitória!!” = On ( assim se o ataque do herói da posição 1 for o final irá ligar a vitoria.)
1.b.a.a.b.b.a.a.f. Go to Label nº 3 ( isso irá levar este evento para o fim sem ter que passar pelos outros heróis, já que a vitória já foi concluída.)
2. Lebel n º1
3. Entre com uma fork, se swt “went2” = OFF ( se o herói da posição 2 não fez a ação.)
3.a. Call evento - check Speed/Dead” na pagina 6 ( irá comparar a velocidade do Heroi com o da posição 2.)
3.b Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En1 Speed” ( a iniciativa 1 foi configurada para o speed do herói da posição 2 pela call evento acima).
3.b.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En2 Speed”
3.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En3 Speed”( esses últimos eventos nós verificamos se a velocidado do herói que está na posição 2 é maior que todos os inimigos, se for vamos comparar com as dos heróis, se não for ira acontecer outro evento no final deste.mas vamos ver isso no final.)
3.b.a.a.a. Call evento - check Speed/Dead” na pagina 4 ( irá comparar a velocidade do Heroi da posição 2,com a do herói da posição 3, tornando a variável “iniciativa 2” = ao speed do herói da posição 3.)
3.b.a.a.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
3.b.a.a.b.a. Call evento - check Speed/Dead” na pagina 5 ( irá comparar a velocidade do Heroi com o da posição 2,com a do herói da posição 4, tornando a variável “iniciativa 2” = ao speed do herói da posição 4.)
3.b.a.a.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
3.b.a.a.b.b.a. Call evento - check Speed/Dead” na pagina 2 ( irá comparar a velocidade do Heroi com o da posição 2,com a do herói da posição 1, tornando a variável “iniciativa 2” = ao speed do herói da posição 1.)
3.b.a.a.b.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”( else case: GoTo Label nº2.( se a velocidade do herói da posição 1 não for maior que a de ningém, ele irá esperar e o system irá buscar o próximo, até que todos tenham jogado e só assim voltará a este evento.)
3.b.a.a.b.b.a.a.b. Call evento - check Speed/Dead” na pagina 11 ( irá iniciar as ações do herói da posição 2 quando as velocidades dos monstros e dos outros heróis forem menor que a dele.)
3.b.a.a.b.b.a.a.c. Mude a swt. “went2” = On ( quer dizer que o heroi da posição 2 já fez a ação.)
3.b.a.a.b.b.a.a.d. Call evento - este evento na pagina 2 ( irá verificar se com esse ataque o combate acabou., se não o evento da pagina 2 irá continuar os turnos.e só retornará aqui depois que o herói da posição 2 vencer o combate. )
3.b.a.a.b.b.a.a.e. Mude a swt. “vitória!!” = On ( assim se o ataque do herói da posição 2 for o final irá ligar a vitoria.)
3.b.a.a.b.b.a.a.f. Go to Label nº 3 ( isso irá levar este evento para o fim sem ter que passar pelos outros heróis, já que a vitória já foi concluída.)
4. Lebel nº2
5. Entre com uma fork, se swt “went3” = OFF ( se o herói da posição 3 não fez a ação.)
5.a. Call evento - check Speed/Dead” na pagina 7 ( irá comparar a velocidade do Heroi com o da posição 3.)
5.b Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En1 Speed” ( a iniciativa 1 foi configurada para o speed do herói da posição 3 pela call evento acima).
5.b.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En2 Speed”
5.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En3 Speed”( esses últimos eventos nós verificamos se a velocidado do herói que está na posição 3 é maior que todos os inimigos, se for vamos comparar com as dos heróis, se não for ira acontecer outro evento no final deste.mas vamos ver isso no final.)
5.b.a.a.a. Call evento - check Speed/Dead” na pagina 5 ( irá comparar a velocidade do Heroi da posição 3,com a do herói da posição 4, tornando a variável “iniciativa 2” = ao speed do herói da posição 4.)
5.b.a.a.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
5.b.a.a.b.a. Call evento - check Speed/Dead” na pagina 2 ( irá comparar a velocidade do Heroi com o da posição 3,com a do herói da posição 1, tornando a variável “iniciativa 2” = ao speed do herói da posição 1.)
5.b.a.a.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
5.b.a.a.b.b.a. Call evento - check Speed/Dead” na pagina 3 ( irá comparar a velocidade do Heroi com o da posição 3,com a do herói da posição 2, tornando a variável “iniciativa 2” = ao speed do herói da posição 2.)
5.b.a.a.b.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”( else case: GoTo Label nº4.( se a velocidade do herói da posição 3 não for maior que a de ningém, ele irá esperar e o system irá buscar o próximo, até que todos tenham jogado e só assim voltará a este evento.)
5.b.a.a.b.b.a.a.b. Call evento - check Speed/Dead” na pagina 12 ( irá iniciar as ações do herói da posição 3 quando as velocidades dos monstros e dos outros heróis forem menor que a dele.)
5.b.a.a.b.b.a.a.c. Mude a swt. “went3” = On ( quer dizer que o heroi da posição 3 já fez a ação.)
5.b.a.a.b.b.a.a.d. Call evento - este evento na pagina 2 ( irá verificar se com esse ataque o combate acabou., se não o evento da pagina 2 irá continuar os turnos.e só retornará aqui depois que o herói da posição 3 vencer o combate. )
5.b.a.a.b.b.a.a.e. Mude a swt. “vitória!!” = On ( assim se o ataque do herói da posição 3 for o final irá ligar a vitoria.)
5.b.a.a.b.b.a.a.f. Go to Label nº 3 ( isso irá levar este evento para o fim sem ter que passar pelos outros heróis, já que a vitória já foi concluída.)
6. Lebel nº4
7. Entre com uma fork, se swt “went4” = OFF ( se o herói da posição 4 não fez a ação.)
7.a. Call evento - check Speed/Dead” na pagina 8 ( irá comparar a velocidade do Heroi com o da posição 4.)
7.b Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En1 Speed” ( a iniciativa 1 foi configurada para o speed do herói da posição 4 pela call evento acima).
7.b.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En2 Speed”
7.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “En3 Speed”( esses últimos eventos nós verificamos se a velocidado do herói que está na posição 4 é maior que todos os inimigos, se for vamos comparar com as dos heróis, se não for ira acontecer outro evento no final deste.mas vamos ver isso no final.)
7.b.a.a.a. Call evento - check Speed/Dead” na pagina 2 ( irá comparar a velocidade do Heroi da posição 4,com a do herói da posição 1, tornando a variável “iniciativa 2” = ao speed do herói da posição 1.)
7.b.a.a.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
7.b.a.a.b.a. Call evento - check Speed/Dead” na pagina 3 ( irá comparar a velocidade do Heroi com o da posição 4,com a do herói da posição 2, tornando a variável “iniciativa 2” = ao speed do herói da posição 2.)
7.b.a.a.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”
7.b.a.a.b.b.a. Call evento - check Speed/Dead” na pagina 4 ( irá comparar a velocidade do Heroi com o da posição 4,com a do herói da posição 3, tornando a variável “iniciativa 2” = ao speed do herói da posição 3.)
7.b.a.a.b.b.a.a. Entre com uma fork, se var “iniciativa 1” for maior (above) que var. “Iniciativa 2”( else case: GoTo Label nº3.( se a velocidade do herói da posição 4 não for maior que a de ningém, ele irá esperar e o system irá buscar o próximo, até que todos tenham jogado e só assim voltará a este evento.)
7.b.a.a.b.b.a.a.b. Call evento - check Speed/Dead” na pagina 13 ( irá iniciar as ações do herói da posição 4 quando as velocidades dos monstros e dos outros heróis forem menor que a dele.)
7.b.a.a.b.b.a.a.c. Mude a swt. “went4” = On ( quer dizer que o heroi da posição 4 já fez a ação.)
7.b.a.a.b.b.a.a.d. Call evento - este evento na pagina 2 ( irá verificar se com esse ataque o combate acabou., se não o evento da pagina 2 irá continuar os turnos.e só retornará aqui depois que o herói da posição 4 vencer o combate. )
7.b.a.a.b.b.a.a.e. Mude a swt. “vitória!!” = On ( assim se o ataque do herói da posição 4 for o final irá ligar a vitoria.)
7.b.a.a.b.b.a.a.f. Go to Label nº 3 ( isso irá levar este evento para o fim sem ter que passar pelos outros heróis, já que a vitória já foi concluída.)
8. Label nº3
Pagina 09 - Chek Hero Turn
Aqui vcs vamos fazer as condições para que chame o menu do personagem, no caso de BFK todos os personagens usufruem das mesmas pics e sistema de menu de batalha, apenas as variáveis de um personagem para outro muda, mas a exucução do menu é a mesma, assim acontece também com o BEP, pois cada herói deve fazer uma ação diferente sem ter que refazer um evento, pra cada um, se todos vão usar do mesmo menu.
1. Mude as swt. “Went1” ( todas as var. “wents”) = Off
2. Entre com um ciclo.
2.a. Entre com uma fork, se Herói 1 estiver na equipe.
2.a.a. Entre com uma fork, se swt. Herói 1 morto” = Off
2.a.a.a. Entre com uma fork, se var. “Herói 1 position” = var. “Contador” ( isso vai verificar se é a vez do herói 1 escolher a ação.)
2.a.a.a.a. Call evento: Heroi 1, pagina 02 ( é a pagina onde fica o menu de commandos).
2.a.a.a.b. Mova as pics de todos os inimigos em suas respectivas coordenadas. (ex.: move pic 1 para a var. “En1 X”, “En1 Y”. Faça isso com todas as pics de inimigos.)
2.a.a.a.c. Call evento: Este evento, na pagina 5 (irá arrumar os hp e mps)
2.b Entre com uma fork, se Swt. “Run” = on (quando a escolha do herói foi fugir)
2.b.a. Quebre o cyclo.( se a opção for fugir)
2.c. Faça isso para todos os heróis ( sempre dentro do ciclo).
2.d. ainda dentro do ciclo, entre com uma fork, se swt. “ *breaker*” = On ( essa swt. Ligará sómente quando todas as ações estiverem sido escolhidas.) Else case: mude a var. “*contador*”, +1 (quer dizer se não terminou as ações acrecente 1 no contador, que será confrontado com a var. da positon dos outros heróis, e dará a a vez ao proximo, em outras palavras aumente 1 para poder fazer a ação do próximo herói.)
2.d.a. Mude a var. “*contador*”, - ,1 ( irá parar o contador no numero anterior.)
2.e. Mude a swt. “*breacker*” = off
2.f. Entre com uma fork, se var. “*Contador*” = 5 (este numero deve ser o numero de heróis total +1, ex. se seu bsys só tiver 3 heróis no Maximo em combate vc coloca o valor 4 que é 3(heróis)+1.)
2.f.a. mude a var. “*Contador*” = 0
2.f.b. quebre o ciclo (Break cycle).
3. Agora fora do ciclo, Call evento: Este evento pagina 7 (chama as condições, que dizer que depois de ter selecionado todas as ações dos heróis eles vão sofrer as condições.. tipo veneno, paralizia.. etc...)
Pagina 10 - Check Enemy Speed.
Aqui vamos fazer o calculo da velocidade dos monstros em relação a equipe.
1. Entre com uma fork, se swt. “vitória” = On
1.a. Go to Label 3.
2. entre com uma fork, se swt “went5” = OFF ( went 5 é reservada para o inimigo 1).
2.a. Mude a var. “iniciativa 1” = var. “En1 Speed”.
2.b. Call evento: Check Speed/dead pagina 2 ( irá configurar a var. “Iniciativa 2” para o speed do heroi da posição 1).
2.c. Entre com uma fork, se var “iniciativa 1” for maior (above) “iniciativa 2”
2.c.a. Call evento: Check Speed/dead pagina 3 ( irá configurar a var. “Iniciativa 2” para o speed do heroi da posição 2).
2.c.b. Entre com uma fork, se var “iniciativa 1” for maior (above) “iniciativa 2”
2.c.b.a. Call evento: Check Speed/dead pagina 4 ( irá configurar a var. “Iniciativa 2” para o speed do heroi da posição 3).
2.c.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) “iniciativa 2”
2.c.b.b.a. Call evento: Check Speed/dead pagina 5 ( irá configurar a var. “Iniciativa 2” para o speed do heroi da posição 4).
2.c.b.b.b. Entre com uma fork, se var “iniciativa 1” for maior (above) “iniciativa 2”
2.c.b.b.b.a. Call evento; Inimigo 1 pagina 1( está é a pagina de ataques do En1.)
2.c.b.b.b.b. Mude a swt. “Went 5” = ON.
2.c.b.b.b.c. Call evento: Este evento pagina 2 ( irá verificar se terminou o combate.)
2.c.b.b.b.d. Mude a var. “En1 Speed” +, 999. (isso irá zerar a velocidade, e reinicia-la. De uma base que é 999.)
3. Faça os comandos nº 2 para todos os outros monstros.
4. no final coloque o lebel 3, porque caso a swt.”vitória” for ligada os monstros não continuarem atacando.
Pagina 11- Display Hp e mp.
Esta pagina é cópia da pagina 6 deste evento portanto é só copiar, precisa ter os dois pois lembra aquele pau que eu mencionei no começo de uma pagina menor não chamar uma maior, bem essa pagina é um exemplo precisa da pagina 11 e da 06 por este motivo.
Pagina 13- fim do combate
Esta pagina vamos determinar o fim do combate pois se vc vencer ou fugir irá cair nesta pagina.
Esta pagina tem a condição da Swt “Encontro 1” = On ( para evitar do bsys entrar em um novo ciclo)
1. coloque um Lebel n º1
2. Mude a swt “ encontro 1” = on ( para que o evento não chame o auto start da pagina 12 novamete).
3. Call evento: este evento pagina 1 ( na verdade depois da pagina 12 ele vem pra cá ai começa o combate por isso ele vai para a pagina 1, e só vai voltar a pagina 13 quando o ciclo for quebrado, ou terminar a batalha.)
4. Lebel nº 9
5. feche a tela com um efeito
6. mude todas as swt “heróis morto” para OFF
7. abaixe o volume da mid. (Fade out.)
8. wait 1.0 sec
9. Go to memorized place.
10. Play memorized BGM
11. de um novo valor aleatório para a var. “passos combate”.
12. volte com a opacidade normal do Herói. ( faça com que ele volte a estar visível)
13. Call evento: Comum evento, Resolve dano ( que irá transformar todas as variáveis alteradas dos heróis para as verdadeiras.
14. Zere as Var. “En1 Xp, Gp” isso vale para todos os inimigos.)
15. ligue seu menu.
16. mude a swt “ encontro 1” = off
17. Show screen..
Pronto!!!! Todo o turno do combate foi configurado.
Agora vc só vai precisar fazer as ações dos monstros e dos heróis. Que veremos a seguir.
“Monstros”
vcs devem ter notado que durante este tutorial eu faço a distinção de Monstros/inimigos, mostro é quando se trata de um tipo de inimigo. E Inimigo é quando se fala de um oponente dentro do combate, embora as duas coisas sejam a mesma praticamente aqui temos que diferenciar, pois os inimigos possuem monstros aleatoriaos.
Este evento é construído dentro do Charset ( ou evento) dos inimigos no caso EN1, En2, En3, se seus monstros são pics vc deixa a imagem desse charset em branco. E não precisa ter condição nenhuma.
Importante!
Aqui vc pode ter quantas paginas achar necessárias vou demonstrar algumas para vc se adaptar a um bsys.
Os eventos dos monstros são os de escolha da ação e as demais para aplicar a ação, cada tipo de ação de um inimigo deve ter uma pagina para ele.
Lembra do nosso caderninho... ele vai ser muuuito utuil agora.. pois lá vc identificou a variável que irá indicar um tipo de monstro. (Ex.: no BFK e o BEP usa a variável “max hp” do inimigo para identificar o tipo de monstro e o valor de 20 é para identificar a mosca, 38 o slime.. e assim por diante.)
No cardeninho vc colocou todas as especificações do monstro incluindo os ataques que ele pode fazer e os numerou, ex: ( uma abelha pode ter um ataque normal, um ataque critico, um duplo ataque, e um Espacial que envenena o inimigo. Um slime pode ter apenas um ataque normal.)
Cada habilidade do monstro foi catalogada Ex.: Ataque normal, ataque critico, ataque duplo, magia, fugir, etc..)
Cada uma da habilidades deve ter um numero que será correspondente a pagina deste evento.
Pagina 01- escolha das ações.
Nesta paginas vamos determinar quais as ações que os inimigos do 1 grupo ( grupo de encontro) podem executar. Como os inimigos fazem ataques automáticos não precisamos fazer seleções como é o caso dos heróis. Então se baseia em um numero aleatório que identifica um ataque. No BEP ele complica mais essa 1 pagina, mas no BFK fica mais fácil, mas eu creio que de pra simplificar mais ainda.
1. Entre com uma fork, Se swt. “En1 morto” = Off ( se o inimigo 1 estiver vivo)
1.a. Entre com uma fork, se var. “En1 HP Max” = 20 ( essa fork deve indicar a variable que vc está usando para identificar qual é o monstro, como eu já tinha dito o BFK e o BEP usa a variável “max hp” do inimigo para identificar o tipo de monstro e o valor de 20 é para identificar a mosca, outros valores identificam outros monstros.)
1.a.a. Mude a Var. “En1 move” para um numero aleatório ( aqui o numero a ser escolhido deve ser os da habilidade que esse monstro pode usar, vamos considerar que essa mosca tem as seguintes habilidades; Ataque[1], Ataque duplo[2], Ataque critico [3], fugir [4], envenenar [5]. Então o nuero aqui deve ser um numero aleatório entre 1 a 5.) ( vc pode fazer diferente como no BEP, dando prioridade a um ataque ex. de 1-5 é o ataque normal, de 6-7 ataque critico e 8 é o especial, isso fará com que a probabilidade do monstro usar um ataque normal é maior que a de usar um outro tipo.)
1.b. Ente com uma fork, se var. “En1 HP Max” = 38 (aquí indica o novo tipo de mosntro, repita os paços acima para cada monstro nesse grupo de combate.)
1.c. wait 0.3 seg.
1.d. Entre com uma fork, se var. “En1 move” = 1 ( aqui vamos identificar a variável para a ação se vc fez apartir de prioridade desse ataque, é a conselhavel que vc use um less ( menos que) o numero esolhido);
1.d.a. Call evento este evento pagina 3 ( é a pagina onde esta a ação do ataque normal.)
1.d.b. Go to Label nº9
1.e. Entre com uma fork, se var. “En1 move” = 2 ( aqui vamos identificar a variável para a ação)
1.e.a. Call evento este evento pagina 4 ( é a pagina onde esta a ação do ataque critico.)
1.d.b. Go to Label nº9
1.f. Faça isso para todos os ataques e habilidades que vc julgue necessário, sempre após o termino da seleção de ataque coloque um go to label 9.
1.g. Na ultima habilidade coloca um else case, no Else case coloque para fazer uma ação normal no caso da pagina 3 que é o ataque normal. Pois caso nenhuma ação for selecionada ele irá fazer um ataque normal.
2. coloque o Lebel 9.
Pagina 02 - show pics
Nesta paginas vamos fazer as pics de cada monstro para cada lugar. O evento de encontro já determinou quantos monstros irá ter no encontro e também já determinou quais são estes monstros através da var. “Em Max HP”, agora o que faremos é colocar as pics exatas nos lugares determinados.
1. Entre com uma fork, se Swt “ En1 Morto” = Off ( se tiver vivo)
1.a. entre com uma fork, se var. “ En1 Max Hp” = 20 (que é o numero para reconhecer como o monstro Mosca)
1.a.a. Show pic 1 (pic da mosca) nas var. “En1X” e “En1Y”.
1.b. Faça o mesmo para todos as pics dos seus monstros.
Pagina 03 - Ataque normal
Desta pagina em diante vamos colocar exatamente o que queremos que aconteça quando o ataque for selecionado. Vou citar apenas o esquema de como fazer ele funcionar, como ele vai funcionar vai da sua criatividade e como vc deseja.
1. Coloque uma nota indicando o tipo de ataque.
2. Mude a var. “miss” = numero aleatório ( escolha qualquer variação de erro que vc quiser, eu coloco de 1-8, quando der 8 ocorre o miss.)
3. Coloque as pics dos monstros nos seus lugares, movendo-as para o En1 X, En1Y..etc..
4. Calcule o Dano, como vc deseja, deixando o valor na var. “Dano”
5. Entre com um ciclo ( Para que o monstro escolha um personagem ativo como alvo).
5.a. coloque um Lebel nº 30
5.b. mude a var. “equipe” para o numero da equipe.
5.c. Mude a var. “en1 alvo” = numero aleatorio entre 1-4 ( numero de herios no mesmo combate)
5.d. Entre com uma fork, se var. “equipe” for > (bigger) que var. “En1 Alvo” elsecase: go to label 30
5.d.a. Entre com uma fork, se var “En1 alvo” = 1
5.d.a.a. Mude a var “En1alvo” = var “ Líder” ( seleciona o herói que ocupa a posição de líder.)
5.d.a.b. Go to label 31
5.d.b. Entre com uma fork, se var “En1 alvo” = 2
5.d.b.a. Mude a var “En1alvo” = var “ Seguidor1” ( seleciona o herói que ocupa a posição de Seg.1.)
5.d.b.b. Go to label 31
5.d.c. Entre com uma fork, se var “En1 alvo” = 3
5.d.c.a. Mude a var “En1alvo” = var “ Seguidor 2” ( seleciona o herói que ocupa a posição de Seg.2.)
5.d.c.b. Go to label 31
5.d.d. Entre com uma fork, se var “En1 alvo” = 4
5.d.d.a. Mude a var “En1alvo” = var “ Seguidor 3” ( seleciona o herói que ocupa a posição de Seg. 3.)
5.d.d.b. Go to label 31
5.e. Lebel nº31
5.f. Entre com uma fork, se var. “En1 Alvo” = 1 ( se o alvo for o herói 1)
5.f.a. Entre com uma fork, se Herói 1 estiver na equipe ( na verdade esta fork não precisa existir mas é bom pois sabe como é.. as vezes vc pode se enganar nas var.)
5.f.a.a. Entre com uma fork, se swt “ Herói 1 morto” = Off ( o herói 1 deve estar vivo)
5.f.a.a.a. Entre com uma fork, se var. “miss” = 8 ( quer dizer que errou o alvo)
5.f.a.a.a.a. coloque o efeito de errar.(som)
5.f.a.a.a.b. Mude as var “---X---“ e “---Y---“ para as coordenadas do herói 1
5.f.a.a.a.c. faça a pic de Miss aparecer. Da forma que quiser.
5.f.a.a.b. Mude a swt “Herói 1 Hit” = On ( quer dizer que o Herói 1 foi atingido e ligara uma pagina com o char sendo atingido)
5.f.a.a.c. Entre com uma fork, se var “ En1 HP Max” = 20 ( quer dizer se o monstro que atacaou for o de Hpmax 20, que é a mosca)
5.f.a.a.c.a. coloque o animação do ataque da mosca.
5.f.a.a.d. faça 5.f.a.a.c. com todos os tipos de monstros que tenham ataques com animações diferentes.
5.f.a.a.e. Mude as var “---X---“ e “---Y---“ para as coordenadas do herói 1
5.f.a.a.f. wait 0.2 sec
5.f.a.a.g. Mude a swt “Herói 1 Hit” = OFF
5.f.a.a.h. Entre com uma fork, se swt “Heroi 1 def” = On
5.f.a.a.h.a. Mude a imagem do Herói 1 para a dele defendendo.
5.f.a.a.i. Lebel 15
5.f.a.a.j. Entre com uma fork, se var. “herói 1 Hp” > ( bigger) 0
5.f.a.a.j.a. Mude a var “Dano” - var. “herói 1 defesa”
5.f.a.a.j.b. Entre com uma fork, se swt “heroi 1 Def” = On
5.f.a.a.j.b.a. mude a var. “dano” divida por 2
5.f.a.a.j.c. Entre com uma fork, se var. “Dano”< (small) 0
5.f.a.a.j.c.a. Mude a var. “dano” =1
5.f.a.a.j.d. mude a var. “herói 1 HP” - var “dano” ( sofre o dano do inimigo)
5.f.a.a.j.e. call Evento: comum evento : HP perda
5.f.a.a.j.f. call Evento: Battle Beguin: pagina 5 (irá arrumar os HP/Mp)
5.f.a.a.j.g. Entre com uma fork, se var “herói 1 Hp” = 0
5.f.a.a.j.g.a. Mude swt “Heóri 1 Morto” = ON
5.f.a.a.k. Break cicle.
5.g. Faça os paços 5.f. para todos os heróis.
As demais paginas seguem o mesmo principio.. é só vc fazer caulcolos de dano, diferentes.. ou aplicar efeitos.. etc..
Pagina de fulga
No caso da pagina de fulga é só criar um evento zerando oas variaveis de Xp, e GP do monstro, e ligar a swt. Do En1Morto, que o evento de batalha vai considerar que esse inimigo morreu, e continuará o combate,
Faça esses eventos para o EN2 e En3.
“Herois”
Agora vamos para a ultima parte deste tutorial, aqui vão estar todas as ações que o herói pode fazer, seus itens e magias. Aqui o mais importante é ter conhecimento em fazer setas. Ler um tutorial de “menu melhor”, Passwords ou de “Setas”, inclusive esses dois estão para download no site da unimax.
Ajudara muito para fazer essa parte da batalha, por isso não vou explicar como se faz um menu com setas e coisa e tal, vou colocar sempre da seguinte forma; Coloque uma seta para selecionar a variável “tal..” com os pontos de seleção igual há. 1, 2,3,......Ex.:
Coloque uma seta para variável “Escolha1”, para os pontos da variável “heroi position”.
Quer dizer que vc vai escolher um password (var. “Escolha1”), e a cada variação ( clicar pra cima, ou para baixo) a variável irá aumentar ou diminuir 1 ponto. Da variável “herói Position”.
OU Coloque uma seta para variável “Escolha1”, para a quantidade de itens na var. “herói itens”.
Quer dizer que vc vai escolher um password (var. “Escolha1”), e a cada variação ( clicar pra cima, ou para baixo) a variável irá aumentar ou diminuir 1 ponto. Tendo um limite a numero Max e min. De itens no jogo, e esse numero será guardado na var. “Herói Itens.”
Importante!
Todas as imagens das paginas devem ser com o personagem em posição inicial de ataque, se tiver movimento coloque todas em movimento. Apenas em alguns casos que irei alertar a imagem será mudada.
Pagina 01 - Vazia.
Esta pagina é a que vai fazer, o 1º display do herói. Não há eventos
Pagina 02 - Menu Principal
Aqui vai todo o evento do menu, como ele vai se comportar, quais são as escolhas qual pagina irá chamar, como eu havia dito não vou explicar como fazer menus, mas vou deixar algumas dicas.
1. Crie um label (muito importante caso o jogador queira cancelar a ação e voltar com o menu no começo deste evento).
2. Coloque a imagem do herói na posição preparado para atacar.
3. Deixe como padrão o movimento básico que é o ataque. A variável que vai conter qual é a ação é a variável “Heroi 1 Move”.
4. Configure as variáveis (caso vc tenha) que irão pré determinar as posições das pics.
5. Entre com uma fork, se Herói 1 Estiver na equipe (para o funcionamento do menu do Herói 1, ele deve estar na equipe).
5.a. Mude a swt. “Herói 1 Def” = off ( pois ele vai parar de se defender para poder escolher uma nova ação).
5.b. Entre com uma fork, se swt “Herói 1 Morto” = OFF (para o funcionamento do menu do Herói 1, ele deve estar vivo).
5.b.a Mude a swt “Herói 1 Hit” = OFF ( para indicar que o herói não está sendo atacado ainda)
5.b.b. Mude a var. “Herói 1 Move” = 1 ( para que o movimento inicial seja 1, o move 1 é a escolha de ataque, caso no seu Bsys vc queira fazer como o System do CT que ele sempre inicia da última escolha feita, desconsidere esse passo).
5.b.c. Coloque as Pics e chars no seus devidos lugares para iniciar a escolha da ação.
5.b.d. Inicie o Ciclo da seta.
5.b.d.a Coloque uma seta para variável “Escolha1”, para os pontos da variável “Herói 1 Move”, com o limite do numero de ações existentes, no caso do BFK existem o ataque, defesa, magia, itens e fugir, cada uma deve receber um numero que seá indicado pela variável “Herói 1 move”. E faça as pics/char indicarem as posições e ações na tela. Ex.: var. “Herói 1 Move” = 3 show pic na Defesa.
5.b.d.a.a. Em caso de cancelamento: (var.”Escolha1” = 6) Mude a var. “Herói 1 Move” = 6 (6 no BFK é ação de cancelamento). E Break Cyclo.
5.b.d.a.b. Em caso de confirmação: (var.”Escolha1” = 5) Break Cyclo.
5.b.e. Entre com uma fork, se var. “Herói 1 Move” = 1( quer dizer que quando se confirmou a ação, chamar a pagina da preparação da ação 1 = ataque.)
5.b.e.a. Remover as pics do menu. e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.e.b. Call Evento: Este evento: Pagina 9 ( chamará a pagina de escolha do alvo)
5.b.f. Entre com uma fork, se var. “Herói 1 Move” = 2( quer dizer que quando se confirmou a ação, chamar a pagina da preparação da ação 2 = Defesa.)
5.b.f.a. Remover as pics do menu. e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.f.b. Mude a swt. “ Herói 1 Def” = ON
5.b.g. Entre com uma fork, se var. “Herói 1 Move” = 3( quer dizer que quando se confirmou a ação, chamar a pagina da preparação da ação 3 = Magia.)
5.b.g.a. Remover as pics do menu. e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.g.b. Call Evento: Este evento: Pagina 5 ( chamará a pagina do menu de escolha da magia).
5.b.h. Entre com uma fork, se var. “Herói 1 Move” = 4( quer dizer que quando se confirmou a ação, chamar a pagina da preparação da ação 4 = itens.)
5.b.h.a. Entre com uma fork, se os heróis NÃO Tiver item 1( faça isso para todos os itens, colocando uma fork dentro da outra, e na ultima, se o herói não tiver nenhum item, coloque GO to Label 1, irá reiniciar o menu de escolha)
5.b.h.b. Remover as pics do menu.( aqui se o herói tiver qualquer item o menu irá continuar esse evento) e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.h.c. Call Evento: Este evento: Pagina 7 ( chamará a pagina do menu do item).
5.b.i. Entre com uma fork, se var. “Herói 1 Move” = 5( quer dizer que quando se confirmou a ação, chamar a pagina da preparação da ação 5 = fugir.)
5.b.i.a. Mude a swt. “Ran” = On (isso irá indicar ao system que vc tentou fugir)
5.b.i.b. Remover as pics do menu.(aqui se o herói tiver qualquer item o menu irá continuar esse evento) e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.i.c. Call Evento: Este evento: Pagina 3 ( chamará a pagina da fuga.).
5.b.j. Entre com uma fork, se var. “Herói 1 Move” = 6( quer dizer que a ação foi cancelada)
5.b.j.a. Remover as pics do menu. e coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
5.b.j.b. Entre com uma fork, se var. “ Herói 1 Position” mais que (Above)= 3 ( isso é para quando sua posição for maior que ou igual a 3, Todas as ações serão canceladas), Else case: Go to Label 1.
5.b.j.b.a. Mude a var. “Breaker” = ON
5.b.k. Entre com uma fork, se swt. “cancelado” = ON (caso outra ação tenha cancelado esta)
5.b.k.a. Mude a swt “ cancelado” = OFF
5.b.k.b. Go to Label 1
6. Remover todas as pics do menu.
Pagina 03 - Ran!
Aqui vamos colocar as ações de fuga, se baseia só em movimentos dos char.. em fuga. O Gráfico da pagina é também d herói correndo.
Pagina 04 - Defendendo
Aqui vai todo o evento de defesa do herói 1, o Gráfico dessa pagina é do herói 1 se defendendo, nesse evento vc vai modificar a var. “Herói 1 defesa” para + um numero a sua escolha, no BFK eu determinei que a var “Herói 1 defesa” será aumentada em + var. “Herói level”, mas vc determina a vontade isso.
Pagina 05 - Menu Magia.
Aqui vai todo o evento do menu da magia. A seguir vamos para algumas dicas:
1. Mude a swt. “@book” = OFF (essa swt é para identificar que o menu de magia está desativado, e será e que pode ser usado uma nova magia.)
2. Lebel 3
3. Coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
4. Call evento: Battle Beguin : Pagina 7 ( isso irá chamar a pagina de condições, se vc tem alguma condição que possa evitar do herói 1 utilizar a magia, ele será ativado).
5. Show pics do menu evento.
6. Proceda da mesma maneira que a pagina do menu principal
7. Entre com uma fork, se Herói 1 Estiver na equipe (para o funcionamento do menu do Herói 1, ele deve estar na equipe).
7.a. Mude a swt. “Herói 1 Def” = off ( pois ele vai parar de se defender para poder escolher uma nova ação).
7.b. Entre com uma fork, se swt “Herói 1 Morto” = OFF (para o funcionamento do menu do Herói 1, ele deve estar vivo).
7.b.a Mude a swt “Herói 1 Hit” = OFF ( para indicar que o herói não está sendo atacado ainda)
7.b.b. Mude a var. “Herói 1 use spell” = 1 ( para que a magia inicial seja 1)
7.b.c. Coloque as Pics e chars no seus devidos lugares para iniciar a escolha da ação.
7.b.d. Inicie o Ciclo da seta.
7.b.d.a Coloque uma seta para variável “Escolha4”, para os pontos da variável “Herói 1 use spell”, com o limite do numero de magias existentes, cada uma deve receber um numero que será indicado pela variável “Herói 1 use spell”. E faça as pics/char indicarem as posições e ações na tela. Ex.: var. “Herói 1 use speel” = 3 show pic na magia de fogo.
7.b.d.a.a. Em caso de cancelamento: (var.”Escolha4” = 6) Mude a var. “Herói 1 use spell” = 0 (0 no BFK é nenhuma magia celecionada). E Break Cyclo.
7.b.d.a.b. Em caso de confirmação: (var.”Escolha4” = 5) Break Cyclo.
8. Mude a swt. “Cancelado” = OFF
9. Entre com uma fork, se var. “Escolha 4” = 6 ( botão de cancelamento)
9.a. Mude a Swt. “@Book” = OFF
9.b. Call evento: Battle Begin: Página 5 ( Fará o Dsplay do HP/MP).
9.c. Mude a Swt. “Cancelado” = ON
9.d. Mude a var. “Escolha 4” = 0
9.e. Go To Label 9
10. Entre com uma fork, se var. “Escolha 4” = 5 ( botão de canfirmação)
10.a. Call evento: este evento: Página 11 ( Irá checar se vc pode usar a magia escolhida)
10.b. Entre com uma fork, se a Swt. “Cancelado” = ON
10.b.a. Go to Label 3
10.c. Entre com uma for, se use var. “Herói 1 use Speel” = 22 ( no BKF as magia de cura é a numero 22, por isso deve ser feita uma diferenciação aqui se a magia escolhida for de cura, os alvos serão os personagens, se não os alvos serão aos inimigos). Else case: Call Evento: este evento: Página 10.(chamará o evento de escolha do alvo inimigo)
10.c.a Call Evento: este evento: Página 11.(chamará o evento de escolha do alvo aliado)
10.d. Coloque as pics dos inimigos em seus respectivos lugares, En1x, En2 Y, etc.
10.d. Entre com uma fork, se a Swt. “Cancelado” = ON
10.d.a. Go to Label 3
10.e. Go to label 9
11. Lebel nº5
12. Go to label 3.
13. Label 9.
Pagina 06 - Atacando
Aqui vai todo o evento de ataque do herói 1, cou dar as dicas de como fazer, e vc cria os ataques de forma que vc deseja.
1. Call Evento: Este evento: página 15 ( Este chamará o evento que vai verificar se o alvo escolhido para o herói 1 ainda é valido, se ainda está vivo.)
2. wait 0.5sec
3. Inicie um ciclo.
3.a. Lebel 9
3.b. coloque a figura do herói em posição de ataque.
3.c. Mude a var “Miss” = numero aleatório ( do mesmo jeito que vc fez no monstro.)
3.d. Entre com uma fork, se var “miss” = numero do 8 ( numero qualquer definido para errar o ataque.)
3.d.a. Faça a ação do herói errando o ataque.
3.d.b. Go to Label 14
3.e. Wait 0.3 sec.
3.f. Entre com uma fork, se var, “herói 1 Alvo” = 1
3.f.a. Faça seu herói atacar o EN1, calculando o dano, e fazendo com que a pic do EM pisque.
3.g. Entre com uma fork, se var, “herói 1 Alvo” = 2
3.g.a. Faça seu herói atacar o EN2. Calculando o dano, e fazendo com que a pic do EM pisque.
3.h. Entre com uma fork, se var, “herói 1 Alvo” = 3
3.h.a. Faça seu herói atacar o EN3. Calculando o dano, e fazendo com que a pic do EM pisque.
3.i. Lebel 14 ( Caso houve o miss - vamos fazer o evento de miss, aqui separando também por alvo)
3.j. Entre com uma fork, se var. “Herói 1 Alvo” = 1
3.j.a. Entre com uma fork, se a var. “Miss” = 8 ( houve erro)
3.j.a.a. Configure as var “---X---“ e “---Y---“ para as coordenadas do En1
3.j.a.b. Faça aparecer a pic de “Miss”
3.j.a.c. Wait 0.5 sec
3.j.a.d. Mude a variavel “dano” = 0
3.j.a.e. Go to label 12
3.j.b. Mude a var. “Dano” - var. “ En1 Defesa” = Faz a defesa diminuir o dano.
3.j.c. Mude a var. “En1 Hp” - Var. “Dano”.
3.j.d. Configure as var “---X---“ e “---Y---“ para as coordenadas do En1
3.k. Faça o mesmo para todos os alvos, EN2 EN3.
3.l. Call Evento: comum evento: HP Perda .
3.m. Call Evento: Battle begin: página 5
3.n. Call Evento: Check Dead/Speed: página 1.
3.o. Label 2
3.p. Lebel 12
3.q. wait 0.5 sec
3.r. Break ciclo.
Pagina 07 - menu Itens
Aqui vai todo o evento de menu dos itens, essa muitas vezes é uma dificuldade para os novatos em Bsys.
1. Mude var. “Herói 1 item” = 1
2. Label 5
3. Mude var. “escolha 4” = 4
4. Inicie um ciclo
4.a. Label 11
4.b. Entre com uma fork, se a var. “Herói 1 item”< 1 (smaller)
4.b.a. Call Evento: Este evento : Pagina 14 ( irá verificar se vc ainda tem itens).
4.b.b. Go to label 11.
4.c. Entre com uma fork, se a var. “Herói 1 item”> 1 (bigger)
4.c.a. Call Evento: Este evento : Pagina 14 ( irá verificar se vc ainda tem itens).
4.c.b. Go to label 11.
4.d. Entre com uma fork, se var.Herói 1 item = 1 ( Item numero 1 = Poção)
4.d.a. Entre com uma fork, se Possui Item poção. Else case: Call evento: este evento: Pagina 14, e Go to label 11.
4.d.a.a. Faça o display (show pic)do seu item.(poção)
4.d.a.b. Mude a var. “Dezena” = numero de itens de POÇÃO.
4.e. Faça os paços 4.d. para todos os itens.
4.f. Call Evento: Comum evento: Item.
4.g. Label 6
4.h. Coloque uma seta para variável “Escolha4”, para os pontos da variável “heroi 1 Item”.
Em cada opção +1 e - 1 da seta, coloque um go to label 11 ( ex: Fork, se var “Escolha 4” = 1, diminua em 1 ponto a var “Heroi 1 Item”, e goto label 11.)
4.i. Em caso de confirmação: entre com uma fork, se var. “herói 1 item” for maior que 13 ( no BFK os itens acima de 13 afetam todos os personagens.) Else case: Call Evento: Este evento : Pagina 13 ( chamará a escolha de alvo.
4.i.a. Call Evento: Este evento : Pagina 19 ( irá verificar se vc ainda tem itens).
4.j. Entre com uma fork, se Swt. “Cancelado” = On
4.j.a. Mude a swt “Cancelado” = OFF
4.j.b. Go to Label 11
4.k. Break cyclo
4.l. Entre com uma fork, se var “ Escolha 4” = 6
4.l.a. Remova as pics
4.l.b. Call evento: battle Begin Evento: Pagina 4
4.l.b. Call evento: battle Begin Evento: Pagina 5
4.l.d. Mude a swt “cancelado” = on
4.l.e. go to label 12
4.m. Break ciclo
5. Label 12
Pagina 08 - Spell Library!
Aqui vai todo o evento que irá verificar se a magia pode ser ou não usada, se o herói possui a magia.
1. Entre com uma fork, se var “ Herói 1 use spell” for = 22 ( lembrando que a magia numero 22 é a que tem efeito sobre os heróis portanto irá chmar um alvo aliado.)
1.a. Call evento: Este evento pagina 18 ( chamará o evento que valida o alvo um heroi)
1.b. GO to label 22
2. Call evento: Este evento: Pág. 15 ( se a magia não for de alvo um herói ela seguirá para este evento que chamará a validação de um inimigo.)
3. Label 22
4. Wait 1,0 sec
5. Entre com uma Fork, se var “Herói 1 use Spell” = 1 ( se o herói 1 usar a magia 1 que é a de fogo)
5.a. Mude a var. “Herói 1 Elemento” = 1 ( indica que o elemento usado pelo herói é a do fogo)
5.b. Aqui subtraia da var. “ herói 1 MP” o valor que será gasto por esta magia.)
5.c. Faça a chamada da magia, faça aparecer texto ou coisa assim mas não a animação da magia ainda, é só para indicar o jogador que a magia foi acionada.
5.d. Call evento: este evento; Pág 16 ( chamará o evento dos efeitos da magia.)
5.e. Wait 0,2 sec
5.f. Call evento: Battle Beguin , Pagina 2 ( irá verificar se o jogo terminou com esta ação.)
5.g. Call evento: Battle Beguin , Pagina 5 ( irá verificar os MP e HP.)
6. Faça os passos 5 para cada magia que vc tiver.
7. Label 12
8. Call evento: Check Death/speed , Pagina 1 ( irá verificar se o inimigo está morto.)
Pagina 09 - Ceta de ataque aos Monstros
Aqui vamos fazer a ceta para selecionar o alvo do herói por isso só vou colocar umas dicas como vc vai fazer a ceta fica ao seus cuidados.
1. logo no inicio do evento coloque forks, para identificar o alvo inicial desta maneira:
2. Entre com uma fork, Se swt “ En4 Morto” = OFF ( se o inimigo 4 estiver vivo)
2.a. Mude a var. “Herói 1 Alvo” = 4 ( Valida o primeiro alvo como o monstro 4)
3. Faça para os demais mosntros, lembrando de sempre fazer em ordem decrecente, do En4 ao En1, pois assim evitará a ceta iniciar no local onde não á montros.
4. Inicie um cyclo ( que será para a ceta)
4.a. Lebel 5
4.b. Reposicione as imagens dos inimigos.
4.c. Entre com uma fork, se var “herói 1 Alvo” = 1
4.c.a. Posicione a pic da ceta no En1.
4.d. faça isso para todos o inimigos, mas coloque abaixo da fork do alvo uma nova fork, se swt “En2(ou En3) Morto” = OFF, Else Case: Mude a var. “Herói 1 alvo” +,1
4.e. Coloque uma seta para variável “Escolha1”, para os pontos da variável “Herói 1 alvo”,
4.f. Coloque um novo ciclo ( esse é para identificar se o monstro ainda vive, e sua ceta não apontar um espaço vazio.)
4.f.a. Entre com uma fork, se var “herói 1 alvo” = 1
4.f.a.a. Entre com uma fork, se swt “ En1 Morto” = OFF
4.f.a.a.a break ciclo.
4.g. Agora entre com a condição de confirmação da ceta ( se Escolha 1 = 5)
4.g.a. Go to label 12
5. Label 2
6. Go to label 5
7. label 12
8. break cyclo.
Pagina 10 - Ceta de ataque com magia aos monstros
Aqui vamos fazer a ceta para selecionar o alvo do herói por isso só vou colocar umas dicas como vc vai fazer a ceta fica ao seus cuidados
Importante, este evento é igual ao da pagina 9. é importante ele existir para que possa correr independência de um alvo e outro. Para diferenciar a ação de escolha do alvo de ataque normal, e da escolha de ataque de magia.
Pagina 11 - Check speel mp
Este evento é relativamente simples pois vc vai fazer condições para que o herói não possa usar uma magia que gaste 20 MP se ele só tem 5 mp,
Aqui vc irá dar as condições de uso do MP, com as magias, faça isso para cada tipo de magia, que depois o Bsys irá vir verificar se o Herói tem MP suficiente para soltar a magia tal..
Aqui são condições de Forks, ex:
Se var “Herói 1 Use spell” = 1
Mas ele não possui a magia fogo memorizada, ou não possui Mp suficiente, è cancelado a magia.
E no fim de cada condição negativa coloque a swt “Cancelado” = ON, pois quando retornar ao evento da escolha da magia o menu regeitará o uso da mesma ou por falta de MP ou por não possuir a magia escolhida.
No BFK aqui eu coloco as condições dos Slots.
Pagina 12 - Itens
Aqui vamos fazer os efeitos dos itens durante o combate.
Iniciando com uma fork para cada item ex:
Entre com uma fork, se var “ Herói1 Item” = 1 ( poção)
Faça toda a ação da poção,
Aumente o hp.. faça seu herói na pose de beber poção, remova o item usado, coloque condições ( só funciona se o alvo estiver vivoetc..). e todos os efeitos que vc quer durante a batalha, quando usado o item.
Faça para todos os itens.
Nota: se seu item for de reviver alguém, no fim do evento deste item faça chamar o evento Battle begin pagina 5
Que irá verificar o hp para voltar ao normal.
Pagina 13 - Alvo dos itens
Aqui vamos fazer o mesmo que as setas da pagina 09/10. mas ao invés dos alvos serem nos EN1,En2 etc..
Serão os próprios heróis ( pois os itens são geralmente usados só nos heróis)
Dica no evento de confirmação, da escolha coloque por ultimo:
Call evento : Battle begin evento: pág 4
Call evento : Battle begin evento: pág 5
Pagina 14 - Resolvendo os itens
Esta pagina irá conter as condições dos itens, para saber quais os itens que vc ainda tem, e não fazer a seleção dos itens que você não tem.
1. Entre com uma fork, se var “ Escolha 4” = 1 ( lembre essa variável deve ser a que vc usa para fazer a seta da escolha do seu item)
1.a. Mude a var “ Herói 1 Item” +, 1
2. Entre com uma fork, se var “ Escolha 4” = 4 ( lembre essa variável deve ser a que vc usa para fazer a seta da escolha do seu item)
2.a. Mude a var “ Herói 1 Item” -, 1
3. Entre com uma fork, se var “Herói 1 item” for menor que 0 ( bellow)
3.a. Mude a var “ Herói 1 Item” = 16 ( Numero Max de tipos de itens que vc tem)
4. Entre com uma fork, se var “Herói 1 item” for maior que 16 ( bigger)
4.a. Mude a var “ Herói 1 Item” =1 ( Numero do Mínio do tipo de item que vc tem)
Pagina 15 - Validar alvo ( inimigo)
Esta pagina irá validar se seu alvo ainda existe, e se não atacará o próximo.
1. Label 19
2. Entre com uma fork, se var “ Heroi 1 Alvo” = 1 ( alvo é o En1)
2.a. Entre com uma fork, se Swt “En1 Morto” = ON ( e se En1 estiver morto)
2.a.a. mude a var. “herói 1 Alvo” +, 1
3. Faça o mesmo apara todos os alvos, no ultimo alvo, dentro das 2 forks coloque:
4. Go to label 19 ( isso é para se caso o ultimo alvo estiver morto este evento volte a se repetir.)
Pagina 16- Efeito das magias.
Nesta pagina vamos colocar todo o efeito que as magias tem, dano, animações.. e tudo mas de como vc quer que cada magia se comporte, lembrando da seguinte sequencia:
1. no inicio coloque um Call evento: este evento: Pagina 15 (irá validar o inimigo)
2. Faça todos os eventos necessários utilizando como fork a var. Herói 1 use spell ( se for 1 display magia do fogo, se for 2 magia da água..etc..)
3. Faça cada alvo separadamente ( ex. se var “herói 1 alvo” = 2 faça os ataques se direcionarem ao En2)
4. no final de cada magia coloque um go to label 22
5. no final de todas as magias coloque o Lebel 22(assim ao acionar uma magia o evento não precisa ser lido completamente.)
6. Call evento: comum evento : Perda de HP
7. Call evento: battle beguin: pagina 5
Pagina 17 - Redução de dano.
Esta pagina irá reduzir o dano conforme o elemento. Tipo um monstro de fogo recebe o dano dobrado quando é atingido por um ataque de água.
É isso que vamos fazer aqui.. fica a critério de vc usar esse evento por isso não vou escrever.
Dica faça isso para cada variação da var. Herói 1 alvo, e para cada combinação de elemento.
E reduza ou amplie da Var. “Dano” veja maiores detalhes no meu jogo!!!
Pagina 18 - Validar alvo ( aliado)
Esta pagina irá validar se seu alvo ainda existe, e se não atacará o próximo. Considerando que esse alvo são os heróis,
Faça da mesma forma que foi feito o evento da pagina 15, mas levando em confederação que seus alvos são todos os seus aliados.)
Pagina 19 - Seta de alvo dos itens nos Aliados
Aqui vamos fazer a seta para selecionar o alvo do item que será aplicado
Importante, este evento é igual ao da pagina 9.
Mas levando em consideração que seus alvos são todos os seus aliados.
Pagina 20 - GFX do herói - hit
Aqui o evento é branco só vamos colocar no GFX do evento o seu herói sendo atingido, e a condição é a SWT “ Herói 1 HIT” = ON
Pagina 21 - GFX do herói - Vitória
Aqui o evento é branco só vamos colocar no GFX do evento o seu herói comemorando a vitória, e a condição é a SWT “ vitória!!” = ON
Pagina 22 - GFX do herói - morto
Aqui o evento é branco só vamos colocar no GFX do evento o seu herói morto, e a condição é a SWT “ Herói 1 Morto” = ON
Pagina 23 - GFX do herói - Vitória + Morto
Aqui o evento é branco só vamos colocar no GFX do evento o seu herói morto durante a vitória da equipe, e a condição é a SWT “ vitória!!” = ON e swt “ Herói 1 morto” = ON
Pagina 24 - GFX do herói - Fora da Equipe
Aqui o evento é todo branco, e a condição é a SWT “Herói not hire” = ON
As demais paginas vc pode configurar com outras posições e chama-las na hora que desejar, ligando uma Swt.
Cada herói deve ter seus próprios eventos, portanto.
Duplique esse evento e altere para o herói 2.. herói 3.. etc..
È bem complicado. Qualquer duvida é só falar comigo através do fórum da RPG Menace.
http://www.rpgmenace.cjb.net
ou por e-mail:
[email protected]
ou por icq
44920827
