Le Deal du moment :
Display Pokémon japonaise Terastal Festival Ex ...
Voir le deal

Aller en bas
XakuX
XakuX
Membre

Nombre de messages : 1263
Age : 29
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

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 : 2760
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

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 : 33
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

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

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
Berka
Berka
Staffeux retraité

Nombre de messages : 1832
Age : 33
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

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
cator. lol
cator. lol
Membre

Nombre de messages : 164
Age : 33
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

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 ?
dricc
dricc
Membre

Nombre de messages : 2760
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

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 : 32
Localisation : Amos
Distinction : aucune
Date d'inscription : 22/09/2009

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

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:
dricc
dricc
Membre

Nombre de messages : 2760
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

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)
zido
zido
Membre

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

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

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 : 33
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

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

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:

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 : 33
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

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 : 28
Localisation : France
Distinction : aucune
Date d'inscription : 19/05/2012

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

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 : 1701
Age : 38
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

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

Dim 20 Mai 2012 - 19:39
Personne pour re-uploader la démo ?
Brandobscure
Brandobscure
Membre

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

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

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
Brandobscure
Brandobscure
Membre

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

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

Sam 26 Mai 2012 - 11:19
Merci beaucoup, ton script vas me servir.
Contenu sponsorisé

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

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum