| [RPGVX] Options lors du game-over | |
|
|
Auteur | Message |
---|
Kamikaz93 Mega Maker Lv 19
Nombre de messages : 737 Age : 26
| Sujet: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 11:33 | |
| Bonjour ! Ce script sert à sauvegarder, charger une partie ou aller à l'écran titre Lorsque Vous Perdez Auteur : Moi C'est mon premier script alors doucement les critiques hein ?? à Placer Au Dessus De Main Ce script Se Divise En Trois Parties - Code:
-
#============================================================================== #Ce script Donne Le Choix D'aller Au Menu Titre, De Sauvegarder Ou # De Charger Une Partie Lors Du GameOver
# script De Kamikaz93 - http://pcweb.1fr1.net #==============================================================================
class Scene_Choix < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background create_command_window end #-------------------------------------------------------------------------- # * Post-Start Processing #-------------------------------------------------------------------------- def post_start super open_command_window end #-------------------------------------------------------------------------- # * Pre-termination Processing #-------------------------------------------------------------------------- def pre_terminate super close_command_window end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate super dispose_command_window dispose_menu_background end #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- def return_scene $scene = Scene_Menu.new(5) end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update if Input.trigger?(Input::B) Sound.play_cancel return_scene elsif Input.trigger?(Input::C) case @command_window.index when 0 # to title command_to_title when 1 # shutdown command_shutdown when 2 # quit command_cancel end end end #-------------------------------------------------------------------------- # * Update Background for Menu Screen #-------------------------------------------------------------------------- def update_menu_background super @menuback_sprite.tone.set(0, 0, 0, 128) end #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::to_title s2 = "Charger" s3 = "Sauvegarder" @command_window = Window_Command.new(172, [s1, s2, s3]) @command_window.x = (544 - @command_window.width) / 2 @command_window.y = (416 - @command_window.height) / 2 @command_window.openness = 0 end #-------------------------------------------------------------------------- # * Dispose of Command Window #-------------------------------------------------------------------------- def dispose_command_window @command_window.dispose end #-------------------------------------------------------------------------- # * Open Command Window #-------------------------------------------------------------------------- def open_command_window @command_window.open begin @command_window.update Graphics.update end until @command_window.openness == 255 end #-------------------------------------------------------------------------- # * Close Command Window #-------------------------------------------------------------------------- def close_command_window @command_window.close begin @command_window.update Graphics.update end until @command_window.openness == 0 end #-------------------------------------------------------------------------- # * Process When Choosing [To Title] Command #-------------------------------------------------------------------------- def command_to_title Sound.play_decision RPG::BGM.fade(800) RPG::BGS.fade(800) RPG::ME.fade(800) $scene = Scene_Title.new close_command_window Graphics.fadeout(60) end #-------------------------------------------------------------------------- # * Process When Choosing [Shutdown] Command #-------------------------------------------------------------------------- def command_shutdown Sound.play_decision $scene = $Scene_File.new(false, true, false) end #-------------------------------------------------------------------------- # * Process When Choosing [Cancel] Command #-------------------------------------------------------------------------- def command_cancel Sound.play_decision $scene = $Scene_File.new(true, false, false) end end
- Code:
-
#============================================================================== #Ce script Donne Le Choix D'aller Au Menu Titre, De Sauvegarder Ou # De Charger Une Partie Lors Du GameOver
# script De Kamikaz93 - http://pcweb.1fr1.net #==============================================================================
class Scene_Gameover < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super RPG::BGM.stop RPG::BGS.stop $data_system.gameover_me.play Graphics.transition(120) Graphics.freeze create_gameover_graphic end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate super dispose_gameover_graphic $scene = nil if $BTEST end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super if Input.trigger?(Input::C) $scene = Scene_Choix.new Graphics.fadeout(120) end end #-------------------------------------------------------------------------- # * Execute Transition #-------------------------------------------------------------------------- def perform_transition Graphics.transition(180) end #-------------------------------------------------------------------------- # * Create Game Over Graphic #-------------------------------------------------------------------------- def create_gameover_graphic @sprite = Sprite.new @sprite.bitmap = Cache.system("GameOver") end #-------------------------------------------------------------------------- # * Dispose of Game Over Graphic #-------------------------------------------------------------------------- def dispose_gameover_graphic @sprite.bitmap.dispose @sprite.dispose end end
- Code:
-
#============================================================================== # Game over save #------------------------------------------------------------------------------ # script De Kamikaz93 - http://pcweb.1fr1.net #==============================================================================
class Scene_File < Scene_Base #-------------------------------------------------------------------------- # * Object Initialization # saving : save flag (if false, load screen) # from_title : flag: it was called from "Continue" on the title screen # from_event : flag: it was called from the "Call Save Screen" event #-------------------------------------------------------------------------- def initialize(saving, from_title, from_event) @saving = saving @from_title = from_title @from_event = from_event end #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background @help_window = Window_Help.new create_savefile_windows if @saving @index = $game_temp.last_file_index @help_window.set_text(Vocab::SaveMessage) else @index = self.latest_file_index @help_window.set_text(Vocab::LoadMessage) end @savefile_windows[@index].selected = true end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate super dispose_menu_background @help_window.dispose dispose_item_windows end #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- def return_scene if @from_title $scene = Scene_Title.new elsif @from_event $scene = Scene_Map.new else $scene = Scene_Title.new end end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_menu_background @help_window.update update_savefile_windows update_savefile_selection end #-------------------------------------------------------------------------- # * Create Save File Window #-------------------------------------------------------------------------- def create_savefile_windows @savefile_windows = [] for i in 0..3 @savefile_windows.push(Window_SaveFile.new(i, make_filename(i))) end @item_max = 4 end #-------------------------------------------------------------------------- # * Dispose of Save File Window #-------------------------------------------------------------------------- def dispose_item_windows for window in @savefile_windows window.dispose end end #-------------------------------------------------------------------------- # * Update Save File Window #-------------------------------------------------------------------------- def update_savefile_windows for window in @savefile_windows window.update end end #-------------------------------------------------------------------------- # * Update Save File Selection #-------------------------------------------------------------------------- def update_savefile_selection if Input.trigger?(Input::C) determine_savefile elsif Input.trigger?(Input::B) Sound.play_cancel return_scene else last_index = @index if Input.repeat?(Input::DOWN) cursor_down(Input.trigger?(Input::DOWN)) end if Input.repeat?(Input::UP) cursor_up(Input.trigger?(Input::UP)) end if @index != last_index Sound.play_cursor @savefile_windows[last_index].selected = false @savefile_windows[@index].selected = true end end end #-------------------------------------------------------------------------- # * Confirm Save File #-------------------------------------------------------------------------- def determine_savefile if @saving Sound.play_save do_save else if @savefile_windows[@index].file_exist Sound.play_load do_load else Sound.play_buzzer return end end $game_temp.last_file_index = @index end #-------------------------------------------------------------------------- # * Move cursor down # wrap : Wraparound allowed #-------------------------------------------------------------------------- def cursor_down(wrap) if @index < @item_max - 1 or wrap @index = (@index + 1) % @item_max end end #-------------------------------------------------------------------------- # * Move cursor up # wrap : Wraparound allowed #-------------------------------------------------------------------------- def cursor_up(wrap) if @index > 0 or wrap @index = (@index - 1 + @item_max) % @item_max end end #-------------------------------------------------------------------------- # * Create Filename # file_index : save file index (0-3) #-------------------------------------------------------------------------- def make_filename(file_index) return "Save#{file_index + 1}.rvdata" end #-------------------------------------------------------------------------- # * Select File With Newest Timestamp #-------------------------------------------------------------------------- def latest_file_index index = 0 latest_time = Time.at(0) for i in 0...@savefile_windows.size if @savefile_windows[i].time_stamp > latest_time latest_time = @savefile_windows[i].time_stamp index = i end end return index end #-------------------------------------------------------------------------- # * Execute Save #-------------------------------------------------------------------------- def do_save file = File.open(@savefile_windows[@index].filename, "wb") write_save_data(file) file.close return_scene end #-------------------------------------------------------------------------- # * Execute Load #-------------------------------------------------------------------------- def do_load file = File.open(@savefile_windows[@index].filename, "rb") read_save_data(file) file.close $scene = Scene_Map.new RPG::BGM.fade(1500) Graphics.fadeout(60) Graphics.wait(40) @last_bgm.play @last_bgs.play end #-------------------------------------------------------------------------- # * Write Save Data # file : write file object (opened) #-------------------------------------------------------------------------- def write_save_data(file) characters = [] for actor in $game_party.members characters.push([actor.character_name, actor.character_index]) end $game_system.save_count += 1 $game_system.version_id = $data_system.version_id @last_bgm = RPG::BGM::last @last_bgs = RPG::BGS::last Marshal.dump(characters, file) Marshal.dump(Graphics.frame_count, file) Marshal.dump(@last_bgm, file) Marshal.dump(@last_bgs, file) Marshal.dump($game_system, file) Marshal.dump($game_message, file) Marshal.dump($game_switches, file) Marshal.dump($game_variables, file) Marshal.dump($game_self_switches, 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 #-------------------------------------------------------------------------- # * Read Save Data # file : file object for reading (opened) #-------------------------------------------------------------------------- def read_save_data(file) characters = Marshal.load(file) Graphics.frame_count = Marshal.load(file) @last_bgm = Marshal.load(file) @last_bgs = Marshal.load(file) $game_system = Marshal.load(file) $game_message = Marshal.load(file) $game_switches = Marshal.load(file) $game_variables = Marshal.load(file) $game_self_switches = 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.version_id != $data_system.version_id $game_map.setup($game_map.map_id) $game_player.center($game_player.x, $game_player.y) end end end
Screen : Explication : Bonjour, si vous trouvez le script bête... C'est normal, c'est mon premier, la dernière option permet de sauvegarder, vous ne sauvegardez pas alors que tous vos personnages sont morts, c'est bête non En fait, il sauvegarde et quand vous chargez, tous vos personnages ont les HP au maximum... (Un peu sur réaliste je sait ) vous pouvez sinon chargez une sauvegarde ou soit aller à l'écran titre... Voilà la version sans sauvegarder, "Game Over config" - Code:
-
#============================================================================== #Ce script Donne Le Choix D'aller Au Menu Titre, De Sauvegarder Ou # De Charger Une Partie Lors Du GameOver
# script De Kamikaz93 - http://pcweb.1fr1.net #==============================================================================
class Scene_Choix < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background create_command_window end #-------------------------------------------------------------------------- # * Post-Start Processing #-------------------------------------------------------------------------- def post_start super open_command_window end #-------------------------------------------------------------------------- # * Pre-termination Processing #-------------------------------------------------------------------------- def pre_terminate super close_command_window end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate super dispose_command_window dispose_menu_background end #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- def return_scene $scene = Scene_Menu.new(5) end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update if Input.trigger?(Input::B) Sound.play_cancel return_scene elsif Input.trigger?(Input::C) case @command_window.index when 0 # to title command_to_title when 1 # shutdown command_shutdown end end end #-------------------------------------------------------------------------- # * Update Background for Menu Screen #-------------------------------------------------------------------------- def update_menu_background super @menuback_sprite.tone.set(0, 0, 0, 128) end #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::to_title s2 = "Charger" @command_window = Window_Command.new(172, [s1, s2]) @command_window.x = (544 - @command_window.width) / 2 @command_window.y = (416 - @command_window.height) / 2 @command_window.openness = 0 end #-------------------------------------------------------------------------- # * Dispose of Command Window #-------------------------------------------------------------------------- def dispose_command_window @command_window.dispose end #-------------------------------------------------------------------------- # * Open Command Window #-------------------------------------------------------------------------- def open_command_window @command_window.open begin @command_window.update Graphics.update end until @command_window.openness == 255 end #-------------------------------------------------------------------------- # * Close Command Window #-------------------------------------------------------------------------- def close_command_window @command_window.close begin @command_window.update Graphics.update end until @command_window.openness == 0 end #-------------------------------------------------------------------------- # * Process When Choosing [To Title] Command #-------------------------------------------------------------------------- def command_to_title Sound.play_decision RPG::BGM.fade(800) RPG::BGS.fade(800) RPG::ME.fade(800) $scene = Scene_Title.new close_command_window Graphics.fadeout(60) end #-------------------------------------------------------------------------- # * Process When Choosing [Shutdown] Command #-------------------------------------------------------------------------- def command_shutdown Sound.play_decision $scene = $Scene_File.new(false, true, false) end
____________ | |
|
| |
Dragongaze13 Maker de Légende Lv 49
Nombre de messages : 3897 Age : 27
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 13:02 | |
| 12 ans et déjà ton premier script..? Pff.. Je suis vraiment un naze.. :/ En tous cas continue ! Pour un premier script c'est déjà très bien ! | |
|
| |
Kamikaz93 Mega Maker Lv 19
Nombre de messages : 737 Age : 26
| |
| |
Dragongaze13 Maker de Légende Lv 49
Nombre de messages : 3897 Age : 27
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 13:11 | |
| Tu pourrais enlever l'option "Sauvegarder" ? Et la remplacer par un "Continuer", qui renvoi à la dernière sauvegarde ? | |
|
| |
Manderr Zigouilleur de makeurs Lv 32
Nombre de messages : 2447 Age : 29
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 13:50 | |
| Intéressant, même si je sais que sur 2003, on peut le faire en event donc je pense que sur VX aussi.
C'est quoi ton histoire de bouton "sauvegarder"? | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 13:57 | |
| En effet "continuer" à la place de "sauvegarder" serait plus logique (voir "Sauvegarder et continuer"). Dans certains jeux ça propose : -sauvegarder et quitter -sauvegarder et continuer -continuer sans sauvegarder C'est pas mal du tout comme Script, simple, mais bon tu débutes. Et c'est une fonction intéressante dans un jeu qui permet de ne pas avoir des game over qui effacent la partie. ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
Kamikaz93 Mega Maker Lv 19
Nombre de messages : 737 Age : 26
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 14:01 | |
| @Dragongaze: Je vais essayer, mais je travaille actuellement sur un autre script. (Je viens de le finir ) @Manderr : J'ai fait le game over en changeant la scène "End" et pour la troisième option, je savais pas quoi mettre... Je pense que le game over sur VX est faisable oui... @Relm : Je vais y travailler, je me suis amélioré en script... J'annonce mon nouveau script d'auto-sauvegarde qui va paraître... ____________ | |
|
| |
Dragongaze13 Maker de Légende Lv 49
Nombre de messages : 3897 Age : 27
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 14:29 | |
| Je crois que l'auto-sauvegarde existe déjà.. :/ | |
|
| |
Kamikaz93 Mega Maker Lv 19
Nombre de messages : 737 Age : 26
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 14:31 | |
| Non, je veut dire l'auto-sauvegarde quand tu clique sur une touche (comme red faction I) ____________ | |
|
| |
Dragongaze13 Maker de Légende Lv 49
Nombre de messages : 3897 Age : 27
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 14:34 | |
| Je crois que ça existe déjà aussi.. Par contre je suis moins sûr là.. ^^
En tout cas pas grave, c'est en forgeant que l'on devient forgeron. ^^ | |
|
| |
Kamikaz93 Mega Maker Lv 19
Nombre de messages : 737 Age : 26
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 14:38 | |
| Ah ba mince -_-" ba je laisse tomber alors... ____________ | |
|
| |
Dragongaze13 Maker de Légende Lv 49
Nombre de messages : 3897 Age : 27
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 16:24 | |
| C'est pas une raison.. | |
|
| |
Kamikaz93 Mega Maker Lv 19
Nombre de messages : 737 Age : 26
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 16:37 | |
| non, je laisse tomber pour mon script et essayer d'en faire un plus utile... ____________ | |
|
| |
Naqqah Maker de Légende Lv 46
Nombre de messages : 3377 Age : 28
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 16:51 | |
| L'auto sauvegarde n'est pas existant sur RM directement. Certes, on peut le faire, mais seulement e ouvrant le menu de sauvegarde. Tu peux faire un peu comme FE ou FFTA : une sauvegarde temporaire.
Mais je rejoins Dragongaz : un script à douze ans, que je suis nul ! TT
Note : Tu scripte à 12 ans; Imagine ce que ça donnera plus tard. Nan, continue avec, premièrement, des petits scripts. Tu peux aussi corriger quelques bugs de VX. Sérieusement, un scripteur a toujours à faire. | |
|
| |
Dragongaze13 Maker de Légende Lv 49
Nombre de messages : 3897 Age : 27
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 16:56 | |
| Je parlais de scripts Naqqah. | |
|
| |
Kamikaz93 Mega Maker Lv 19
Nombre de messages : 737 Age : 26
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 17:03 | |
| C'est principalement le but Naqqah, lors de la sauvegarde automatique, le fichier prendra le nom "Save" à chaque sauvegarde, et donc pour différencier les sauvegardes auto des sauvegardes normales, les sauvegardes normales auront un nombre contrairement à l'auto et en plus sera reconnaissable dans le title donc... t'attend pas à ce que je fasse un super SBS trop mortel sa c'est pour plus tard ____________ | |
|
| |
Dragongaze13 Maker de Légende Lv 49
Nombre de messages : 3897 Age : 27
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 18:24 | |
| Tu pourrais faire tes scripts sur demande, comme ça tu serais sûr que tes scripts soit utiles. | |
|
| |
Naqqah Maker de Légende Lv 46
Nombre de messages : 3377 Age : 28
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 18:31 | |
| Dragongaze : Ah ok...
Kamikaz : Ah je vois. =) Bah c'est déjà super bien je trouve ! =p | |
|
| |
Kamikaz93 Mega Maker Lv 19
Nombre de messages : 737 Age : 26
| |
| |
Dragongaze13 Maker de Légende Lv 49
Nombre de messages : 3897 Age : 27
| Sujet: Re: [RPGVX] Options lors du game-over Lun 16 Aoû 2010, 18:51 | |
| | |
|
| |
Kamikaz93 Mega Maker Lv 19
Nombre de messages : 737 Age : 26
| |
| |
Contenu sponsorisé
| Sujet: Re: [RPGVX] Options lors du game-over | |
| |
|
| |
| [RPGVX] Options lors du game-over | |
|