Pomógł: 6 razy Dołączył: 19 Gru 2012 Posty: 81 Skąd: Masz taki nr. IQ ?
Wysłany: Pią 18 Sty, 2013 14:48
Nowe Proste Menu
~ Menu Simples do Cristiano ~
Krótki opis:
Skrypt Wprowadza nam nowe okno Menu w którym mamy tylko:
Plecak
Wczytaj Grę
Zapisz grę
Wyłącz Grę
Autor:
cristianoforce
Kompatybilność:
RPG Maker XP
Skrypt:
Spoiler:
Kod:
#==============================================================
# Modificações do usuário
#==============================================================
LOAD_OK = 1 # NR. przełąznika który włącza Jogo ładowanie (Jeżeli ma true)
SIZE_WINDOW = 200 # Wielkość Okna Menu
SEM_FUNDO = true # Czy okno ma się włączyć z tłem.
OPACITY = 180 # Krycie w Oknie
ITEM_ICON = "032-Item01" # Icona Plecaka/Itemów
SAVE_ICON = "030-Key02" # Icona Save
LOAD_ICON = "031-Key03" # Icona Ładowania
FINAL_ICON = "020-Accessory05" # Icona Wyjścia z gry.
end
#==============================================================================
# Window_Icon_Command
#------------------------------------------------------------------------------
# Esta é a janela que exibe as escolhas (com ícones)
#==============================================================================
class Window_Icon_Command < Window_Command
def initialize(width, commands, icons)
@icons = icons
super(width, commands)
end
#--------------------------------------------------------------------------
# Desenhar Item
#
# index : índice
# color : cor do texto
#--------------------------------------------------------------------------
def draw_item(index, color)
self.contents.font.color = color
bitmap = RPG::Cache.icon(@icons[index])
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(4, 32 * index + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
rect = Rect.new(32, 32 * index, self.contents.width - 8, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index])
end
end
#==============================================================================
# Scene_Menu
#------------------------------------------------------------------------------
# Janela do Menu
#==============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# Inicialização dos Objetos
#
# menu_index : posição inicial do cursor de comando
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# Processamento Principal
#--------------------------------------------------------------------------
def main
# Se o fundo for o mapa
if Cris::SEM_FUNDO
@spriteset = Spriteset_Map.new
end
# Criar janela de comando
s1 = $data_system.words.item
s2 = "Salvar Jogo"
s3 = "Carregar Jogo"
s4 = "Finalizar"
@command_window = Window_Icon_Command.new(Cris::SIZE_WINDOW, [s1, s2, s3, s4], [Cris::ITEM_ICON, Cris::SAVE_ICON, Cris::LOAD_ICON, Cris::FINAL_ICON])
@command_window.index = @menu_index
@command_window.x = (640 - @command_window.width) / 2
@command_window.y = (480 - @command_window.height) / 2
@command_window.opacity = Cris::OPACITY
# Se o número de membros do Grupo de Heróis for 0
if $game_party.actors.size == 0
# Desabilar as janelas de Item
@command_window.disable_item(0)
end
# Se Salvar for Proibido
if $game_system.save_disabled
# Desabilitar Salvar
@command_window.disable_item(1)
end
# Se Carregar o jogo for proibido
if $game_switches[Cris::LOAD_OK] == true
# Desabilitar carregar jogo
@command_window.disable_item(2)
end
# Executar transição
Graphics.transition
# Loop principal
loop do
# Atualizar a tela de jogo
Graphics.update
# Atualizar a entrada de informações
Input.update
# Atualizar Frame
update
# Abortar loop se a tela for alterada
if $scene != self
break
end
end
# Preparar para transiçõa
Graphics.freeze
# Exibição das janelas
@command_window.dispose
@spriteset.dispose unless Cris::SEM_FUNDO == false
end
#--------------------------------------------------------------------------
# Atualização do Frame
#--------------------------------------------------------------------------
def update
# Atualizar janelas
@command_window.update
# Se a janela de comandos estiver ativo: chamar update_command
if @command_window.active
update_command
return
end
end
#--------------------------------------------------------------------------
# Atualização do Frame (Quando a janela de Comandos estiver Ativa)
#--------------------------------------------------------------------------
def update_command
# Se o botão B for pressionado
if Input.trigger?(Input::B)
# Reproduzir SE de cancelamento
$game_system.se_play($data_system.cancel_se)
# Alternar para a tela do mapa
$scene = Scene_Map.new
return
end
# Se o botão C for pressionado
if Input.trigger?(Input::C)
# Se o comando for outro senão Salvar, Carregar, Fim de Jogo e o número de Heróis no
# Grupo for 0
if $game_party.actors.size == 0 and @command_window.index < 1
# Reproduzir SE de erro
$game_system.se_play($data_system.buzzer_se)
return
end
# Ramificação por posição do cursor na janela de comandos
case @command_window.index
when 0 # Itens
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Itens
$scene = Scene_Item.new
when 1 # 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 2 # Carregar
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de load
$scene = Scene_Load.new
when 3 # Finalizar
# 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
end
#==============================================================================
# Scene_Save
#------------------------------------------------------------------------------
# Esta classe processa o Save
#==============================================================================
class Scene_Save
#--------------------------------------------------------------------------
# Processamento de Decisão
#--------------------------------------------------------------------------
alias on_decision_new on_decision
def on_decision(filename)
on_decision_new(filename)
# Mudar para a tela do Menu
$scene = Scene_Menu.new(1)
end
#--------------------------------------------------------------------------
# Processo de Cancelamento
#--------------------------------------------------------------------------
alias on_cancel_new on_cancel
def on_cancel
on_cancel_new
# Mudar para a tela do Menu
$scene = Scene_Menu.new(1)
end
end
#==============================================================================
# Scene_Load
#------------------------------------------------------------------------------
# Esta classe processa a tela de Continuar
#==============================================================================
class Scene_Load
#--------------------------------------------------------------------------
# Cancelando o Processamento
#--------------------------------------------------------------------------
alias on_cancel_new on_cancel
def on_cancel
on_cancel_new
# Reproduzir SE de cancelamento
$game_system.se_play($data_system.cancel_se)
# Mudar para a tela do Menu
$scene = Scene_Menu.new(2)
end
end
#==============================================================================
# Scene_End
#------------------------------------------------------------------------------
# Esta classe processa a tela de Game Over
#==============================================================================
class Scene_End
#--------------------------------------------------------------------------
# Atualização do Frame
#--------------------------------------------------------------------------
alias update_new update
def update
update_new
# Se o botão B for pressionado
if Input.trigger?(Input::B)
# Reproduzir SE de cancelamento
$game_system.se_play($data_system.cancel_se)
# Alternar para a tela de Menu
$scene = Scene_Menu.new(3)
return
end
end
#--------------------------------------------------------------------------
# Processamento na Escolha do Comando Cancelar
#--------------------------------------------------------------------------
alias command_cancel_new command_cancel
def command_cancel
command_cancel_new
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela do Menu
$scene = Scene_Menu.new(3)
end
end
#==============================================================
#Modyfikacja Skryptu
#==============================================================
LOAD_OK = 1 # Przełącznik który wyłącza polecenie Jogo ładowania[Jeżeli mamy tam true]
SIZE_WINDOW = 200 # Menu rozmiar okna
SEM_FUNDO = true #Czy menu ma właczyć się z tłem tak=true,nie=false
OPACITY = 180 # Krycie w oknie
ITEM_ICON = "032-Item01" # Ikona Plecaka
SAVE_ICON = "030-Key02" # Ikona Save
LOAD_ICON = "031-Key03" # Ikona Wczytywania
FINAL_ICON = "020-Accessory05" # Ikona Wyłaczenia
Nie ponoszę odpowiedzialności za skrypt używasz go na własną odpowiedzialność.
________________________
Siema
Gość, Jeżeli ci Pomogłem, możesz mi dać .
_______________________________________________________________
Niestety, padł mi komp z Projektami, więc przez pewien czas niestety nici z Projektów :C
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum