AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

Partagez
 

 [Résolu]PB ~ script Pop-up de Blockade

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Zodiak
Seigneur Lv.18
Seigneur Lv.18
Zodiak


Masculin Age : 29
Avertissements : 3
Inscrit le : 20/12/2008
Messages : 2292

[Résolu]PB ~ script Pop-up de Blockade Empty
MessageSujet: [Résolu]PB ~ script Pop-up de Blockade   [Résolu]PB ~ script Pop-up de Blockade Icon_minitimeDim 13 Juin 2010 - 9:33

Salut à tous ^^
J'ai encore un problème avec le script de Blockade :

Je souhaite effectuer un gain multiples à la fin d'une quête.
Voilà l'appel de script :

gain([5,4], [0,0] , [30,50] , 2)

Cependant, un bug survient :
[Résolu]PB ~ script Pop-up de Blockade Bug_sr11

La ligne correspondante :
Code:
              actor.change_exp(actor.exp + @num[i],Config_Contenu::Afficher_level_up)

Le "bloc" dont la ligne appartient :

Spoiler:

Voilà, si quelqu'un pouvait m'aider, ce serait vraiment sympa ^^

PS : En changeant un peu l'appel de script, et en assignant l'XP à un membre spécial, il me renvoie à un nouveau bug, sur un autre script °.°
-> Game_Party.


Dernière édition par Zodiak le Dim 20 Juin 2010 - 12:11, édité 1 fois
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 32
Inscrit le : 29/07/2009
Messages : 7841

[Résolu]PB ~ script Pop-up de Blockade Empty
MessageSujet: Re: [Résolu]PB ~ script Pop-up de Blockade   [Résolu]PB ~ script Pop-up de Blockade Icon_minitimeDim 13 Juin 2010 - 9:58

Essaye de faire la même chose mais dans un projet vierge en ajoutant que ce script.
Revenir en haut Aller en bas
Zodiak
Seigneur Lv.18
Seigneur Lv.18
Zodiak


Masculin Age : 29
Avertissements : 3
Inscrit le : 20/12/2008
Messages : 2292

[Résolu]PB ~ script Pop-up de Blockade Empty
MessageSujet: Re: [Résolu]PB ~ script Pop-up de Blockade   [Résolu]PB ~ script Pop-up de Blockade Icon_minitimeDim 20 Juin 2010 - 10:13

Même problème.

----
UP
Les problèmes sont vites enterrés, alors je me permets un p'tit up.
Merci d'avance
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 32
Inscrit le : 03/07/2008
Messages : 2441

[Résolu]PB ~ script Pop-up de Blockade Empty
MessageSujet: Re: [Résolu]PB ~ script Pop-up de Blockade   [Résolu]PB ~ script Pop-up de Blockade Icon_minitimeDim 20 Juin 2010 - 10:30

Fais nous une démo du bug =)
Revenir en haut Aller en bas
Zodiak
Seigneur Lv.18
Seigneur Lv.18
Zodiak


Masculin Age : 29
Avertissements : 3
Inscrit le : 20/12/2008
Messages : 2292

[Résolu]PB ~ script Pop-up de Blockade Empty
MessageSujet: Re: [Résolu]PB ~ script Pop-up de Blockade   [Résolu]PB ~ script Pop-up de Blockade Icon_minitimeDim 20 Juin 2010 - 10:58

La voici :
http://www.megaupload.com/?d=90T9S8AT
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 32
Inscrit le : 03/07/2008
Messages : 2441

[Résolu]PB ~ script Pop-up de Blockade Empty
MessageSujet: Re: [Résolu]PB ~ script Pop-up de Blockade   [Résolu]PB ~ script Pop-up de Blockade Icon_minitimeDim 20 Juin 2010 - 11:52

Voila !
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.2
#  ° 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
#    ~ v 1.2
#      - Correction de plusieurs bugs
# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
# °  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 = 138 # L'ID de l'icône affichée pour l'argent
Icone_exp = 101 # 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[i]
          when 1
            $game_party.gain_item($data_items[@index[i]], @num[i])
          when 2
            $game_party.gain_item($data_weapons[@index[i]], @num[i])     
          when 3
            $game_party.gain_item($data_armors[@index[i]], @num[i])   
          when 4
            $game_party.gain_gold(@num[i])
        when 5
          if @index[i] == 0
              $game_party.members.each{|member|
              member.change_exp(member.exp + @num[i],Config_Contenu::Afficher_level_up)
              }
            else
              actor = $game_actors[@index[i]]
              actor.change_exp(actor.exp + @num[i],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[i]
          when 1
            nom = $data_items[@index[i]].name
            icone = $data_items[@index[i]].icon_index
          when 2
            nom = $data_weapons[@index[i]].name
            icone = $data_weapons[@index[i]].icon_index   
          when 3
            nom = $data_armors[@index[i]].name
            icone = $data_armors[@index[i]].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[i],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
Ça devrait marcher =)
Revenir en haut Aller en bas
Zodiak
Seigneur Lv.18
Seigneur Lv.18
Zodiak


Masculin Age : 29
Avertissements : 3
Inscrit le : 20/12/2008
Messages : 2292

[Résolu]PB ~ script Pop-up de Blockade Empty
MessageSujet: Re: [Résolu]PB ~ script Pop-up de Blockade   [Résolu]PB ~ script Pop-up de Blockade Icon_minitimeDim 20 Juin 2010 - 12:11

Ca marche, merci !
Revenir en haut Aller en bas
Contenu sponsorisé




[Résolu]PB ~ script Pop-up de Blockade Empty
MessageSujet: Re: [Résolu]PB ~ script Pop-up de Blockade   [Résolu]PB ~ script Pop-up de Blockade Icon_minitime

Revenir en haut Aller en bas
 

[Résolu]PB ~ script Pop-up de Blockade

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» [résolu]Script invocation de blockade.
» [Résolu]Script pour enmpêcher les rencontres alétaoire par Blockade
» Probleme avec le script d'invocation de Blockade (en fait, le script marche, c'est un probleme sur le menu)
» Script invocation blockade
» Problème compatilité SBS et script invocations de Blockade?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Résolu-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit