Sujet: Correction de script[RESOLU] Lun 12 Mar 2012 - 19:32
Bonjour ! J'utilise le script de sauvegarde ameillorée Heroes of Mana. Mais il y a un bug qui se produit. Dans le contexte : Je sauvegarde une partie, puis la recharge. Cet écran apparaît pour me proposer de la séléctionner.
Ensuite, j'engage un combat et lors de la transition, l'écran apparaît de nouveau.
C'est un peu gênant. Est-ce que quelqu'un pourrait essayer de voir ce qui ne va pas ? Parce que je n'y comprend pas grand chose en RGSS2. D'avance, merci.
PS : Le script :
Code:
#==============================================================================# # ::. Save Heroes of Mana # # by: Master I # #==============================================================================#
# $capitulos = 1 # A UTILISER POUR DESIGNER LE CHAP EN COURT ! 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 = ["AR CENA", 17] Save_Name = "Save" Save_Transition = ["Save",180] Save_Texto = ["Pas de données","Lieu: ","%"] Save_Show = [true,true,false,true]
#==============================================================================# # 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] = ["", "Cap2"] Capitulo[1] = ["", "Cap4"] Capitulo[2] = ["", "Cap3"] Capitulo[3] = ["", "Cap5"] Capitulo[4] = ["", "Cap6"] Capitulo[5] = ["", "Cap7"] end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Fim das Configurações #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Pernalonga_Save_Heroes_of_Mana = true class Window_SaveFile < Window_Base include Pernalonga
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
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 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!!! #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dernière édition par Hamburger le Mer 14 Mar 2012 - 12:07, édité 1 fois
vincentmhd
Maire Lv.9
Age : 37 Inscrit le : 04/02/2009 Messages : 326
Sujet: Re: Correction de script[RESOLU] Lun 12 Mar 2012 - 21:10
Généralement, si c'est une persistance d'image c'est que la sprite de l'image concernée n'est pas libérée à la fin de la scene... (il manque un ".dispose") J'avoue que je n'ai pas envie de me pencher dans un code inconnu...
ça correspond à une image précise?
RitoJS
Age : 30 Inscrit le : 22/12/2011 Messages : 1600
Sujet: Re: Correction de script[RESOLU] Lun 12 Mar 2012 - 21:19
Ah oui cette erreur. Ben je ne pourrais pas t'aider car je n'y connait rien en script par contre si un scripteur pouvait régler cela ce serait pas mal oui.
Dernière édition par RitoJS le Mar 13 Mar 2012 - 0:06, édité 1 fois
Invité
Invité
Sujet: Re: Correction de script[RESOLU] Lun 12 Mar 2012 - 21:24
Bon, j'ai fouillé, et je crois que ça devrait marcher maintenant. Mais j'ai pas non plus regardé en détail, en plus c'est pas en anglais ni en français, donc bon, je garantis rien.
Enfin voilà, essaye ça.
Bonne continuation !
Code:
#==============================================================================# # ::. Save Heroes of Mana # # by: Master I # #==============================================================================#
# $capitulos = 1 # A UTILISER POUR DESIGNER LE CHAP EN COURT ! 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 = ["AR CENA", 17] Save_Name = "Save" Save_Transition = ["Save",180] Save_Texto = ["Pas de données","Lieu: ","%"] Save_Show = [true,true,false,true]
#==============================================================================# # 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] = ["", "Cap2"] Capitulo[1] = ["", "Cap4"] Capitulo[2] = ["", "Cap3"] Capitulo[3] = ["", "Cap5"] Capitulo[4] = ["", "Cap6"] Capitulo[5] = ["", "Cap7"] end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Fim das Configurações #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Pernalonga_Save_Heroes_of_Mana = true class Window_SaveFile < Window_Base include Pernalonga
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
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 for j in 0...$capitulos_imagens.size @desenhos[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 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!!! #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LightNox
Voyageur Lv.10
Age : 34 Inscrit le : 12/02/2009 Messages : 469
Sujet: Re: Correction de script[RESOLU] Lun 12 Mar 2012 - 23:25
A mon avis l'erreur ne viens pas du script de sauvegarde et chargement ^^
As tu un script spécial pour les transitions de combat ? Si oui, enlève le et dit moi si sa marche ^^ car peut être qu'il y a un conflit entre scripts car si on voit bien dans le script " Save heroes of mana "
Code:
def terminate super pernalonga_scene_file_terminate @fundo.dispose for i in 0...@sprites.size @bitmap[i].dispose @sprites[i].dispose end for j in 0...$capitulos_imagens.size @desenhos[i].dispose end @logo.dispose end
dans ce morceau de code a se qu'il me semble il dispose du fond, du bitmap, du sprite et du logo donc a mon avis sa ne viens pas du dispose x)
Bon après je ne suis pas expert en script xD mais je pense que sa pourrais être un conflit entre 2 script ^^. (si je me trompe qu'un scripteur me le dise S\'il vous plait xD)
Invité
Invité
Sujet: Re: Correction de script[RESOLU] Lun 12 Mar 2012 - 23:37
Code:
for j in 0...$capitulos_imagens.size @desenhos[i].dispose end
Sauf que justement, ça c'est moi qui l'ai ajouté, et ça y était pas avant. Donc si le problème vient du dispose, ça peut être ça.
LightNox
Voyageur Lv.10
Age : 34 Inscrit le : 12/02/2009 Messages : 469
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 6:20
ah d'accord xD désolé Ray j'ai rien dit x)
mais a ne pas exclure la possibilité que se soit une incompatibilité entre 2 scripts ^^
Hamburger
Voyageur Lv.10
Age : 27 Inscrit le : 01/08/2011 Messages : 446
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 17:27
LightNox -> Non, ce n'est pas un problème de compatibilité entre mon script de transition et le script de sauvegarde. Car je l'avais aussi lorsque je n'utilisais pas le script de transitions.
Raymo -> Merci de ton aide, mais je ne sais pas si c'est moi qui ai mal placé ton ajout, mais quand je charge ma partie, ça m'affiche ceci :
Invité
Invité
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 17:41
Essaye ça. Si ça marche pas, c'est que je me suis trompé sur l'endroit du problème
Code:
#==============================================================================# # ::. Save Heroes of Mana # # by: Master I # #==============================================================================#
# $capitulos = 1 # A UTILISER POUR DESIGNER LE CHAP EN COURT ! 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 = ["AR CENA", 17] Save_Name = "Save" Save_Transition = ["Save",180] Save_Texto = ["Pas de données","Lieu: ","%"] Save_Show = [true,true,false,true]
#==============================================================================# # 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] = ["", "Cap2"] Capitulo[1] = ["", "Cap4"] Capitulo[2] = ["", "Cap3"] Capitulo[3] = ["", "Cap5"] Capitulo[4] = ["", "Cap6"] Capitulo[5] = ["", "Cap7"] end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Fim das Configurações #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Pernalonga_Save_Heroes_of_Mana = true class Window_SaveFile < Window_Base include Pernalonga
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
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 for j in 0...$capitulos_imagens.size if @desenhos[i] != nil @desenhos[i].dispose end 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 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!!! #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hamburger
Voyageur Lv.10
Age : 27 Inscrit le : 01/08/2011 Messages : 446
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 18:28
Désolé, mais ça ne marche pas. Le bug qui stoppait le jeu est corrigé, mais le fond durant les transistions est toujours là
Invité
Invité
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 18:36
Ok. tu peux me passer les images et autres que tu utilises pour le script, que je teste moi-même, s'il te plaît.
Hamburger
Voyageur Lv.10
Age : 27 Inscrit le : 01/08/2011 Messages : 446
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 19:34
Voilà :
Spoiler:
Ils vont tous dans le dossier Pictures, sauf le fond, qui va dans parallaxe Il te faut aussi une bgm que tu renommera "save"
Merci de ton aide
LightNox
Voyageur Lv.10
Age : 34 Inscrit le : 12/02/2009 Messages : 469
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 22:43
J'ai réglé le problème télécharge cette démo et c'est bon
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 22:53
J'ai testé, le problème est toujours là. En fait le problème vient de perform_transition. Je vais voir si je peux faire quelque chose.
LightNox
Voyageur Lv.10
Age : 34 Inscrit le : 12/02/2009 Messages : 469
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 22:55
hummm... mort de rire chez moi sa marche très bien je ne vois pas ce qu'il cloche ^^
Dernière édition par LightNox le Mar 13 Mar 2012 - 23:03, édité 2 fois
Invité
Invité
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 22:58
Je t'explique : en fait sur ton projet, si sur ta map tu mets des combats aléatoires, et que tu marches un peu sur ta map, au premier combat tu vas voir que pendant la transition, la fenêtre graphique utilisée par script va s'afficher. Voilà, le problème c'est ça.
LightNox
Voyageur Lv.10
Age : 34 Inscrit le : 12/02/2009 Messages : 469
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 23:03
ouai je viens de re-tester a nouveau et que se soit de la transition de debut/fin de combat ou même quand on save depuis le menu ou que l'on charge depuis l'écran titre chez moi il n'y a aucun bug ^^.
j'ai même tester un charas qui déclenche un combat et même une zone de monstre et sa bug pas au niveau des transitions c'est bizarre ^^
Dernière édition par LightNox le Mar 13 Mar 2012 - 23:05, édité 1 fois
Invité
Invité
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 23:04
Nan, j'ai vérifié, ça y est pas quand tu fais "nouvelle partie", mais le problème apparaît dès que tu le fais que une partie chargée. Moi j'ai le bug, l'écran apparaît. Au pire, dis-moi ce que tu as modifié dans le projet.
LightNox
Voyageur Lv.10
Age : 34 Inscrit le : 12/02/2009 Messages : 469
Sujet: Re: Correction de script[RESOLU] Mar 13 Mar 2012 - 23:07
ce que j'ai fait c'est que j'ai traduit en version française le nom des images dans le script (c'était du portugais xD) ensuite j'ai pris les images fournis par Hamburger et je les ai renommer et importer dans le projet ensuite j'ai tester et sa marche super bien ^^ et j'ai changer aussi le nom de la musique du menu de sauvegarde
Invité
Invité
Sujet: Re: Correction de script[RESOLU] Mer 14 Mar 2012 - 1:02
Code:
#==============================================================================# # ::. Save Heroes of Mana # # by: Master I # #==============================================================================#
# $capitulos = 1 # A UTILISER POUR DESIGNER LE CHAP EN COURT ! 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 = ["AR CENA", 17] Save_Name = "Save" Save_Transition = ["Save",180] Save_Texto = ["Pas de données","Lieu: ","%"] Save_Show = [true,true,false,true]
#==============================================================================# # 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] = ["", "Cap2"] Capitulo[1] = ["", "Cap4"] Capitulo[2] = ["", "Cap3"] Capitulo[3] = ["", "Cap5"] Capitulo[4] = ["", "Cap6"] Capitulo[5] = ["", "Cap7"] end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Fim das Configurações #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Pernalonga_Save_Heroes_of_Mana = true class Window_SaveFile < Window_Base include Pernalonga
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
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 for i in 0...$capitulos_imagens.size @desenhos[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 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!!! #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
J'ai regardé, maintenant ça marche. C'était vraiment un problème bébête qui faisait que ma modif marchait pas, j'avais mis un i à la place d'un j...
Voilà, bonne continuation
Hamburger
Voyageur Lv.10
Age : 27 Inscrit le : 01/08/2011 Messages : 446
Sujet: Re: Correction de script[RESOLU] Mer 14 Mar 2012 - 12:06