Invité Invité
| Sujet: [VX]Système de sauvegarde à la Secret of mana Lun 15 Aoû 2011 - 21:22 | |
| Description Permet de changer la sauvegarde de base pour une sauvegarde plus jolie avec la possibilité de mettre des informations, bref de faire une description en gros. Auteur : Master I Installation: Copier et coller ce script au dessus de main. Demo: http://www.4shared.com/file/98947213/b194ac1d/Save_Heros_of_Mana.html Screenshot: Script: - Code:
-
#==============================================================================# # ::. Save Heroes of Mana # # by: Master I # #==============================================================================#
module Pernalonga Capitulo = []
#==============================================================================# # Configurações gerais do Script # # ID da Variavel, Música, Fontes, Nome do Arquivo, Transição, Tempo,Textos # #Save_Show(true = Mostrar False = Ñ Mostrar),Música,Transição,Porecentagem,Local #------------------------------------------------------------------------------# Save_Variavel = 1 Save_Musica = "Save" Save_Fonte = ["HabanoST", 16] Save_Name = "Pernalonga" Save_Transition = ["Save",180] Save_Texto = ["No Data","Local: ","%"] Save_Show = [true,true,true,true]
#==============================================================================# # Configurações das pictures # #Nome da IMG,Logo[Load,Salvar,POS_X,POS_Y],Botões[Load,Salvar],Fundo[PanX,PanY]# #------------------------------------------------------------------------------# Save_Data = "Save_File" Save_Logo = ["Logo_Load","Salvar_Logo",200,260]#(190,320) Save_Botão = ["Load_Botão","Save_Botão"] Save_Fundo = ["Fundo_Save", 0, 0]
#==============================================================================# # Configurações dos capitulos # # Pode ter quantos capitulos quiser só seguir o esquema. # # Capitulo[ID] ["Nome do Capitulo", "Imagem a ser apresentada" # # Para chamar o capitulo é só chamar o script $Capitulos = ID. # #------------------------------------------------------------------------------# Capitulo[0] = ["Capitulo 1: Night Raid", "Cap.1"] Capitulo[1] = ["Capitulo 2: O Chamado dos escolhidos.", "Cap.2"] end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Fim das Configurações #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Window_SaveFile < Window_Base include Pernalonga def initialize(file_index, filename) super(0, 230 + file_index % 4 * 55, 544, 90) @file_index = file_index @filename = filename load_gamedata @textos = [] carregar_dados refresh @selected = false self.opacity = 0 end
def carregar_dados @variavel = [] @nome_mapa = [] @capitulos = [] @dinheiro = [] @imagens = [] $capitulos_imagens =[]
if File.exist?("#{Pernalonga::Save_Name}_1.rvdata") arquivo = File.open("#{Pernalonga::Save_Name}_1.rvdata","rb") @variavel[0] = Marshal.load(arquivo) @nome_mapa[0] = Marshal.load(arquivo) @capitulos[0] = Marshal.load(arquivo) $capitulos_imagens[0] = Marshal.load(arquivo) arquivo.close end
if File.exist?("#{Pernalonga::Save_Name}_2.rvdata") file2 = File.open("#{Pernalonga::Save_Name}_2.rvdata","rb") @variavel[1] = Marshal.load(file2) @nome_mapa[1] = Marshal.load(file2) @capitulos[1] = Marshal.load(file2) $capitulos_imagens[1] = Marshal.load(file2) file2.close end
if File.exist?("#{Pernalonga::Save_Name}_3.rvdata") file3 = File.open("#{Pernalonga::Save_Name}_3.rvdata","rb") @variavel[2] = Marshal.load(file3) @nome_mapa[2] = Marshal.load(file3) @capitulos[2] = Marshal.load(file3) $capitulos_imagens[2] = Marshal.load(file3) file3.close end
if File.exist?("#{Pernalonga::Save_Name}_4.rvdata") file4 = File.open("#{Pernalonga::Save_Name}_4.rvdata","rb") @variavel[3] = Marshal.load(file4) @nome_mapa[3] = Marshal.load(file4) @capitulos[3] = Marshal.load(file4) $capitulos_imagens[3] = Marshal.load(file4) file4.close end end def refresh self.contents.clear self.contents.font.name = Save_Fonte[0] self.contents.font.size = Save_Fonte[1] self.contents.font.color = normal_color if @file_exist draw_playtime(- 80, 5, contents.width - 4, 2) self.contents.draw_text(350, 24, 450, WLH, @variavel[@file_index].to_s + Save_Texto[2]) if Save_Show[2] self.contents.draw_text(200, 4, 250, WLH, @capitulos[@file_index].to_s) self.contents.draw_text(200, 24, 250, WLH, Save_Texto[1] + @nome_mapa[@file_index].to_s) if Save_Show[3] else self.contents.draw_text(300, 20, 450, WLH, Save_Texto[0]) end end def update_cursor if @selected self.cursor_rect.set(0, 0, 0, 0) else self.cursor_rect.empty end end end
#=============================================================================== class Scene_File < Scene_Base include Pernalonga def initialize(saving, from_title, from_event) @saving = saving @from_title = from_title @from_event = from_event end def perform_transition if Save_Show[1] Graphics.transition(Save_Transition[1], "Graphics/Transitions/" + Save_Transition[0]) else Graphics.transition(10) end end
alias pernalonga_scene_file_start start def start super pernalonga_scene_file_start @help_window.visible = false $Capitulos == nil ? $Capitulos = 0 : nil Audio.bgm_play("Audio/BGM/" + Save_Musica) if Save_Show[0] @fundo = Plane.new @fundo.bitmap = Cache.parallax(Save_Fundo[0]) @sprites = [] desenhar_save_load(190,320) desenhar_data(0,300) desenhar_pictures end def pre_terminate unless @from_title RPG::BGM.fade(1500) Graphics.fadeout(60) Graphics.wait(40) @last_bgm.play @last_bgs.play end end
alias pernalonga_scene_file_terminate terminate def terminate super pernalonga_scene_file_terminate @fundo.dispose for i in 0...@sprites.size @bitmap[i].dispose @sprites[i].dispose end @logo.dispose end
def desenhar_data(x,y) @bitmap = [] for i in 0...4 @bitmap[i] = Sprite.new @bitmap[i].bitmap = Cache.picture(Save_Data) end @bitmap[0].x = x @bitmap[0].y = y @bitmap[1].x = x @bitmap[1].y = y + 50 @bitmap[2].x = x + 280 @bitmap[2].y = y @bitmap[3].x = x + 280 @bitmap[3].y = y + 50 end
def desenhar_save_load(x,y) @logo = Sprite.new for i in 0...4 @sprites[i] = Sprite.new @from_title == true ? @sprites[i].bitmap = Cache.picture(Save_Botão[0]) : @sprites[i].bitmap = Cache.picture(Save_Botão[1]) @sprites[i].visible = false end @from_title == true ? @logo.bitmap = Cache.picture(Save_Logo[0]) : @logo.bitmap = Cache.picture(Save_Logo[1]) @logo.x = Save_Logo[2] @logo.y = Save_Logo[3] @sprites[0].visible = true if File.exist?(@savefile_windows[0].filename) @sprites[1].visible = true if File.exist?(@savefile_windows[1].filename) @sprites[2].visible = true if File.exist?(@savefile_windows[2].filename) @sprites[3].visible = true if File.exist?(@savefile_windows[3].filename) @sprites[0].x = x @sprites[0].y = y @sprites[1].x = x @sprites[1].y = y + 50 @sprites[2].x = x + 280 @sprites[2].y = y @sprites[3].x = x + 280 @sprites[3].y = y + 50 end def desenhar_pictures @desenhos = [] for i in 0...$capitulos_imagens.size @desenhos[i] = Sprite.new @desenhos[i].bitmap = Cache.picture($capitulos_imagens[i].to_s) @desenhos[i].visible = false end end def update super @fundo.ox += Save_Fundo[1] @fundo.oy += Save_Fundo[2] @desenhos[@index] == nil ? nil : @desenhos[@index].visible = true case @index when 0 @bitmap[0].opacity = 255 @bitmap[1].opacity = 150 @bitmap[2].opacity = 150 @bitmap[3].opacity = 150 @desenhos[1]== nil ? nil : @desenhos[1].visible = false @desenhos[2]== nil ? nil : @desenhos[2].visible = false @desenhos[3]== nil ? nil : @desenhos[3].visible = false @desenhos[4]== nil ? nil : @desenhos[4].visible = false when 1 @bitmap[1].opacity = 255 @bitmap[0].opacity = 150 @bitmap[2].opacity = 150 @bitmap[3].opacity = 150 @desenhos[0]== nil ? nil : @desenhos[0].visible = false @desenhos[2]== nil ? nil : @desenhos[2].visible = false @desenhos[3]== nil ? nil : @desenhos[3].visible = false @desenhos[4]== nil ? nil : @desenhos[4].visible = false when 2 @bitmap[2].opacity = 255 @bitmap[1].opacity = 150 @bitmap[0].opacity = 150 @bitmap[3].opacity = 150 @desenhos[0]== nil ? nil : @desenhos[0].visible = false @desenhos[3]== nil ? nil : @desenhos[3].visible = false @desenhos[1]== nil ? nil : @desenhos[1].visible = false @desenhos[4]== nil ? nil : @desenhos[4].visible = false when 3 @bitmap[3].opacity = 255 @bitmap[1].opacity = 150 @bitmap[2].opacity = 150 @bitmap[0].opacity = 150 @desenhos[0]== nil ? nil : @desenhos[0].visible = false @desenhos[2]== nil ? nil : @desenhos[2].visible = false @desenhos[1]== nil ? nil : @desenhos[1].visible = false @desenhos[4]== nil ? nil : @desenhos[4].visible = false end update_menu_background update_savefile_windows save_seleção end
def save_seleção if Input.trigger?(Input::C) determine_savefile elsif Input.trigger?(Input::B) Sound.play_cancel return_scene elsif Input.trigger?(Input::DOWN) or Input.trigger?(Input::UP) Sound.play_cursor cursor_baixo_cima elsif Input.trigger?(Input::RIGHT) or Input.trigger?(Input::LEFT) Sound.play_cursor cursor_direita_esquerda end end
def cursor_baixo_cima if @index == 0 or @index == 1 @index == 1 ? @index = 0 : @index = 1 elsif @index == 2 or @index == 3 @index == 3 ? @index = 2 : @index = 3 end end def cursor_direita_esquerda if @index == 0 or @index == 2 @index == 2 ? @index = 0 : @index = 2 elsif @index == 3 or @index = 1 @index == 1 ? @index = 3 : @index = 1 end end def create_savefile_windows @savefile_windows = [] for i in 0..3 @savefile_windows.push(Window_SaveFile.new(i, make_filename(i))) end @savefile_windows[0].x = - 200 @savefile_windows[0].y = 280 @savefile_windows[1].x = - 200 @savefile_windows[1].y = 330 @savefile_windows[2].x = 80 @savefile_windows[2].y = 280 @savefile_windows[3].x = 80 @savefile_windows[3].y = 330 end alias pernalonga_scene_file_do_save do_save def do_save pernalonga_scene_file_do_save salvar_arquivo end
def salvar_arquivo variavel = [] nome_mapa = [] capitulo = [] imagens = [] for i in 0..3 variavel[i] = $game_variables[Save_Variavel] nome_mapa[i] = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name capitulo[i] = Capitulo[$Capitulos][0] imagens[i] = Capitulo[$Capitulos][1] variavel[i].to_i nome_mapa[i].to_i capitulo[i].to_i imagens[i].to_i end case @index when 0 file = File.open("#{Save_Name}_1.rvdata", "wb") Marshal.dump(variavel[0], file) Marshal.dump(nome_mapa[0], file) Marshal.dump(capitulo[0], file) Marshal.dump(imagens[0], file) file.close when 1 file = File.open("#{Save_Name}_2.rvdata", "wb") Marshal.dump(variavel[1], file) Marshal.dump(nome_mapa[1], file) Marshal.dump(capitulo[1], file) Marshal.dump(imagens[1], file) file.close when 2 file = File.open("#{Save_Name}_3.rvdata", "wb") Marshal.dump(variavel[2], file) Marshal.dump(nome_mapa[2], file) Marshal.dump(capitulo[2], file) Marshal.dump(imagens[2], file) file.close when 3 file = File.open("#{Save_Name}_4.rvdata", "wb") Marshal.dump(variavel[3], file) Marshal.dump(nome_mapa[3], file) Marshal.dump(capitulo[3], file) Marshal.dump(imagens[3], file) file.close end end end
Dernière édition par Garruk le Mar 16 Aoû 2011 - 17:15, édité 1 fois |
|
Dhamma Metta Chevalier Dragon (niveau 5)
Messages postés : 1897 Date d'inscription : 22/06/2011 Jauge LPC :
| Sujet: Re: [VX]Système de sauvegarde à la Secret of mana Lun 15 Aoû 2011 - 21:26 | |
| Oo..whoaaa j'adore! Même si je ne l'utiliserai pas, merci pour le partage. =) |
|
Invité Invité
| Sujet: Re: [VX]Système de sauvegarde à la Secret of mana Mar 16 Aoû 2011 - 10:30 | |
| Moi, personnellement si je n'aurais pas pris celui de Woratana, j'aurai mis celui-là sans hésité. Maintenant si je le change, les saves ne seront plus valides, alors voilà. Mais bon avoir un aperçut de la progression du joueur + un petit briefing pour lui rappeler où il en est, je trouve ça vraiment classe. |
|
Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: Re: [VX]Système de sauvegarde à la Secret of mana Mar 16 Aoû 2011 - 11:55 | |
| Ca a l'air cool, j'essaye ça sur Kikoo Adventure 2! |
|
Brandobscure001 Paladin (niveau 1)
Messages postés : 544 Date d'inscription : 02/08/2011 Jauge LPC :
| Sujet: Re: [VX]Système de sauvegarde à la Secret of mana Mar 16 Aoû 2011 - 13:36 | |
| Il n'y a pas de ressource a mettre ? |
|
Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: Re: [VX]Système de sauvegarde à la Secret of mana Mar 16 Aoû 2011 - 14:03 | |
| Un fichier BGM que tu dois appeler "Save". |
|
Brandobscure001 Paladin (niveau 1)
Messages postés : 544 Date d'inscription : 02/08/2011 Jauge LPC :
| Sujet: Re: [VX]Système de sauvegarde à la Secret of mana Mar 16 Aoû 2011 - 16:19 | |
| Et pas d'image ?
Car quand je veux sauvegardé sa me dit qu'im manque des fichier ^^ |
|
Invité Invité
| Sujet: Re: [VX]Système de sauvegarde à la Secret of mana Mar 16 Aoû 2011 - 17:15 | |
| C'est normal xD. Le truc c'est que sur le site il mette juste le script et pas les images et je viens de m'apercevoir qu'il y avait une démo :/
Lien de la démo + edit de la présentation: http://www.4shared.com/file/98947213/b194ac1d/Save_Heros_of_Mana.html |
|
Brandobscure001 Paladin (niveau 1)
Messages postés : 544 Date d'inscription : 02/08/2011 Jauge LPC :
| Sujet: Re: [VX]Système de sauvegarde à la Secret of mana Mar 16 Aoû 2011 - 17:55 | |
| |
|
Contenu sponsorisé
| Sujet: Re: [VX]Système de sauvegarde à la Secret of mana | |
| |
|