Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # ▼ MTS - MistTransferSystem
- # Version : 1.1
- #------------------------------------------------------------------------------
- # Permet de créer un système de téléportation, intégrable dans un menu ou bien
- # utilisable à part.
- # Par Mist'
- # Le 06/02/12
- # http://www.rpgmakervx-fr.com/
- #
- # Merci à Skillo et Berka pour leur aide quant aux fonctions des Arrays!
- #==============================================================================
- # Créer le Dossier "Graphics/MTS/" s'il n'existe pas.
- #==============================================================================
- MTS_FOLDER = "Graphics/MTS"
- if !FileTest.exist?("#{MTS_FOLDER}")
- Dir.mkdir("#{MTS_FOLDER}", 0777)
- p("Le dossier #{MTS_FOLDER} a bien été créé !")
- else
- p("Dossier #{MTS_FOLDER} OK.")
- end
- #==============================================================================
- # Dans ce même dossier, placez vos images d'illustration.
- # Pour paramètrer les images utilisées :
- # Aux lignes similaires à celle-ci :
- # ["Désert", 1, 9, 2, "nom_image"]
- # nom_image est à remplacer par le nom de votre image.
- #==============================================================================
- #==============================================================================
- # ▼ MTS - Mist_Transfer_Sys
- # Module
- #==============================================================================
- module Mist_Transfer_Sys
- # Textes affichés dans la fenêtre du haut. Modulable.
- Msg_Help = ["Menu de téléportation", "Choisissez votre destination"]
- # Paramètrage des téléportations :
- Teleport = [
- # Vous pouvez rajouter vos commandes personnalisées en suivant ce modèle :
- #
- # [Nom_de_la_commande, ID_MAP, X_Arrivée, Y_Arrivée, Nom_image_utilisée],
- ["Désert", 1, 34, 10, "DarkSpace2"],
- ["Plaine", 2, 6, 6, "Mountains4"],
- ["Volcan", 3, 6, 6, "Mountains5"],
- ["Vallée", 4, 9, 5, "Mountains1"],
- ["Ruines", 5, 9, 35, "Mountains2"],
- ["Espace", 6, 12, 28, "Mountains3"],
- ["Ville", 7, 28, 5, "BlueSky"],
- ["Village", 8, 25, 40, "CloudySky1"],
- ["Forêt", 9, 27, 22, "CloudySky2"],
- ["Grotte", 10, 5, 15, "DarkSpace1"],
- # NE PAS EFFACER.
- ] # <-
- # NE PAS EFFACER.
- # Image par défaut si l'image d'illustration définie n'existe pas.
- Image_Dft = "Défaut"
- # Nom de la commande dans le menu
- NOM_DS_MENU = "Téléport"
- #----------------------------------------------------------
- # Prévu pour la V.2
- #
- # Effet Sonore si validation de la téléportation
- # (true = activé, false = désactivé)
- SE_Telep = true
- # Nom du SE
- Nom_SE = "Transfer"
- #-----------------------------------------------------------
- end
- #===============================================================================
- # ▼ Cache
- #===============================================================================
- module Cache
- def self.tr_cache(filename)
- load_bitmap(MTS_FOLDER+"/", filename)
- end
- end
- #==============================================================================
- # ▼ Window_TransferCommand
- #==============================================================================
- class Window_TransferCommand < Window_Command
- include Mist_Transfer_Sys
- #--------------------------------------------------------------------------
- # ● Initialize
- #--------------------------------------------------------------------------
- def initialize(x, y)
- super(x, y)
- update_position(x, y)
- self.openness = 0
- open
- end
- #--------------------------------------------------------------------------
- # ● Window_width
- #--------------------------------------------------------------------------
- def window_width
- return 160
- end
- #--------------------------------------------------------------------------
- # ● Update_position
- # x : x
- # y : y
- #--------------------------------------------------------------------------
- def update_position(x, y)
- self.x = x
- self.y = y
- end
- #--------------------------------------------------------------------------
- # ● Make_command_list
- #--------------------------------------------------------------------------
- def make_command_list
- key = []
- i = 0
- Teleport.each{|e|
- key << e[0]
- add_command(key[i], :i)
- i += 1
- }
- add_command("Quitter", :quit)
- end
- end
- #==============================================================================
- # ▼ Scene_Transfer
- #==============================================================================
- class Scene_Transfer < Scene_Base
- include Mist_Transfer_Sys
- #--------------------------------------------------------------------------
- # ● Start
- #--------------------------------------------------------------------------
- def start
- super
- creer_win_help
- creer_win_comm
- creer_img
- end
- #--------------------------------------------------------------------------
- # ● Creer_win_help
- #--------------------------------------------------------------------------
- def creer_win_help
- @win_help = Window_Base.new(0, 0, 544, 44*Msg_Help.size)
- Msg_Help.each do |i|
- @win_help.draw_text(0, 32*Msg_Help.index(i), 544, 32, i, 1)
- end
- end
- #--------------------------------------------------------------------------
- # ● Creer_win_comm
- #--------------------------------------------------------------------------
- def creer_win_comm
- @win_comm = Window_TransferCommand.new(0, @win_help.height)
- @win_comm.height = Graphics.height - @win_help.height
- @win_comm.set_handler(:i, method(:transf_process))
- @win_comm.set_handler(:quit, method(:quitter))
- end
- #--------------------------------------------------------------------------
- # ● Creer_img
- #--------------------------------------------------------------------------
- def creer_img
- @sprite = Sprite.new
- @sprite.x = @win_comm.width
- @sprite.y = @win_help.height
- end
- #--------------------------------------------------------------------------
- # ● Update
- #--------------------------------------------------------------------------
- def update
- super
- update_img
- end
- #--------------------------------------------------------------------------
- # ● Dispose_all_sprites
- #--------------------------------------------------------------------------
- def dispose_all_sprites
- instance_variables.each do |varname|
- ivar = instance_variable_get(varname)
- ivar.dispose if ivar.is_a?(Sprite)
- end
- end
- #--------------------------------------------------------------------------
- # ● Terminate
- #--------------------------------------------------------------------------
- def terminate
- super
- dispose_all_sprites
- end
- #--------------------------------------------------------------------------
- # ● Update_img
- #--------------------------------------------------------------------------
- def update_img
- key = []
- Teleport.each{|e|
- key << e[4]
- }
- @sprite.bitmap = Cache.tr_cache(clé[index]) rescue @sprite.bitmap = Cache.tr_cache(Image_Dft)
- end
- #--------------------------------------------------------------------------
- # ● Transf_process
- #--------------------------------------------------------------------------
- def transf_process
- i = @win_comm.index
- $game_player.reserve_transfer(Teleport[i][1],Teleport[i][2],Teleport[i][3])
- SceneManager.goto(Scene_Map)
- end
- #--------------------------------------------------------------------------
- # ● Quitter
- #--------------------------------------------------------------------------
- def quitter
- SceneManager.goto(Scene_Menu)
- end
- end
- #==============================================================================
- # ▼ Window_MenuCommand
- #==============================================================================
- class Window_MenuCommand < Window_Command
- include Mist_Transfer_Sys
- #--------------------------------------------------------------------------
- # ● AJOUT ~
- #--------------------------------------------------------------------------
- def add_transfer_command
- add_command(NOM_DS_MENU, :transfer)
- end
- #--------------------------------------------------------------------------
- # ● MODIF ~
- #--------------------------------------------------------------------------
- def make_command_list
- add_main_commands
- add_formation_command
- add_original_commands
- add_transfer_command # AJOUT #
- add_save_command
- add_game_end_command
- end
- end
- #==============================================================================
- # ▼ Window_MenuCommand
- #==============================================================================
- class Scene_Menu < Scene_MenuBase
- #--------------------------------------------------------------------------
- # ● ALIAS ~
- #--------------------------------------------------------------------------
- alias mts_old_command create_command_window
- def create_command_window
- mts_old_command
- @command_window.set_handler(:transfer, method(:command_transfer))
- end
- #--------------------------------------------------------------------------
- # ● AJOUT ~
- #--------------------------------------------------------------------------
- def command_transfer
- SceneManager.call(Scene_Transfer)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement