Need a unique gift idea?
A Pastebin account makes a great Christmas gift
SHARE
TWEET

MTS

a guest Nov 16th, 2018 98 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
 
  1. #==============================================================================
  2. # ▼ MTS - MistTransferSystem
  3. # Version : 1.1
  4. #------------------------------------------------------------------------------
  5. # Permet de créer un système de téléportation, intégrable dans un menu ou bien
  6. # utilisable à part.
  7. # Par Mist'
  8. # Le 06/02/12
  9. # http://www.rpgmakervx-fr.com/
  10. #
  11. # Merci à Skillo et Berka pour leur aide quant aux fonctions des Arrays!
  12. #==============================================================================
  13. # Créer le Dossier "Graphics/MTS/" s'il n'existe pas.
  14. #==============================================================================
  15. MTS_FOLDER = "Graphics/MTS"
  16.  
  17. if !FileTest.exist?("#{MTS_FOLDER}")
  18.   Dir.mkdir("#{MTS_FOLDER}", 0777)
  19.   p("Le dossier #{MTS_FOLDER} a bien été créé !")
  20. else
  21.   p("Dossier #{MTS_FOLDER} OK.")
  22. end
  23.  
  24. #==============================================================================
  25. # Dans ce même dossier, placez vos images d'illustration.
  26. # Pour paramètrer les images utilisées :
  27. # Aux lignes similaires à celle-ci :
  28. # ["Désert",          1,      9,        2,        "nom_image"]
  29. # nom_image est à remplacer par le nom de votre image.
  30. #==============================================================================
  31.  
  32. #==============================================================================
  33. # ▼ MTS - Mist_Transfer_Sys
  34. # Module
  35. #==============================================================================
  36. module Mist_Transfer_Sys
  37.     # Textes affichés dans la fenêtre du haut. Modulable.
  38.     Msg_Help = ["Menu de téléportation", "Choisissez votre destination"]
  39.     # Paramètrage des téléportations :
  40.     Teleport = [
  41.     # Vous pouvez rajouter vos commandes personnalisées en suivant ce modèle :
  42.     #
  43.     # [Nom_de_la_commande, ID_MAP, X_Arrivée, Y_Arrivée, Nom_image_utilisée],
  44.     ["Désert",          1,      34,       10,       "DarkSpace2"],
  45.     ["Plaine",          2,      6,        6,        "Mountains4"],
  46.     ["Volcan",          3,      6,        6,        "Mountains5"],
  47.     ["Vallée",          4,      9,        5,        "Mountains1"],
  48.     ["Ruines",          5,      9,        35,       "Mountains2"],
  49.     ["Espace",          6,      12,       28,       "Mountains3"],
  50.     ["Ville",           7,      28,       5,        "BlueSky"],
  51.     ["Village",         8,      25,       40,       "CloudySky1"],
  52.     ["Forêt",           9,      27,       22,       "CloudySky2"],
  53.     ["Grotte",          10,     5,        15,       "DarkSpace1"],
  54.     # NE PAS EFFACER.
  55.     ] # <-
  56.     # NE PAS EFFACER.
  57.     # Image par défaut si l'image d'illustration définie n'existe pas.
  58.     Image_Dft = "Défaut"
  59.     # Nom de la commande dans le menu
  60.     NOM_DS_MENU = "Téléport"
  61.     #----------------------------------------------------------
  62.     #                  Prévu pour la V.2
  63.     #
  64.     # Effet Sonore si validation de la téléportation
  65.     # (true = activé, false = désactivé)
  66.     SE_Telep = true
  67.     # Nom du SE
  68.     Nom_SE = "Transfer"
  69.     #-----------------------------------------------------------
  70.   end
  71.  
  72. #===============================================================================
  73. # ▼ Cache
  74. #===============================================================================
  75. module Cache
  76.  def self.tr_cache(filename)
  77.     load_bitmap(MTS_FOLDER+"/", filename)
  78.  end
  79. end
  80.  
  81. #==============================================================================
  82. # ▼ Window_TransferCommand
  83. #==============================================================================
  84. class Window_TransferCommand < Window_Command
  85.  include Mist_Transfer_Sys
  86.  #--------------------------------------------------------------------------
  87.  # ● Initialize
  88.  #--------------------------------------------------------------------------
  89.  def initialize(x, y)
  90.     super(x, y)
  91.     update_position(x, y)
  92.     self.openness = 0
  93.     open
  94.  end
  95.  #--------------------------------------------------------------------------
  96.  # ● Window_width
  97.  #--------------------------------------------------------------------------
  98.  def window_width
  99.     return 160
  100.  end
  101.  #--------------------------------------------------------------------------
  102.  # ● Update_position
  103.  # x : x
  104.  # y : y
  105.  #--------------------------------------------------------------------------
  106.  def update_position(x, y)
  107.     self.x = x
  108.     self.y = y
  109.  end
  110.  #--------------------------------------------------------------------------
  111.  # ● Make_command_list
  112.  #--------------------------------------------------------------------------
  113.  def make_command_list
  114.     key = []
  115.     i = 0
  116.     Teleport.each{|e|
  117.       key << e[0]
  118.       add_command(key[i], :i)
  119.       i += 1
  120.     }
  121.     add_command("Quitter", :quit)
  122.  end
  123. end
  124.  
  125. #==============================================================================
  126. # ▼ Scene_Transfer
  127. #==============================================================================
  128. class Scene_Transfer < Scene_Base
  129.  include Mist_Transfer_Sys
  130.  #--------------------------------------------------------------------------
  131.  # ● Start
  132.  #--------------------------------------------------------------------------
  133.  def start
  134.     super
  135.     creer_win_help
  136.     creer_win_comm
  137.     creer_img
  138.  end
  139.  #--------------------------------------------------------------------------
  140.  # ● Creer_win_help
  141.  #--------------------------------------------------------------------------
  142.  def creer_win_help
  143.     @win_help = Window_Base.new(0, 0, 544, 44*Msg_Help.size)
  144.     Msg_Help.each do |i|
  145.     @win_help.draw_text(0, 32*Msg_Help.index(i), 544, 32, i, 1)
  146.   end
  147.  end
  148.  #--------------------------------------------------------------------------
  149.  # ● Creer_win_comm
  150.  #--------------------------------------------------------------------------
  151.  def creer_win_comm
  152.     @win_comm = Window_TransferCommand.new(0, @win_help.height)
  153.     @win_comm.height = Graphics.height - @win_help.height
  154.     @win_comm.set_handler(:i, method(:transf_process))
  155.     @win_comm.set_handler(:quit, method(:quitter))
  156.   end
  157.  #--------------------------------------------------------------------------
  158.  # ● Creer_img
  159.  #--------------------------------------------------------------------------
  160.  def creer_img
  161.     @sprite = Sprite.new
  162.     @sprite.x = @win_comm.width
  163.     @sprite.y = @win_help.height
  164.   end
  165.  #--------------------------------------------------------------------------
  166.  # ● Update
  167.  #--------------------------------------------------------------------------
  168.  def update
  169.     super
  170.     update_img
  171.   end
  172.  #--------------------------------------------------------------------------
  173.  # ● Dispose_all_sprites
  174.  #--------------------------------------------------------------------------
  175.   def dispose_all_sprites
  176.     instance_variables.each do |varname|
  177.       ivar = instance_variable_get(varname)
  178.       ivar.dispose if ivar.is_a?(Sprite)
  179.     end
  180.   end
  181.  #--------------------------------------------------------------------------
  182.  # ● Terminate
  183.  #--------------------------------------------------------------------------
  184.   def terminate
  185.     super
  186.     dispose_all_sprites
  187.   end
  188.  #--------------------------------------------------------------------------
  189.  # ● Update_img
  190.  #--------------------------------------------------------------------------
  191.  def update_img
  192.     key = []
  193.     Teleport.each{|e|
  194.       key << e[4]
  195.     }
  196.     @sprite.bitmap = Cache.tr_cache(clé[index]) rescue @sprite.bitmap = Cache.tr_cache(Image_Dft)
  197.   end
  198.  #--------------------------------------------------------------------------
  199.  # ● Transf_process
  200.  #--------------------------------------------------------------------------
  201.  def transf_process
  202.     i = @win_comm.index
  203.     $game_player.reserve_transfer(Teleport[i][1],Teleport[i][2],Teleport[i][3])
  204.     SceneManager.goto(Scene_Map)
  205.   end
  206.  #--------------------------------------------------------------------------
  207.  # ● Quitter
  208.  #--------------------------------------------------------------------------
  209.  def quitter
  210.     SceneManager.goto(Scene_Menu)
  211.   end
  212. end
  213.  
  214. #==============================================================================
  215. # ▼ Window_MenuCommand
  216. #==============================================================================
  217. class Window_MenuCommand < Window_Command
  218.   include Mist_Transfer_Sys
  219.   #--------------------------------------------------------------------------
  220.   # ● AJOUT ~
  221.   #--------------------------------------------------------------------------
  222.   def add_transfer_command
  223.     add_command(NOM_DS_MENU, :transfer)
  224.   end
  225.   #--------------------------------------------------------------------------
  226.   # ● MODIF ~
  227.   #--------------------------------------------------------------------------
  228.   def make_command_list
  229.     add_main_commands
  230.     add_formation_command
  231.     add_original_commands
  232.     add_transfer_command # AJOUT #
  233.     add_save_command
  234.     add_game_end_command
  235.   end
  236. end
  237.  
  238. #==============================================================================
  239. # ▼ Window_MenuCommand
  240. #==============================================================================
  241. class Scene_Menu < Scene_MenuBase
  242.   #--------------------------------------------------------------------------
  243.   # ● ALIAS ~
  244.   #--------------------------------------------------------------------------
  245.   alias mts_old_command create_command_window
  246.   def create_command_window
  247.     mts_old_command
  248.     @command_window.set_handler(:transfer,      method(:command_transfer))
  249.   end
  250.   #--------------------------------------------------------------------------
  251.   # ● AJOUT ~
  252.   #--------------------------------------------------------------------------
  253.   def command_transfer
  254.     SceneManager.call(Scene_Transfer)
  255.   end
  256. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top