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



Le Deal du moment : -29%
DYSON V8 Origin – Aspirateur balai sans fil
Voir le deal
269.99 €

Partagez
 

 [Resolu]BattleManager [VX ACE]

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


Masculin Age : 28
Inscrit le : 26/12/2010
Messages : 2220

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeSam 3 Mar 2012 - 13:28

Bonjours j'ai encore un problème sous Vx Ace !
En mode combat je bat un ennemis ensuite quand je l'ai tué
toute suite une érreur aparé.
Screen :

[Resolu]BattleManager [VX ACE] Aioria10

Script BattleManager :

Code:
#==============================================================================
# ■ BattleManager
#------------------------------------------------------------------------------
#  戦闘の進行を管理するモジュールです。
#==============================================================================

module BattleManager
  #--------------------------------------------------------------------------
  # ● セットアップ
  #--------------------------------------------------------------------------
  def self.setup(troop_id, can_escape = true, can_lose = false)
    init_members
    $game_troop.setup(troop_id)
    @can_escape = can_escape
    @can_lose = can_lose
    make_escape_ratio
  end
  #--------------------------------------------------------------------------
  # ● メンバ変数の初期化
  #--------------------------------------------------------------------------
  def self.init_members
    @phase = :init              # 戦闘進行フェーズ
    @can_escape = false        # 逃走可能フラグ
    @can_lose = false          # 敗北可能フラグ
    @event_proc = nil          # イベント用コールバック
    @preemptive = false        # 先制攻撃フラグ
    @surprise = false          # 不意打ちフラグ
    @actor_index = -1          # コマンド入力中のアクター
    @action_forced = nil        # 戦闘行動の強制
    @map_bgm = nil              # 戦闘前の BGM 記憶用
    @map_bgs = nil              # 戦闘前の BGS 記憶用
    @action_battlers = []      # 行動順序リスト
  end
  #--------------------------------------------------------------------------
  # ● エンカウント時の処理
  #--------------------------------------------------------------------------
  def self.on_encounter
    @preemptive = (rand < rate_preemptive)
    @surprise = (rand < rate_surprise && !@preemptive)
  end
  #--------------------------------------------------------------------------
  # ● 先制攻撃の確率取得
  #--------------------------------------------------------------------------
  def self.rate_preemptive
    $game_party.rate_preemptive($game_troop.agi)
  end
  #--------------------------------------------------------------------------
  # ● 不意打ちの確率取得
  #--------------------------------------------------------------------------
  def self.rate_surprise
    $game_party.rate_surprise($game_troop.agi)
  end
  #--------------------------------------------------------------------------
  # ● BGM と BGS の保存
  #--------------------------------------------------------------------------
  def self.save_bgm_and_bgs
    @map_bgm = RPG::BGM.last
    @map_bgs = RPG::BGS.last
  end
  #--------------------------------------------------------------------------
  # ● 戦闘 BGM の演奏
  #--------------------------------------------------------------------------
  def self.play_battle_bgm
    $game_system.battle_bgm.play
    RPG::BGS.stop
  end
  #--------------------------------------------------------------------------
  # ● 戦闘終了 ME の演奏
  #--------------------------------------------------------------------------
  def self.play_battle_end_me
    $game_system.battle_end_me.play
  end
  #--------------------------------------------------------------------------
  # ● BGM と BGS の再開
  #--------------------------------------------------------------------------
  def self.replay_bgm_and_bgs
    @map_bgm.replay unless $BTEST
    @map_bgs.replay unless $BTEST
  end
  #--------------------------------------------------------------------------
  # ● 逃走成功率の作成
  #--------------------------------------------------------------------------
  def self.make_escape_ratio
    @escape_ratio = 1.5 - 1.0 * $game_troop.agi / $game_party.agi
  end
  #--------------------------------------------------------------------------
  # ● ターン実行中判定
  #--------------------------------------------------------------------------
  def self.in_turn?
    @phase == :turn
  end
  #--------------------------------------------------------------------------
  # ● ターン終了中判定
  #--------------------------------------------------------------------------
  def self.turn_end?
    @phase == :turn_end
  end
  #--------------------------------------------------------------------------
  # ● 戦闘中断判定
  #--------------------------------------------------------------------------
  def self.aborting?
    @phase == :aborting
  end
  #--------------------------------------------------------------------------
  # ● 逃走許可の取得
  #--------------------------------------------------------------------------
  def self.can_escape?
    @can_escape
  end
  #--------------------------------------------------------------------------
  # ● コマンド入力中のアクターを取得
  #--------------------------------------------------------------------------
  def self.actor
    @actor_index >= 0 ? $game_party.members[@actor_index] : nil
  end
  #--------------------------------------------------------------------------
  # ● コマンド入力中のアクターをクリア
  #--------------------------------------------------------------------------
  def self.clear_actor
    @actor_index = -1
  end
  #--------------------------------------------------------------------------
  # ● 次のコマンド入力へ
  #--------------------------------------------------------------------------
  def self.next_command
    begin
      if !actor || !actor.next_command
        @actor_index += 1
        return false if @actor_index >= $game_party.members.size
      end
    end until actor.inputable?
    return true
  end
  #--------------------------------------------------------------------------
  # ● 前のコマンド入力へ
  #--------------------------------------------------------------------------
  def self.prior_command
    begin
      if !actor || !actor.prior_command
        @actor_index -= 1
        return false if @actor_index < 0
      end
    end until actor.inputable?
    return true
  end
  #--------------------------------------------------------------------------
  # ● イベントへのコールバック用 Proc の設定
  #--------------------------------------------------------------------------
  def self.event_proc=(proc)
    @event_proc = proc
  end
  #--------------------------------------------------------------------------
  # ● ウェイト用メソッドの設定
  #--------------------------------------------------------------------------
  def self.method_wait_for_message=(method)
    @method_wait_for_message = method
  end
  #--------------------------------------------------------------------------
  # ● メッセージ表示が終わるまでウェイト
  #--------------------------------------------------------------------------
  def self.wait_for_message
    @method_wait_for_message.call if @method_wait_for_message
  end
  #--------------------------------------------------------------------------
  # ● 戦闘開始
  #--------------------------------------------------------------------------
  def self.battle_start
    $game_system.battle_count += 1
    $game_party.on_battle_start
    $game_troop.on_battle_start
    $game_troop.enemy_names.each do |name|
      $game_message.add(sprintf(Vocab::Emerge, name))
    end
    if @preemptive
      $game_message.add(sprintf(Vocab::Preemptive, $game_party.name))
    elsif @surprise
      $game_message.add(sprintf(Vocab::Surprise, $game_party.name))
    end
    wait_for_message
  end
  #--------------------------------------------------------------------------
  # ● 戦闘中断
  #--------------------------------------------------------------------------
  def self.abort
    @phase = :aborting
  end
  #--------------------------------------------------------------------------
  # ● 勝敗判定
  #--------------------------------------------------------------------------
  def self.judge_win_loss
    if @phase
      return process_abort  if $game_party.members.empty?
      return process_defeat  if $game_party.all_dead?
      return process_victory if $game_troop.all_dead?
      return process_abort  if aborting?
    end
    return false
  end
  #--------------------------------------------------------------------------
  # ● 勝利の処理
  #--------------------------------------------------------------------------
  def self.process_victory
    play_battle_end_me
    replay_bgm_and_bgs
    $game_message.add(sprintf(Vocab::Victory, $game_party.name))
    display_exp
    gain_gold
    gain_drop_items
    gain_exp
    SceneManager.return
    battle_end(0)
    return true
  end
  #--------------------------------------------------------------------------
  # ● 逃走の処理
  #--------------------------------------------------------------------------
  def self.process_escape
    $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))
    success = @preemptive ? true : (rand < @escape_ratio)
    Sound.play_escape
    if success
      process_abort
    else
      @escape_ratio += 0.1
      $game_message.add('\.' + Vocab::EscapeFailure)
      $game_party.clear_actions
    end
    wait_for_message
    return success
  end
  #--------------------------------------------------------------------------
  # ● 中断の処理
  #--------------------------------------------------------------------------
  def self.process_abort
    replay_bgm_and_bgs
    SceneManager.return
    battle_end(1)
    return true
  end
  #--------------------------------------------------------------------------
  # ● 敗北の処理
  #--------------------------------------------------------------------------
  def self.process_defeat
    $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
    wait_for_message
    if @can_lose
      revive_battle_members
      replay_bgm_and_bgs
      SceneManager.return
    else
      SceneManager.goto(Scene_Gameover)
    end
    battle_end(2)
    return true
  end
  #--------------------------------------------------------------------------
  # ● 戦闘メンバーの復活(敗北時)
  #--------------------------------------------------------------------------
  def self.revive_battle_members
    $game_party.battle_members.each do |actor|
      actor.hp = 1 if actor.dead?
    end
  end
  #--------------------------------------------------------------------------
  # ● 戦闘終了
  #    result : 結果(0:勝利 1:逃走 2:敗北)
  #--------------------------------------------------------------------------
  def self.battle_end(result)
    @phase = nil
    @event_proc.call(result) if @event_proc
    $game_party.on_battle_end
    $game_troop.on_battle_end
    SceneManager.exit if $BTEST
  end
  #--------------------------------------------------------------------------
  # ● コマンド入力開始
  #--------------------------------------------------------------------------
  def self.input_start
    if @phase != :input
      @phase = :input
      $game_party.make_actions
      $game_troop.make_actions
      clear_actor
    end
    return !@surprise && $game_party.inputable?
  end
  #--------------------------------------------------------------------------
  # ● ターン開始
  #--------------------------------------------------------------------------
  def self.turn_start
    @phase = :turn
    clear_actor
    $game_troop.increase_turn
    make_action_orders
  end
  #--------------------------------------------------------------------------
  # ● ターン終了
  #--------------------------------------------------------------------------
  def self.turn_end
    @phase = :turn_end
    @preemptive = false
    @surprise = false
  end
  #--------------------------------------------------------------------------
  # ● 獲得した経験値の表示
  #--------------------------------------------------------------------------
  def self.display_exp
    if $game_troop.exp_total > 0
      text = sprintf(Vocab::ObtainExp, $game_troop.exp_total)
      $game_message.add('\.' + text)
    end
  end
  #--------------------------------------------------------------------------
  # ● お金の獲得と表示
  #--------------------------------------------------------------------------
  def self.gain_gold
    if $game_troop.gold_total > 0
      text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)
      $game_message.add('\.' + text)
      $game_party.gain_gold($game_troop.gold_total)
    end
    wait_for_message
  end
  #--------------------------------------------------------------------------
  # ● ドロップアイテムの獲得と表示
  #--------------------------------------------------------------------------
  def self.gain_drop_items
    $game_troop.make_drop_items.each do |item|
      $game_party.gain_item(item, 1)
      $game_message.add(sprintf(Vocab::ObtainItem, item.name))
    end
    wait_for_message
  end
  #--------------------------------------------------------------------------
  # ● 経験値の獲得とレベルアップの表示
  #--------------------------------------------------------------------------
  def self.gain_exp
    $game_party.all_members.each do |actor|
      actor.gain_exp($game_troop.exp_total)
    end
    wait_for_message
  end
  #--------------------------------------------------------------------------
  # ● 行動順序の作成
  #--------------------------------------------------------------------------
  def self.make_action_orders
    @action_battlers = []
    @action_battlers += $game_party.members unless @surprise
    @action_battlers += $game_troop.members unless @preemptive
    @action_battlers.each {|battler| battler.make_speed }
    @action_battlers.sort! {|a,b| b.speed - a.speed }
  end
  #--------------------------------------------------------------------------
  # ● 戦闘行動の強制
  #--------------------------------------------------------------------------
  def self.force_action(battler)
    @action_forced = battler
    @action_battlers.delete(battler)
  end
  #--------------------------------------------------------------------------
  # ● 戦闘行動の強制状態を取得
  #--------------------------------------------------------------------------
  def self.action_forced?
    @action_forced != nil
  end
  #--------------------------------------------------------------------------
  # ● 戦闘行動が強制されたバトラーを取得
  #--------------------------------------------------------------------------
  def self.action_forced_battler
    @action_forced
  end
  #--------------------------------------------------------------------------
  # ● 戦闘行動の強制をクリア
  #--------------------------------------------------------------------------
  def self.clear_action_force
    @action_forced = nil
  end
  #--------------------------------------------------------------------------
  # ● 次の行動主体の取得
  #    行動順序リストの先頭からバトラーを取得する。
  #    現在パーティにいないアクターを取得した場合(index が nil, バトルイベ
  #    ントでの離脱直後などに発生)は、それをスキップする。
  #--------------------------------------------------------------------------
  def self.next_subject
    loop do
      battler = @action_battlers.shift
      return nil unless battler
      next unless battler.index && battler.alive?
      return battler
    end
  end
end

Ligne :
Code:
text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)

Merci d'avance.


Dernière édition par Brandobscure001 le Dim 4 Mar 2012 - 9:22, édité 1 fois
Revenir en haut Aller en bas
Leo Brandt
Vagabond Lv.5
Vagabond Lv.5
Leo Brandt


Masculin Age : 25
Inscrit le : 28/02/2012
Messages : 84

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeSam 3 Mar 2012 - 19:12

Code:
#==============================================================================
# ■ BattleManager
#------------------------------------------------------------------------------
#  戦闘の進行を管理するモジュールです。
#==============================================================================

module BattleManager
  #--------------------------------------------------------------------------
  # ● セットアップ
  #--------------------------------------------------------------------------
  def self.setup(troop_id, can_escape = true, can_lose = false)
    init_members
    $game_troop.setup(troop_id)
    @can_escape = can_escape
    @can_lose = can_lose
    make_escape_ratio
  end
  #--------------------------------------------------------------------------
  # ● メンバ変数の初期化
  #--------------------------------------------------------------------------
  def self.init_members
    @phase = :init              # 戦闘進行フェーズ
    @can_escape = false        # 逃走可能フラグ
    @can_lose = false          # 敗北可能フラグ
    @event_proc = nil          # イベント用コールバック
    @preemptive = false        # 先制攻撃フラグ
    @surprise = false          # 不意打ちフラグ
    @actor_index = -1          # コマンド入力中のアクター
    @action_forced = nil        # 戦闘行動の強制
    @map_bgm = nil              # 戦闘前の BGM 記憶用
    @map_bgs = nil              # 戦闘前の BGS 記憶用
    @action_battlers = []      # 行動順序リスト
  end
  #--------------------------------------------------------------------------
  # ● エンカウント時の処理
  #--------------------------------------------------------------------------
  def self.on_encounter
    @preemptive = (rand < rate_preemptive)
    @surprise = (rand < rate_surprise && !@preemptive)
  end
  #--------------------------------------------------------------------------
  # ● 先制攻撃の確率取得
  #--------------------------------------------------------------------------
  def self.rate_preemptive
    $game_party.rate_preemptive($game_troop.agi)
  end
  #--------------------------------------------------------------------------
  # ● 不意打ちの確率取得
  #--------------------------------------------------------------------------
  def self.rate_surprise
    $game_party.rate_surprise($game_troop.agi)
  end
  #--------------------------------------------------------------------------
  # ● BGM と BGS の保存
  #--------------------------------------------------------------------------
  def self.save_bgm_and_bgs
    @map_bgm = RPG::BGM.last
    @map_bgs = RPG::BGS.last
  end
  #--------------------------------------------------------------------------
  # ● 戦闘 BGM の演奏
  #--------------------------------------------------------------------------
  def self.play_battle_bgm
    $game_system.battle_bgm.play
    RPG::BGS.stop
  end
  #--------------------------------------------------------------------------
  # ● 戦闘終了 ME の演奏
  #--------------------------------------------------------------------------
  def self.play_battle_end_me
    $game_system.battle_end_me.play
  end
  #--------------------------------------------------------------------------
  # ● BGM と BGS の再開
  #--------------------------------------------------------------------------
  def self.replay_bgm_and_bgs
    @map_bgm.replay unless $BTEST
    @map_bgs.replay unless $BTEST
  end
  #--------------------------------------------------------------------------
  # ● 逃走成功率の作成
  #--------------------------------------------------------------------------
  def self.make_escape_ratio
    @escape_ratio = 1.5 - 1.0 * $game_troop.agi / $game_party.agi
  end
  #--------------------------------------------------------------------------
  # ● ターン実行中判定
  #--------------------------------------------------------------------------
  def self.in_turn?
    @phase == :turn
  end
  #--------------------------------------------------------------------------
  # ● ターン終了中判定
  #--------------------------------------------------------------------------
  def self.turn_end?
    @phase == :turn_end
  end
  #--------------------------------------------------------------------------
  # ● 戦闘中断判定
  #--------------------------------------------------------------------------
  def self.aborting?
    @phase == :aborting
  end
  #--------------------------------------------------------------------------
  # ● 逃走許可の取得
  #--------------------------------------------------------------------------
  def self.can_escape?
    @can_escape
  end
  #--------------------------------------------------------------------------
  # ● コマンド入力中のアクターを取得
  #--------------------------------------------------------------------------
  def self.actor
    @actor_index >= 0 ? $game_party.members[@actor_index] : nil
  end
  #--------------------------------------------------------------------------
  # ● コマンド入力中のアクターをクリア
  #--------------------------------------------------------------------------
  def self.clear_actor
    @actor_index = -1
  end
  #--------------------------------------------------------------------------
  # ● 次のコマンド入力へ
  #--------------------------------------------------------------------------
  def self.next_command
    begin
      if !actor || !actor.next_command
        @actor_index += 1
        return false if @actor_index >= $game_party.members.size
      end
    end until actor.inputable?
    return true
  end
  #--------------------------------------------------------------------------
  # ● 前のコマンド入力へ
  #--------------------------------------------------------------------------
  def self.prior_command
    begin
      if !actor || !actor.prior_command
        @actor_index -= 1
        return false if @actor_index < 0
      end
    end until actor.inputable?
    return true
  end
  #--------------------------------------------------------------------------
  # ● イベントへのコールバック用 Proc の設定
  #--------------------------------------------------------------------------
  def self.event_proc=(proc)
    @event_proc = proc
  end
  #--------------------------------------------------------------------------
  # ● ウェイト用メソッドの設定
  #--------------------------------------------------------------------------
  def self.method_wait_for_message=(method)
    @method_wait_for_message = method
  end
  #--------------------------------------------------------------------------
  # ● メッセージ表示が終わるまでウェイト
  #--------------------------------------------------------------------------
  def self.wait_for_message
    @method_wait_for_message.call if @method_wait_for_message
  end
  #--------------------------------------------------------------------------
  # ● 戦闘開始
  #--------------------------------------------------------------------------
  def self.battle_start
    $game_system.battle_count += 1
    $game_party.on_battle_start
    $game_troop.on_battle_start
    $game_troop.enemy_names.each do |name|
      $game_message.add(sprintf(Vocab::Emerge, name))
    end
    if @preemptive
      $game_message.add(sprintf(Vocab::Preemptive, $game_party.name))
    elsif @surprise
      $game_message.add(sprintf(Vocab::Surprise, $game_party.name))
    end
    wait_for_message
  end
  #--------------------------------------------------------------------------
  # ● 戦闘中断
  #--------------------------------------------------------------------------
  def self.abort
    @phase = :aborting
  end
  #--------------------------------------------------------------------------
  # ● 勝敗判定
  #--------------------------------------------------------------------------
  def self.judge_win_loss
    if @phase
      return process_abort  if $game_party.members.empty?
      return process_defeat  if $game_party.all_dead?
      return process_victory if $game_troop.all_dead?
      return process_abort  if aborting?
    end
    return false
  end
  #--------------------------------------------------------------------------
  # ● 勝利の処理
  #--------------------------------------------------------------------------
  def self.process_victory
    play_battle_end_me
    replay_bgm_and_bgs
    $game_message.add(sprintf(Vocab::Victory, $game_party.name))
    display_exp
    gain_gold
    gain_drop_items
    gain_exp
    SceneManager.return
    battle_end(0)
    return true
  end
  #--------------------------------------------------------------------------
  # ● 逃走の処理
  #--------------------------------------------------------------------------
  def self.process_escape
    $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))
    success = @preemptive ? true : (rand < @escape_ratio)
    Sound.play_escape
    if success
      process_abort
    else
      @escape_ratio += 0.1
      $game_message.add('\.' + Vocab::EscapeFailure)
      $game_party.clear_actions
    end
    wait_for_message
    return success
  end
  #--------------------------------------------------------------------------
  # ● 中断の処理
  #--------------------------------------------------------------------------
  def self.process_abort
    replay_bgm_and_bgs
    SceneManager.return
    battle_end(1)
    return true
  end
  #--------------------------------------------------------------------------
  # ● 敗北の処理
  #--------------------------------------------------------------------------
  def self.process_defeat
    $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
    wait_for_message
    if @can_lose
      revive_battle_members
      replay_bgm_and_bgs
      SceneManager.return
    else
      SceneManager.goto(Scene_Gameover)
    end
    battle_end(2)
    return true
  end
  #--------------------------------------------------------------------------
  # ● 戦闘メンバーの復活(敗北時)
  #--------------------------------------------------------------------------
  def self.revive_battle_members
    $game_party.battle_members.each do |actor|
      actor.hp = 1 if actor.dead?
    end
  end
  #--------------------------------------------------------------------------
  # ● 戦闘終了
  #    result : 結果(0:勝利 1:逃走 2:敗北)
  #--------------------------------------------------------------------------
  def self.battle_end(result)
    @phase = nil
    @event_proc.call(result) if @event_proc
    $game_party.on_battle_end
    $game_troop.on_battle_end
    SceneManager.exit if $BTEST
  end
  #--------------------------------------------------------------------------
  # ● コマンド入力開始
  #--------------------------------------------------------------------------
  def self.input_start
    if @phase != :input
      @phase = :input
      $game_party.make_actions
      $game_troop.make_actions
      clear_actor
    end
    return !@surprise && $game_party.inputable?
  end
  #--------------------------------------------------------------------------
  # ● ターン開始
  #--------------------------------------------------------------------------
  def self.turn_start
    @phase = :turn
    clear_actor
    $game_troop.increase_turn
    make_action_orders
  end
  #--------------------------------------------------------------------------
  # ● ターン終了
  #--------------------------------------------------------------------------
  def self.turn_end
    @phase = :turn_end
    @preemptive = false
    @surprise = false
  end
  #--------------------------------------------------------------------------
  # ● 獲得した経験値の表示
  #--------------------------------------------------------------------------
  def self.display_exp
    if $game_troop.exp_total > 0
      text = sprintf(Vocab::ObtainExp, $game_troop.exp_total)
      $game_message.add('\.' + text)
    end
  end
  #--------------------------------------------------------------------------
  # ● お金の獲得と表示
  #--------------------------------------------------------------------------
  def self.gain_gold
    if $game_troop.gold_total > 0
      text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)
      $game_message.add('\.' + text)
      $game_party.gain_gold($game_troop.gold_total)
    end
    wait_for_message
  end
  #--------------------------------------------------------------------------
  # ● ドロップアイテムの獲得と表示
  #--------------------------------------------------------------------------
  def self.gain_drop_items
    $game_troop.make_drop_items.each do |item|
      $game_party.gain_item(item, 1)
      $game_message.add(sprintf(Vocab::ObtainItem, item.name))
    end
    wait_for_message
  end
  #--------------------------------------------------------------------------
  # ● 経験値の獲得とレベルアップの表示
  #--------------------------------------------------------------------------
  def self.gain_exp
    $game_party.all_members.each do |actor|
      actor.gain_exp($game_troop.exp_total)
    end
    wait_for_message
  end
  #--------------------------------------------------------------------------
  # ● 行動順序の作成
  #--------------------------------------------------------------------------
  def self.make_action_orders
    @action_battlers = []
    @action_battlers += $game_party.members unless @surprise
    @action_battlers += $game_troop.members unless @preemptive
    @action_battlers.each {|battler| battler.make_speed }
    @action_battlers.sort! {|a,b| b.speed - a.speed }
  end
  #--------------------------------------------------------------------------
  # ● 戦闘行動の強制
  #--------------------------------------------------------------------------
  def self.force_action(battler)
    @action_forced = battler
    @action_battlers.delete(battler)
  end
  #--------------------------------------------------------------------------
  # ● 戦闘行動の強制状態を取得
  #--------------------------------------------------------------------------
  def self.action_forced?
    @action_forced != nil
  end
  #--------------------------------------------------------------------------
  # ● 戦闘行動が強制されたバトラーを取得
  #--------------------------------------------------------------------------
  def self.action_forced_battler
    @action_forced
  end
  #--------------------------------------------------------------------------
  # ● 戦闘行動の強制をクリア
  #--------------------------------------------------------------------------
  def self.clear_action_force
    @action_forced = nil
  end
  #--------------------------------------------------------------------------
  # ● 次の行動主体の取得
  #    行動順序リストの先頭からバトラーを取得する。
  #    現在パーティにいないアクターを取得した場合(index が nil, バトルイベ
  #    ントでの離脱直後などに発生)は、それをスキップする。
  #--------------------------------------------------------------------------
  def self.next_subject
    loop do
      battler = @action_battlers.shift
      return nil unless battler
      next unless battler.index && battler.alive?
      return battler
    end
  end
end

Essaye celui là, j'ai déja battu beaucoup de monstres et aucun problème, tu as quelle version?
Revenir en haut Aller en bas
http://fssrpg.xooit.com/
Brandobscure001
Seigneur Lv.18
Seigneur Lv.18
Brandobscure001


Masculin Age : 28
Inscrit le : 26/12/2010
Messages : 2220

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeSam 3 Mar 2012 - 19:14

Quelle version de quoi ?

Edit :
j'ai éssayé celui que tu m'a passé mais ce fait toujours la mème érreur.
Revenir en haut Aller en bas
Leo Brandt
Vagabond Lv.5
Vagabond Lv.5
Leo Brandt


Masculin Age : 25
Inscrit le : 28/02/2012
Messages : 84

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeSam 3 Mar 2012 - 19:17

Tu utilise la version JAP, EN ou FR?
Revenir en haut Aller en bas
http://fssrpg.xooit.com/
Brandobscure001
Seigneur Lv.18
Seigneur Lv.18
Brandobscure001


Masculin Age : 28
Inscrit le : 26/12/2010
Messages : 2220

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeSam 3 Mar 2012 - 19:24

FR. Very Happy
en faite c'est quand j'ai rajouté le sidview (script de combat)
Qu'il y a us ce message.
Revenir en haut Aller en bas
Leo Brandt
Vagabond Lv.5
Vagabond Lv.5
Leo Brandt


Masculin Age : 25
Inscrit le : 28/02/2012
Messages : 84

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeSam 3 Mar 2012 - 19:33

Je ne vois pas ce qui cloche, moi ça a très bien marcher. Essaye de retélécharger le sideview, c'est peut être de là que viens le problème.
Revenir en haut Aller en bas
http://fssrpg.xooit.com/
Brandobscure001
Seigneur Lv.18
Seigneur Lv.18
Brandobscure001


Masculin Age : 28
Inscrit le : 26/12/2010
Messages : 2220

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeSam 3 Mar 2012 - 19:36

ok Very Happy
c'est ce que je vais faire.
Merci pour le coud de main Very Happy
Revenir en haut Aller en bas
Leo Brandt
Vagabond Lv.5
Vagabond Lv.5
Leo Brandt


Masculin Age : 25
Inscrit le : 28/02/2012
Messages : 84

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeSam 3 Mar 2012 - 22:14

Derien, maintenant on est quitte.
Revenir en haut Aller en bas
http://fssrpg.xooit.com/
Tiroflan
Illusionniste Lv.12
Illusionniste Lv.12
Tiroflan


Masculin Age : 34
Inscrit le : 14/02/2010
Messages : 796

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeSam 3 Mar 2012 - 23:39

est ce que tu as touché au VOCAB ? (le code qui contient tous les messages système du jeu)

Dans le doute, tu pourrais le copier ici ?
Revenir en haut Aller en bas
Brandobscure001
Seigneur Lv.18
Seigneur Lv.18
Brandobscure001


Masculin Age : 28
Inscrit le : 26/12/2010
Messages : 2220

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeDim 4 Mar 2012 - 8:45

Oui Attend je vais vous montré le script de "vocab"

Code:
#==============================================================================
# ■ Vocab
#------------------------------------------------------------------------------
#  用語とメッセージを定義するモジュールです。定数でメッセージなどを直接定義す
# るほか、グローバル変数 $data_system から用語データを取得します。
#==============================================================================

module Vocab

  # Interface d'un magasin
  ShopBuy        = "Acheter"
  ShopSell        = "Vendre"
  ShopCancel      = "Annuler"
  Possession      = "En possession :"

  # Menu de statut
  ExpTotal        = "Expérience totale :"
  ExpNext        = "%s suivant dans :"

  # Écrans de charge/sauvegarde
  SaveMessage    = "Dans quel bloc sauvegarder la partie ?"
  LoadMessage    = "Charger quelle partie ?"
  File            = "Fichier"

  # Affiché quand il y a plus de deux membres dans l'équipe
  PartyName      = "L'équipe de %s"

  # Messages de combat généraux
  Emerge          = "%s apparaît !"
  Preemptive      = "%s a pris le dessus !"
  Surprise        = "%s se fait surprendre !"
  EscapeStart    = "%s prend la poudre d'escampette !"
  EscapeFailure  = "La tentative d'escapade a échoué !"

  # Messages de fin de combat
  Victory        = "%s a gagné !"
  Defeat          = "%s a perdu."
  ObtainExp      = "Vous recevez %s XP !"
  ObtainGold      = "Vous gagnez %s %s !"
  ObtainItem      = "Vous trouvez %s !"
  LevelUp        = "%s est maintenant %s %s !"
  ObtainSkill    = "%s appris !"

  # Affiché lorsqu'utilise un objet
  UseItem        = "%s utilise %s!"

  # Coup critique
  CriticalToEnemy = "Un joli coup !"
  CriticalToActor = "Un coup douloureux !"

  # Résultats des actions sur les personnages
  ActorDamage    = "%s a reçu %s de dégât !"
  ActorRecovery  = "%1$s récupère %3$s %2$s !"
  ActorGain      = "%1$s augmente de %3$s %2$s !"
  ActorLoss      = "%1$s a perdu %3$s %2$s !"
  ActorDrain      = "%3$s %2$s pris à %1$s !"
  ActorNoDamage  =  "%s n'a pas reçu de dommage !"
  ActorNoHit      = "Raté ! %s n'a pas été touché !"
 
  # Résultats des actions sur les ennemis
  EnemyDamage    = "%s a reçu %s de dégât !"
  EnemyRecovery  = "%1$s récupère %3$s %2$s !"
  EnemyGain      = "%1$s augmente de %3$s %2$s !"
  EnemyLoss      = "%1$s a perdu %3$s %2$s !"
  EnemyDrain      = "%3$s %2$s pris à %1$s !"
  EnemyNoDamage  = "%s n'a pas reçu de dommage !"
  EnemyNoHit      = "Raté ! %s n'a pas été touché !"
 
  # Renvoi / esquive
  Evasion        = "%s a esquivé l'attaque!"
  MagicEvasion    = "%s a esquivé l'attaque magique!"
  MagicReflection = "%s a renvoyé l'attaque magique!"
  CounterAttack  = "%s contre-attaque!"
  Substitute      = "%s protège %s!"

  # Altération de statut
  BuffAdd        = "%2$s de %1$s augmente!"
  DebuffAdd      = "%2$s de %1$s diminue!"
  BuffRemove      = "%2$s de %1$s est de nouveau à la normale!"

  # Quand des objets ou compétences non-physiques n'ont pas d'effet
  ActionFailure  = "N'a pas eu d'effet sur %s"

  # Messages de gestion d'erreur
  PlayerPosError  = "La position de départ du joueur n'a pas été définie."
  EventOverflow  = "Nombre maximum d'évènements communs appellés dépassés."

  # 基本ステータス
  def self.basic(basic_id)
    $data_system.terms.basic[basic_id]
  end

  # 能力値
  def self.param(param_id)
    $data_system.terms.params[param_id]
  end

  # 装備タイプ
  def self.etype(etype_id)
    $data_system.terms.etypes[etype_id]
  end

  # コマンド
  def self.command(command_id)
    $data_system.terms.commands[command_id]
  end

  # 通貨単位
  def self.currency_unit
    $data_system.currency_unit
  end

  #--------------------------------------------------------------------------
  def self.level;      basic(0);    end  # レベル
  def self.level_a;    basic(1);    end  # レベル (短)
  def self.hp;          basic(2);    end  # HP
  def self.hp_a;        basic(3);    end  # HP (短)
  def self.mp;          basic(4);    end  # MP
  def self.mp_a;        basic(5);    end  # MP (短)
  def self.tp;          basic(6);    end  # TP
  def self.tp_a;        basic(7);    end  # TP (短)
  def self.fight;      command(0);  end  # 戦う
  def self.escape;      command(1);  end  # 逃げる
  def self.attack;      command(2);  end  # 攻撃
  def self.guard;      command(3);  end  # 防御
  def self.item;        command(4);  end  # アイテム
  def self.skill;      command(5);  end  # スキル
  def self.equip;      command(6);  end  # 装備
  def self.status;      command(7);  end  # ステータス
  def self.formation;  command(8);  end  # 並び替え
  def self.save;        command(9);  end  # セーブ
  def self.game_end;    command(10);  end  # ゲーム終了
  def self.weapon;      command(12);  end  # 武器
  def self.armor;      command(13);  end  # 防具
  def self.key_item;    command(14);  end  # 大事なもの
  def self.equip2;      command(15);  end  # 装備変更
  def self.optimize;    command(16);  end  # 最強装備
  def self.clear;      command(17);  end  # 全て外す
  def self.new_game;    command(18);  end  # ニューゲーム
  def self.continue;    command(19);  end  # コンティニュー
  def self.shutdown;    command(20);  end  # シャットダウン
  def self.to_title;    command(21);  end  # タイトルへ
  def self.cancel;      command(22);  end  # やめる
  #--------------------------------------------------------------------------
end

P.S je ne me rappelle pas avoir touché a ce script.
Revenir en haut Aller en bas
Tiroflan
Illusionniste Lv.12
Illusionniste Lv.12
Tiroflan


Masculin Age : 34
Inscrit le : 14/02/2010
Messages : 796

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeDim 4 Mar 2012 - 9:17

Oui, mais t'as pris le vocab traduit par la team de la v3 et ils se sont plantés. Regarde s'ils ont pas corrigé, je vais voir si je peux modifier.
Revenir en haut Aller en bas
Brandobscure001
Seigneur Lv.18
Seigneur Lv.18
Brandobscure001


Masculin Age : 28
Inscrit le : 26/12/2010
Messages : 2220

[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitimeDim 4 Mar 2012 - 9:19

Ok Very Happy
je vais voir si il n'aurait pas corrigé sa.

Edit :

voilà sa marche maintenant il s'était trompé dans le script.
Revenir en haut Aller en bas
Contenu sponsorisé




[Resolu]BattleManager [VX ACE] Empty
MessageSujet: Re: [Resolu]BattleManager [VX ACE]   [Resolu]BattleManager [VX ACE] Icon_minitime

Revenir en haut Aller en bas
 

[Resolu]BattleManager [VX ACE]

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

 Sujets similaires

-
» [Résolu] Problème d'intro, et de jeu (avec les portes) [RESOLU]
» [Résolu] Changement du nom du héros DANS LES COMBATS [RESOLU]
» [résolu] Petite question sur les zones de monstres [résolu]
» [résolu] RTP ou pas?
» Feu de cheminé [Résolu]

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