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



Le deal à ne pas rater :
Figurines Funko POP! One Piece 2023 : où les trouver ?
Voir le deal

Partagez
 

 Redevenir humain apres victoire

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Shyno19
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Shyno19


Inscrit le : 22/03/2011
Messages : 66

Redevenir humain apres victoire Empty
MessageSujet: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeVen 9 Sep 2011 - 2:46

Bonjour

ayant vu ce tuto https://rpg-maker-vx.bbactif.com/t10514-se-transformer-grace-a-un-sort-avance

J'ai donc décider de le tester :

il marche nikel sauf que :

-comme il l'a dit on ne se retransforme pas en humain apres avoir tuer tout les enemi ce qui fait
que c'est notre transformation qui prend l'xp et pas nous.

Petite question :

A ce jour existe il un moyen en évent ou même un script permettant de redevenir humain après avoir tuer tout les ennemies dans un combat ( a la manière du script a la ff10 de Blockade ) ?

Revenir en haut Aller en bas
Shyno19
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Shyno19


Inscrit le : 22/03/2011
Messages : 66

Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeVen 9 Sep 2011 - 17:47

up S\'il vous plait
Revenir en haut Aller en bas
Matsuo Kaito
+ Heir Øf Ŧime +
+ Heir Øf Ŧime +
Matsuo Kaito


Masculin Age : 31
Inscrit le : 27/06/2008
Messages : 10881

Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeVen 9 Sep 2011 - 17:54

Pas de up à moins de 24 heures d'intervalle, merci.
Revenir en haut Aller en bas
Mack
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Mack


Inscrit le : 22/07/2011
Messages : 17

Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeSam 10 Sep 2011 - 6:28

T'as essayer de faire que si tout les monstres sont mort, tu retrouves ta forme normal ?
( Dans les groupe de combat, tu peux mettre cette condition normalement. )
Revenir en haut Aller en bas
Zarby
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Zarby


Inscrit le : 07/09/2011
Messages : 15

Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeSam 10 Sep 2011 - 18:33

le script de combat par defaut block les event commun qui sont appeller a la toute fin du combat, des qui ny a plus de monstre il execute plus les event commun donc je crois pas que ce sois possible sans script si tu utilise le system de combat par defaut tu peut utiliser ce script :

Code:

class Scene_Battle < Scene_Base 
 

 
    def process_victory
     
    @info_viewport.visible = false
    @message_window.visible = true
    RPG::BGM.stop
    $game_system.battle_end_me.play
    unless $BTEST
      $game_temp.map_bgm.play
      $game_temp.map_bgs.play
    end
    $game_temp.common_event_id = 1 #ici le common event utiliser pour retransformer
    #normalement le meme que dans le tutorial devrais marcher (fin dragon)
    process_battle_event_mod
    display_exp_and_gold
    display_drop_items
    display_level_up
    battle_end(0)
  end
 
 
       

 
        def process_battle_event_mod
    loop do
      return if $game_temp.next_scene != nil
      $game_troop.interpreter.update
      $game_troop.setup_battle_event
      wait_for_message
      process_action if $game_troop.forcing_battler != nil
      return unless $game_troop.interpreter.running?
      update_basic
    end
  end
     
  end

si tu utilise un CBS ca ne va pas fonctionner
Revenir en haut Aller en bas
Shyno19
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Shyno19


Inscrit le : 22/03/2011
Messages : 66

Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeDim 11 Sep 2011 - 17:12

ou dois-je placer ce script ?

J'ai remarquer qu 'il ne prenait plus en compte le script de rapport de combat v3 de Blockade.

et surtout la transformation en humain ne se fait toujours pas en combat.
Revenir en haut Aller en bas
brasegajames
Habitant Lv.6
Habitant Lv.6
brasegajames


Masculin Age : 28
Inscrit le : 08/04/2010
Messages : 138

Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeDim 11 Sep 2011 - 17:38

A placer au dessus de main comme d'hab.
Revenir en haut Aller en bas
Zarby
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Zarby


Inscrit le : 07/09/2011
Messages : 15

Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeDim 11 Sep 2011 - 19:19

Code:




#===============================================================
# ● [VX] ◦ Rapport de combat V3
#--------------------------------------------------------------
# ◦ Par  Blockade
# ◦ http://rpg-maker-vx.bbactif.com/forum.htm
# ◦ Crée le 06/04/2009
# ◦ Version 3.7
# ◦ Remerciment à Woratana, Moghunter
#--------------------------------------------------------------
#===============================================================
#===============================================================
# Notes de version :
#---------------------------------------------------------------
# ~ Version 1.0 :
#  - Création du script
# ~ Version 2.0 :
#  - Interface revue
#  - Regroupement et classement des objets gagnés
#  - Ajouts d'options de personalisations
# ~ Version 3.0 :
#  - Le script distibue l'argent gagné correctement.
#  - Module de configuration entiérement revu
#  - Compatibilité améliorée
#  - Pop-up lors d'un level up qui affiche les caractéristiques
#  - Affiche les sorts gagnés
# ~ Version 3.5
#  - Meilleur affichage des caractéristiques quand le héros gagne un niveau
#  - Affichage du temps de combat
# ~ Version 3.6
#  - Mise à la norme de mes scripts
#  - Compatible avec 3 systèmes de combat : Combat VX, SBS, SBS avec ATB
#  - Détecte automatiquement le SBS
# ~ Version 3.7
#  - Correction d'un bug avec le SBS avec ATB, le rapport d'affichais deux fois
#===============================================================
#===============================================================
# Utilisation :
#  Plug & Play, inserez le au dessus de Main !
#  Jettez un coup d'oeil au module de configuration !
#===============================================================
module Blockade
  module Config_Report
#===============================================================
#  Blockade::Config_Report Début du Module de configuration
#===============================================================
#-------------------------------------------
# >> Configuration du texte
#--------------------------------------------
# > Texte contenu dans l'help_window
 Text_help_window = "Rapport de Combat" 

# > Alignement du texte (0:Gauche, 1:Milieu, 2: Droite)
Alignement_texte = 0

# > Texte pour le temps de combat :
Texte_temps_combat = "Temps : "

# > Alignement du Texte_temps_combat (0:Gauche, 1:Milieu, 2: Droite)
Alignement_texte_temps_combat = 2

# > Expérience (abrégée)
Exp = "Exp : "

# > Monnaie (abrégée)
Gold = "Gils : "

#  > Niveau (abrégé)
Lvl = "Niv. "

#  > Dans la fenêtre de drop
Drop_nil = "Aucun objet trouvé."            # Si pas d'objet à la fin du combat
Drop_objets = "Objets trouvés :"            #  Si des objets sont trouvées
Drop_armures = "Armures trouvées :"  #  Si des armures sont trouvées
Drop_armes = "Armes trouvées :"        # Si des armes sont trouvées 

# > Dans la fenêtre de changement de niveau
Texte_hp  = "HP "                  # Texte pour les Hp
Texte_mp  = "MP "                  # Texte pour les Mp
Texte_atk  = "Attaque  "        # Texte pour l'attaque
Texte_def  = "Défense  "      # Texte pour la défense
Texte_int    = "Intelligence "  # Texte pour l'intelligence
Texte_agi  = "Agilité "            # Texte pour l'agilité

# > Couleur des noms de caracteristiques
Couleur_nom_carac = 4

# > Dans la fenêtre des nouveaux sorts
Couleur_new_skill = 4  # Couleur de Texte_new_skill
Texte_new_skill = "Nouveaux sorts : " # Texte pour introduire les nouveaux sorts
 #-------------------------------------------

 #-------------------------------------------
# >> Configuration des icones
#--------------------------------------------
# > Dans la fenêtre de changement de niveau
Icone_hp  = 99    # Id de l'icone pour les PV
Icone_mp = 100  # Id de l'icone pour les PM
Icone_atk  = 2              # Id de l'icone pour l'attaque
Icone_def  = 52          # Id de l'icone pour la défense
Icone_int  = 21          # Id de l'icone pour l'intelligence
Icone_agi  = 48          # Id de l'icone pour l'agilité

# > Dans la fenêtre des sorts
Icone_new_skill = 130
#-------------------------------------------

#-------------------------------------------
# >> Configuration des sons
#--------------------------------------------
# > Quand un héros gagne un niveau
Lvl_up_sound = "Recovery" # Nom du SE
Lvl_up_volume = 80 # Volume entre 50-150
Lvl_up_tempo = 100 # Tempo entre 50-150

#===============================================================
#  Blockade"EDIT"::Config_EVENEMENT commun utiliser pour ce detransformer
#===============================================================
Event  = 1
#===============================================================
#  Blockade::Config_Report Fin du Module de configuration
#===============================================================
  end
end

$imported = {} if $imported == nil
$imported["Rapport_CombatV3"] = true

#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  Scene qui gère les combats
#==============================================================================
class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # * Prend le temps au début du combat
  #--------------------------------------------------------------------------
  alias start_battle_block start
  def start
    start_battle_block
    @temps = Time.now
  end
 
  #--------------------------------------------------------------------------
  # * Enpêche le rapport de s'afficher 2 fois (ATB fix)
  #--------------------------------------------------------------------------
  alias judge_win_loss_block judge_win_loss unless $@
  def judge_win_loss
    if defined?(::N02)
    return unless @fin_combat.nil?
    end
    judge_win_loss_block
  end
  #--------------------------------------------------------------------------
  # * Processus de victoire
  #--------------------------------------------------------------------------
 
          def process_battle_event_mod
    loop do
      return if $game_temp.next_scene != nil
      $game_troop.interpreter.update
      $game_troop.setup_battle_event
      wait_for_message
      process_action if $game_troop.forcing_battler != nil
      return unless $game_troop.interpreter.running?
      update_basic
    end
  end
 
 
  def process_victory
    if defined?(::N01)
          @status_window.visible = true
          @message_window.visible = false
          # ボスコラプスはウエイトを長く挟む
          for enemy in $game_troop.members
            break boss_wait = true if enemy.collapse_type == 3
          end
          wait(440) if boss_wait
          wait(N01::WIN_WAIT) unless boss_wait
          # 動けないアクターを除いて勝利アクション
          for actor in $game_party.members
            unless actor.restriction >= 4
            @spriteset.set_action(true, actor.index,actor.win)
          end
        end
      end
      $game_temp.common_event_id = Blockade::Config_Report::Event
      process_battle_event_mod
    @info_viewport.visible = false
    @message_window.visible = false
    RPG::BGM.stop
    $game_system.battle_end_me.play
    unless $BTEST
      $game_temp.map_bgm.play
      $game_temp.map_bgs.play
    end
    new_temps = Time.now
    temps = new_temps- @temps
    if temps >= 60
      @temps_combat = (temps / 60).truncate
      @suffixe = @temps_combat > 1 ?  "minutes" : "minute"
    else
      @temps_combat = temps.truncate
      @suffixe = "secondes"
    end
    @exp =$game_troop.exp_total
    @gold = $game_troop.gold_total
    @drop = $game_troop.make_drop_items
    $game_party.gain_gold(@gold)
    ini_variable   
    Graphics.fadeout(30)
    afficher_rapport
    Graphics.fadein(20)
end

  #--------------------------------------------------------------------------
  # * Initialise les variables
  #--------------------------------------------------------------------------
  def ini_variable
      @fin_combat = true
      @actors_lvl_up = []
      @num_passage= 0
    end
   
  #--------------------------------------------------------------------------
  # * Afficher le rapport de combat
  #--------------------------------------------------------------------------
def afficher_rapport
    @help_window = Window_Help_Combat.new
    @heros_window = []
      y=55 ; i=0
    for actor in $game_party.members
    @heros_window[i] = Heros_Window.new(actor,y,@exp)
    @actors_lvl_up.push([actor,@heros_window[i].get_old_carac,@heros_window[i].get_new_carac,@heros_window[i].get_new_skills]) if @heros_window[i].level_up
    y +=74; i += 1
    end
    @gold_exp_window = Gold_Exp_Window.new(@gold,@exp)
    @butin_window = Drop_Window.new(@drop)
    @help_window.set_text(Blockade::Config_Report::Text_help_window,Blockade::Config_Report::Alignement_texte,Blockade::Config_Report::Texte_temps_combat + "#{@temps_combat} #{@suffixe} ",Blockade::Config_Report::Alignement_texte_temps_combat)
    if @actors_lvl_up != []
      RPG::SE.new(Blockade::Config_Report::Lvl_up_sound, Blockade::Config_Report::Lvl_up_volume, Blockade::Config_Report::Lvl_up_tempo).play
      @actor_window = Carac_Window.new(@actors_lvl_up[@num_passage])
      new_skill = @actors_lvl_up[@num_passage]
      @actor_window2 = Skills_Window.new(@actors_lvl_up[@num_passage]) if @actors_lvl_up[@num_passage][3].size > 0
    end
  end
 
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  alias update_block update unless $@
  def update
    if @fin_combat != true
      update_block
    else
#  Si c'est la fin du combat
      @help_window.update
      @message_window.update
      for i in 0...@heros_window.size
        @heros_window[i].update
      end
      if @actors_lvl_up != []
      @actor_window.update
      @actor_window2.update  if @actors_lvl_up[@num_passage][3].size > 0 # if @heros_window[@num_passage].get_new_skills.size > 0
      if Input.trigger?(Input::C)
        @num_passage += 1
        @actor_window.dispose
        @actor_window2.visible = false if @actor_window2 != nil
        if @num_passage + 1  > @actors_lvl_up.size
          Input.update
          @actors_lvl_up = []
        end # fin @num_passage
        if @actors_lvl_up != []
          RPG::SE.new(Blockade::Config_Report::Lvl_up_sound, Blockade::Config_Report::Lvl_up_volume, Blockade::Config_Report::Lvl_up_tempo).play
          @actor_window = Carac_Window.new(@actors_lvl_up[@num_passage])
          @actor_window2 = Skills_Window.new(@actors_lvl_up[@num_passage])  if @actors_lvl_up[@num_passage][3].size >0    # if @heros_window[@num_passage].get_new_skills.size > 0
      end # fin @actors_lvl_up
    end # fin input
  else # si pas de lvl up
  end
# Si on appuye sur Entrée
  if Input.trigger?(Input::C) and @actors_lvl_up == []
    @help_window.dispose
    for i in 0...@heros_window.size
      @heros_window[i].dispose
    end
    @gold_exp_window.dispose
    @butin_window.dispose
    if $BTEST
      $scene = nil
    else
    Graphics.fadeout(30)
    battle_end(0)
  suppr_variables
  end
 end
end
end
 
#--------------------------------------------------------------------------
# * Reinitialise les variables
#--------------------------------------------------------------------------
def suppr_variables
    @fin_combat = false
    @actors_lvl_up = []
  end
end
 
#==============================================================================
# ** Window_Help_Combat
#------------------------------------------------------------------------------
#  This window shows skill and item explanations along with actor status.
#==============================================================================
class Window_Help_Combat < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 544, WLH + 32)
  end
  #--------------------------------------------------------------------------
  # * Set Text
  #  text  : character string displayed in window
  #  align : alignment (0..flush left, 1..center, 2..flush right)
  #--------------------------------------------------------------------------
  def set_text(text1, align1,text2,align2)
    if text1 != @text1 or align1 != @align1 or text2 != @text2 or align2 != @align2
      self.contents.clear
      self.contents.font.color = normal_color
      self.contents.draw_text(4, 0, self.width - 40, WLH, text1, align1)
      self.contents.draw_text(4, 0, self.width - 40, WLH, text2, align2)
      @text1 = text1 ; @align = align2
      @text2 = text2 ; @align2 = align2
    end 
  end
end

 #==============================================================================
# ** Skills_Window
#------------------------------------------------------------------------------
#  Affiche les sorts
#==============================================================================
class Skills_Window < Window_Base
  def initialize(actor_info)
    @new_skills = actor_info[3]
    super(300,58,244,230)
    afficher_sorts
  end
 
  #--------------------------------------------------------------------------
  # * Affiche les nouveaux sorts
  #--------------------------------------------------------------------------
  def afficher_sorts
    self.contents.font.color = text_color(Blockade::Config_Report::Couleur_new_skill)
    self.contents.draw_text(25,0, 200, WLH, Blockade::Config_Report::Texte_new_skill)
    draw_icon(Blockade::Config_Report::Icone_new_skill,0,0)
    y = 25
    for skills in @new_skills
    draw_item_name(skills,0,y)
    y += 25
    end
  end
end

 #==============================================================================
# ** Carac_Window
#------------------------------------------------------------------------------
#  Affiche les caractérisqtiques
#==============================================================================
class Carac_Window < Window_Base
  def initialize(actor)
    @actor = actor[0]
    @old_carac = actor[1]
    @new_carac = actor[2]
    @new_skills = actor[3]
    x = 100
    x = 0 if @new_skills.size > 0
    super(x,58,300,230)
  afficher_info_actor
  afficher_icone
  afficher_carac
 end
 
  #--------------------------------------------------------------------------
  # * Affiche le nom et le niveau du héros
  #--------------------------------------------------------------------------
def afficher_info_actor
  draw_character(@actor.character_name, @actor.character_index, 20, 40)
  self.contents.draw_text(40,0, 200, WLH, @actor.name)
  self.contents.draw_text(40,20,200,WLH,Blockade::Config_Report::Lvl + @old_carac[0].to_s + " > " +
  Blockade::Config_Report::Lvl + @new_carac[0].to_s)
end

  #--------------------------------------------------------------------------
  # * Affiche les icones
  #--------------------------------------------------------------------------
def afficher_icone
  draw_icon(Blockade::Config_Report::Icone_hp,0,50)
  draw_icon(Blockade::Config_Report::Icone_mp ,0,75)
  draw_icon(Blockade::Config_Report::Icone_atk ,0,100)
  draw_icon(Blockade::Config_Report::Icone_def,0,125)
  draw_icon(Blockade::Config_Report::Icone_int,0,150)
  draw_icon(Blockade::Config_Report::Icone_agi,0,175)
end

  #--------------------------------------------------------------------------
  # * Affiche les caractéristiques
  #--------------------------------------------------------------------------
  def afficher_carac
    self.contents.font.color = text_color(Blockade::Config_Report::Couleur_nom_carac)
    self.contents.draw_text(25,50, 150, WLH,  Blockade::Config_Report::Texte_hp)
    self.contents.draw_text(25,75, 150, WLH,  Blockade::Config_Report::Texte_mp)
    self.contents.draw_text(25,100, 150, WLH,  Blockade::Config_Report::Texte_atk)
    self.contents.draw_text(25,125, 150, WLH,  Blockade::Config_Report::Texte_def)
    self.contents.draw_text(25,150, 150, WLH,  Blockade::Config_Report::Texte_int)
    self.contents.draw_text(25,175, 150, WLH,  Blockade::Config_Report::Texte_agi)
    self.contents.font.color = normal_color
    y = 50
    for i in 1...@new_carac.size
      self.contents.draw_text(150,y, 105, WLH, @old_carac[i],0)
      self.contents.draw_text(150,y, 110, WLH, "> ",1)
      self.contents.font.color =  power_up_color if @old_carac[i] < @new_carac[i]
      self.contents.font.color.alpha = 128 if @old_carac[i] == @new_carac[i]
      self.contents.draw_text(150,y, 105, WLH, @new_carac[i],2)
      self.contents.font.color.alpha = 255
      self.contents.font.color = normal_color
      y +=25
    end
  end
end

 #==============================================================================
# ** Gold_Exp_Window
#------------------------------------------------------------------------------
#  Affiche l'argent et l'exp obtenus
#==============================================================================
class Gold_Exp_Window < Window_Base
  def initialize(gold,exp)
    super(0,350,200,65)
    self.contents.draw_text(0,-6,200,WLH,Blockade::Config_Report::Exp + exp.to_s)
    self.contents.draw_text(0,14,200,WLH,Blockade::Config_Report::Gold + gold.to_s)
  end
end

#==============================================================================
# ** Heros_Window
#------------------------------------------------------------------------------
#  Affiche les informations d'exp sur les héros
#==============================================================================
class Heros_Window < Window_Base
  def initialize(actor,y,exp)
    super(0,y,200,75)
    @actor = actor
    @exp = exp
    afficher_info
  end
 
#--------------------------------------------------------------------------
# * Affiche les informations
#--------------------------------------------------------------------------
  def afficher_info
    @level_up = false
    last_lvl  = @actor.level
    last_hp =  @actor.maxhp
    last_mp = @actor.maxmp
    last_atk =  @actor.atk
    last_def = @actor.def
    last_spi = @actor.spi
    last_agi = @actor.agi
    last_skill = @actor.skills
    @actor.gain_exp(@exp,false)
    if @actor.level > last_lvl
      @level_up = true
      @old_carac = [last_lvl,last_hp,last_mp, last_atk, last_def, last_spi, last_agi]
      @new_carac =[@actor.level, @actor.maxhp,@actor.maxmp,@actor.atk,@actor.def,@actor.spi,@actor.agi]
      @new_skills = @actor.skills - last_skill
    end
    draw_character(@actor.character_name, @actor.character_index, 20, 40)
    draw_actor_exp_meter(@actor,40,20)
    self.contents.draw_text(40,0, 60, WLH, @actor.name)
    self.contents.draw_text(110,0,60,WLH,Blockade::Config_Report::Lvl + @actor.level.to_s)
  end
 
 #--------------------------------------------------------------------------
# * Renvoie les anciennes caractérisques
#--------------------------------------------------------------------------   
  def get_old_carac
    return @old_carac
  end
 
#--------------------------------------------------------------------------
# * Renvoie les nouvelles caractérisques
#--------------------------------------------------------------------------
  def get_new_carac
    return @new_carac
  end
 
#--------------------------------------------------------------------------
# * Renvoie les nouveaux sorts
#--------------------------------------------------------------------------
  def get_new_skills
    if @new_skills.size > 0
    return @new_skills
  else
    return []
    end
  end
 #--------------------------------------------------------------------------
# * Determine si le heros a pris un ou plusieurs niveaux
#--------------------------------------------------------------------------
  def level_up
    return @level_up
  end
#--------------------------------------------------------------------------
# * Couleur 1 de la barre
#--------------------------------------------------------------------------
  def exp_gauge_color1
    return text_color(30)
  end
     
#--------------------------------------------------------------------------
# * Couleur 1 de la barre
#--------------------------------------------------------------------------
  def exp_gauge_color2
    return text_color(31)
  end
 
#--------------------------------------------------------------------------
# * Dessine la barre d'exp
#-------------------------------------------------------------------------
  def draw_actor_exp_meter(actor, x, y, width = 100)
    if actor.next_exp != 0
      exp = actor.now_exp
    else
      exp = 1
    end
      gw = width * exp / [actor.next_exp, 1].max
      gc1 = exp_gauge_color1
      gc2 = exp_gauge_color2
      self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
      self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 30, WLH, "Exp")
      self.contents.font.color = normal_color
      xr = x + width
      self.contents.draw_text(xr - 60, y, 60, WLH,  actor.next_rest_exp_s, 2)
    end
  end

#==============================================================================
# ** Drop_Window
#------------------------------------------------------------------------------
#  Affiche les objets obtenus
#==============================================================================
class Drop_Window < Window_Base
  def initialize(drop)
      super(200,55,344,360)
      @drop = drop
      if @drop != []
        trier_drop
        regrouper
        afficher_drop
        donner_drop
      else
        afficher_mess
      end
    end
   
#--------------------------------------------------------------------------
# * Trie le drop en fonction du type d'objet
#-------------------------------------------------------------------------
  def trier_drop
    @armes = []
    @armures =  []
    @items = []
    for item in @drop
      if item.is_a?(RPG::Item)
        @items.push(item)
      end
      if item.is_a?(RPG::Armor)
        @armures.push(item)
      end
      if item.is_a?(RPG::Weapon)
        @armes.push(item)
      end
    end
  end
   
#--------------------------------------------------------------------------
# * Regroupe les objets par nombre 
#-------------------------------------------------------------------------
  def regrouper
#-------------------------------------------------------
#  Pour les objets 
#------------------------------------------------------
    if @items != []
      @items_unique = @items.uniq
      @regroupement_item = {}
      for item in @items_unique
        @regroupement_item[item] = 0
      end
      for item in @items
        if @regroupement_item.include?(item)
          @regroupement_item[item] += 1
        end
      end
    end
   
#-------------------------------------------------------
#  Pour les armures
#------------------------------------------------------
    if @armures != []
      @armure_unique = @armures.uniq
      @regroupement_armures = {}
      for armure in @armure_unique
        @regroupement_armures[armure] = 0
      end
      for armure in @armures
        if @regroupement_armures.include?(armure)
          @regroupement_armures[armure] += 1
        end
      end
    end
   
#-------------------------------------------------------
#  Pour les armes
#------------------------------------------------------
    if @armes != []
      @armes_unique = @armes.uniq
      @regroupement_armes = {}
      for arme in @armes_unique
        @regroupement_armes[arme] = 0
      end
      for arme in @armes
        if @regroupement_armes.include?(arme)
          @regroupement_armes[arme] += 1
        end
      end
    end
  end

#--------------------------------------------------------------------------
# * Affiche les objets
#-------------------------------------------------------------------------
  def afficher_drop
    y=0 # Initialisation de la coordonée y
#-------------------------------------------------------
#  Pour les objets 
#------------------------------------------------------
    if @items != []
      self.contents.draw_text(0,y,200,WLH,Blockade::Config_Report::Drop_objets)
      y += 25
      for item in @regroupement_item
        draw_icon(item[0].icon_index, 0, y)
        if item[1] > 1
        quantite = "  x" + item[1].to_s
        else
          quantite = ""
        end
        self.contents.draw_text(24, y, 172, WLH, item[0].name + quantite)
      y+=25
    end
  end
 
  y += 5 if @items.nil? == false # Si les objets on été affiché augmenter y de 5
 
#-------------------------------------------------------
#  Pour les armures
#------------------------------------------------------
  if @armures != []
      self.contents.draw_text(0,y,200,WLH,Blockade::Config_Report::Drop_armures)
      y += 25
    for armure in @regroupement_armures
      draw_icon(armure[0].icon_index, 0, y)
        if armure[1] > 1
        quantite = "  x" + armure[1].to_s
        else
          quantite = ""
        end
        self.contents.draw_text(24, y, 172, WLH, armure[0].name + quantite)
      y +=25
    end
  end
 
  y += 5 if @armures.nil? == false # Si les armures on été affichées augmenter y de 5
 
#-------------------------------------------------------
#  Pour les armes
#------------------------------------------------------
  if @armes != []
      self.contents.draw_text(0,y,200,WLH,Blockade::Config_Report::Drop_armes)
      y += 25
    for arme in @regroupement_armes
    draw_icon(arme[0].icon_index, 0, y)
        if arme[1] > 1
        quantite = "  x" + arme[1].to_s
        else
          quantite = ""
        end
        self.contents.draw_text(24, y, 172, WLH, arme[0].name + quantite)
      y +=25
    end
  end 
