Partagez
Aller en bas
avatar
Clash
Membre

Nombre de messages : 1023
Age : 21
Distinction : aucune
Date d'inscription : 12/10/2011

[Résolu] Demande de transposition d'un script RGSS2 en RGSS3

le Sam 7 Juil 2012 - 13:41
Salut! Donc voila j'aurai besoin que quelqu'un me traduise ce script en RGSS3 pour que je puisse l'utiliser avec Ace. J'ai moi-même essayé, mais les scripts et moi...

Bref, voila le script en question:

Code:
# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

# °  Installation :

#  Insérez le script au dessus de main & jetez un coup d'œil au module de

#  configuration

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

# °  Utilisation

# >> Dans le cas d'un butin simple (1 seul objet)

# Dans l'event, selectioner "Appel de script", et mettre :

# gain(type,index,num,lieu)

#  Type = Le type de l'objet (1 : Objets / 2 : Armes / 3 : Armures / 4 : Gils / 5 : Exp)

#  Index = L'ID de l'objet obtenu (0 en cas de gils) /!\ Il faut mettre un 0 ou un autre chiffre, en cas de gils,

#                                                                                            et ne sourtout pas mettre gain(4,123) ou gain(4,123,1) 

#                                                                                            les arguments num (et lieu) seraient décalé et le script

#                                                                                            ne comprendrais pas.

#    /!\ Pour le gain d'expérience, mettez l'ID de votre héros, ou 0 pour toute l'équipe

#  Num = La quantité d'objets/gils reçus

#

#  /!\ Lieu est facultatif, pour les données affiché par défaut voir le module de configuration

#  Lieu = Le lieu d'où le script est appelé. Il peut s'agir de différentes situation, si il est appelé d'un

#  coffre par exemple, le texte d'intitulé changera en "Butin trouvé", si un PNJ les donnes alors il

#  affichera "Butin reçu". Les textes et son sont changeables dans le module de configuration.

#  Par défaut on trouve :

#      - Rien : Texte par défaut

#      - 1 : Coffre

#      - 2 :  PNJ

#      - 3 : Autres

# /!\ Ce sont les utilisation par défaut, vous pouvez très bien modifier ! Il suffit de modifier

# dans le module de configuration les valeurs des textes et sons !

# => Pour ceux qui s'y connaissent un peu en script, il peuvent rajouter des options, cherchez la méthode :

#  def set_text(lieu) (~ ligne 273) et modifiez le case comme ceci :

#  case lieu

#~      when 0 # Par défaut

#~        title = "Butin"

#~        Audio.se_play("Audio/SE/#{Config_Contenu::SE_defaut}",

#            Config_Contenu::Volume_defaut,

#            Config_Contenu::Tempo_defaut) if Config_Contenu::Musique_defaut

#~      when 1 # Coffre

#~        title = Config_Contenu::Text_coffre

#~        Audio.se_play("Audio/SE/#{Config_Contenu::SE_coffre}",

#            Config_Contenu::Volume_coffre,

#            Config_Contenu::Tempo_coffre) if Config_Contenu::Musique_coffre

#~      when 2 # PNJ

#~        title = Config_Contenu::Text_pnj

#~        Audio.se_play("Audio/SE/#{Config_Contenu::SE_pnj}",

#            Config_Contenu::Volume_pnj,

#            Config_Contenu::Tempo_pnj)  if Config_Contenu::Musique_pnj

#~      when 3 # Recu (Autres coffre/PNJ)

#~        title = Config_Contenu::Text_autre

#~        Audio.se_play("Audio/SE/#{Config_Contenu::SE_autre}",

#            Config_Contenu::Volume_autres,

#            Config_Contenu::Tempo_autres)  if Config_Contenu::Musique_coffre

#~      when x

#            title = "Votre texte"

#            Audio.se_play("Audio/SE/nom_de_votre_se",volume_du_se, tempo_du_se)

#    end

# => Ou x est le nombre pour appeler votre option, et nom_de_votre_se & volume_du_se & tempo_du_se sont explicites

#

#  Exemple : gain(1,5,7,2) va donner l'objet (1) Ether (qui a pour ID 5) en 7 exemplaire avec l'option 1 (Coffre, par défaut)

#

# >> Dans le cas d'un butin multiples (> 1 seul objet)

# Ce sont exactement les même réglages sauf que si vous voulez donner un ether x6 et une massue x1 avec option PNJ

# gain([1,2], [5,1]  ,  [6,1] , 2)

#          type  index  num  lieu

# C'est le même fonctionement sauf sous forme de tableau !

# /!\ Attention il ne peut pas avoir plusieurs options de lieu.

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#===============================================================

# ° [VX] Afficher les objets trouvés/reçu sur la map

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#  ° Par Blockade

#  ° http://rpg-maker-vx.bbactif.com/forum.htm

#  ° Crée le 12/04/10

#  ° Version 1.1

#  ° Remerciment à Khai ( http://ktbanh.wordpress.com/)

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

# ° Notes de version :

#    ~ v 1.0

#      - Sortie du script

#    ~ v 1.1

#      - Permet de gagner de l'expérience

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

# °  Fonctionnalités (v 1.1)

#  - Affiche une fenêtre avec les objets obtenu     

#  - Gestion des gains multiples

#  - Adaptable en fonction des situations

#  - Possibilité de gagner de l'expérience

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

# °  Installation :

#  Insérez le script au dessus de main & jetez un coup d'œil au module de

#  configuration

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

# °  Utilisation

# >> Dans le cas d'un butin simple (1 seul objet)

# Dans l'event, selectioner "Appel de script", et mettre :

# gain(type,index,num,lieu)

#  Type = Le type de l'objet (1 : Objets / 2 : Armes / 3 : Armures / 4 : Gils / 5 : Exp)

#  Index = L'ID de l'objet obtenu (0 en cas de gils) /!\ Il faut mettre un 0 ou un autre chiffre, en cas de gils,

#                                                                                            et ne sourtout pas mettre gain(4,123) ou gain(4,123,1) 

#                                                                                            les arguments num (et lieu) seraient décalé et le script

#                                                                                            ne comprendrais pas.

#    /!\ Pour le gain d'expérience, mettez l'ID de votre héros, ou 0 pour toute l'équipe

#  Num = La quantité d'objets/gils reçus

#

#  /!\ Lieu est facultatif, pour les données affiché par défaut voir le module de configuration

#  Lieu = Le lieu d'où le script est appelé. Il peut s'agir de différentes situation, si il est appelé d'un

#  coffre par exemple, le texte d'intitulé changera en "Butin trouvé", si un PNJ les donnes alors il

#  affichera "Butin reçu". Les textes et son sont changeables dans le module de configuration.

#  Par défaut on trouve :

#      - Rien : Texte par défaut

#      - 1 : Coffre

#      - 2 :  PNJ

#      - 3 : Autres

# /!\ Ce sont les utilisation par défaut, vous pouvez très bien modifier ! Il suffit de modifier

# dans le module de configuration les valeurs des textes et sons !

# => Pour ceux qui s'y connaissent un peu en script, il peuvent rajouter des options, cherchez la méthode :

#  def set_text(lieu) (~ ligne 273) et modifiez le case comme ceci :

#  case lieu

#~      when 0 # Par défaut

#~        title = "Butin"

#~        Audio.se_play("Audio/SE/#{Config_Contenu::SE_defaut}",

#            Config_Contenu::Volume_defaut,

#            Config_Contenu::Tempo_defaut) if Config_Contenu::Musique_defaut

#~      when 1 # Coffre

#~        title = Config_Contenu::Text_coffre

#~        Audio.se_play("Audio/SE/#{Config_Contenu::SE_coffre}",

#            Config_Contenu::Volume_coffre,

#            Config_Contenu::Tempo_coffre) if Config_Contenu::Musique_coffre

#~      when 2 # PNJ

#~        title = Config_Contenu::Text_pnj

#~        Audio.se_play("Audio/SE/#{Config_Contenu::SE_pnj}",

#            Config_Contenu::Volume_pnj,

#            Config_Contenu::Tempo_pnj)  if Config_Contenu::Musique_pnj

#~      when 3 # Recu (Autres coffre/PNJ)

#~        title = Config_Contenu::Text_autre

#~        Audio.se_play("Audio/SE/#{Config_Contenu::SE_autre}",

#            Config_Contenu::Volume_autres,

#            Config_Contenu::Tempo_autres)  if Config_Contenu::Musique_coffre

#~      when x

#            title = "Votre texte"

#            Audio.se_play("Audio/SE/nom_de_votre_se",volume_du_se, tempo_du_se)

#    end

# => Ou x est le nombre pour appeler votre option, et nom_de_votre_se & volume_du_se & tempo_du_se sont explicites

#

#  Exemple : gain(1,5,7,2) va donner l'objet (1) Ether (qui a pour ID 5) en 7 exemplaire avec l'option 1 (Coffre, par défaut)

#

# >> Dans le cas d'un butin multiples (> 1 seul objet)

# Ce sont exactement les même réglages sauf que si vous voulez donner un ether x6 et une massue x1 avec option PNJ

# gain([1,2], [5,1]  ,  [6,1] , 2)

#          type  index  num  lieu

# C'est le même fonctionement sauf sous forme de tableau !

# /!\ Attention il ne peut pas avoir plusieurs options de lieu.

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/



#===============================================================

# Début de la configuration

module Config_Contenu

#------------------------------------------

# >> Configuration des textes

#------------------------------------------

Text_gain_gold = "Gils obtenus" # Texte affiché avant la quantité d'argent obtenu

Text_quantite = "x" # Texte situé avant la quantité d'objet gagné

Text_gain_exp = "Exp. obtenue" # Texte affiché avant la quantité d'argent obtenu

Afficher_level_up = true # Afficher les nouveau sorts si le héros gagne un niveau



#------------------------------------------

# >> Configuration des graphiques

#------------------------------------------

Update_spiriteset = true # Continuer à faire bouger les autotitles lors de l'apparition de la fenêtre (L'eau par exemple)

Update_event = false      # Continuer à exécuter les events



#------------------------------------------

# >> Configuration des icones

#------------------------------------------

Icone_argent = 85 # L'ID de l'icône affichée pour l'argent

Icone_exp = 95 # L'ID de l'icône affichée pour l'expérience



#------------------------------------------

# >> Configuration du titre affiché

#------------------------------------------

# > Par défaut

Text_defaut = "Butin"      # Texte affiché par défaut lors de l'obtention d'un butin

Musique_defaut = true    # Jouer le SE ? (par défaut)

SE_defaut = "Saint5"      # Le SE joué par défaut lors de l'obtention d'un butin

Volume_defaut = 100    # Le volume du SE joué par défaut

Tempo_defaut  = 100    # Le tempo du SE joué par défaut



# > Un coffre (Lieu = 1)

Text_coffre = "Butin trouvé"    # Texte affiché  lors de l'obtention d'un butin (Lieu = 1)

Musique_coffre = true            # Jouer le SE ? (Lieu = 1)

SE_coffre = "Chest"                # Le SE joué lors de l'obtention d'un butin (Lieu = 1)

Volume_coffre= 100                # Le volume du SE joué (Lieu = 1)

Tempo_coffre = 100                # Le tempo du SE joué (Lieu = 1)



# > Un PNJ (Lieu = 2)

Text_pnj = "Butin reçu"          # Texte affiché  lors de l'obtention d'un butin (Lieu = 2)

Musique_pnj = true                # Jouer le SE ? (Lieu = 2)

SE_pnj = "Saint5"                    # Le SE joué lors de l'obtention d'un butin (Lieu = 2)

Volume_pnj = 100                  # Le volume du SE joué (Lieu = 2)

Tempo_pnj  = 100                  # Le tempo du SE joué (Lieu = 2 )



# > Autres (Objet caché...) (Lieu = 3)

Text_autre = "Butin trouvé"      # Texte affiché  lors de l'obtention d'un butin (Lieu = 3)

Musique_autre = true          # Jouer le SE ? (Lieu = 3)

SE_autre = "Saint5"                # Le SE joué lors de l'obtention d'un butin (Lieu = 3)

Volume_autre = 100                # Le volume du SE joué (Lieu = 3)

Tempo_autre  = 100                #  Le tempo du SE joué (Lieu = 3)



end

# Fin de la configuration

#===============================================================



#--------------------------------------------------------------------------

# * Méthode qui appelle la scene

#    type      : 1 : Objets / 2 : Armes / 3 : Armures / 4 : Gils

#    index    : L'ID de l'objet obtenu (0 en cas de gils)

#    num : Le nombre d'objets/gils obtenus

#    lieu : texte de description (facultatif)

#--------------------------------------------------------------------------

def gain(type,index,num,lieu=0)

  $scene = Scene_Contenu.new(type,index,num,lieu)

end



#==============================================================================

# ** Scene_Contenu

#------------------------------------------------------------------------------

#  La classe qui gère les fenêtres de contenu de coffre

#==============================================================================

class Scene_Contenu < Scene_Base

#--------------------------------------------------------------------------

# * Initialize

#--------------------------------------------------------------------------

  def initialize(type,index,num,lieu)

    @type = type ; @index = index

    @num = num ;  @lieu = lieu

    @spriteset = Spriteset_Map.new

    @gain_multiples = (@type.is_a?(Array)? true : false)

    donner_butin

    afficher_fenetres

    ajuster_position_fenetres

    afficher_texte

  end

 

#--------------------------------------------------------------------------

# * Donne le butin gagné

#--------------------------------------------------------------------------

  def donner_butin

    if @gain_multiples

      for i in 0...@type.size

        case @type

          when 1

            $game_party.gain_item($data_items[@index], @num)

          when 2

            $game_party.gain_item($data_weapons[@index], @num)       

          when 3

            $game_party.gain_item($data_armors[@index], @num)     

          when 4

            $game_party.gain_gold(@num)

          when 5

            if @index == 0

              $game_party.members.each{|member|

              member.change_exp(member.exp + @num,Config_Contenu::Afficher_level_up)

              }

            else

              actor = $game_actors[@index]

              actor.change_exp(actor.exp + @num,Config_Contenu::Afficher_level_up)

            end

        end

      end

    else

      case @type

        when 1

          $game_party.gain_item($data_items[@index], @num)

        when 2

          $game_party.gain_item($data_weapons[@index], @num)       

        when 3

          $game_party.gain_item($data_armors[@index], @num)     

        when 4

          $game_party.gain_gold(@num)

        when 5

          if @index  == 0

            $game_party.members.each{|member|

              member.change_exp(member.exp + @num,Config_Contenu::Afficher_level_up)

            }

        else

          actor = $game_actors[@index]

          actor.change_exp(actor.exp + @num,Config_Contenu::Afficher_level_up)

        end

      end

    end

  end

 

#--------------------------------------------------------------------------

# * Affiche les fenêtres de butin

#--------------------------------------------------------------------------

  def afficher_fenetres

    @window_lieu = Window_Lieu.new

    @window_butin = Window_Butin.new(@type)

  end

 

#--------------------------------------------------------------------------

# * Centre les fenêtre sur l'écran

#--------------------------------------------------------------------------

  def ajuster_position_fenetres

    @window_lieu.x=(544-@window_lieu.width)/2

    @window_butin.x = (544-@window_butin.width)/2

    if @gain_multiples

      @window_lieu.y = (416-@window_lieu.height-@window_butin.height)/2

      @window_butin.y = @window_lieu.y + @window_butin.height-25*(@type.size-1)

    else

      @window_lieu.y=(416-@window_lieu.height-@window_butin.height)/2

      @window_butin.y =(416-@window_lieu.height+@window_butin.height)/2

    end

end



#--------------------------------------------------------------------------

# * Affiche le texte voulu

#--------------------------------------------------------------------------

  def afficher_texte

    @window_lieu.set_text(@lieu)

    if @gain_multiples

      y = 0

      for i in 0...@type.size

        special = false

        case @type

          when 1

            nom = $data_items[@index].name

            icone = $data_items[@index].icon_index

          when 2

            nom = $data_weapons[@index].name

            icone = $data_weapons[@index].icon_index     

          when 3

            nom = $data_armors[@index].name

            icone = $data_armors[@index].icon_index   

          when 4

            nom = Config_Contenu::Text_gain_gold

            icone = Config_Contenu::Icone_argent

            special = true

          when 5

            nom = Config_Contenu::Text_gain_exp

            icone = Config_Contenu::Icone_exp

            special = true

        end

      @window_butin.set_gain(0,y,nom,icone,@num,special)

      y += 25

      end

    else

      argent = false

      case @type

        when 1

          nom = $data_items[@index].name

          icone = $data_items[@index].icon_index

        when 2

          nom = $data_weapons[@index].name

          icone = $data_weapons[@index].icon_index     

        when 3

          nom = $data_armors[@index].name

          icone = $data_armors[@index].icon_index   

        when 4

          nom = Config_Contenu::Text_gain_gold

          icone = Config_Contenu::Icone_argent

          special = true

        when 5

          nom = Config_Contenu::Text_gain_exp

          icone = Config_Contenu::Icone_exp

          special = true 

        end

      @window_butin.set_gain(0,0,nom,icone,@num,special)

    end

  end

 

 

#--------------------------------------------------------------------------

# * Update

#--------------------------------------------------------------------------

  def update

    @spriteset.update if Config_Contenu::Update_spiriteset

    $game_map.update if Config_Contenu::Update_event

    $scene = Scene_Map.new if Input.trigger?(Input::B) or Input.trigger?(Input::C)

  end

 

#--------------------------------------------------------------------------

# * Termine la scene

#--------------------------------------------------------------------------

  def terminate

    @spriteset.dispose

    @window_lieu.dispose

    @window_butin.dispose

  end

end

 

#==============================================================================

# ** Window_Lieu

#------------------------------------------------------------------------------

#  La fenêtre qui gère le titre général du butin obtenu

#==============================================================================

class Window_Lieu < Window_Base

#--------------------------------------------------------------------------

# * Initialize

#--------------------------------------------------------------------------

  def initialize

    super(0,0,250,56)

  end

 

#--------------------------------------------------------------------------

# * Affiche le texte dans la fenêtre (/!\ Personalisable)

#--------------------------------------------------------------------------

  def set_text(lieu)

    case lieu

      when 0 # Par défaut

        title = "Butin"

        Audio.se_play("Audio/SE/#{Config_Contenu::SE_defaut}",

          Config_Contenu::Volume_defaut,

          Config_Contenu::Tempo_defaut) if Config_Contenu::Musique_defaut

      when 1 # Coffre

        title = Config_Contenu::Text_coffre

        Audio.se_play("Audio/SE/#{Config_Contenu::SE_coffre}",

          Config_Contenu::Volume_coffre,

          Config_Contenu::Tempo_coffre) if Config_Contenu::Musique_coffre

      when 2 # PNJ

        title = Config_Contenu::Text_pnj

        Audio.se_play("Audio/SE/#{Config_Contenu::SE_pnj}",

          Config_Contenu::Volume_pnj,

          Config_Contenu::Tempo_pnj)  if Config_Contenu::Musique_pnj

      when 3 # Recu (Autres coffre/PNJ)

        title = Config_Contenu::Text_autre

        Audio.se_play("Audio/SE/#{Config_Contenu::SE_autre}",

          Config_Contenu::Volume_autres,

          Config_Contenu::Tempo_autres)  if Config_Contenu::Musique_coffre

    end

    self.contents.draw_text(0,0,contents.width,WLH,title,1)

  end

end



#==============================================================================

# ** Window_Butin

#------------------------------------------------------------------------------

#  La fenêtre qui gère les objets obtenus

#==============================================================================

class Window_Butin < Window_Base

#--------------------------------------------------------------------------

# * Initialize

#--------------------------------------------------------------------------

  def initialize(type)

    if type.is_a?(Array)

      super(0,0,250,56 + 25*(type.size-1))

    else

      super(0,0,250,56)

    end

  end

 

#--------------------------------------------------------------------------

# * Affiche les objets/gils gagnés

#--------------------------------------------------------------------------

  def set_gain(x,y,butin,icone,num,special)

    @num = num

    draw_icon(icone,x,y)

    self.contents.draw_text(x+25,y,150,WLH,butin)

    if special

      self.contents.draw_text(x,y,contents.width,WLH,@num,2)

    else

      self.contents.draw_text(x,y,contents.width,WLH,Config_Contenu::Text_quantite + @num.to_s,2)

    end

end

Merci d'avance à celui ou celle qui m'aidera! Smile


Dernière édition par Clash le Sam 7 Juil 2012 - 18:55, édité 1 fois
avatar
Ewaldar
Membre

Nombre de messages : 1387
Age : 24
Localisation : Suisse
Distinction : aucune
Date d'inscription : 29/12/2011
http://ewaldar.wixsite.com/les-ames-perdues

Re: [Résolu] Demande de transposition d'un script RGSS2 en RGSS3

le Sam 7 Juil 2012 - 18:25
Bonjour,
Il existe déjà un script sur VX Ace permettant de faire ce que tu souhaites, je l'utilise moi-même et il est au top, tu n'as même pas besoin d'écrire un appel de script, car dès que tu utilises les fonctions ajouter objets, armes et compagnie, le script affiche un message en bas à gauche te disant ce que tu as trouvé !

http://yanflychannel.wordpress.com/rmvxa/field-scripts/event-window/
avatar
Clash
Membre

Nombre de messages : 1023
Age : 21
Distinction : aucune
Date d'inscription : 12/10/2011

Re: [Résolu] Demande de transposition d'un script RGSS2 en RGSS3

le Sam 7 Juil 2012 - 18:54
Ah oui, j'avais cherché pourtant, sans trouver. Merci beaucoup en tout cas! Smile
Contenu sponsorisé

Re: [Résolu] Demande de transposition d'un script RGSS2 en RGSS3

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