Partagez
Aller en bas
vickymichaelis
vickymichaelis
Membre

Nombre de messages : 319
Age : 26
Localisation : dans un fromage
Distinction : aucune
Date d'inscription : 15/01/2013

script différentes positions Empty script différentes positions

le Dim 15 Nov 2015 - 15:29
Bonjour à tous

en ces sombres heures je me change un peu les idées en travaillant sur mon jeu, mais voilà, j'ai un petit soucis.

J'utilise le script "ACE master" (c'est ce qu'il y a de marqué sur ma demo pour ce script)
Les persos apparaissent dans les combats, mais j'aurais voulu différentes position.

Exemple avec le personnage principal

En combat, quand le menu apparait, le personnage apparait aussi.
script différentes positions 0110

Mais j'aurai voulu qu'il soit juste debout, et pas en position de victoire, comme ici :
script différentes positions Actor110

Et, quand ses points de vie sont en dessous d'une certaine limite, qu'elle soit comme ça :
script différentes positions Actor111


Par contre, j'aimerais garder la position de victoire pour le gain de niveau, comme là...
script différentes positions 0210


Je ne sais pas si c'est possible, quelqu'un peut-il m'aider ?


voilà le script :


Code:
#==============================================================================
# +++ MOG - ACTOR PICTURE CM  (v1.3) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com/
#==============================================================================
# Apresenta a imagem do personagem durante a seleção de comandos, com efeitos
# animados.
#==============================================================================
# ● Definindo o nome das imagens dos battlers.
#==============================================================================
# 1 - As imagens devem ser gravadas na pasta
#
# GRAPHICS/PICTURES
#
# 2 - Nomeie os  arquivos de imagens da seguinte forma.
#
#
# ACTOR + ID
#
# EG
#
# ACTOR1.png
#
#==============================================================================

#==============================================================================
# ● Histórico (Version History)
#==============================================================================
# v 1.3 - Melhoria na codificação.
# v 1.2 - Ajuste automático da imagem do battler.
# v 1.1 - Correção do bug de não apagar a imagem quando o battler usa
#         ações de que acertam todos os alvos.
#==============================================================================

module MOG_ACTOR_PICTURE_CM
  #Posição da imagem do battler. (Para fazer ajustes)
  PICTURE_POSITION = [0, 0]  
  
  #Definição da opacidade da imagem.
  PICTURE_OPACITY = 255
  
  #Velocidade de deslize
  SLIDE_SPEED = 30  
  
  #Ativar o efeito da imagem respirando.
  BREATH_EFFECT = true
  
  #Definição da prioridade  da imagem na tela.
  PICTURE_PRIORITY_Z = 103
end