end

#-------------------------------------------------------
#  Afficher un message si pas de drop
#------------------------------------------------------
  def afficher_mess
    self.contents.draw_text(0,0,360,WLH,Blockade::Config_Report::Drop_nil)
  end
 
#-------------------------------------------------------
#  Donne le drop à l'équipe
#------------------------------------------------------
  def donner_drop
    for item in @drop
      $game_party.gain_item(item, 1)
    end
  end
end

#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  Gére les données système sur les héros.
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Calcul de l'exp accumulée
  #--------------------------------------------------------------------------
    def now_exp
        return @exp - @exp_list[@level]
      end
   
  #--------------------------------------------------------------------------
  # * Calcul de l'exp a avoir pour gagner un niveau
  #-------------------------------------------------------------------------- 
    def next_exp
      return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
    end
   
  end

tien c'est le script modifier de rapport de combat v3 de Blockade, pour quil fonctionne, si tu utilise un autre system de combat que celui par defaut comme jai dit dans lautre poste c'est possible que ca fonctionne pas, donc si jamais c'est le cas poste les script relier au combat que tu utilise Wink

juste a modifier dans la config en haut du script l'evenement commun a utiliser pour redevenir humain

Code:
#===============================================================
#  Blockade"EDIT"::Config_EVENEMENT commun utiliser pour ce detransformer
#===============================================================
Event  = 1
Revenir en haut Aller en bas
Shyno19
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Shyno19


Inscrit le : 22/03/2011
Messages : 66

Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeDim 11 Sep 2011 - 20:59

j'utilise le sbs tankentai 3.4e sans atb (car bug avec un autre script de rajout de commande)

(je ne peut pas poster les script sa me refuse car la longueur du post est trop long)

EDIT : je vien de tester, la détransformation ne se voit pas juste après que les ennemi soit mort mais on voit bien le héros prendre l'xp mais pas la transformation, de plus la musique de fin de combat ne ce lance pas si je gagne le combat étant transformer
Revenir en haut Aller en bas
Zarby
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Zarby


Inscrit le : 07/09/2011
Messages : 15

Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeLun 12 Sep 2011 - 20:51

Jai trouver le probleme, hier jetais un peu occupé jai pas pu repondre :s

Code:




#===============================================================
# ● [VX] ◦ Rapport de combat V3
#--------------------------------------------------------------
# ◦ Par  Blockade
# ◦ http://rpg-maker-vx.bbactif.com/forum.htm
# ◦ Crée le 06/04/2009
# ◦ Version 3.7
# ◦ Remerciment à Woratana, Moghunter
#--------------------------------------------------------------
#===============================================================
#===============================================================
# Notes de version :
#---------------------------------------------------------------
# ~ Version 1.0 :
#  - Création du script
# ~ Version 2.0 :
#  - Interface revue
#  - Regroupement et classement des objets gagnés
#  - Ajouts d'options de personalisations
# ~ Version 3.0 :
#  - Le script distibue l'argent gagné correctement.
#  - Module de configuration entiérement revu
#  - Compatibilité améliorée
#  - Pop-up lors d'un level up qui affiche les caractéristiques
#  - Affiche les sorts gagnés
# ~ Version 3.5
#  - Meilleur affichage des caractéristiques quand le héros gagne un niveau
#  - Affichage du temps de combat
# ~ Version 3.6
#  - Mise à la norme de mes scripts
#  - Compatible avec 3 systèmes de combat : Combat VX, SBS, SBS avec ATB
#  - Détecte automatiquement le SBS
# ~ Version 3.7
#  - Correction d'un bug avec le SBS avec ATB, le rapport d'affichais deux fois
#===============================================================
#===============================================================
# Utilisation :
#  Plug & Play, inserez le au dessus de Main !
#  Jettez un coup d'oeil au module de configuration !
#===============================================================
module Blockade
  module Config_Report
#===============================================================
#  Blockade::Config_Report Début du Module de configuration
#===============================================================
#-------------------------------------------
# >> Configuration du texte
#--------------------------------------------
# > Texte contenu dans l'help_window
 Text_help_window = "Rapport de Combat" 

# > Alignement du texte (0:Gauche, 1:Milieu, 2: Droite)
Alignement_texte = 0

# > Texte pour le temps de combat :
Texte_temps_combat = "Temps : "

# > Alignement du Texte_temps_combat (0:Gauche, 1:Milieu, 2: Droite)
Alignement_texte_temps_combat = 2

# > Expérience (abrégée)
Exp = "Exp : "

# > Monnaie (abrégée)
Gold = "Gils : "

#  > Niveau (abrégé)
Lvl = "Niv. "

#  > Dans la fenêtre de drop
Drop_nil = "Aucun objet trouvé."            # Si pas d'objet à la fin du combat
Drop_objets = "Objets trouvés :"            #  Si des objets sont trouvées
Drop_armures = "Armures trouvées :"  #  Si des armures sont trouvées
Drop_armes = "Armes trouvées :"        # Si des armes sont trouvées 

# > Dans la fenêtre de changement de niveau
Texte_hp  = "HP "                  # Texte pour les Hp
Texte_mp  = "MP "                  # Texte pour les Mp
Texte_atk  = "Attaque  "        # Texte pour l'attaque
Texte_def  = "Défense  "      # Texte pour la défense
Texte_int    = "Intelligence "  # Texte pour l'intelligence
Texte_agi  = "Agilité "            # Texte pour l'agilité

# > Couleur des noms de caracteristiques
Couleur_nom_carac = 4

# > Dans la fenêtre des nouveaux sorts
Couleur_new_skill = 4  # Couleur de Texte_new_skill
Texte_new_skill = "Nouveaux sorts : " # Texte pour introduire les nouveaux sorts
 #-------------------------------------------

 #-------------------------------------------
# >> Configuration des icones
#--------------------------------------------
# > Dans la fenêtre de changement de niveau
Icone_hp  = 99    # Id de l'icone pour les PV
Icone_mp = 100  # Id de l'icone pour les PM
Icone_atk  = 2              # Id de l'icone pour l'attaque
Icone_def  = 52          # Id de l'icone pour la défense
Icone_int  = 21          # Id de l'icone pour l'intelligence
Icone_agi  = 48          # Id de l'icone pour l'agilité

# > Dans la fenêtre des sorts
Icone_new_skill = 130
#-------------------------------------------

#-------------------------------------------
# >> Configuration des sons
#--------------------------------------------
# > Quand un héros gagne un niveau
Lvl_up_sound = "Recovery" # Nom du SE
Lvl_up_volume = 80 # Volume entre 50-150
Lvl_up_tempo = 100 # Tempo entre 50-150

#===============================================================
#  Blockade"EDIT"::Config_EVENEMENT commun utiliser pour ce detransformer
#===============================================================
Event  = 2
#===============================================================
#  Blockade::Config_Report Fin du Module de configuration
#===============================================================
  end
end

$imported = {} if $imported == nil
$imported["Rapport_CombatV3"] = true

#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  Scene qui gère les combats
#==============================================================================
class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # * Prend le temps au début du combat
  #--------------------------------------------------------------------------
  alias start_battle_block start
  def start
    start_battle_block
    @temps = Time.now
  end
 
  #--------------------------------------------------------------------------
  # * Enpêche le rapport de s'afficher 2 fois (ATB fix)
  #--------------------------------------------------------------------------
  alias judge_win_loss_block judge_win_loss unless $@
  def judge_win_loss
    if defined?(::N02)
    return unless @fin_combat.nil?
    end
    judge_win_loss_block
  end
  #--------------------------------------------------------------------------
  # * Processus de victoire
  #--------------------------------------------------------------------------
    def process_battle_event_mod
    loop do
      return if $game_temp.next_scene != nil
      $game_troop.interpreter.update
      $game_troop.setup_battle_event
      wait_for_message
      process_action if $game_troop.forcing_battler != nil
      return unless $game_troop.interpreter.running?
      update_basic
    end
  end
 
  def process_victory
    if defined?(::N01)
      $game_temp.common_event_id = Blockade::Config_Report::Event
      process_battle_event_mod
          @status_window.visible = true
          @message_window.visible = false
          # ボスコラプスはウエイトを長く挟む
          for enemy in $game_troop.members
            break boss_wait = true if enemy.collapse_type == 3
          end
          wait(440) if boss_wait
          wait(N01::WIN_WAIT) unless boss_wait
          # 動けないアクターを除いて勝利アクション
          for actor in $game_party.members
            unless actor.restriction >= 4
            @spriteset.set_action(true, actor.index,actor.win)
          end
        end
      end
    @info_viewport.visible = false
    @message_window.visible = false
    RPG::BGM.stop
    $game_system.battle_end_me.play
    unless $BTEST
      $game_temp.map_bgm.play
      $game_temp.map_bgs.play
    end
    new_temps = Time.now
    temps = new_temps- @temps
    if temps >= 60
      @temps_combat = (temps / 60).truncate
      @suffixe = @temps_combat > 1 ?  "minutes" : "minute"
    else
      @temps_combat = temps.truncate
      @suffixe = "secondes"
    end
    @exp =$game_troop.exp_total
    @gold = $game_troop.gold_total
    @drop = $game_troop.make_drop_items
    $game_party.gain_gold(@gold)
    ini_variable   
    Graphics.fadeout(30)
    afficher_rapport
    Graphics.fadein(20)
end

  #--------------------------------------------------------------------------
  # * Initialise les variables
  #--------------------------------------------------------------------------
  def ini_variable
      @fin_combat = true
      @actors_lvl_up = []
      @num_passage= 0
    end
   
  #--------------------------------------------------------------------------
  # * Afficher le rapport de combat
  #--------------------------------------------------------------------------
def afficher_rapport
    @help_window = Window_Help_Combat.new
    @heros_window = []
      y=55 ; i=0
    for actor in $game_party.members
    @heros_window[i] = Heros_Window.new(actor,y,@exp)
    @actors_lvl_up.push([actor,@heros_window[i].get_old_carac,@heros_window[i].get_new_carac,@heros_window[i].get_new_skills]) if @heros_window[i].level_up
    y +=74; i += 1
    end
    @gold_exp_window = Gold_Exp_Window.new(@gold,@exp)
    @butin_window = Drop_Window.new(@drop)
    @help_window.set_text(Blockade::Config_Report::Text_help_window,Blockade::Config_Report::Alignement_texte,Blockade::Config_Report::Texte_temps_combat + "#{@temps_combat} #{@suffixe} ",Blockade::Config_Report::Alignement_texte_temps_combat)
    if @actors_lvl_up != []
      RPG::SE.new(Blockade::Config_Report::Lvl_up_sound, Blockade::Config_Report::Lvl_up_volume, Blockade::Config_Report::Lvl_up_tempo).play
      @actor_window = Carac_Window.new(@actors_lvl_up[@num_passage])
      new_skill = @actors_lvl_up[@num_passage]
      @actor_window2 = Skills_Window.new(@actors_lvl_up[@num_passage]) if @actors_lvl_up[@num_passage][3].size > 0
    end
  end
 
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  alias update_block update unless $@
  def update
    if @fin_combat != true
      update_block
    else
#  Si c'est la fin du combat
      @help_window.update
      @message_window.update
      for i in 0...@heros_window.size
        @heros_window[i].update
      end
      if @actors_lvl_up != []
      @actor_window.update
      @actor_window2.update  if @actors_lvl_up[@num_passage][3].size > 0 # if @heros_window[@num_passage].get_new_skills.size > 0
      if Input.trigger?(Input::C)
        @num_passage += 1
        @actor_window.dispose
        @actor_window2.visible = false if @actor_window2 != nil
        if @num_passage + 1  > @actors_lvl_up.size
          Input.update
          @actors_lvl_up = []
        end # fin @num_passage
        if @actors_lvl_up != []
          RPG::SE.new(Blockade::Config_Report::Lvl_up_sound, Blockade::Config_Report::Lvl_up_volume, Blockade::Config_Report::Lvl_up_tempo).play
          @actor_window = Carac_Window.new(@actors_lvl_up[@num_passage])
          @actor_window2 = Skills_Window.new(@actors_lvl_up[@num_passage])  if @actors_lvl_up[@num_passage][3].size >0    # if @heros_window[@num_passage].get_new_skills.size > 0
      end # fin @actors_lvl_up
    end # fin input
  else # si pas de lvl up
  end
# Si on appuye sur Entrée
  if Input.trigger?(Input::C) and @actors_lvl_up == []
    @help_window.dispose
    for i in 0...@heros_window.size
      @heros_window[i].dispose
    end
    @gold_exp_window.dispose
    @butin_window.dispose
    if $BTEST
      $scene = nil
    else
    Graphics.fadeout(30)
    battle_end(0)
  suppr_variables
  end
 end
end
end
 
#--------------------------------------------------------------------------
# * Reinitialise les variables
#--------------------------------------------------------------------------
def suppr_variables
    @fin_combat = false
    @actors_lvl_up = []
  end
end
 
#==============================================================================
# ** Window_Help_Combat
#------------------------------------------------------------------------------
#  This window shows skill and item explanations along with actor status.
#==============================================================================
class Window_Help_Combat < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 544, WLH + 32)
  end
  #--------------------------------------------------------------------------
  # * Set Text
  #  text  : character string displayed in window
  #  align : alignment (0..flush left, 1..center, 2..flush right)
  #--------------------------------------------------------------------------
  def set_text(text1, align1,text2,align2)
    if text1 != @text1 or align1 != @align1 or text2 != @text2 or align2 != @align2
      self.contents.clear
      self.contents.font.color = normal_color
      self.contents.draw_text(4, 0, self.width - 40, WLH, text1, align1)
      self.contents.draw_text(4, 0, self.width - 40, WLH, text2, align2)
      @text1 = text1 ; @align = align2
      @text2 = text2 ; @align2 = align2
    end 
  end
end

 #==============================================================================
# ** Skills_Window
#------------------------------------------------------------------------------
#  Affiche les sorts
#==============================================================================
class Skills_Window < Window_Base
  def initialize(actor_info)
    @new_skills = actor_info[3]
    super(300,58,244,230)
    afficher_sorts
  end
 
  #--------------------------------------------------------------------------
  # * Affiche les nouveaux sorts
  #--------------------------------------------------------------------------
  def afficher_sorts
    self.contents.font.color = text_color(Blockade::Config_Report::Couleur_new_skill)
    self.contents.draw_text(25,0, 200, WLH, Blockade::Config_Report::Texte_new_skill)
    draw_icon(Blockade::Config_Report::Icone_new_skill,0,0)
    y = 25
    for skills in @new_skills
    draw_item_name(skills,0,y)
    y += 25
    end
  end
end

 #==============================================================================
# ** Carac_Window
#------------------------------------------------------------------------------
#  Affiche les caractérisqtiques
#==============================================================================
class Carac_Window < Window_Base
  def initialize(actor)
    @actor = actor[0]
    @old_carac = actor[1]
    @new_carac = actor[2]
    @new_skills = actor[3]
    x = 100
    x = 0 if @new_skills.size > 0
    super(x,58,300,230)
  afficher_info_actor
  afficher_icone
  afficher_carac
 end
 
  #--------------------------------------------------------------------------
  # * Affiche le nom et le niveau du héros
  #--------------------------------------------------------------------------
def afficher_info_actor
  draw_character(@actor.character_name, @actor.character_index, 20, 40)
  self.contents.draw_text(40,0, 200, WLH, @actor.name)
  self.contents.draw_text(40,20,200,WLH,Blockade::Config_Report::Lvl + @old_carac[0].to_s + " > " +
  Blockade::Config_Report::Lvl + @new_carac[0].to_s)
end

  #--------------------------------------------------------------------------
  # * Affiche les icones
  #--------------------------------------------------------------------------
def afficher_icone
  draw_icon(Blockade::Config_Report::Icone_hp,0,50)
  draw_icon(Blockade::Config_Report::Icone_mp ,0,75)
  draw_icon(Blockade::Config_Report::Icone_atk ,0,100)
  draw_icon(Blockade::Config_Report::Icone_def,0,125)
  draw_icon(Blockade::Config_Report::Icone_int,0,150)
  draw_icon(Blockade::Config_Report::Icone_agi,0,175)
end

  #--------------------------------------------------------------------------
  # * Affiche les caractéristiques
  #--------------------------------------------------------------------------
  def afficher_carac
    self.contents.font.color = text_color(Blockade::Config_Report::Couleur_nom_carac)
    self.contents.draw_text(25,50, 150, WLH,  Blockade::Config_Report::Texte_hp)
    self.contents.draw_text(25,75, 150, WLH,  Blockade::Config_Report::Texte_mp)
    self.contents.draw_text(25,100, 150, WLH,  Blockade::Config_Report::Texte_atk)
    self.contents.draw_text(25,125, 150, WLH,  Blockade::Config_Report::Texte_def)
    self.contents.draw_text(25,150, 150, WLH,  Blockade::Config_Report::Texte_int)
    self.contents.draw_text(25,175, 150, WLH,  Blockade::Config_Report::Texte_agi)
    self.contents.font.color = normal_color
    y = 50
    for i in 1...@new_carac.size
      self.contents.draw_text(150,y, 105, WLH, @old_carac[i],0)
      self.contents.draw_text(150,y, 110, WLH, "> ",1)
      self.contents.font.color =  power_up_color if @old_carac[i] < @new_carac[i]
      self.contents.font.color.alpha = 128 if @old_carac[i] == @new_carac[i]
      self.contents.draw_text(150,y, 105, WLH, @new_carac[i],2)
      self.contents.font.color.alpha = 255
      self.contents.font.color = normal_color
      y +=25
    end
  end
end

 #==============================================================================
# ** Gold_Exp_Window
#------------------------------------------------------------------------------
#  Affiche l'argent et l'exp obtenus
#==============================================================================
class Gold_Exp_Window < Window_Base
  def initialize(gold,exp)
    super(0,350,200,65)
    self.contents.draw_text(0,-6,200,WLH,Blockade::Config_Report::Exp + exp.to_s)
    self.contents.draw_text(0,14,200,WLH,Blockade::Config_Report::Gold + gold.to_s)
  end
end

#==============================================================================
# ** Heros_Window
#------------------------------------------------------------------------------
#  Affiche les informations d'exp sur les héros
#==============================================================================
class Heros_Window < Window_Base
  def initialize(actor,y,exp)
    super(0,y,200,75)
    @actor = actor
    @exp = exp
    afficher_info
  end
 
#--------------------------------------------------------------------------
# * Affiche les informations
#--------------------------------------------------------------------------
  def afficher_info
    @level_up = false
    last_lvl  = @actor.level
    last_hp =  @actor.maxhp
    last_mp = @actor.maxmp
    last_atk =  @actor.atk
    last_def = @actor.def
    last_spi = @actor.spi
    last_agi = @actor.agi
    last_skill = @actor.skills
    @actor.gain_exp(@exp,false)
    if @actor.level > last_lvl
      @level_up = true
      @old_carac = [last_lvl,last_hp,last_mp, last_atk, last_def, last_spi, last_agi]
      @new_carac =[@actor.level, @actor.maxhp,@actor.maxmp,@actor.atk,@actor.def,@actor.spi,@actor.agi]
      @new_skills = @actor.skills - last_skill
    end
    draw_character(@actor.character_name, @actor.character_index, 20, 40)
    draw_actor_exp_meter(@actor,40,20)
    self.contents.draw_text(40,0, 60, WLH, @actor.name)
    self.contents.draw_text(110,0,60,WLH,Blockade::Config_Report::Lvl + @actor.level.to_s)
  end
 
 #--------------------------------------------------------------------------
# * Renvoie les anciennes caractérisques
#--------------------------------------------------------------------------   
  def get_old_carac
    return @old_carac
  end
 
#--------------------------------------------------------------------------
# * Renvoie les nouvelles caractérisques
#--------------------------------------------------------------------------
  def get_new_carac
    return @new_carac
  end
 
#--------------------------------------------------------------------------
# * Renvoie les nouveaux sorts
#--------------------------------------------------------------------------
  def get_new_skills
    if @new_skills.size > 0
    return @new_skills
  else
    return []
    end
  end
 #--------------------------------------------------------------------------
# * Determine si le heros a pris un ou plusieurs niveaux
#--------------------------------------------------------------------------
  def level_up
    return @level_up
  end
#--------------------------------------------------------------------------
# * Couleur 1 de la barre
#--------------------------------------------------------------------------
  def exp_gauge_color1
    return text_color(30)
  end
     
#--------------------------------------------------------------------------
# * Couleur 1 de la barre
#--------------------------------------------------------------------------
  def exp_gauge_color2
    return text_color(31)
  end
 
#--------------------------------------------------------------------------
# * Dessine la barre d'exp
#-------------------------------------------------------------------------
  def draw_actor_exp_meter(actor, x, y, width = 100)
    if actor.next_exp != 0
      exp = actor.now_exp
    else
      exp = 1
    end
      gw = width * exp / [actor.next_exp, 1].max
      gc1 = exp_gauge_color1
      gc2 = exp_gauge_color2
      self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
      self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 30, WLH, "Exp")
      self.contents.font.color = normal_color
      xr = x + width
      self.contents.draw_text(xr - 60, y, 60, WLH,  actor.next_rest_exp_s, 2)
    end
  end

#==============================================================================
# ** Drop_Window
#------------------------------------------------------------------------------
#  Affiche les objets obtenus
#==============================================================================
class Drop_Window < Window_Base
  def initialize(drop)
      super(200,55,344,360)
      @drop = drop
      if @drop != []
        trier_drop
        regrouper
        afficher_drop
        donner_drop
      else
        afficher_mess
      end
    end
   
#--------------------------------------------------------------------------
# * Trie le drop en fonction du type d'objet
#-------------------------------------------------------------------------
  def trier_drop
    @armes = []
    @armures =  []
    @items = []
    for item in @drop
      if item.is_a?(RPG::Item)
        @items.push(item)
      end
      if item.is_a?(RPG::Armor)
        @armures.push(item)
      end
      if item.is_a?(RPG::Weapon)
        @armes.push(item)
      end
    end
  end
   
#--------------------------------------------------------------------------
# * Regroupe les objets par nombre 
#-------------------------------------------------------------------------
  def regrouper
#-------------------------------------------------------
#  Pour les objets 
#------------------------------------------------------
    if @items != []
      @items_unique = @items.uniq
      @regroupement_item = {}
      for item in @items_unique
        @regroupement_item[item] = 0
      end
      for item in @items
        if @regroupement_item.include?(item)
          @regroupement_item[item] += 1
        end
      end
    end
   
#-------------------------------------------------------
#  Pour les armures
#------------------------------------------------------
    if @armures != []
      @armure_unique = @armures.uniq
      @regroupement_armures = {}
      for armure in @armure_unique
        @regroupement_armures[armure] = 0
      end
      for armure in @armures
        if @regroupement_armures.include?(armure)
          @regroupement_armures[armure] += 1
        end
      end
    end
   
#-------------------------------------------------------
#  Pour les armes
#------------------------------------------------------
    if @armes != []
      @armes_unique = @armes.uniq
      @regroupement_armes = {}
      for arme in @armes_unique
        @regroupement_armes[arme] = 0
      end
      for arme in @armes
        if @regroupement_armes.include?(arme)
          @regroupement_armes[arme] += 1
        end
      end
    end
  end

#--------------------------------------------------------------------------
# * Affiche les objets
#-------------------------------------------------------------------------
  def afficher_drop
    y=0 # Initialisation de la coordonée y
#-------------------------------------------------------
#  Pour les objets 
#------------------------------------------------------
    if @items != []
      self.contents.draw_text(0,y,200,WLH,Blockade::Config_Report::Drop_objets)
      y += 25
      for item in @regroupement_item
        draw_icon(item[0].icon_index, 0, y)
        if item[1] > 1
        quantite = "  x" + item[1].to_s
        else
          quantite = ""
        end
        self.contents.draw_text(24, y, 172, WLH, item[0].name + quantite)
      y+=25
    end
  end
 
  y += 5 if @items.nil? == false # Si les objets on été affiché augmenter y de 5
 
#-------------------------------------------------------
#  Pour les armures
#------------------------------------------------------
  if @armures != []
      self.contents.draw_text(0,y,200,WLH,Blockade::Config_Report::Drop_armures)
      y += 25
    for armure in @regroupement_armures
      draw_icon(armure[0].icon_index, 0, y)
        if armure[1] > 1
        quantite = "  x" + armure[1].to_s
        else
          quantite = ""
        end
        self.contents.draw_text(24, y, 172, WLH, armure[0].name + quantite)
      y +=25
    end
  end
 
  y += 5 if @armures.nil? == false # Si les armures on été affichées augmenter y de 5
 
#-------------------------------------------------------
#  Pour les armes
#------------------------------------------------------
  if @armes != []
      self.contents.draw_text(0,y,200,WLH,Blockade::Config_Report::Drop_armes)
      y += 25
    for arme in @regroupement_armes
    draw_icon(arme[0].icon_index, 0, y)
        if arme[1] > 1
        quantite = "  x" + arme[1].to_s
        else
          quantite = ""
        end
        self.contents.draw_text(24, y, 172, WLH, arme[0].name + quantite)
      y +=25
    end
  end 
end

#-------------------------------------------------------
#  Afficher un message si pas de drop
#------------------------------------------------------
  def afficher_mess
    self.contents.draw_text(0,0,360,WLH,Blockade::Config_Report::Drop_nil)
  end
 
#-------------------------------------------------------
#  Donne le drop à l'équipe
#------------------------------------------------------
  def donner_drop
    for item in @drop
      $game_party.gain_item(item, 1)
    end
  end
end

#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  Gére les données système sur les héros.
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Calcul de l'exp accumulée
  #--------------------------------------------------------------------------
    def now_exp
        return @exp - @exp_list[@level]
      end
   
  #--------------------------------------------------------------------------
  # * Calcul de l'exp a avoir pour gagner un niveau
  #-------------------------------------------------------------------------- 
    def next_exp
      return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
    end
   
  end

dans le fond c'est le meme script jai juste mis les ligne a la mauvaise place, cette fois ca marche il ce detransforme de la meme facon quil ce transforme a la toute fin du combat Wink
jai testé avec SBS le tankentai

a remplacer le "Rapport de combat V3" par cette version et il dois ce trouver sous les scripts de Tankentai avant le main
Revenir en haut Aller en bas
Shyno19
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Shyno19


Inscrit le : 22/03/2011
Messages : 66

Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitimeMar 13 Sep 2011 - 8:35

merci bien
Revenir en haut Aller en bas
Contenu sponsorisé




Redevenir humain apres victoire Empty
MessageSujet: Re: Redevenir humain apres victoire   Redevenir humain apres victoire Icon_minitime

Revenir en haut Aller en bas
 

Redevenir humain apres victoire

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

 Sujets similaires

-
» Objets gagné apres victoire[resolu]
» Site de chararcter humain
» PV max après lvl up [non resolu]
» [RESOLU]Finir le son de victoire en arrivant sur la map
» Un après-Ace ?

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