Aventurier Lv.16
Age : 28 Inscrit le : 03/08/2009 Messages : 1399
| Sujet: Modification (minime) - Script de sauvegarde [Résolu] Sam 12 Nov 2011 - 16:43 | |
| Salut à tous et à toutes Voilà récemment j'ai découvert un script de sauvegarde jolie et qui me convient mais surtout qui est compatible avec l'abs de vlad v9 ( quelle saloperie ce script x'P ceci est une blague pour tous ceux qui vont me dire de ne pas l'utiliser) Bref le soucis vient maintenant de mon menu (ah ba il en faut toujours un) même s'il me semble assez facile à régler (si on a un minimum de compétence en script). En fait il est tout à fait fonctionnel sauf qu'une fois que j'ai sauvegardé il m'affiche un message d'erreur (mais la sauvegarde marche et il suffit de relancer le jeu et de la charger, m'enfin c'est quand même un soucis). Ah mon avis c'est que le script cherche à retourner vers le menu de base et non le mien qui bloque. Je demande donc juste une modification pour qu'une fois la sauvegarde faite il nous amène, non pas au menu, mais directement sur la map (retour à la map en fait). Ça ne me semble pas compliqué mais n'y connaissant rien ce n'est peut-être pas le cas Voilà le script en question : - Spoiler:
- Code:
-
#==============================================================================# # ::. Save Heroes of Mana # # by: Master I # #==============================================================================#
module Pernalonga Capitulo = []
#==============================================================================# # Settings of Script # # ID of Variable, Music, Font, Name of File, Transition, Time,Texts # #Save_Show(true = Show False = Don't Show),Music,Transition, Percentage,Place # #------------------------------------------------------------------------------# Save_Variavel = 1 Save_Musica = "Save" Save_Fonte = ["PyxidCondensed", 20] Save_Name = "Pernalonga" Save_Transition = ["Save", 30] Save_Texto = ["Pas de données"," ","%"] Save_Show = [true,true,true,true]
#==============================================================================# # Settings pictures # #Name of Pictures,Logo[Load,Save,POS_X,POS_Y],Botons[Load,Save],Back[PanX,PanY]# #------------------------------------------------------------------------------# Save_Data = "Save_File" Save_Logo = ["Logo_Load","Salvar_Logo",200,240]#(190,320) Save_Botão = ["Load_Botão","Save_Botão"] Save_Fundo = ["Fundo_Save", 0, 0]
#==============================================================================# # Settings Chapters # # Capitulo[ID] ["Chapter name", "name of the picture"] # # For call de chapter, call the script $capitulos = ID. # #------------------------------------------------------------------------------# Capitulo[0] = ["Chapitre 1", "Cap.1"] Capitulo[1] = ["Chapitre 2", "Cap.2"] end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # End of Config. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Pernalonga_Save_Heroes_of_Mana = true 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 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Fim do Script!!! #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Et mon message d'erreur (si j'ai mal déduit, sait on jamais) : - Spoiler:
Merci d'avance à tous !! (double point d'exclamation pour encore plus de remerciements /o)
Dernière édition par thérapie le Sam 12 Nov 2011 - 23:57, édité 1 fois |
|
Illusionniste Lv.12
Age : 34 Inscrit le : 14/02/2010 Messages : 796
| Sujet: Re: Modification (minime) - Script de sauvegarde [Résolu] Sam 12 Nov 2011 - 21:27 | |
| Pour ce que tu cherches à faire, ajoute ceci au script : - Code:
-
class Scene_File < Scene_Base
def return_scene if @from_title $scene = Scene_Title.new else $scene = Scene_Map.new end end
end Pas convaincu que ça règle le problème cela dit. (en même temps j'ai pas envie de regarder ce machin hispanisant :O) |
|
Aventurier Lv.16
Age : 28 Inscrit le : 03/08/2009 Messages : 1399
| Sujet: Re: Modification (minime) - Script de sauvegarde [Résolu] Sam 12 Nov 2011 - 23:57 | |
| Ba écoutes moi je te le dis "Ça marche" ! Merci beaucoup ! Voilà qui est résolu |
|
| Sujet: Re: Modification (minime) - Script de sauvegarde [Résolu] | |
| |
|