#===============================================================================
# ■ Sprite_Battler_CM
#===============================================================================
class Sprite_Battler_CM < Sprite
  include MOG_ACTOR_PICTURE_CM
  
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------  
  def initialize(viewport = nil,battler_id = -1)
      super(viewport)
      filename = "Actor" + battler_id.to_s
      self.bitmap = Cache.picture(filename) rescue nil
      self.bitmap = Cache.picture("") if self.bitmap == nil
      sc = (544 / 2)  - (self.bitmap.width / 2) + PICTURE_POSITION[0]
      @size = [self.bitmap.width + PICTURE_POSITION[0] ,sc]      
      self.visible = false
      self.opacity = 0
      self.z = PICTURE_PRIORITY_Z
      self.ox = 0
      self.oy = self.bitmap.height
      self.x = -@size[0]
      self.y = (Graphics.height + 10) + PICTURE_POSITION[1]      
      @breach_effect = [1.0,0]
      @battler_id = battler_id
      @active =  false
      @cm_visible = false
  end  
  
  #--------------------------------------------------------------------------
  # ● Dispose
  #--------------------------------------------------------------------------  
  def dispose
      super
      self.bitmap.dispose
  end
  
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------  
  def update
      super
      update_slide
  end  
  
  #--------------------------------------------------------------------------
  # ● Active Battler
  #--------------------------------------------------------------------------      
  def active_battler(battler_id)
      @active = @battler_id == battler_id ? true : false
      self.visible = true if @active
      @cm_visible = false if !@active
  end
  
  #--------------------------------------------------------------------------
  # ● Refresh Battler CM
  #--------------------------------------------------------------------------        
  def refresh_battler(cm_visible, battler_index)
      @cm_visible = cm_visible
      active_battler(battler_index)
  end  
  
  #--------------------------------------------------------------------------
  # ● Update Slide
  #--------------------------------------------------------------------------  
  def update_slide
      if !@cm_visible
           self.x -= SLIDE_SPEED if self.x > -@size[0]
           self.opacity -= 25
           if self.x <= -@size[0] or self.opacity == 0
              self.visible = false
              self.opacity = 0
              self.x = -@size[0]
           end  
        else
           self.x += SLIDE_SPEED if self.x < @size[1]
           self.x = @size[1] if self.x > @size[1]
           self.opacity += 10 if self.opacity < PICTURE_OPACITY
           self.opacity = PICTURE_OPACITY if self.opacity > PICTURE_OPACITY
           update_breath_effect
      end        
  end
  
  #--------------------------------------------------------------------------
  # ● Update Breath Effect
  #--------------------------------------------------------------------------    
  def update_breath_effect
      return if !BREATH_EFFECT
      @breach_effect[1] += 1
      case @breach_effect[1]
         when 0..30
             @breach_effect[0] += 0.0004
         when 31..50
             @breach_effect[0] -= 0.0004
         else  
         @breach_effect[1] = 0
         @breach_effect[0] = 1.truncate
      end
      self.zoom_y = @breach_effect[0]
  end  
  
end

#===============================================================================
# ■ Spriteset_Battle
#===============================================================================
class Spriteset_Battle
  
  #--------------------------------------------------------------------------
  # ● Create Actors
  #--------------------------------------------------------------------------    
  alias mog_battler_cm_create_actors create_actors
  def create_actors
      mog_battler_cm_create_actors
      create_battler_pictures
  end
  
  #--------------------------------------------------------------------------
  # ● Dispose
  #--------------------------------------------------------------------------    
  alias mog_battler_cm_dispose dispose
  def dispose
      mog_battler_cm_dispose
      dispose_battler_cm
  end  

  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------    
  alias mog_battler_cm_update update
  def update
      mog_battler_cm_update
      update_battler_cm
  end    

  #--------------------------------------------------------------------------
  # ● Create Battler Pictures
  #--------------------------------------------------------------------------    
  def create_battler_pictures
      @battler_pictures = []
      for i in $game_party.battle_members
          @battler_pictures.push(Sprite_Battler_CM.new(@viewport1,i.id))
      end    
  end  
  
  #--------------------------------------------------------------------------
  # ● Dispose Battler CM
  #--------------------------------------------------------------------------    
  def dispose_battler_cm
      return if @battler_pictures == nil
      @battler_pictures.each {|sprite| sprite.dispose }
  end  
 
  #--------------------------------------------------------------------------
  # ● Update Battler CM
  #--------------------------------------------------------------------------    
  def update_battler_cm
      return if @battler_pictures == nil
      @battler_pictures.each {|sprite| sprite.update }
  end    
    
  #--------------------------------------------------------------------------
  # ● Update CM Pictures
  #--------------------------------------------------------------------------      
  def update_cm_picture(cm_visible, battler_index)
      return if @battler_pictures == nil
      @battler_pictures.each {|sprite| sprite.refresh_battler(cm_visible, battler_index) }
  end  
  
end

