Partagez
Aller en bas
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MTS - MistTransferSystem v.1.0 Empty [RGSS3]MTS - MistTransferSystem v.1.0

le Lun 6 Fév 2012 - 18:41
MTS permet de créer un système de téléportation, intégrable dans un menu ou bien utilisable à part.
Il est encore au stade de développement, mais en voici un aperçu. Tout est paramétrable via le script, et une modification du système de téléportation pour le rendre plus customisable est envisagée pour la V2.


~ Screens ~

[RGSS3]MTS - MistTransferSystem v.1.0 Screenshot_2-8fec092b98
Merci pour l'illustration LightNox Wink

~ Script ~


Code:
#==============================================================================
# ▼ MTS - MistTransferSystem
# Version : 1.0
#------------------------------------------------------------------------------
# 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.
#==============================================================================
TMP = "MTS"
Dir.mkdir("Graphics/#{TMP}", 0777) rescue nil
FileTest.exist?(TMP) ? nil : p("Le dossier #{TMP} a bien été créé !")

#==============================================================================
# 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"
    # Répertoire où aller chercher les images
    Tr_Cache = "Graphics/#{TMP}/"
    #----------------------------------------------------------
    #                  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(Mist_Transfer_Sys::Tr_Cache, 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
  clé = []
  for i in 0...Teleport.size
    clé.push(Teleport[i][0])
    add_command(clé[i], :i)
  end
    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
  index = @win_comm.index
  clé = []
    for i in 0...Teleport.size
    clé.push(Teleport[i][4])
    end
    @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


~ Démo ~

Voici une démo' avec le nécessaire de fonctionnement.

Télécharger

Enjoy!


Dernière édition par Mist' le Lun 6 Fév 2012 - 22:57, édité 5 fois
XakuX
XakuX
Membre

Nombre de messages : 1263
Age : 25
Localisation : là où tu n'auras jamais l'idée de chercher !
Distinction : * Bougre d'âne


Le bizu' à son Coco' [RGSS3]MTS - MistTransferSystem v.1.0 344805
[Coco' Smile]

Membre aux désirs inassouvis de domination mondiale. [Maître du destin]
Date d'inscription : 13/12/2008

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Lun 6 Fév 2012 - 19:01
Je suis curieux de savoir ce que ça me donne, parce que ça m'a l'air tout à fait cool Very Happy
dricc
dricc
Membre

Nombre de messages : 2757
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Lun 6 Fév 2012 - 19:23
Ah oui , excellent . C'est toujours utile (surtout pour un T-RPG par exemple) .

Mais , euh , ce serait possible d'avoir un switch ou quoi que ce soit d'autre pour désactiver temporairement certaines destinations ? En fait , le top serait qu'on puisse au choix griser ou enlever carrément de la liste .
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 29
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Lun 6 Fév 2012 - 20:03
vue que j'ai participer je sais ce que sa donne moi ahah ^^
et je peut vous dire que quand mist' aura fait la présentation vous ne serez pas déçu je pense Wink
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Lun 6 Fév 2012 - 22:07
Hop, édité et présenté comme il se devait.

@Dricc a écrit:Mais , euh , ce serait possible d'avoir un switch ou quoi que ce soit d'autre pour désactiver temporairement certaines destinations ? En fait , le top serait qu'on puisse au choix griser ou enlever carrément de la liste .

J'suis complètement d'accord, mais pour griser, enlever de la liste, comment?
P't'être rajouter un argument dans les tableaux, ID de l'interrupteur d'activation, mais ça fait beaucoup de switches quand même... T'aurais pas une idée pour compenser? x)
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Lun 6 Fév 2012 - 22:24
Ah ! le voilà ce fameux script !

Quelques petites remarques:

- Par convention on ne met pas de caractère accentué dans les noms d'objets en programmation. C'est pour éviter les incompatibilités et notamment les bugs dus aux affichages sur les sites anglais.

- Plus rapide: plutôt que:
Code:
for i in 0...Teleport.size
    clé.push(Teleport[i][4])
end
fais ça:
Code:
Teleport.each{|e|
    clé << e[4]
}

- Plutot que:
Code:
@sprite.bitmap = Cache.tr_cache(clé[index]) rescue @sprite.bitmap = Cache.tr_cache(Image_Dft)
Fais ca:
Code:
@sprite.bitmap = Cache.tr_cache(clé[index] || Image_Dft)
si clé[index] est non défini (clé[index]==nil) alors on retourne Image_Dft

Bonne soirée,

Berka
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Lun 6 Fév 2012 - 22:37
Héhé, Berka, toujours au top!
Merci, tu m'apprends quelque chose là!
Je le met tout ça dans le script de ma future V.2. Wink
cator. lol
cator. lol
Membre

Nombre de messages : 164
Age : 28
Localisation : Cherche pas, tu me trouveras jamais.
Distinction : Zoophile à ses heures perdues, au torse poilu et qui chante YMCA
Frère de poils!
[Mist' Wink]
Maître du plantage d'arbres à femme : pour la sauvegarde des arbres et des petits oiseaux, vive la nature. [Balb' Wink]
crefadet le violeur du bois [Balb' [RGSS3]MTS - MistTransferSystem v.1.0 522164]
Date d'inscription : 02/02/2012

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Mar 7 Fév 2012 - 8:22
Moi qui croyais que le Ruby était un langage de haut niveau, je suis choqué XD
Je pensais pas qu'il se rapprochait autant du C++. [/HS]

N'ayant pas téléchargé la démo car je n'ai pas VXAce (pas encore, du moins), je ne m'avance pas trop, mais un tel système n'est-il pas plus facilement réalisable en événement ?
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Mar 7 Fév 2012 - 10:58
A la base, le MTS est aussi prévu pour une customisation des téléportations.
Ce sera disponible dans une prochaine version du script.
Cette partie là est quant à elle, facilement réalisable en évènements, peut-être m'enfin après, chacun fait comme il le sent, je ne suis pas un anti-eventmaker non-plus. xD

De toutes façons, la prochaine version sera encore plus customisable. :3
dricc
dricc
Membre

Nombre de messages : 2757
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Mar 7 Fév 2012 - 13:24
Mist' a écrit:Hop, édité et présenté comme il se devait.

@Dricc a écrit:Mais , euh , ce serait possible d'avoir un switch ou quoi que ce soit d'autre pour désactiver temporairement certaines destinations ? En fait , le top serait qu'on puisse au choix griser ou enlever carrément de la liste .

J'suis complètement d'accord, mais pour griser, enlever de la liste, comment?
P't'être rajouter un argument dans les tableaux, ID de l'interrupteur d'activation, mais ça fait beaucoup de switches quand même... T'aurais pas une idée pour compenser? x)


Par appel de script , ce serait peut-etre plus simple . genre :

Modify_transfert('Volcan','Enable',TRUE) # rend actif
Modify_transfert('Volcan','Enable',FALSE) # rend inactif(grisé)
Modify_transfert('Volcan','Display',TRUE) # affiché
Modify_transfert('Volcan','Display',FALSE) # non affiché

Ou qq chose comme ça . Et comme ça , on pourrait agir avec un"appeler script" pour modifier la liste des destinations . ça a l'air compliqué pour un profane mais il fera des copier-coller et pourra s'en sortir sans piger le code .

Azuma-01
Azuma-01
Membre

Nombre de messages : 94
Age : 27
Localisation : Amos
Distinction : aucune
Date d'inscription : 22/09/2009

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Mar 7 Fév 2012 - 21:20
@dricc a écrit:Par appel de script , ce serait peut-etre plus simple . genre :

Modify_transfert('Volcan','Enable',TRUE) # rend actif
Modify_transfert('Volcan','Enable',FALSE) # rend inactif(grisé)
Modify_transfert('Volcan','Display',TRUE) # affiché
Modify_transfert('Volcan','Display',FALSE) # non affiché

Ou qq chose comme ça . Et comme ça , on pourrait agir avec un"appeler script" pour modifier la liste des destinations . ça a l'air compliqué pour un profane mais il fera des copier-coller et pourra s'en sortir sans piger le code .

et pour recupérer les éléments visible on pourait utiliser la methode Array#select
Code:
Teleport.select{|a| a[index_si_visible] }.each{ ...ajouter dans clé...

Rendu là ça relève des préférences du programmeur, mais bon... :dehors:
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Jeu 9 Fév 2012 - 10:36
Exactement!

Puis, je pensais me servir de la classe Game_System avec une méthode qui ferait le tri d'informations à ajouter/supprimer dans une variable[], et vérifierait si on doit griser ou non, etc., directement dans la Scene selon l'id rentré en argument grâce à la technique d'Azuma.
Cette variable contiendrait donc la Constante Teleport, et avec la méthode Array#delete(arg), je supprime les valeurs de mon tableau récupéré, et j'me ressers d'un appel du style :

Code:
$game_system.mod_teleport(fonction = 0 1 ou 2, id_du_array_dans_ma_constante_par_defaut = 0)

Utilisable dans un évènement commun, donc. :3
dricc
dricc
Membre

Nombre de messages : 2757
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Jeu 9 Fév 2012 - 11:04
Dans ce cas , tu pourrais mettre cette methode dans Game_Interpreter plutot que Game_system . ça simplifie puisque dans ton evenement commun tu pourras faire directement :

Code:

mod_teleport(fonction = 0 1 ou 2, id_du_array_dans_ma_constante_par_defaut = 0)
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Jeu 9 Fév 2012 - 11:18
Ca pourrait être intéressant, mais j'serais pas obligé d'instancier une nouvelle fois Game_Interpreter dans Scene_Teleport si je fais ça?
Parce que le tableau final récupéré grâce à la méthode me servira aussi dans la Scene, pour uniformiser le code et ainsi faire les opérations sur mon Array. A moins que ce soit défini dans les globales du DataManager de Ace, mais il me semble que ça aurait plus sa place dans Scene_Map/Game_Map... Non? Parce qu'il doit y avoir un Interpreter sur la Map, et surement un dans les Battle, donc on ne peut logiquement pas se servir d'une seule globale, puisque je suppose qu'il faudrait la clear puis la redéfinir à chaque transition entre Map/Battle, et ce, sans pouvoir dumper les données (positions des évènements, par exemple).

Après, j'peux me tromper. Mais, à la limite, je pense qu'il faudrait carrément faire une méthode dans le Game_System, utilisable comme j'l'ai fait plus haut, puis ensuite coder dans le Game_Interpreter une méthode relais se servant de l'objet Game_System, comme tu viens de le faire. Plus pratique, en effet.
zido
zido
Membre

Nombre de messages : 67
Age : 24
Localisation : France
Distinction : aucune
Date d'inscription : 19/05/2012

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Sam 19 Mai 2012 - 23:21
"Invalid or deleted file" Crying or Very sad
Quelqu'un peut me donner un autre lien ou le script directement plz Smile
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 29
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Dim 20 Mai 2012 - 0:37
Euh .... Oo.
a part que tu n'est pas bien lu je ne sais pas ou est le problème ??

Code:
#==============================================================================
# ▼ MTS - MistTransferSystem
# Version : 1.0
#------------------------------------------------------------------------------
# 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.
#==============================================================================
TMP = "MTS"
Dir.mkdir("Graphics/#{TMP}", 0777) rescue nil
FileTest.exist?(TMP) ? nil : p("Le dossier #{TMP} a bien été créé !")

#==============================================================================
# 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"
    # Répertoire où aller chercher les images
    Tr_Cache = "Graphics/#{TMP}/"
    #----------------------------------------------------------
    #                  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(Mist_Transfer_Sys::Tr_Cache, 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
  clé = []
  for i in 0...Teleport.size
    clé.push(Teleport[i][0])
    add_command(clé[i], :i)
  end
    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
  index = @win_comm.index
  clé = []
    for i in 0...Teleport.size
    clé.push(Teleport[i][4])
    end
    @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

et en bonus ça :
Spoiler:
[RGSS3]MTS - MistTransferSystem v.1.0 Mts10

Tu n'a pas besoin de la démo pour utiliser ce script tu as tout sous la main là.
Shadow-clad
Shadow-clad
Membre

Nombre de messages : 510
Age : 29
Localisation : A durbuy normal j'en suis le maire ! ^^
Distinction : Survivant ultime de Koh Lanta : Erem Vehyx 2010
[Denis Coco' Smile]
Date d'inscription : 18/06/2010
http://redmoonlight.forumgratuit.org/forum.htm

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Dim 20 Mai 2012 - 0:45
bon petit script merci mist en plus il est personalisable vraiment pas mal !
zido
zido
Membre

Nombre de messages : 67
Age : 24
Localisation : France
Distinction : aucune
Date d'inscription : 19/05/2012

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Dim 20 Mai 2012 - 0:46
:boulet: J'avais pas vu que le script était donné...
Merci de la réponse!
(Qu'est ce que je suis c** quand même [RGSS3]MTS - MistTransferSystem v.1.0 450709 )
Pharazon
Pharazon
Staffeux retraité

Nombre de messages : 1700
Age : 33
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' [RGSS3]MTS - MistTransferSystem v.1.0 522164]
Date d'inscription : 14/04/2010

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Dim 20 Mai 2012 - 16:16
le script est affiché sur le premier post. Tu as juste à le copier/coller dans ta page de script au dessus de main.
Chaos17
Chaos17
Membre

Nombre de messages : 222
Localisation : France
Distinction : aucune
Date d'inscription : 11/04/2012
http://blogofchaos17.wordpress.com/

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Dim 20 Mai 2012 - 19:39
Personne pour re-uploader la démo ?
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Dim 20 Mai 2012 - 22:48
Le script est dans le post Wink
Brandobscure
Brandobscure
Membre

Nombre de messages : 531
Age : 23
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Ven 25 Mai 2012 - 19:00
Salut !

Dis ?
Sur ton script a cette ligne :

Code:
Tr_Cache = "Graphics/#{TMP}/"

Si je veux changer le répertoire de destinations et le mettre
dans Battlebacks je met sa :

Code:
Tr_Cache = "Graphics/Battlebacks1#{TMP}/"
?

Merci d'avance Very Happy
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Ven 25 Mai 2012 - 20:03
Change ça :

Code:
TMP = "MTS"

En ça :

Code:
TMP = "Battlebacks1"

Enjoy, j'referais une démo un de ces jours, avec une update Wink
Brandobscure
Brandobscure
Membre

Nombre de messages : 531
Age : 23
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011

[RGSS3]MTS - MistTransferSystem v.1.0 Empty Re: [RGSS3]MTS - MistTransferSystem v.1.0

le Sam 26 Mai 2012 - 11:19
Merci beaucoup, ton script vas me servir.
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum