Por: gustavex_gugu
Introdução:
Este script permite que você selecione o seu personagem principal, podendo ver como ele é (o char do personagem), saber a classe e os parâmetros necessários de cada herói, antes de começar uma história no seu game.
Como Usar:
Para instalar este script, basta colocá-lo acima do Main do seu projeto. Pórém para usá-lo siga as instruções abaixo:
1 - Crie um NPC no mapa inicial. Dê a ele uma fala qualquer (Ex.: "Olá, escolha um personagem" ou algo parecido).
2 - Depois, chame este script: $scene = Selecao.new
3 - Após isso, ligue um switch (qualquer um) e abra uma nova página no mesmo evento, com a condição de que o switch que você ligou esteja ligado.
Pronto! Depois disso você já pode testá-lo!
OBS.: No Grupo Inicial do seu jogo, devem ter pelo menos quatro personagens, caso contrário pode ser que o sistema não funcione muito bem.
Mais uma coisa, os quatro personagens que poderão ser selecionados pelo jogador, devem ser os quatro primeiros do seu banco de dados (ou seja, devem ser os personagens de ID 1, 2, 3 e 4).
Para configurar os nomes a serem selecionados: Linha 70
Script:
Não necessita.
Introdução:
Este script permite que você selecione o seu personagem principal, podendo ver como ele é (o char do personagem), saber a classe e os parâmetros necessários de cada herói, antes de começar uma história no seu game.
Como Usar:
Para instalar este script, basta colocá-lo acima do Main do seu projeto. Pórém para usá-lo siga as instruções abaixo:
1 - Crie um NPC no mapa inicial. Dê a ele uma fala qualquer (Ex.: "Olá, escolha um personagem" ou algo parecido).
2 - Depois, chame este script: $scene = Selecao.new
3 - Após isso, ligue um switch (qualquer um) e abra uma nova página no mesmo evento, com a condição de que o switch que você ligou esteja ligado.
Pronto! Depois disso você já pode testá-lo!
OBS.: No Grupo Inicial do seu jogo, devem ter pelo menos quatro personagens, caso contrário pode ser que o sistema não funcione muito bem.
Mais uma coisa, os quatro personagens que poderão ser selecionados pelo jogador, devem ser os quatro primeiros do seu banco de dados (ou seja, devem ser os personagens de ID 1, 2, 3 e 4).
Para configurar os nomes a serem selecionados: Linha 70
Script:
- Código:
#==================================================================
# $$$$$$$$$$$$$$ Sistema de Seleção de Personagem $$$$$$$$$$$$$$$$$
#
# Bem, este script permite que você possa selecionar o personagem
# Inicial do seu game, de um modo diferente do normal. Antes, eu
# Colocava um evento de escolhas com o nome dos personagens e
# Escolhia um deles parainiciar o meu game. Porém, eu fiz este
# Para que o jogador tenha uma visão de como é o personagem antes
# Dele escolher com qual iniciar. O jogador poderá ver a classe,
# Os parâmetros de jogo de cada herói e a figura do char de cada
# Herói.
#
# Para instalar este script, basta colocá-lo acima do Main do seu
# Projeto. Pórém para usá-lo siga as instruções abaixo:
#
# 1 - Crie um NPC no mapa inicial. Dê a ele uma fala qualquer (Ex.:
# "Olá, escolha um personagem" ou algo parecido).
#
# 2 - Depois, chame este script: $scene = Selecao.new
#
# 3 - Após isso, ligue um switch (qualquer um) e abra uma nova
# página no mesmo evento, com a condição de que o switch que
# você ligou esteja ligado.
#
# Pronto! Depois disso você já pode testá-lo!
# OBS.: No Grupo Inicial do seu jogo, devem ter pelo menos quatro
# Personagens, caso contrário pode ser que o sistema não
# funcione muito bem.
# Mais uma coisa, os quatro personagens que poderão ser
# Selecionados pelo jogador, devem ser os quatro primeiros
# Do seu banco de dados (ou seja, devem ser os personagens
# de ID 1, 2, 3 e 4).
#
# Para configurar os nomes a serem selecionados: Linha 70
#
# Script criado por Guh_Gustavex
#==================================================================
class Window_Base
def draw_actor_parameter(actor, x, y, type)
case type
when 0
parameter_name = $data_system.words.atk
parameter_value = actor.atk
when 1
parameter_name = $data_system.words.pdef
parameter_value = actor.pdef
when 2
parameter_name = $data_system.words.mdef
parameter_value = actor.mdef
when 3
parameter_name = $data_system.words.str
parameter_value = actor.str
when 4
parameter_name = $data_system.words.dex
parameter_value = actor.dex
when 5
parameter_name = $data_system.words.agi
parameter_value = actor.agi
when 6
parameter_name = $data_system.words.int
parameter_value = actor.int
end
self.contents.font.color = system_color
self.contents.draw_text(x, y, 80, 32, parameter_name)
self.contents.font.color = normal_color
self.contents.draw_text(x + 80, y, 36, 32, parameter_value.to_s, 2)
end
end
#=================================================================
class Selecao < Window_Selectable
def initialize
super(0,0,640,300)
# Na linha @commands, você determina os nomes que irão
# Ser selecionados pelo jogador. OBS.: Devem ser 4 nomes.
@commands = [" Ash", "Trevor", " Baker", " Lucy"]
@item_max = 4
@column_max = 4
@index = 1
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = 20
self.index = 0
refresh
end
#===========================================================#
# Carregando as imagens a serem selecionadas #
#===========================================================#
def refresh
self.contents.clear
hero1 = $game_party.actors[0]
hero2 = $game_party.actors[1]
hero3 = $game_party.actors[2]
hero4 = $game_party.actors[3]
#==============================================================#
# Carregando os gráficos dos personagens #
#==============================================================#
draw_actor_graphic(hero1, 50, 96)
draw_actor_graphic(hero2, 210, 96)
draw_actor_graphic(hero3, 370, 96)
draw_actor_graphic(hero4, 540, 96)
#==============================================================#
# Carregando as classes dos personagens #
#==============================================================#
draw_actor_class(hero1, 0, 100)
draw_actor_class(hero2, 183, 100)
draw_actor_class(hero3, 340, 100)
draw_actor_class(hero4, 520, 100)
#==============================================================#
# Carregando os parâmetros do 1° personagem #
#==============================================================#
draw_actor_parameter(hero1, 0, 140, 0)
draw_actor_parameter(hero1, 0, 160, 1)
draw_actor_parameter(hero1, 0, 180, 2)
draw_actor_parameter(hero1, 0, 200, 3)
draw_actor_parameter(hero1, 0, 220, 4)
draw_actor_parameter(hero1, 0, 240, 5)
draw_actor_parameter(hero1, 0, 260, 6)
#==============================================================#
# Carregando os parâmetros do 2° personagem #
#==============================================================#
draw_actor_parameter(hero2, 160, 140, 0)
draw_actor_parameter(hero2, 160, 160, 1)
draw_actor_parameter(hero2, 160, 180, 2)
draw_actor_parameter(hero2, 160, 200, 3)
draw_actor_parameter(hero2, 160, 220, 4)
draw_actor_parameter(hero2, 160, 240, 5)
draw_actor_parameter(hero2, 160, 260, 6)
#==============================================================#
# Carregando os parâmetros do 3° personagem #
#==============================================================#
draw_actor_parameter(hero3, 320, 140, 0)
draw_actor_parameter(hero3, 320, 160, 1)
draw_actor_parameter(hero3, 320, 180, 2)
draw_actor_parameter(hero3, 320, 200, 3)
draw_actor_parameter(hero3, 320, 220, 4)
draw_actor_parameter(hero3, 320, 240, 5)
draw_actor_parameter(hero3, 320, 260, 6)
#==============================================================#
# Carregando os parâmetros do 4° personagem #
#==============================================================#
draw_actor_parameter(hero4, 480, 140, 0)
draw_actor_parameter(hero4, 480, 160, 1)
draw_actor_parameter(hero4, 480, 180, 2)
draw_actor_parameter(hero4, 480, 200, 3)
draw_actor_parameter(hero4, 480, 220, 4)
draw_actor_parameter(hero4, 480, 240, 5)
draw_actor_parameter(hero4, 480, 260, 6)
for i in [url=http://battlemaker.forumeiros.com/mailto:0...@item_max]0...@item_max[/url]
draw_item(i)
end
end
def draw_item(index)
x = 4 + index * 160
self.contents.draw_text(x + 15, 7, 128, 32, @commands[index])
end
end
#=================================================================
# Fim da Classe Seleção
#=================================================================
#=================================================================
# Início da Scene_Seleção
#=================================================================
class Scene_Selecao
def main
@command_window = Selecao.new
Graphics.transition
# Loop principal
loop do
# Atualizar tela de jogo
Graphics.update
# Atualizar entrada de informações
Input.update
# Atualização do frame
update
# Abortar loop se a tela se alterou
if $scene != self
break
end
end
# Preparar para transição
Graphics.freeze
# Exibição das janela
@command_window.dispose
end
def update
@command_window.update
if @command_window.active
update_command
return
end
end
def update_command
if Input.trigger?(Input::B) # Se tecla B for pressionada
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C) # Se tecla C for pressionada
case @command_window.index
# Nas linhas $game_party.actors.delete($game_actors[x])
# Você configura as IDs de quais personagens serão deletados
# Troque o [x] pela id do herói.
#
#
when 0 # Herói 1
$game_system.se_play($data_system.decision_se)
$game_party.actors.delete($game_actors[2])
$game_party.actors.delete($game_actors[3])
$game_party.actors.delete($game_actors[4])
$scene = Scene_Map.new
leader_read
when 1 # Herói 2
$game_system.se_play($data_system.decision_se)
$game_party.actors.delete($game_actors[1])
$game_party.actors.delete($game_actors[3])
$game_party.actors.delete($game_actors[4])
$scene = Scene_Map.new
leader_read
when 2 # Herói 3
$game_system.se_play($data_system.decision_se)
$game_party.actors.delete($game_actors[1])
$game_party.actors.delete($game_actors[2])
$game_party.actors.delete($game_actors[4])
$scene = Scene_Map.new
leader_read
when 3 # Herói 4
$game_system.se_play($data_system.decision_se)
$game_party.actors.delete($game_actors[1])
$game_party.actors.delete($game_actors[2])
$game_party.actors.delete($game_actors[3])
$scene = Scene_Map.new
leader_read
end
return
end
end
def leader_read
@actors = []
for i in 0...$game_party.actors.size
@actors[i] = $game_party.actors[i]
end
for i in [url=http://battlemaker.forumeiros.com/mailto:1...@actors.size]1...@actors.size[/url]
$game_party.actors[i - 1] = @actors[i]
end
$game_party.actors[@actors.size - 1] = @actors[0]
$game_player.refresh
end
end
#=========================================================================
# Fim do Script
#=========================================================================
Não necessita.