#===============================================================================
# ■ Scene_Battle
#===============================================================================
class Scene_Battle < Scene_Base
  
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------        
  alias mog_cm_picture_update update
  def update
      mog_cm_picture_update  
      update_picture_visible
  end  
  
  #--------------------------------------------------------------------------
  # ● Update Battler CM Active
  #--------------------------------------------------------------------------      
  def update_picture_visible
      return if @actor_command_window == nil
      cm_visible = can_cm_picture_visible?      
      cm_id = BattleManager.actor.id rescue -1
      @spriteset.update_cm_picture(cm_visible, cm_id)
  end  
  
  #--------------------------------------------------------------------------
  # ● Can CM Picture Visible
  #--------------------------------------------------------------------------        
  def can_cm_picture_visible?
      return false if (@actor_window.active or @enemy_window.active) rescue return
      return false if BattleManager.actor == nil      
      return true
  end  
  
  #--------------------------------------------------------------------------
  # ● Execute Action
  #--------------------------------------------------------------------------        
  alias mog_cm_picture_execute_action execute_action
  def execute_action
      @spriteset.update_cm_picture(false, -1) if @spriteset != nil
      mog_cm_picture_execute_action
  end
  
end

$mog_rgss3_actor_picture_cm = true
vickymichaelis
vickymichaelis
Membre

Nombre de messages : 319
Age : 26
Localisation : dans un fromage
Distinction : aucune
Date d'inscription : 15/01/2013

script différentes positions Empty Re: script différentes positions

le Mer 18 Nov 2015 - 22:32
up Smile
vickymichaelis
vickymichaelis
Membre

Nombre de messages : 319
Age : 26
Localisation : dans un fromage
Distinction : aucune
Date d'inscription : 15/01/2013

script différentes positions Empty Re: script différentes positions

le Jeu 26 Nov 2015 - 13:15
uup quelqu'un peu m'aider ? script différentes positions 264793
Gelarto
Gelarto
Gelato Della Mamma

Nombre de messages : 2919
Age : 24
Distinction : Grand bêta-testeur de la communauté Curse
Personne avec du goût
Je ne suis pas une glace italienne, bordel de merde! [Gel']
Mon plus grand fan [Yama']
Mon ptit bichon [encore Yama']
Jeau-Paul II[Mist']
Saint-Gelato Le Frais [Mist']
Écrivain du dimanche [Amal']
FF IV Fanatic [LaCommu']
Collectionneur de distinctions de merde [Yama]
ModoGel [Un staffieux mais lequel?]
RNGel 2.0 [Zeal']
Date d'inscription : 31/07/2012

script différentes positions Empty Re: script différentes positions

le Jeu 26 Nov 2015 - 13:49
De base c'est pas possible, une seule image par personnage.

Après quelqu'un avec les connaissances requises peut peut-être modifié mais une image "neutre" (la pose débout sans bras levé) et largement suffisante :/

_________________
script différentes positions 1501028175-pantsu
Hinola
Hinola
Modérateur

Nombre de messages : 969
Age : 26
Distinction : Gagnant invaincu à ce jour de tous les concours de mapping de ce forum fait par Coco'
[Coco' Smile]
Grande figure du Mapping Show .
Grand admirateur de notre mascotte Vehyxine
STI Haruhiste like me [Hamu' Wink]
et fier de l'être ! [bibi ^^]
Un fier Homme du désert sans foi ni loi è_é [:3]
Date d'inscription : 21/05/2009

script différentes positions Empty Re: script différentes positions

le Jeu 26 Nov 2015 - 14:24
Je veux bien essayer, mais je promet rien ^^

Vu que j'ai pas vraiment de quoi tester sur le coup et que je m'y connais moyen en RGSS3

mais je pense avoir la solution ^^

_________________
( script différentes positions Icon_gender_male )
script différentes positions 1469999672-signcourte

____________________________________________________
J'offre un support par messagerie privée pour ceux qui le veulent.
Présentation de projet | news | mapping | évents | scénario | personnages | tests | ...
click >>
Envoyez un mp clair de votre problème / question / idée, j'y répond dans les meilleurs délais possibles. << click
_______


Contenu sponsorisé

script différentes positions Empty Re: script différentes positions

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