Partagez
Aller en bas
avatar
Dany
Membre

Nombre de messages : 764
Age : 22
Distinction : aucune
Date d'inscription : 16/11/2010
http://gamers-studio.forumofficiel.fr/

Résolu [résolu]Ajout d'un menu pour le scene Battle

le Dim 26 Oct 2014 - 19:30
Bonjours, bonsoirs,

Je voudrais savoir si c'est possible de mettre "Formation" dans le menu des combats?
Sa permettra aux joueurs de changer les persos en plein combat.

Et en même temps, si une personne peut m'expliquer un peu pour changer la résolution et et tout le tralala.

J'ai aussi quelques questions:
1*) Est-ce vrai que les scripts Moghunter sont incompatible avec les autres scripts?
2*) Comment gérer le scénario?
Je vois par là quelques méthodes, je sais qui a des tutos, mais j'aimerais un peu plus de comment gérer le scénario et le jeu.

Merci d'avance de vos réponses.


Dernière édition par Dany le Mar 28 Oct 2014 - 23:33, édité 1 fois
avatar
Ewaldar
Membre

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

Résolu Re: [résolu]Ajout d'un menu pour le scene Battle

le Dim 26 Oct 2014 - 20:15
Hello,

Voici les deux scripts à insérer afin de répondre à ta requête : YEA - Party System

Et son add-on : Command Party

Pour changer la résolution, il te faut un script. Je sais qu'il y a en des tas, mais que beaucoup foirent. Un sûr est celui qu'utilise spy dans son projet Forestia. Il pourra mieux te répondre que moi.

Ensuite, les scripts de Moghunters ne sont pas incompatibles avec les autres plus qu'un autre. Si tu veux utiliser deux scripts de même fonction, c'est logique, ça va foirer. En haut de chaque entête des scripts de mog, il met souvent compatible avec tel et tel.

Pour gérer mon scénario, j'ai procédé ainsi :
-Écriture d'idées aléatoires (même sans lien commun) sur du papier. Je laisse agir quelques jours, je relis. Si j'ai d'autres idées, je les mets sur un autre papier. Tout d'un coup, en lisant un artice, en me promenant, je vais penser à un truc, paf, consigné.

Ensuite, j'utilise word et Celtx pour la mise en forme. J'édite au fur et à mesure, et à chaque fois, je me relis de A à Z en laissant 3-4 jours.

Une bonne solution consiste également à faire des mind mapping (tu écris au centre ton idée principale, et tu relies par des shemas les idées entres elles).

Lis beaucoup, de tout, pas forcément de la fantaisie, mais lis beaucoup et ça va "structurer ton cerveau", si je puis m'exprimer ainsi, je sais pas comment expliquer autrement.

Enfin, regarde ce qui se fait sur les autres projets rm ou en général sur l'indé, tu pourras puiser une idée ou l'autre facilement et la modifier selon tes besoins.
avatar
Dany
Membre

Nombre de messages : 764
Age : 22
Distinction : aucune
Date d'inscription : 16/11/2010
http://gamers-studio.forumofficiel.fr/

Résolu Re: [résolu]Ajout d'un menu pour le scene Battle

le Lun 27 Oct 2014 - 11:47
Merci, mais j'ai une erreur, j'utilise le script de moghunter pour le combat, bon tant pis.
J’espère que Spy' va passer par là pour m'expliquer pour le script de résolution.

Edit: Pour le script: http://pastebin.com/LKd9hbDa
Si une personne peut modifier pour qui soit utilisable dans les fenêtres du jeu!
Merci d'avance!

