Partagez
Aller en bas
Hinola
Hinola
Modérateur

Nombre de messages : 969
Age : 26
Distinction : Gagnant invaincu à ce jour de tous les concours de mapping de ce forum fait par Coco'
[Coco' Smile]
Grande figure du Mapping Show .
Grand admirateur de notre mascotte Vehyxine
STI Haruhiste like me [Hamu' Wink]
et fier de l'être ! [bibi ^^]
Un fier Homme du désert sans foi ni loi è_é [:3]
Date d'inscription : 21/05/2009

RPG Maker VX Ace Voyage rapide

le Mer 22 Mai 2019 - 10:47
Salut salut

Sur demande, j'ai créé un système de voyage rapide (qui peu d'ailleurs faire office d'autre chose)

Fonctionnement :



    Le système fonctionne par royaumes et lieux :
    Un royaume rassemble plusieurs lieux, chacun pouvant être accessible via ce menu.
    Ces lieux peuvent être ajoutés au fil du jeu, être inaccessibles, cachés, ou de dénomination inconnue.
    La sélection d'un lieu entraine l'appel d'un événement commun, que vous pouvez customiser à souhait.
    Liste des fonctions:

    Gestion de contenu
    - Ajout de royaume (identifiant, nom)
    - Ajout de lieu (identifiant, nom, royaume, map, x, y, visible, actif, connu)

    Modification de lieux en fonction de leur identifiant :
    - activer
    - désactiver
    - montrer
    - cacher
    - connaitre
    - oublier

    accéder aux valeurs :
    - map du lieu choisi via le menu
    - coord. x du lieu choisi
    - coord. y du lieu choisi

    Possibilités supplémentaires :
    - simuler la selection d'un lieu en dehors du menu

    Affichage du menu :
    - si aucun royaume n'est défini
    - 1 colonne
    - 2 colonnes
    - 3 colonnes avec défilement latéral

  • Captures d'écran
    Voyage rapide 1558514390-fast-travel
    Voyage rapide 1558514609-fast-travel2
    Voyage rapide 1558514606-fast-travel3


Utilisation :




  • Appeler le menu
    Pour appeler le menu, dans un événement utilisez la commande "appel de script" pour y écrire cette ligne :
    Code:
    open_travel_menu

  • Ajouter un royaume
    L'ajout d'un royaume se fait également par ligne de commande :
    Code:
    FT.add_realm(id: ID_UNIQUE, name: NOM_DU_ROYAUME)
    exemple :
    FT.add_realm(id: 1, name: "France")
    En détail :
    id: ID_UNIQUE
    Donnez ici un identifiant (1, 2, 3 ...) à votre royaume
    Cet identifiant est unique, et servira à modifier le royaume par la suite.
    name: NOM_DU_ROYAUME
    Le nom qui sera affiché en haut de la liste des lieux.

  • Ajouter un lieu
    L'ajout d'un royaume se fait également par ligne de commande :
    Code:
    FT.add_location(id: ID_UNIQUE, name: NOM_DU_LIEU, realm: ID_DU_ROYAUME, map: ID_DE_LA_MAP, x: COORD_X, y: COORD_Y, [options])
    exemple :
    FT.add_location(id: 1, name: "Paris", realm: 1, map: 5, x: 10, y: 10, active: false)
    En détail :
    id: ID_UNIQUE
    Donnez ici un identifiant (1, 2, 3 ...) à votre lieu
    Cet identifiant est unique, et servira à modifier le lieu par la suite.
    name: NOM_DU_LIEU
    Le nom affiché du lieu dans la liste
    realm: ID_DU_ROYAUME
    L'identifiant du royaume au quel est rattaché le lieu
    map: ID_DE_LA_MAP, x: COORD_X, y: COORD_Y
    L'identifiant de la map, et les coordonnées pour la téléportation
    Options :
    visible: true/false
    Si "true" ou rien, le nom du lieu sera affiché dans la liste des lieux du royaume.
    Si "false", le nom ne sera pas affiché.
    active: true/false
    Si "true", le choix du lieu sera faisable.
    Si "false" ou rien, le nom sera grisé et le choix ne pourra être validé.
    named: true/false
    Si "true", le nom du lieu sera remplacé par un autre texte (voir plus bas).
    Si "false" ou rien, le nom sera affiché normalement.

  • Modifier un lieu
    Les lieux sont modifiables pour leurs options d'affichage via les lignes de commandes suivantes :
    Code:
    FT.activate(id)
    FT.deactivate(id)
    FT.show(id)
    FT.hide(id)
    FT.know(id)
    FT.unknow(id)
    FT.activate /FT.deactivate
    Active ou désactive un lieu (le nom sera grisé et le choix impossible)
    FT.show/FT.hide
    Rend visible ou non un lieu (le nom ne sera pas affiché)
    FT.know/FT.unknow
    Le nom du lieu sera remplacé ou non par un texte défini

  • Simuler la sélection d'un lieu
    Il est possible de simuler la sélection d'un lieu d'une ligne de commande :
    Code:
    FT.select_location(id)
    exemple :
    FT.select_location(1)
    L'id est celui d'un lieu, découvert ou non.
    L'événement commun sera appelé.

  • Récupérer des informations
    Il est possible de récupérer les informations du lieu selectionné : map, coordonnées, et nom
    Code:
    FT.location_map
    FT.location_x
    FT.location_y
    FT.location_name
    Ces commandes sont utiles dans l'événement commun pour préparer la téléportation.
    Pour rappel, il est possible de stocker du texte dans les variables.
    Par exemple pour afficher le nom du lieu dans une fenêtre de dialogue.
    (voir plus bas)


Configuration :




  • Modifier les textes du menu
    La modification se fait dans le module Vocab intégré au script :
    Code:
    module Vocab
      FT_Title        = "Voyage rapide"
      FT_Unknow       = "(Inconnu)"
      FT_NoRealm      = "Aucun royaume n'a été découvert."
    end
    FT_Title
    Titre du menu de voyage rapide, s'affiche en haut de la fenêtre
    FT_Unknow
    Nom de remplacement des lieux inconnus, se remplace automatiquement si l'option "named" est "false"
    FT_NoRealm
    Texte si aucun royaume n'est découvert, s'affiche dans une fenêtre sous le titre.

  • Modifier le fonctionnement
    Code:
    module FT
      def self.common_event
        return 4
      end
      def self.initialize
        add_realm(id:1, name:"France")
        add_location(id:1, name:"Paris", realm:1, map:1, x:9, y:7, active:true)
        add_location(id:2, name:"Lion", realm:1, map:2, x:9, y:7, named:false)
      end
    end
    self.common_event
    Identifiant de l'événement commun appelé par la sélection d'un lieu. (dans cet exemple, 4)
    Si le nombre est inférieur à 1, aucun événement n'est appelé, pour une variante possible
    self.initialize
    Commandes appelées automatiquement à la création d'une nouvelle partie
    Notez qu'il n'est pas nécessaire ici de commencer les commandes par "FT."
    Pour des tests sur une partie existante, la commande "FT.initialize" peut être appelée dans un événement.


Evenement commun :




  • Exemple
    Voila un exemple d'évenement commun pouvant être appelé :
    Voyage rapide 1558512999-event-commun
    On utilise la commande de téléportation du logiciel, reglé via des variables pour l'id de la map, la position X et la position Y.
    Ces variables sont modifiées via les lignes de commande vues plus haut.

    La variable 9 ici stock le nom du lieu (donc un texte) et est affiché dans le message de confirmation via le code \V[9]
    Pour rappel, FT.location_name retourne le vrai nom du lieu, qu'il soit connu ou non.

  • Variante
    Rappelez vous, on peu configurer le système pour ne pas appeler d'événement commun.
    Mais pourquoi ?
    Voici un second exemple d'utilisation avec la configuration suivante
    Code:
    def self.common_event
      return 0
    end
    Voyage rapide 1558513969-event-commun2
    Ici on appel un événement commun via un événement, et on execute notre voyage juste après.
    Comme si le menu n'était qu'un choix dans un dialogue.



Scripts :




    Le script se trouve dans le message suivant.


Voila voila

Si vous avez des suggestions, retours, bugs, n'hésitez pas bien entendu.


Dernière édition par Hinola le Dim 26 Mai 2019 - 11:25, édité 1 fois

_________________
( Voyage rapide Icon_gender_male )
Voyage rapide 1469999672-signcourte

____________________________________________________
J'offre un support par messagerie privée pour ceux qui le veulent.
Présentation de projet | news | mapping | évents | scénario | personnages | tests | ...
click >>
Envoyez un mp clair de votre problème / question / idée, j'y répond dans les meilleurs délais possibles. << click
_______


Hinola
Hinola
Modérateur

Nombre de messages : 969
Age : 26
Distinction : Gagnant invaincu à ce jour de tous les concours de mapping de ce forum fait par Coco'
[Coco' Smile]
Grande figure du Mapping Show .
Grand admirateur de notre mascotte Vehyxine
STI Haruhiste like me [Hamu' Wink]
et fier de l'être ! [bibi ^^]
Un fier Homme du désert sans foi ni loi è_é [:3]
Date d'inscription : 21/05/2009

RPG Maker VX Ace Re: Voyage rapide

le Mer 22 Mai 2019 - 10:48
Code:


module Vocab
  # Titre du menu de voyage rapide
  FT_Title        = "Voyage rapide"
  # Nom de remplacement des lieux inconnus
  FT_Unknow      = "(Inconnu)"
  # Texte si aucun royaume n'est découvert
  FT_NoRealm      = "Aucun royaume n'a été découvert."
end

module FT
  #--------------------------------------------------------------------------
  # * Common event to call
  #--------------------------------------------------------------------------
  def self.common_event
    return 0
  end
  #--------------------------------------------------------------------------
  # * Commandes to start a new game
  #--------------------------------------------------------------------------
  def self.initialize
    add_realm(id:1, name:"France")
    add_location(id:1, name:"Paris", realm:1, map:1, x:9, y:7, active:true)
    add_location(id:2, name:"Lion", realm:1, map:2, x:9, y:7, named:false)
  end
end

#==============================================================================
# ** Game_FastTravel
#------------------------------------------------------------------------------
#  Main part of the fast travel system
#==============================================================================
class Game_FastTravel
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader  :realms
  attr_reader  :locations
  attr_reader  :selection
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @realms = []
    @locations = []
    @selection = nil
  end
  #--------------------------------------------------------------------------
  # * Return a realm with its index
  #--------------------------------------------------------------------------
  def realm(index)
    return nil unless @realms[index]
    @realms[index]
  end
  #--------------------------------------------------------------------------
  # * Return a location with its index
  #--------------------------------------------------------------------------
  def location(index)
    return nil unless @locations[index]
    @locations[index]
  end
  #--------------------------------------------------------------------------
  # * Select a location and call common event
  #--------------------------------------------------------------------------
  def select(id)
    @selection = @locations[id] || nil
    $game_temp.reserve_common_event(FT.common_event) if FT.common_event > 0
  end
  #--------------------------------------------------------------------------
  # * Set selection to no location
  #--------------------------------------------------------------------------
  def set_initial
    @selection = nil
  end
  #--------------------------------------------------------------------------
  # * Add a realm to the list
  #--------------------------------------------------------------------------
  def add_realm(realm)
    id = realm.id
    @realms[id] = realm
    puts "realm #{id} : \"#{realm.name}\" added"
  end
  #--------------------------------------------------------------------------
  # * Add a location to the list and in the realm
  #--------------------------------------------------------------------------
  def add_location(location)
    id = location.id
    realm = location.realm
    @locations[id] = location
    @realms[realm].add_location(location) if @realms[realm]
    puts "location #{id} : \"#{location.name}\" added in realm #{realm}"
  end
end

#==============================================================================
# ** Data_structures
#------------------------------------------------------------------------------

#==============================================================================
module RPG
  module FastTravel
#==============================================================================
# ** Realm
#------------------------------------------------------------------------------
#  Define realms, ids, names and locations list.
#==============================================================================
    class Realm
      attr_accessor :id
      attr_accessor :name
      attr_accessor :locations
      def initialize(id, name)
        @id = id
        @name = name
        @locations = []
      end
      def add_location(location)
        @locations.push(location)
      end
    end
   
#==============================================================================
# ** Location
#------------------------------------------------------------------------------
#  Define locations, ids, names, teleports, and display options
#==============================================================================
    class Location
      attr_accessor :id
      attr_accessor :name
      attr_accessor :realm
      attr_accessor :map
      attr_accessor :x
      attr_accessor :y
      attr_accessor :visible
      attr_accessor :active
      attr_accessor :named
      def initialize(id, name, realm, map, x, y, visible, active, named)
        @id = id
        @name = name
        @realm = realm
        @map = map
        @x = x
        @y = y
        @visible = visible
        @active = active
        @named = named
      end
      def activate;  @active=true;      end
      def deactivate; @active=false;      end
      def show;      @visible=true;      end
      def hide;      @visible=false;    end
      def know;      @named=true;        end
      def unknow;    @named=false;      end
    end
  end
end

#==============================================================================
# ** Scene_Travel
#------------------------------------------------------------------------------
#  This class performs the fast travel screen processing.
#==============================================================================
class Scene_Travel < Scene_Base
 
  def start
    super
    $game_fast_travel.set_initial
    create_item_list
    create_background
    create_realms_viewport
    create_title_window
    create_realms_windows
  end
  #--------------------------------------------------------------------------
  # * Get Number of Items
  #--------------------------------------------------------------------------
  def item_max
    @realms.size
  end
  #--------------------------------------------------------------------------
  # * Get Number of Save Files to Show on Screen
  #--------------------------------------------------------------------------
  def visible_max
    return 3
  end
  #--------------------------------------------------------------------------
  # * Get Max width of each realms
  #--------------------------------------------------------------------------
  def max_realm_width
    Graphics.width / visible_max
  end
  #--------------------------------------------------------------------------
  # * Select base of realms and locations
  #--------------------------------------------------------------------------
  def create_item_list
    @realms = $game_fast_travel.realms.compact
  end
  #--------------------------------------------------------------------------
  # * Create title
  #--------------------------------------------------------------------------
  def create_title_window
    @title_window = Window_Camp_Title.new
  end
  #--------------------------------------------------------------------------
  # * Create viewport
  #--------------------------------------------------------------------------
  def create_realms_viewport
    @realms_viewport = Viewport.new(0,48,Graphics.width, Graphics.height-48)
  end
  #--------------------------------------------------------------------------
  # * Create windows
  #--------------------------------------------------------------------------
  def create_realms_windows
    @index = 0
    @left_index = @index
    @windows_list = []
    @windows_title_list = []
    return create_no_realm_window if @realms.empty?
    @realms.each_with_index do |r,k|
      @windows_title_list[k] = Window_Realm_name.new(k, r.name, item_max)
      @windows_list[k] = Window_Realm.new(k, r.locations, item_max)
      @windows_title_list[k].viewport = @realms_viewport
      @windows_list[k].viewport = @realms_viewport
    end
    @windows_list[@index].activate
    @windows_list[@index].index = 0
  end
  #--------------------------------------------------------------------------
  # * Create window to inform player no realm have been found
  #--------------------------------------------------------------------------
  def create_no_realm_window
    @window_error = Window_No_Realm.new
  end
  #--------------------------------------------------------------------------
  # * Create Background
  #--------------------------------------------------------------------------
  def create_background
    @background_sprite = Sprite.new
    @background_sprite.bitmap = SceneManager.background_bitmap
    @background_sprite.color.set(16, 16, 16, 128)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    @windows_list.each  {|win|  win.update}
    update_selection
    update_cursor
  end
  #--------------------------------------------------------------------------
  # * Update Cursor
  #--------------------------------------------------------------------------
  def update_cursor
    last_index = @index
    cursor_right      if Input.trigger?(:RIGHT)  && !@realms.empty?
    cursor_left        if Input.trigger?(:LEFT)  && !@realms.empty?
    if @index != last_index
      Sound.play_cursor
      @windows_list[last_index].deactivate
      @windows_list[@index].activate
      @windows_list[@index].index =  [@windows_list[last_index].index,
                                      @windows_list[@index].item_max-1].min
      @windows_list[last_index].index = -1
    end
  end
  #--------------------------------------------------------------------------
  # * Update Realm Selection
  #--------------------------------------------------------------------------
  def update_selection
    on_cancel                if Input.trigger?(:B)
    on_selection              if Input.trigger?(:C)
  end
  #--------------------------------------------------------------------------
  # * Select location
  #--------------------------------------------------------------------------
  def on_selection
    return on_cancel if @realms.empty?
    location = @windows_list[@index].selected_location
    if location.active
      Sound.play_ok
      $game_fast_travel.select(location.id)
      scene_return
    else
      Sound.play_buzzer
    end
  end
  #--------------------------------------------------------------------------
  # * Cancel menu
  #--------------------------------------------------------------------------
  def on_cancel
    Sound.play_cancel
    scene_return
  end
  #--------------------------------------------------------------------------
  # * Go back to map/menu
  #--------------------------------------------------------------------------
  def scene_return
    SceneManager.return
  end
  #--------------------------------------------------------------------------
  # * Move Cursor Right
  #--------------------------------------------------------------------------
  def cursor_right()
    @index = (@index + 1) % item_max
    ensure_cursor_visible
  end
  #--------------------------------------------------------------------------
  # * Move Cursor Left
  #--------------------------------------------------------------------------
  def cursor_left()
    @index = (@index - 1 + item_max) % item_max
    ensure_cursor_visible
  end
  #--------------------------------------------------------------------------
  # * Scroll Cursor to Position Within Screen
  #--------------------------------------------------------------------------
  def ensure_cursor_visible
    @left_index = @index-2  if @index > @left_index + visible_max-1
    @left_index = @index    if @index < @left_index
    @realms_viewport.ox = @left_index * max_realm_width
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_background
    @windows_list.each  {|win|  win.dispose}
    @windows_title_list.each  {|win|  win.dispose}
    @window_error.dispose if @window_error
    dispose_realms_viewport
  end
  #--------------------------------------------------------------------------
  # * Free Background
  #--------------------------------------------------------------------------
  def dispose_background
    @background_sprite.dispose
  end
  #--------------------------------------------------------------------------
  # * Free viewport
  #--------------------------------------------------------------------------
  def dispose_realms_viewport
    @realms_viewport.dispose
  end
 
end

#==============================================================================
# ** Window_Camp_Title
#------------------------------------------------------------------------------
#  Top window of the fast travel scen, display the title (Vocab)
#==============================================================================
class Window_Camp_Title < Window_Base
 
  def initialize
    super(0,0,Graphics.width, 48)
    @text = Vocab::FT_Title
    refresh
  end
  def refresh
    contents.clear
    draw_text(0, 0, width, 24, @text, 1)
  end
end

#==============================================================================
# ** Window_No_Realm
#------------------------------------------------------------------------------
#  Error window in case no realms have been discovered
#==============================================================================
class Window_No_Realm < Window_Base
 
  def initialize
    super(0,48,Graphics.width, 48)
    @text = Vocab::FT_NoRealm
    refresh
  end
  def refresh
    contents.clear
    draw_text(0, 0, width, 24, @text, 1)
  end
 
end

#==============================================================================
# ** Window_Realm_name
#------------------------------------------------------------------------------
#  Name of each realms on top of the selection window
#==============================================================================
class Window_Realm_name < Window_Base
 
  def initialize(index, name, nb)
    width = Graphics.width/[nb, 3].min
    height = 48
    x = width * index
    super(x, 0, width, height)
    @text = name
    refresh
  end
  def refresh
    contents.clear
    draw_text(0, 0, width, 24, @text)
  end
end

#==============================================================================
# ** Window_Realm
#------------------------------------------------------------------------------
#  Location selection window, for each realms
#==============================================================================
class Window_Realm < Window_Selectable
 
  def initialize(index, data, nb)
    width = Graphics.width/[nb, 3].min
    height = Graphics.height - 96
    x = width * index
    super(x, 48, width, height)
    create_item_list(data)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Get Number of Items
  #--------------------------------------------------------------------------
  def item_max
    @data ? @data.size : 1
  end
  #--------------------------------------------------------------------------
  # * Get Number of Items
  #--------------------------------------------------------------------------
  def selected_location
    @data[@index]
  end
  #--------------------------------------------------------------------------
  # * Create name list
  #--------------------------------------------------------------------------
  def create_item_list(data)
    @data = data.select{|d|  d.visible}
  end
  #--------------------------------------------------------------------------
  # * Draw Item
  #--------------------------------------------------------------------------
  def draw_item(index)
    name = (@data[index].named)? @data[index].name : Vocab::FT_Unknow
    change_color(normal_color, @data[index].active)
    draw_text(item_rect_for_text(index), name)
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    create_contents
    draw_all_items
  end 
end

#==============================================================================
# ** Game_Interpreter
#------------------------------------------------------------------------------
#  An interpreter for executing event commands. This class is used within the
# Game_Map, Game_Troop, and Game_Event classes.
#==============================================================================
class Game_Interpreter
 
  def open_travel_menu
    SceneManager.call(Scene_Travel)
    Fiber.yield while SceneManager.scene_is?(Scene_Travel)
  end

end

#==============================================================================
# ** FT
#------------------------------------------------------------------------------
#  Module used to call fast travel commands
#==============================================================================
module FT
  class << self
    def get(id);                          $game_fast_travel.location(id);  end
    def boolean_default(test, default);  (test.nil?)? default : test;      end
    #--------------------------------------------------------------------------
    # * Add a new realm
    #--------------------------------------------------------------------------
    def add_realm(hash)
      realm = RPG::FastTravel::Realm.new(hash[:id], hash[:name])
      $game_fast_travel.add_realm(realm)
    end
    #--------------------------------------------------------------------------
    # * Add a new location
    #--------------------------------------------------------------------------
    def add_location(hash)
      loc = RPG::FastTravel::Location.new(
        hash[:id]    || 0,
        hash[:name]  || Game_FastTravel::unknow_name,
        hash[:realm]  || 0,
        hash[:map]    || $data_system.start_map_id,
        hash[:x]      || $data_system.start_x,
        hash[:y]      || $data_system.start_y,
        boolean_default(hash[:visible],true),
        boolean_default(hash[:active],false),
        boolean_default(hash[:named],true))
      $game_fast_travel.add_location(loc)
    end
    #--------------------------------------------------------------------------
    # * Simulate location selection
    #--------------------------------------------------------------------------
    def select_location(id)
      $game_fast_travel.select(id)
    end
    #--------------------------------------------------------------------------
    # * Get selected location map
    #--------------------------------------------------------------------------
    def location_map
      return 0 unless select = $game_fast_travel.selection
      select.map
    end
    #--------------------------------------------------------------------------
    # * Get selected location x coordonate
    #--------------------------------------------------------------------------
    def location_x
      return 0 unless select = $game_fast_travel.selection
      select.x
    end
    #--------------------------------------------------------------------------
    # * Get selected location y coordonate
    #--------------------------------------------------------------------------
    def location_y
      return 0 unless select = $game_fast_travel.selection
      select.y
    end
    #--------------------------------------------------------------------------
    # * Get selected location true name
    #--------------------------------------------------------------------------
    def location_name
      return 0 unless select = $game_fast_travel.selection
      select.name
    end
    #--------------------------------------------------------------------------
    # * Set location options
    #--------------------------------------------------------------------------
    def activate(id);    (l = get(id))? l.activate : -1;    end
    def deactivate(id);  (l = get(id))? l.deactivate : -1;  end
    def show(id);        (l = get(id))? l.show : -1;        end
    def hide(id);        (l = get(id))? l.hide : -1;        end
    def know(id);        (l = get(id))? l.know : -1;        end
    def unknow(id);      (l = get(id))? l.unknow : -1;      end
  end
end

#==============================================================================
# ** DataManager
#------------------------------------------------------------------------------
#  Patch save and load methods to include fast travel
#==============================================================================
module DataManager
  class << self
    #--------------------------------------------------------------------------
    # * Create Game Objects
    #--------------------------------------------------------------------------
    alias_method :ft_create_game_objects, :create_game_objects
    def create_game_objects
      ft_create_game_objects
      $game_fast_travel = Game_FastTravel.new
    end
    #--------------------------------------------------------------------------
    # * Create Save Contents
    #--------------------------------------------------------------------------
    alias_method :ft_make_save_contents, :make_save_contents
    def make_save_contents
      contents = ft_make_save_contents
      contents[:fast_travel]    = $game_fast_travel
      contents
    end
    #--------------------------------------------------------------------------
    # * Extract Save Contents
    #--------------------------------------------------------------------------
    alias_method :ft_extract_save_contents, :extract_save_contents
    def extract_save_contents(contents)
      ft_extract_save_contents(contents)
      if contents[:fast_travel]
        $game_fast_travel        = contents[:fast_travel]
      else
        $game_fast_travel        = Game_FastTravel.new
      end
    end
    #--------------------------------------------------------------------------
    # * Set Up New Game
    #--------------------------------------------------------------------------
    alias_method :ft_setup_new_game, :setup_new_game
    def setup_new_game
      ft_setup_new_game
      FT.initialize
    end
  end
end

_________________
( Voyage rapide Icon_gender_male )
Voyage rapide 1469999672-signcourte

____________________________________________________
J'offre un support par messagerie privée pour ceux qui le veulent.
Présentation de projet | news | mapping | évents | scénario | personnages | tests | ...
click >>
Envoyez un mp clair de votre problème / question / idée, j'y répond dans les meilleurs délais possibles. << click
_______


Élogio
Élogio
Membre

Nombre de messages : 472
Localisation : Discord
Distinction : Vainqueurs Quicker I - Saison 2 [Amal']
Blagueur un peu nul mais on l'aime bien quand même [Yama']
Élologigio, un taquin qu'on aime bien taquiner [:3]
Poisson 2018 [Amal']
Duo comique du fofo' de 2017 à aujourd'hui feat Symphotang :v (mais on aime qd même <3) [:3]
Directeur du zoo sur le thème des rats [Yama]
Date d'inscription : 12/02/2017

RPG Maker VX Ace Re: Voyage rapide

le Ven 24 Mai 2019 - 19:02
Je n'ai pas vraiment l'occasion de tester ça...

Par contre sur papier c'est vraiment génial! Je ne connais pas d'équivalent, typiquement le genre de scripts qui finira dans beaucoup de projets! Voyage rapide 1146851645
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum