Annuaire du RPG

Répertoire de ressources/scripts[...] pour le logiciel Rpg Maker !
 
AccueilAccueil  PortailPortail  CalendrierCalendrier  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  S'enregistrerS'enregistrer  ConnexionConnexion  

Partagez | 
 

 VX - Afficher les objets trouvés/reçu sur la map

Aller en bas 
AuteurMessage
Neko
Fondateur
Fondateur
avatar

Messages : 184
Date d'inscription : 14/07/2013
Age : 18
Localisation : Ici, la plupart du temps.

MessageSujet: VX - Afficher les objets trouvés/reçu sur la map   Sam 10 Aoû - 14:42

Auteur : Blockade (Blocky)
Date : 13/04/10
Version : 1.1
Remerciements spéciaux : Khai ( http://ktbanh.wordpress.com/)

Description du script :

  • - Affiche une fenêtre avec les objets obtenus
  • - Gestion des gains multiples
  • - Adaptable en fonction des situations
  • - Permet le gain d'expérience



Screenshots :





Installation & Utilisation

Script :

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.

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Script

Code:


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

# ° [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

end
Démo :

megaupload.com VD30C6KM
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://annuairedurpg.jeuxvideoforum.com
 
VX - Afficher les objets trouvés/reçu sur la map
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Help! Afficher City Navigator China NT
» afficher les guillemets d'une chaine.
» Mise en place des objets
» Afficher une image un plein écran
» Afficher un décompte sous la forme M:S ??

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Annuaire du RPG :: RPG maker & co :: Scripts :: RGSS 2 :: Map-
Sauter vers: