Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
[EVO] Menu
3 participantes
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Scripts
Página 1 de 1
[EVO] Menu
Bom, esse é um novo menu que acabei de fazer, ele contém 2 scripts, sendo que um deles é uma edit do Window_MenuStatus (não sou muito bom em rgss).
Script 1:
Script 2:
- Imagem:
Script 1:
- Código:
#----------------------------------------------------#
# EVO Menu |-------------------------#
#----------------------------------------------------#
# Autor Hatsuki Morturo |-------------------------#
# Versão 1.0 |-------------------------#
# Data 14.16.2011 |-------------------------#
#----------------------------------------------------#
class Scene_Menu
#----------------------------------------------------#
# Evolution Menu |-------------------------#
#----------------------------------------------------#
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
# Criar janela de comando
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Salvar"
s6 = "Fim de Jogo"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
@playtime_window = Window_PlayTime.new
@playtime_window.x = 160
@playtime_window.y = 0
@steps_window = Window_Steps.new
@steps_window.x = 320
@steps_window.y = 0
@gold_window = Window_Gold.new
@gold_window.x = 480
@gold_window.y = 0
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 95
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@playtime_window.dispose
@steps_window.dispose
@gold_window.dispose
@status_window.dispose
end
def update
@command_window.update
@playtime_window.update
@steps_window.update
@gold_window.update
@status_window.update
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0 # Itens
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1 # Habilidades
$game_system.se_play($data_system.decision_se)
# Ativar o status da janela
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2 # Equipamentos
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Ativar o status da janela
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3 # Status
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Ativar o status da janela
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4 # Salvar
# Se Salvar for proibido
if $game_system.save_disabled
# Reproduzir SE de erro
$game_system.se_play($data_system.buzzer_se)
return
end
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de save
$scene = Scene_Save.new
when 5 # Fim de Jogo
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Fim de Jogo
$scene = Scene_End.new
end
return
end
end
#--------------------------------------------------------------------------
# Atualização do Frame (Quando o status da Janela estiver Ativo)
#--------------------------------------------------------------------------
def update_status
# Se o botão B for pressionado
if Input.trigger?(Input::B)
# Reproduzir SE de cancelamento
$game_system.se_play($data_system.cancel_se)
# Torna a janela de comandos ativa
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
# Se o botão C for pressionado
if Input.trigger?(Input::C)
# Ramificação por posição do cursor na janela de comandos
case @command_window.index
when 1 # Habilidades
# Se o limite de ação deste Herói for de 2 ou mais
if $game_party.actors[@status_window.index].restriction >= 2
# Reproduzir SE de erro
$game_system.se_play($data_system.buzzer_se)
return
end
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Habilidades
$scene = Scene_Skill.new(@status_window.index)
when 2 # Equipamento
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Equipamento
$scene = Scene_Equip.new(@status_window.index)
when 3 # Status
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Status
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end
Script 2:
- Código:
#----------------------------------------------------#
# EVO Menu_2 |-------------------------#
#----------------------------------------------------#
# Autor Hatsuki Morturo |-------------------------#
# Versão 1.0 |-------------------------#
# Data 14.16.2011 |-------------------------#
#----------------------------------------------------#
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# Inicialização dos Objetos
#--------------------------------------------------------------------------
def initialize
super(0, 0, 480, 129)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
self.active = false
self.index = -1
end
#--------------------------------------------------------------------------
# Atualização
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 64
y = i * 116
actor = $game_party.actors[0]
draw_actor_graphic(actor, x - 40, y + 80)
draw_actor_name(actor, x, y)
draw_actor_class(actor, x + 144, y)
draw_actor_level(actor, x, y + 32)
draw_actor_state(actor, x + 90, y + 32)
draw_actor_exp(actor, x, y + 64)
draw_actor_hp(actor, x + 236, y + 32)
draw_actor_sp(actor, x + 236, y + 64)
end
end
#--------------------------------------------------------------------------
# Renovação do Retângulo de Seleção
#--------------------------------------------------------------------------
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
end
end
end
_________________
Hatsuki Morturo- Experiente
- Mensagens : 401
Créditos : 50
Re: [EVO] Menu
Bem bonito
qual Windows Skin usou?
qual Windows Skin usou?
_________________
Posts:
-TUDO Pokemon:
http://www.aldeiarpgbr.com/t1258-quer-criar-um-jogo-pokemon-agente-facilita-e-claro-atualizado-agora-com-battlers-icones-sons-e-ainda-animacoes
-TUDO Pokemon:
http://www.aldeiarpgbr.com/t1258-quer-criar-um-jogo-pokemon-agente-facilita-e-claro-atualizado-agora-com-battlers-icones-sons-e-ainda-animacoes
lordmeninoS- Ocasional
- Mensagens : 226
Créditos : 17
Re: [EVO] Menu
Você poderia ter simplificado o sistema em apenas um script. E me dei a liberdade de inserir uma linha em seu script. Substitua o primeiro por este e veja a diferença:
A Scene_Status ta meio estranha pois ela so é boa para um unico personagem. Os outros nao ficam selecionaveis.
- Código:
#----------------------------------------------------#
# EVO Menu |-------------------------#
#----------------------------------------------------#
# Autor Hatsuki Morturo |-------------------------#
# Versão 1.0 |-------------------------#
# Data 14.16.2011 |-------------------------#
#----------------------------------------------------#
class Scene_Menu
#----------------------------------------------------#
# Evolution Menu |-------------------------#
#----------------------------------------------------#
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
background = Spriteset_Map.new
# Criar janela de comando
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Salvar"
s6 = "Fim de Jogo"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
@playtime_window = Window_PlayTime.new
@playtime_window.x = 160
@playtime_window.y = 0
@steps_window = Window_Steps.new
@steps_window.x = 320
@steps_window.y = 0
@gold_window = Window_Gold.new
@gold_window.x = 480
@gold_window.y = 0
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 95
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@playtime_window.dispose
@steps_window.dispose
@gold_window.dispose
@status_window.dispose
end
def update
@command_window.update
@playtime_window.update
@steps_window.update
@gold_window.update
@status_window.update
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0 # Itens
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1 # Habilidades
$game_system.se_play($data_system.decision_se)
# Ativar o status da janela
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2 # Equipamentos
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Ativar o status da janela
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3 # Status
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Ativar o status da janela
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4 # Salvar
# Se Salvar for proibido
if $game_system.save_disabled
# Reproduzir SE de erro
$game_system.se_play($data_system.buzzer_se)
return
end
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de save
$scene = Scene_Save.new
when 5 # Fim de Jogo
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Fim de Jogo
$scene = Scene_End.new
end
return
end
end
#--------------------------------------------------------------------------
# Atualização do Frame (Quando o status da Janela estiver Ativo)
#--------------------------------------------------------------------------
def update_status
# Se o botão B for pressionado
if Input.trigger?(Input::B)
# Reproduzir SE de cancelamento
$game_system.se_play($data_system.cancel_se)
# Torna a janela de comandos ativa
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
# Se o botão C for pressionado
if Input.trigger?(Input::C)
# Ramificação por posição do cursor na janela de comandos
case @command_window.index
when 1 # Habilidades
# Se o limite de ação deste Herói for de 2 ou mais
if $game_party.actors[@status_window.index].restriction >= 2
# Reproduzir SE de erro
$game_system.se_play($data_system.buzzer_se)
return
end
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Habilidades
$scene = Scene_Skill.new(@status_window.index)
when 2 # Equipamento
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Equipamento
$scene = Scene_Equip.new(@status_window.index)
when 3 # Status
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Status
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end
A Scene_Status ta meio estranha pois ela so é boa para um unico personagem. Os outros nao ficam selecionaveis.
_________________
DarkRoot- Membro Ativo
- Mensagens : 353
Créditos : 31
Re: [EVO] Menu
@LordmeninoS - A window skin que usei foi a do NP X-NP, ta no spoiler.
É que como falei, eu fiz um curso (rgss) a cerca de 3 anos, e desde quando terminei não pratiquei, to voltando agora.
E a Scene_Status foi feita somente para um único personagem, porisso recomendo que na data base do jogo, deichem só um pesonagem.
- Spoiler:
É que como falei, eu fiz um curso (rgss) a cerca de 3 anos, e desde quando terminei não pratiquei, to voltando agora.
E a Scene_Status foi feita somente para um único personagem, porisso recomendo que na data base do jogo, deichem só um pesonagem.
_________________
Hatsuki Morturo- Experiente
- Mensagens : 401
Créditos : 50
Re: [EVO] Menu
somente adicionei uma linha ao script para o fundo ser o mapa e nao aquele preto...E dá para simplificar o script mas tou com preguiça de faze-lo agora >_< De qualquer modo bom trabalho =D
_________________
DarkRoot- Membro Ativo
- Mensagens : 353
Créditos : 31
Re: [EVO] Menu
@DarkRoot o script que você postou está com algum erro, vou ver se consigo localiza-lo e retira-lo.
_________________
Hatsuki Morturo- Experiente
- Mensagens : 401
Créditos : 50
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Scripts
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos