Invité Invité
| Sujet: Skip_title mieux Lun 13 Juin 2011, 16:22 | |
| Salut, donc voici un script qui permet de switcher l'écran titre. Je l'ai fait moi même et je le trouve plus agréable que celui de Worotana car il garde en mémoire la position de départ spécifiée par l'éditeur: A copier au dessus de Main dans un emplacement libre: - Code:
-
module Game ACTIVATE_SWITCH_TITLE = true #Active le switch de l'écran titre TITLE_DATA = [1, 19, 14] #Constantes qui défini la map qui sers d'écran titre [MAP_ID, X, Y] def self.teleport(map_id, x, y, transition = true) $game_map.setup(map_id) $game_player.moveto(x, y) $scene = Scene_Map.new $game_map.autoplay $game_player.refresh if transition RPG::BGM.fade(1500) Graphics.fadeout(60) Graphics.wait(40) end end #Teleport vers la position de départ def self.goto_start(transition = true) Game::teleport($data_system.start_map_id,$data_system.start_x, $data_system.start_y, transition) end end
class Switch_Title < Scene_Base def start super map_title = Game::TITLE_DATA load_database create_game_objects #Condition de sortie si jamais la position n'est pas spécifiée if $data_system.start_map_id == 0 print "Player start location not set." exit end $game_party.setup_starting_members $game_map.setup(map_title[0]) $game_player.moveto(map_title[1], map_title[2]) $game_player.refresh $scene = Scene_Map.new $game_map.autoplay end def load_database $data_actors = load_data("Data/Actors.rvdata") $data_classes = load_data("Data/Classes.rvdata") $data_skills = load_data("Data/Skills.rvdata") $data_items = load_data("Data/Items.rvdata") $data_weapons = load_data("Data/Weapons.rvdata") $data_armors = load_data("Data/Armors.rvdata") $data_enemies = load_data("Data/Enemies.rvdata") $data_troops = load_data("Data/Troops.rvdata") $data_states = load_data("Data/States.rvdata") $data_animations = load_data("Data/Animations.rvdata") $data_common_events = load_data("Data/CommonEvents.rvdata") $data_system = load_data("Data/System.rvdata") $data_areas = load_data("Data/Areas.rvdata") end def load_bt_database $data_actors = load_data("Data/BT_Actors.rvdata") $data_classes = load_data("Data/BT_Classes.rvdata") $data_skills = load_data("Data/BT_Skills.rvdata") $data_items = load_data("Data/BT_Items.rvdata") $data_weapons = load_data("Data/BT_Weapons.rvdata") $data_armors = load_data("Data/BT_Armors.rvdata") $data_enemies = load_data("Data/BT_Enemies.rvdata") $data_troops = load_data("Data/BT_Troops.rvdata") $data_states = load_data("Data/BT_States.rvdata") $data_animations = load_data("Data/BT_Animations.rvdata") $data_common_events = load_data("Data/BT_CommonEvents.rvdata") $data_system = load_data("Data/BT_System.rvdata") end def create_game_objects $game_temp = Game_Temp.new $game_message = Game_Message.new $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_actors = Game_Actors.new $game_party = Game_Party.new $game_troop = Game_Troop.new $game_map = Game_Map.new $game_player = Game_Player.new end def battle_test load_bt_database create_game_objects Graphics.frame_count = 0 $game_party.setup_battle_test_members $game_troop.setup($data_system.test_troop_id) $game_troop.can_escape = true $game_system.battle_bgm.play snapshot_for_background $scene = Scene_Battle.new end end
Ensuite remplacer le main par: - Code:
-
#============================================================================== # ** Main #------------------------------------------------------------------------------ # After defining each class, actual processing begins here. #==============================================================================
unless Font.exist?("UmePlus Gothic") print "Le fichier Font 'UmePlus Gothic' n'a pas été trouvé" exit end
begin #Lancement du jeu Graphics.freeze $scene = (Game::ACTIVATE_SWITCH_TITLE) ? Switch_Title.new : Scene_Title.new $scene.main while $scene != nil Graphics.transition(30) rescue Errno::ENOENT filename = $!.message.sub("No such file or directory - ", "") print("Le ficher #{filename} n'a pas été trouvé.") end
Donc voila, la configuration se fait dans le module Game, il est possible de réactiver le Scene_title de base ou d'envoyer sur une map. En plus avec la fonction Game::goto_start il est possible d'envoyer vers la position de départ EDITEUR (et donc garder son intéret). |
|