Edit 2: Problème, le script de MogHunter de battla, dit qui'il est compatible avec le script de Victor Engine Animated Battle.
Mais j'ai cette erreur quand je lance un combat:
Spoiler:
J'ai mis dans le notetag de mon personnage ceci:
Code:
<battler name: $Actor4>
Et j'ai mis ceci dans le script de Victor Engine Animated Battle:
Code:
 VE_SPRITE_SETTINGS = {
  # 'Filename' => {settings},
  #
  # 'Sample 1' => {frames: 4, rows: 14, mirror: true, mode: :sprite,
  #                action: :default},
  # 'Sample 2' => {frames: 3, rows: 4, mirror: true, invert: false,
  #                mode: :charset, action: :charset},
  # 'Sample 3' => {frames: 3, rows: 4, mirror: false, invert: false,
  #                mode: :charset, action: :kaduki},
  # 'Sample 1' => {frames: 4, rows: 14, mirror: true, mode: :sprite,
  #                action: :default, oy: 20, evade: 1, skill: 4},
    'Holder'   => {frames: 4, rows: 14, mirror: true, mode: :sprite,
                   action: :default},
    'Charset'  => {frames: 3, rows: 4, mirror: false, invert: false,
                   mode: :charset, action: :charset},
    'Kaduki'   => {frames: 3, rows: 4, mirror: true, invert: false,
                   mode: :charset, action: :kaduki},
                  
    '$Actor4'   => {frames: 3, rows: 4, mirror: true, invert: false,
                   mode: :charset, action: :kaduki},
  } # Don't remove
Puis ces dans ce script que j'ai l'erreur:
Code:
#==============================================================================
# +++ MOG - ATB Meter (v1.1)+++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com
#==============================================================================
# Adiciona medidores de ATB nos inimigos e aliados.
#==============================================================================
$imported = {} if $imported.nil?
$imported[:mog_atb_meter] = true

module MOG_ATB_Meter
  #Ativar os medidores nos aliados.
  ENABLE_FOR_ACTOR = true
  #Ativar os medidores nos inimigos.
  ENABLE_FOR_ENEMY = true
  #Ativar Medidor animado. (É necessário dividir a largura da imagem por 3)
  GRADIENT_ANIMATION = true
  #Posição da Hud é fixa.(false = a posição é baseada na posição real do battler)
  HUD_POSITION_FIX = false
  #Definição da posição Z dos sprites. (Para Ajustes)
  SCREEN_Z = -90
  #Definição da posição do Layout
  LAYOUT_POSITION = [0,0]
  #Definição da posição do medidor.
  METER_POSITION = [0,0]
  # Não modifique essa parte.
  # ☢CAUTION!!☢ Don't Touch.^_^
  FIXED_ACTOR_POSITION = []
  FIXED_ENEMY_POSITION = []
  # Definição especifica do medidor baseado na ID da posição do Battler ou
  # a ID do battler no caso dos inimigos.
  # Essa opção serve para fazer ajustes na posição do sprite
  FIXED_ACTOR_POSITION[0] = [0,-64]
  FIXED_ACTOR_POSITION[1] = [0,-64]
  FIXED_ACTOR_POSITION[2] = [0,-64]
  FIXED_ACTOR_POSITION[3] = [0,-64]
  
  FIXED_ENEMY_POSITION[11] = [0,-64] # Remilia Scarlet
  FIXED_ENEMY_POSITION[12] = [0,-64] # Frandle Scarlet
  FIXED_ENEMY_POSITION[950] = [-30,-20]
  FIXED_ENEMY_POSITION[951] = [-50,-30]
  FIXED_ENEMY_POSITION[952] = [-100,-60]
end

#==============================================================================
# ■ Game Temp
#==============================================================================
class Game_Temp
 
  attr_accessor :battle_end
  
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------      
  alias mog_atb_meter_initialize initialize
  def initialize
      @battle_end = false
      mog_atb_meter_initialize
  end
  
end

#===============================================================================
# ■ Spriteset_Battle
#===============================================================================
class Sprite_Battler < Sprite_Base
  
  #--------------------------------------------------------------------------
  # ● Dispose
  #--------------------------------------------------------------------------  
  alias mog_atb_meter_dispose dispose
  def dispose
      dispose_atb_meter
      mog_atb_meter_dispose      
  end
  
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------          
  alias mog_atb_meter_update update
  def update
      mog_atb_meter_update
      update_atb_meter
  end
    
  #--------------------------------------------------------------------------
  # ● Refresh ATB Meter
  #--------------------------------------------------------------------------          
  def refresh_atb_meter
      return if @atb_meter != nil
      @atb_meter = ATB_Meter.new(@battler)
      @atb_created = true
  end
  
  #--------------------------------------------------------------------------
  # ● Dispose ATB Meter
  #--------------------------------------------------------------------------          
  def dispose_atb_meter
      return if @atb_meter == nil
      @atb_meter.dispose
  end
  
  #--------------------------------------------------------------------------
  # ● Update ATB Meter
  #--------------------------------------------------------------------------          
  def update_atb_meter
      refresh_atb_meter if @atb_created == nil
      return if @atb_meter == nil
      @atb_meter.update
  end
  
end

#===============================================================================
# ■ Spriteset_Battle
#===============================================================================
class ATB_Meter
  include MOG_ATB_Meter
  
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------          
  def initialize(battler)
      screen_x = battler.screen_x rescue nil
      return if screen_x == nil
      if $imported[:mog_battle_hud_ex]
      return if battler.is_a?(Game_Actor) and SceneManager.face_battler?
      end
      if battler.is_a?(Game_Actor) and !ENABLE_FOR_ACTOR ; return ; end
      if battler.is_a?(Game_Enemy) and !ENABLE_FOR_ENEMY ; return ; end
      @battler = battler
      catb = ATB::MAX_AP rescue nil ; @ccwinter_atb = true if catb != nil
      create_sprites ; set_sprites_position ;  update_meter ; update_position
  end
  
  #--------------------------------------------------------------------------
  # ● Create Sprites
  #--------------------------------------------------------------------------          
  def create_sprites
      @layout = Sprite.new ; @layout.bitmap = Cache.system("ATB_Layout")
      @layout.ox = @layout.bitmap.width / 2 ; @layout.oy = @layout.bitmap.height / 2
      @meter_image = Cache.system("ATB_Meter")
      @meter_cw = GRADIENT_ANIMATION ? @meter_image.width / 3 : @meter_image.width
      @meter_ch = @meter_image.height / 3
      @meter_flow = 0 ; @meter_flow_max = @meter_cw * 2
      @meter = Sprite.new ; @meter.bitmap = Bitmap.new(@meter_cw,@meter_ch)
      @meter.ox = @meter.bitmap.width / 2 ; @meter.oy = @meter.bitmap.height / 2
      @layout.opacity = 0 ; @meter.opacity = 0
  end  
  
  #--------------------------------------------------------------------------
  # ● Set Sprites Position
  #--------------------------------------------------------------------------          
  def set_sprites_position
      if @battler.is_a?(Game_Actor)
         if FIXED_ACTOR_POSITION[@battler.index] != nil
            @lp = [FIXED_ACTOR_POSITION[@battler.index][0],FIXED_ACTOR_POSITION[@battler.index][1] + @layout.height]
         else
            @lp = [LAYOUT_POSITION[0],LAYOUT_POSITION[1] + @layout.height]
         end
         @mp = [METER_POSITION[0],METER_POSITION[1]]
      else
         if FIXED_ENEMY_POSITION[@battler.enemy_id] != nil
            @lp = [FIXED_ENEMY_POSITION[@battler.enemy_id][0],FIXED_ENEMY_POSITION[@battler.enemy_id][1] + @layout.height]
         else
            @lp = [LAYOUT_POSITION[0],LAYOUT_POSITION[1] + @layout.height]
         end        
         @mp = [METER_POSITION[0],METER_POSITION[1]]
      end  
      @layout.x = @battler.screen_x + @lp[0]
      @layout.y = @battler.screen_y + @lp[1]  
      @meter.x = @layout.x + @mp[0] ;  @meter.y = @layout.y + @mp[1]
      @layout.z = @battler.screen_z + SCREEN_Z ;  @meter.z = @layout.z + 1    
  end
  
  #--------------------------------------------------------------------------
  # ● Update Meter
  #--------------------------------------------------------------------------          
  def update_meter
      @meter.bitmap.clear
      @meter_flow = 0 if !GRADIENT_ANIMATION
      if actor_cast?
         meter_width = @meter_cw * actor_cast / actor_max_cast rescue nil
         meter_width = 0 if meter_width == nil
         ch = @meter_ch * 2
      else
         meter_width = @meter_cw * actor_at / actor_max_at rescue nil
         meter_width = 0 if meter_width == nil        
         ch = actor_at >= actor_max_at ? @meter_ch : 0
      end  
      meter_src_rect = Rect.new(@meter_flow, ch ,meter_width, @meter_ch)
      @meter.bitmap.blt(0,0, @meter_image, meter_src_rect)  
      @meter_flow += 2
      @meter_flow = 0 if @meter_flow >= @meter_flow_max
  end
  
  #--------------------------------------------------------------------------
  # ● Dispose
  #--------------------------------------------------------------------------          
  def dispose
      return if @layout == nil
      @layout.bitmap.dispose ; @layout.dispose
      @meter.bitmap.dispose ; @meter.dispose
  end
  
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------          
  def update
      return if @layout == nil
      update_position if update_atb_position? ; update_meter ; update_visible
  end
  
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------          
  def update_visible
      if sprite_visible? ; @layout.opacity += 10
      else ; @layout.opacity -= 10
      end
      @meter.opacity = @layout.opacity
  end
  
  #--------------------------------------------------------------------------
  # ● Sprite Visible?
  #--------------------------------------------------------------------------          
  def sprite_visible?
      return false if $game_temp.battle_end
      return false if $game_message.visible
      return false if $game_troop.interpreter.running?
      return false if @battler.dead?
      return false if @battler.hidden?
      return true
  end
  
  #--------------------------------------------------------------------------
  # ● Update Position
  #--------------------------------------------------------------------------          
  def update_position
      @layout.z = @battler.screen_z + SCREEN_Z ; @meter.z = @layout.z + 1
      @layout.x = @battler.screen_x + @lp[0]
      @layout.y = @battler.screen_y + @lp[1]  
      @meter.x = @layout.x + @mp[0]
      @meter.y = @layout.y + @mp[1]
  end
  
  #--------------------------------------------------------------------------
  # ● Update ATB Position?
  #--------------------------------------------------------------------------          
  def update_atb_position?
      return false if HUD_POSITION_FIX
      if $imported[:mog_atb_system] and BattleManager.subject != nil
         return false if @battler == BattleManager.subject
         if @battler.is_a?(Game_Actor) and BattleManager.subject.is_a?(Game_Enemy)
            return false
         elsif @battler.is_a?(Game_Enemy) and BattleManager.subject.is_a?(Game_Actor)
            return false
         end
      end
      return true
  end
  
  #--------------------------------------------------------------------------
  # * AT
  #--------------------------------------------------------------------------  
  def actor_at
      return @battler.atb if $imported[:mog_atb_system]
      return @battler.atb if $imported[:ve_active_time_battle]
      return @battler.catb_value if $imported["YSA-CATB"]
      return @battler.ap if @ccwinter_atb != nil
      return 0
  end

  #--------------------------------------------------------------------------
  # * Max AT
  #--------------------------------------------------------------------------  
  def actor_max_at
      return @battler.atb_max if $imported[:mog_atb_system]
      return @battler.max_atb if $imported[:ve_active_time_battle]
      return @battler.max_atb if $imported["YSA-CATB"]
      return ATB::MAX_AP if @ccwinter_atb != nil
      return 1
  end

  #--------------------------------------------------------------------------
  # ● Actor Cast
  #--------------------------------------------------------------------------            
  def actor_cast
      return @battler.atb_cast[1] rescue nil if $imported[:mog_atb_system]
      return -@battler.atb if $imported[:ve_active_time_battle]
      return @battler.chant_count rescue 0 if @ccwinter_atb != nil
      return 0
  end

  #--------------------------------------------------------------------------
  # ● Actor Max Cast
  #--------------------------------------------------------------------------            
  def actor_max_cast
      if $imported[:mog_atb_system]
         return @battler.atb_cast[2] if @battler.atb_cast[2] != 0
         return @battler.atb_cast[0].speed.abs
      end  
      return @battler.max_atb if $imported[:ve_active_time_battle]
      return -@battler.max_chant_count rescue 1 if @ccwinter_atb != nil
      return 1
  end  

  #--------------------------------------------------------------------------
  # ● Actor Cast?
  #--------------------------------------------------------------------------            
  def actor_cast?  
      if $imported[:mog_atb_system]
         return true if !@battler.atb_cast.empty?
      end  
      if $imported[:ve_active_time_battle]
         return true if @battler.cast_action?
      end      
      if @ccwinter_atb
         return true if @battler.chanting?
      end
      return false
  end    
  
end
Soit j'ai oublier quelque chose ou c'est incompatible.
Ces dans la ligne
Code:
174      @layout.z = @battler.screen_z + SCREEN_Z ;  @meter.z = @layout.z + 1
J'ai regarder dans les def si ils sont les même nom, rien.
Contenu sponsorisé

Résolu Re: [résolu]Ajout d'un menu pour le scene Battle

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