| (Script) Nouveau Menu de Sauvegarde | |
|
|
Auteur | Message |
---|
terragloutonAtome
Messages : 23 Date d'inscription : 19/12/2006
| Sujet: (Script) Nouveau Menu de Sauvegarde Mar 19 Déc 2006 - 12:52 | |
| Nom : Sauvegarde Avancée Auteur : Squall Description : Ce script permet de changer votre menu de sauvegarde non-original et vraiment laid pour un pur bonheur pour les yeux! Screen Shot: Voici le code, creer un script au dessu de Main et appeller le NewSave
Dernière édition par le Mar 19 Déc 2006 - 12:55, édité 1 fois |
|
| |
terragloutonAtome
Messages : 23 Date d'inscription : 19/12/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mar 19 Déc 2006 - 12:53 | |
| - Code:
-
#===================================================================== ========= # ■ ASM - advanced save menu #--------------------------------------------------------------------- --------- # by squall // squall (at) loeher.zzn.comzzn. # monday the 28th of november 2005 # # Allows to have up to 99 files. # Files are stored inside of the folder 'Saves' inside of the game's folder. # Don't forget to create that folder if it doesn't already exist. #===================================================================== =========
#===================================================================== ========= # ■ Window_File #--------------------------------------------------------------------- --------- # This window shows a list of recorded save files. #===================================================================== =========
class Window_File < Window_Selectable #--------------------------------------------------------------------- ----- # ● initialize #--------------------------------------------------------------------- ----- def initialize() super(0, 64, 320, 416) self.contents = Bitmap.new(width - 32, 99 * 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize index = $game_temp.last_file_index == nil ? 0 : $game_temp.last_file_index self.index = index @item_max = 99 refresh end #--------------------------------------------------------------------- ----- # ● refresh the window #--------------------------------------------------------------------- ----- def refresh time_stamp = Time.at(0) for i in 0...99 filename = "Saves/Save#{i + 1}.rxdata" self.contents.draw_text(1, i * 32, 32, 32, (i + 1).to_s, 1) if FileTest.exist?(filename) size = File.size(filename) if size.between?(1000, 999999) size /= 1000 size_str = "#{size} Ko" elsif size > 999999 size /= 1000000 size_str = "#{size} Mo" else size_str = size.to_s end time_stamp = File.open(filename, "r").mtime date = time_stamp.strftime("%d/%m/%Y") time = time_stamp.strftime("%H:%M") self.contents.draw_text(38, i * 32, 120, 32, date) self.contents.draw_text(160, i * 32, 100, 32, time) self.contents.draw_text(0, i * 32, 284, 32, size_str, 2) end end end end
#===================================================================== ========= # ■ Window_FileStatus #--------------------------------------------------------------------- --------- # This window shows the status of the currently selected save file #===================================================================== =========
class Window_FileStatus < Window_Base #--------------------------------------------------------------------- ----- # ● initialize #--------------------------------------------------------------------- ----- def initialize(save_window) super(320, 64, 320, 416) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize @save_window = save_window @index = @save_window.index rect = Rect.new(x + 16, y + (height - 32) / 2 + 16, width - 32, (height - 32) / 2) @viewport = Viewport.new(rect) @viewport.z = z + 10 refresh end #--------------------------------------------------------------------- ----- # ● dispose the map and the window #--------------------------------------------------------------------- ----- def dispose tilemap_dispose @viewport.dispose super end #--------------------------------------------------------------------- ----- # ● refresh the window #--------------------------------------------------------------------- ----- def refresh self.contents.clear tilemap_dispose filename = "Saves/Save#{@index + 1}.rxdata" return unless FileTest.exist?(filename) file = File.open(filename, "r") Marshal.load(file) frame_count = Marshal.load(file) for i in 0...6 Marshal.load(file) end party = Marshal.load(file) Marshal.load(file) map = Marshal.load(file) for i in 0...party.actors.size actor = party.actors[i] x = i % 2 * 144 + 4 y = i / 2 * 64 draw_actor_name(actor, x + 40, y) draw_actor_level(actor, x + 40, y + 32) draw_actor_graphic(actor, x + 10, y + 50) end total_sec = frame_count / Graphics.frame_rate hour = total_sec / 60 / 60 min = total_sec / 60 % 60 sec = total_sec % 60 text = sprintf("%02d:%02d:%02d", hour, min, sec) map_name = load_data("Data/MapInfos.rxdata")[map.map_id].name self.contents.font.color = system_color # self.contents.draw_text(4, 128, 120, 32, "Temps ") # self.contents.draw_text(4, 160, 120, 32, "Localisation ") self.contents.draw_text(128, 128, 16, 32, ":") self.contents.draw_text(128, 160, 16, 32, ":") self.contents.font.color = normal_color self.contents.draw_text(144, 128, 120, 32, text) self.contents.draw_text(144, 160, 120, 32, map_name)
@tilemap = Tilemap.new(@viewport) @tilemap.tileset = RPG::Cache.tileset(map.tileset_name) for i in 0..6 autotile_name = map.autotile_names[i] @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name) end @tilemap.map_data = map.data @tilemap.ox = map.display_x / 4 + 176 @tilemap.oy = map.display_y / 4 + 148 end #--------------------------------------------------------------------- ----- # ● tilemap_dispose #--------------------------------------------------------------------- ----- def tilemap_dispose unless @tilemap == nil @tilemap.tileset.dispose for i in 0..6 @tilemap.autotiles[i].dispose end @tilemap.dispose @tilemap = nil end end #--------------------------------------------------------------------- ----- # ● update #--------------------------------------------------------------------- ----- def update @tilemap.update if @tilemap != nil if @index != @save_window.index @index = @save_window.index refresh end super end end
#===================================================================== ========= # ■ Scene_File #--------------------------------------------------------------------- --------- # Base scene for load and save menus. #===================================================================== =========
class Scene_File #--------------------------------------------------------------------- ----- # ● initialize the scene #--------------------------------------------------------------------- ----- def initialize(help_text) @help_text = help_text end #--------------------------------------------------------------------- ----- # ● main #--------------------------------------------------------------------- ----- def main @help_window = Window_Help.new @help_window.set_text(@help_text) @file_window = Window_File.new @status_window = Window_FileStatus.new(@file_window) Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @help_window.dispose @file_window.dispose @status_window.dispose end #--------------------------------------------------------------------- ----- # ● update #--------------------------------------------------------------------- ----- def update @help_window.update @file_window.update @status_window.update if Input.trigger?(Input::C) decision $game_temp.last_file_index = @file_index return end if Input.trigger?(Input::B) cancel return end end #--------------------------------------------------------------------- ----- # ● return the selected file's name #--------------------------------------------------------------------- ----- def filename return "Saves/Save#{@file_window.index + 1}.rxdata" end end
#===================================================================== ========= # ■ Scene_Save #--------------------------------------------------------------------- --------- # Save menu #===================================================================== =========
Dernière édition par le Mar 19 Déc 2006 - 12:57, édité 1 fois |
|
| |
terragloutonAtome
Messages : 23 Date d'inscription : 19/12/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mar 19 Déc 2006 - 12:55 | |
| PS : ce script est un seul script avec l'autre du dessu - Code:
-
class Scene_Save < Scene_File #--------------------------------------------------------------------- ----- # ● initialize the save menu #--------------------------------------------------------------------- ----- def initialize super("Séléctionnez un emplacement pour sauver votre progression.") end #--------------------------------------------------------------------- ----- # ● decision key pressed #--------------------------------------------------------------------- ----- def decision $game_system.se_play($data_system.save_se) file = File.open(filename, "wb") write_save_data(file) file.close if $game_temp.save_calling $game_temp.save_calling = false $scene = Scene_Map.new return end $scene = Scene_Menu.new(4) end #--------------------------------------------------------------------- ----- # ● cancel key pressed #--------------------------------------------------------------------- ----- def cancel $game_system.se_play($data_system.cancel_se) if $game_temp.save_calling $game_temp.save_calling = false $scene = Scene_Map.new return end $scene = Scene_Menu.new(4) end #--------------------------------------------------------------------- ----- # ● save the current data into the selected file #--------------------------------------------------------------------- ----- def write_save_data(file) characters = [] for i in 0...$game_party.actors.size actor = $game_party.actors[i] characters.push([actor.character_name, actor.character_hue]) end Marshal.dump(characters, file) Marshal.dump(Graphics.frame_count, file) $game_system.save_count += 1 $game_system.magic_number = $data_system.magic_number Marshal.dump($game_system, file) Marshal.dump($game_switches, file) Marshal.dump($game_variables, file) Marshal.dump($game_self_switches, file) Marshal.dump($game_screen, file) Marshal.dump($game_actors, file) Marshal.dump($game_party, file) Marshal.dump($game_troop, file) Marshal.dump($game_map, file) Marshal.dump($game_player, file) end end
#===================================================================== ========= # ■ Scene_Load #--------------------------------------------------------------------- --------- # Load menu #===================================================================== =========
class Scene_Load < Scene_File #--------------------------------------------------------------------- ----- # ● initialize the menu #--------------------------------------------------------------------- ----- def initialize $game_temp = Game_Temp.new $game_temp.last_file_index = 0 latest_time = Time.at(0) for i in 0..99 filename = "Saves/Save#{i + 1}.rxdata" if FileTest.exist?(filename) file = File.open(filename, "r") if file.mtime > latest_time latest_time = file.mtime $game_temp.last_file_index = i end file.close end end super("Séléctionnez un fichier à charger.") end #--------------------------------------------------------------------- ----- # ● decision key pressed #--------------------------------------------------------------------- ----- def decision unless FileTest.exist?(filename) $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.load_se) file = File.open(filename, "rb") read_save_data(file) file.close $game_system.bgm_play($game_system.playing_bgm) $game_system.bgs_play($game_system.playing_bgs) $game_map.update $scene = Scene_Map.new end #--------------------------------------------------------------------- ----- # ● cancel key pressed #--------------------------------------------------------------------- ----- def cancel $game_system.se_play($data_system.cancel_se) $scene = Scene_Title.new end #--------------------------------------------------------------------- ----- # ● load the selected file #--------------------------------------------------------------------- ----- def read_save_data(file) characters = Marshal.load(file) Graphics.frame_count = Marshal.load(file) $game_system = Marshal.load(file) $game_switches = Marshal.load(file) $game_variables = Marshal.load(file) $game_self_switches = Marshal.load(file) $game_screen = Marshal.load(file) $game_actors = Marshal.load(file) $game_party = Marshal.load(file) $game_troop = Marshal.load(file) $game_map = Marshal.load(file) $game_player = Marshal.load(file) if $game_system.magic_number != $data_system.magic_number $game_map.setup($game_map.map_id) $game_player.center($game_player.x, $game_player.y) end $game_party.refresh end end
Dernière édition par le Mar 19 Déc 2006 - 12:57, édité 1 fois |
|
| |
terragloutonAtome
Messages : 23 Date d'inscription : 19/12/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mar 19 Déc 2006 - 12:56 | |
| C'est pas fini Vous devez remplacer a la ligne 48 dans Scene Title ceci - Code:
-
for i in 0..3 if FileTest.exist?("Save#{i+1}.rxdata") @continue_enabled = true end end Par cela - Code:
-
for i in 0..99 if FileTest.exist?("Saves/Save#{i+1}.rxdata") @continue_enabled = true end end Et voila un beau Menu de sauvegarde tout neuf! |
|
| |
Zarmakuizz
Messages : 5155 Age : 34 Loisirs : Mon biz' Date d'inscription : 24/09/2006
Caractéristiques du membre Evolution: Atome Job: Faire des passes éclair XP: (20/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mar 19 Déc 2006 - 13:21 | |
| Tu as oublié de préciser:
Les bords en tête de mort sont-ils basés sur la fenêter de message que tu utilise ou c'est une image qu'il faut rajouetr et nommer comme il faut?
Et l'image en-dessous des 4 héros doit être nommée comment pour que le script la choisisse? |
|
| |
Azurean
Messages : 2524 Age : 31 Date d'inscription : 02/10/2006
Caractéristiques du membre Evolution: Atome Job: Les scripts et les évènements XP: (-42/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mar 19 Déc 2006 - 13:58 | |
| Je vais te répondre.
1) C'est le Windowskin utilisé qui fait la tête de mort.
2) L'image en dessous est sensé être la map où le joueur a sauvegardé. |
|
| |
Zarmakuizz
Messages : 5155 Age : 34 Loisirs : Mon biz' Date d'inscription : 24/09/2006
Caractéristiques du membre Evolution: Atome Job: Faire des passes éclair XP: (20/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mar 19 Déc 2006 - 17:48 | |
| Merci de la réponse!
Je vais pitet prendre ce script. |
|
| |
...:: Shiminou ::...
Messages : 867 Date d'inscription : 20/10/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mer 20 Déc 2006 - 8:22 | |
| Je l'avia testé avan ! mais il y avait un bug ! car le script ne prener pas compte de l'image d'où le joueur avait sauvegardé !! Je pense que je vais réessayer ! Merci pour ce beau script Terraglouton ! et merci à toi l'auteur |
|
| |
Arkatra999Atome
Messages : 5 Date d'inscription : 21/12/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Jeu 21 Déc 2006 - 22:07 | |
| Aidez moi!!! quand je veut sauvgarder, j'ai un message d'erreur :/ |
|
| |
...:: Shiminou ::...
Messages : 867 Date d'inscription : 20/10/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Ven 22 Déc 2006 - 5:17 | |
| Sa se peut , tu va avoir les même probléme que mwa A quel ligne est ton probléme stp ? |
|
| |
NightShadeEmbryon
Messages : 593 Age : 34 Date d'inscription : 21/12/2006
Caractéristiques du membre Evolution: Atome Job: XP: (20/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Ven 22 Déc 2006 - 13:00 | |
| bon bien pour les personne qui on mal compris comme moi dans votre fichier projet ajouter le dossier Saves puis vos save changer le mot Sauvegarde par Save voila |
|
| |
...:: Shiminou ::...
Messages : 867 Date d'inscription : 20/10/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Ven 22 Déc 2006 - 16:00 | |
| Ha ! mais c'est pour sa le message d'erreur ! Merci à toi NightShade lol |
|
| |
NightShadeEmbryon
Messages : 593 Age : 34 Date d'inscription : 21/12/2006
Caractéristiques du membre Evolution: Atome Job: XP: (20/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Ven 22 Déc 2006 - 16:39 | |
| de rien.. pour une fois que je susi utile a quelquechose En passant.. bravo pour se script il est merveilleux! |
|
| |
terragloutonAtome
Messages : 23 Date d'inscription : 19/12/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Dim 24 Déc 2006 - 18:58 | |
| Hey bien merci NightShade...je ne le savais meme pas |
|
| |
ChildrenMolécule
Messages : 84 Age : 30 Loisirs : Rpg, making. Date d'inscription : 30/12/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Dim 31 Déc 2006 - 13:20 | |
| Qu'est-ce que ça signifie: ?? EDIT: J'ai trouver la solution, mais petit problème: j'ai modifié le script, j'ai la fenêtre, mais ça ne marche pas: RE-EDIT: Je l'ai remodifié sa marche, mais j'ai dut enlevé la police et le caractère. N'y aurait-il pas d'autres solutions? 3ième fois: J'ai réussi; ca marche, mais il ne marche malheuresement pas avec le script ABS v3, dommage (ca fait 2 fois)... :albino:
Dernière édition par le Lun 1 Jan 2007 - 14:30, édité 4 fois |
|
| |
NightShadeEmbryon
Messages : 593 Age : 34 Date d'inscription : 21/12/2006
Caractéristiques du membre Evolution: Atome Job: XP: (20/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Dim 31 Déc 2006 - 13:29 | |
| a la ligne numero 26 et les alentour L 22 a 31 - Code:
-
def initialize() super(0, 64, 320, 416) self.contents = Bitmap.new(width - 32, 99 * 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize #ici est l'erreur index = $game_temp.last_file_index == nil ? 0 : $game_temp.last_file_index self.index = index @item_max = 99 refresh end dans ton fichier Main tu a bien quelquechose du genre? Le total - Code:
-
#============================================================================== # ■ Main #------------------------------------------------------------------------------ # 各クラスの定義が終わった後、ここから実際の処理が始まります。 #==============================================================================
begin # Change the $fontface variable to change the font style $fontface = "Arial" # Change the $fontsize variable to change the font size $fontsize = 24 #ici est probablement ton erreur. # トランジション準備 Graphics.freeze # シーンオブジェクト (タイトル画面) を作成 $scene = Scene_Title.new # $scene が有効な限り main メソッドを呼び出す while $scene != nil $scene.main end # フェードアウト Graphics.transition(20) rescue Errno::ENOENT # 例外 Errno::ENOENT を補足 # ファイルがオープンできなかった場合、メッセージを表示して終了する filename = $!.message.sub("Ne trouve pas le fichier ou le répertoire - ", "") print("Le ficher #{filename} n'a pas été trouvé.") end si sela ne marche pas, L. 22 a 31 - Code:
-
def initialize() super(0, 64, 320, 416) self.contents = Bitmap.new(width - 32, 99 * 32) self.contents.font.name = $fontface self.contents.font.size = 24 #j'ai mis la grosseur de l'ecriture par default. index = $game_temp.last_file_index == nil ? 0 : $game_temp.last_file_index self.index = index @item_max = 99 refresh end voila je croi que sa devrais marcher... |
|
| |
ChildrenMolécule
Messages : 84 Age : 30 Loisirs : Rpg, making. Date d'inscription : 30/12/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Lun 1 Jan 2007 - 14:46 | |
| Merci NightShade, mais j'ai trouvé l'erreur: au lieu de: - Code:
-
$fontface et $fontsize J'ai remplacé par: - Code:
-
$defaultfontface et $defaultfontsize . Ta solution est bonne aussi, mais là n'ai pas le bug. Lorsque je lance le jeu et que je sauvegarde tout va bien. Je retourne à l'écran titre tout va bien, je charge tout marche. Mais lorsque je ferme le jeu et que je le relance, j'essaie de charger et rmxp trouve une erreur dans le script ABS v3, mais je vais l'tudier. |
|
| |
NightShadeEmbryon
Messages : 593 Age : 34 Date d'inscription : 21/12/2006
Caractéristiques du membre Evolution: Atome Job: XP: (20/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Lun 1 Jan 2007 - 15:43 | |
| c'est que dans certain script ils faut modifier lecriture par default... comme tu a dit et tu a du utiliser se script, qui change ton main.. |
|
| |
...:: Shiminou ::...
Messages : 867 Date d'inscription : 20/10/2006
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mar 2 Jan 2007 - 7:01 | |
| Normalement quand j'ai un probléme de sauvegarde je remplace : - Code:
-
$Frontsize Par - Code:
-
16 Et puis le probléme est aussitôt réglé... |
|
| |
NightShadeEmbryon
Messages : 593 Age : 34 Date d'inscription : 21/12/2006
Caractéristiques du membre Evolution: Atome Job: XP: (20/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mer 3 Jan 2007 - 14:38 | |
| Fontsize et non Frontsize |
|
| |
Maker
Messages : 2185 Age : 31 Date d'inscription : 01/01/2007
Caractéristiques du membre Evolution: Atome Job: Tout XP: (20/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Jeu 4 Jan 2007 - 11:05 | |
| Children, as-tu résolu le problème avec l'ABS v.3 ? |
|
| |
redwizardAtome
Messages : 2 Date d'inscription : 31/01/2007
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mer 31 Jan 2007 - 3:05 | |
| Moi le script me dit: ????? 'NewSave' ? 290 ??? SyantaxError????????
Avez-vous une idée de c que ca peut etre?
Au fait, j'ai pas posté de screen car jai pas le bouotn print screen sur mon portable, j'ia meme pas de bouton delete :O
J'ADORE VOTRE SITE!!!!!!!!!!!!!!!!!!!! Et j'espère ne pas entrer dans la règle du necro-posting |
|
| |
Zarmakuizz
Messages : 5155 Age : 34 Loisirs : Mon biz' Date d'inscription : 24/09/2006
Caractéristiques du membre Evolution: Atome Job: Faire des passes éclair XP: (20/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mer 31 Jan 2007 - 13:31 | |
| Tu es limite, mais non, pas de nécroposting. Ce serait plutôt du flood, vu la fin de ton message. |
|
| |
Sirius13Atome
Messages : 18 Date d'inscription : 06/02/2007
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Mer 7 Fév 2007 - 21:52 | |
| C'"est bien beau tout ça, mais je n'arrive pas à charger une partie après avoir sauvegarder pourtant. Quand je vais sur charger au menu titre, le jeu s'arrête tout seul. On peut m'aider ? Merci d'avance !
EDIT : Je ne comprends vraiment plus rien ! Comment on revient en arrière maintenant ? Là où j'en suis, je ne peux pas charger (dans le menu, c'est en gris), mais je peux sauvegarder quand même. Comment pourrais-je revoir la sauvegarde normale ? Merci d'avance. De l'aide serais précieuse. |
|
| |
Zarmakuizz
Messages : 5155 Age : 34 Loisirs : Mon biz' Date d'inscription : 24/09/2006
Caractéristiques du membre Evolution: Atome Job: Faire des passes éclair XP: (20/20)
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde Jeu 8 Fév 2007 - 12:29 | |
| Quand tu ajoutes un script, ta sauvegarde ne va plus. Donc tu es obligé de perdre ta sauvegarde quand tu rajoutes un script. |
|
| |
Contenu sponsorisé
| Sujet: Re: (Script) Nouveau Menu de Sauvegarde | |
| |
|
| |
| (Script) Nouveau Menu de Sauvegarde | |
|