| 
 
| 赞 | 168 |  
| VIP | 6 |  
| 好人卡 | 208 |  
| 积分 | 225 |  
| 经验 | 137153 |  
| 最后登录 | 2025-4-1 |  
| 在线时间 | 8598 小时 |  
 Lv5.捕梦者 
	梦石0 星屑22499 在线时间8598 小时注册时间2011-12-31帖子3361 | 
| http://www.lemon-slice.net SRPGコンバータNEXT for Ace 正式版公開!
 汉化版v1.01下载(页面完全汉化,脚本汉化说明部分,消除RTP数据,添加追加的使用说明):
 链接:http://pan.baidu.com/s/1hq5Zc9I 密码:9xx3
 
 アップデートファイル Ver. 1.06 (2015/5/10)
 复制代码#==============================================================================
# ■ アップデートセクション Ver. 1.06
#------------------------------------------------------------------------------
#  「SRPGコンバータNEXT for Ace」の修正パッチです。
#    このアップデートセクションを最新のものに上書きしていくことで修正できます。
#==============================================================================
#==============================================================================
# ●5/10 Ver. 1.06
#   ・戦闘中の装備画面で、行動中のユニット以外で「最強装備」「すべて外す」が
#   動作しないように修正(カスタマイズで設定した場合のみ)
#==============================================================================
#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
#  アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors)
# の内部で使用され、Game_Party クラス($game_party)からも参照されます。
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 装備変更の可能判定
  #     slot_id : 装備スロット ID
  #--------------------------------------------------------------------------
  def equip_change_ok?(slot_id)
    return false if equip_type_fixed?(equip_slots[slot_id])
    return false if equip_type_sealed?(equip_slots[slot_id])
    if $game_temp.battle_menu
      if $game_variables[SRPG::TURN_TYPE] < 2
        if SRPG.check_srpg(SRPG::BATTLE_TYPE) and SRPG::EQUIP_LIMIT_M
          flag = self == $game_party.subject ? true : false
        elsif SRPG.check_srpg(SRPG::BATTLE_TYPE) == false and SRPG::EQUIP_LIMIT_S
          flag = self == $game_party.subject ? true : false
        else
          flag = true
        end
      else
        if self.dead?
          flag = false
        elsif SRPG.check_srpg(SRPG::BATTLE_TYPE) and SRPG::EQUIP_LIMIT_M
          flag = self.behaved == false ? true : false
        elsif SRPG.check_srpg(SRPG::BATTLE_TYPE) == false and SRPG::EQUIP_LIMIT_S
          flag = self.behaved == false ? true : false
        else
          flag = true
        end
      end
    else
      flag = true
    end
    return flag
  end
end
#==============================================================================
# ■ Window_EquipSlot
#------------------------------------------------------------------------------
#  装備画面で、アクターが現在装備しているアイテムを表示するウィンドウです。
#==============================================================================
class Window_EquipSlot < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 装備スロットを許可状態で表示するかどうか
  #--------------------------------------------------------------------------
  def enable?(index)
    @actor ? @actor.equip_change_ok?(index) : false
  end
end
#==============================================================================
# ●5/9 Ver. 1.05
#   ・少人数戦闘でロード後に逃走の処理が正常に動作しない問題を修正
#==============================================================================
#==============================================================================
# ■ BattleManager
#------------------------------------------------------------------------------
#  戦闘の進行を管理するモジュールです。
#==============================================================================
module BattleManager
  #--------------------------------------------------------------------------
  # ● データのセーブ
  #--------------------------------------------------------------------------
  def self.data_save
    array = []
    array.push(@phase)
    array.push(@can_escape)
    array.push(@can_lose)
    #array.push(@event_proc)
    array.push(@preemptive)
    array.push(@surprise)
    array.push(@actor_index)
    array.push(@action_forced)
    array.push(@map_bgm)
    array.push(@map_bgs)
    array.push(@action_battlers)
    array.push(@save_proc)
    array.push(@escape_ratio)
    return array
  end
  #--------------------------------------------------------------------------
  # ● データのロード
  #--------------------------------------------------------------------------
  def self.data_load(array)
    @phase = array.shift                # 戦闘進行フェーズ
    @can_escape = array.shift           # 逃走可能フラグ
    @can_lose = array.shift             # 敗北可能フラグ
    #@event_proc = array.shift           # イベント用コールバック
    @preemptive = array.shift           # 先制攻撃フラグ
    @surprise = array.shift             # 不意打ちフラグ
    @actor_index = array.shift          # コマンド入力中のアクター
    @action_forced = array.shift        # 戦闘行動の強制
    @map_bgm = array.shift              # 戦闘前の BGM 記憶用
    @map_bgs = array.shift              # 戦闘前の BGS 記憶用
    @action_battlers = array.shift      # 行動順序リスト
    @save_proc = array.shift            # 戦闘の分岐の保存
    @escape_ratio = array.shift         # 逃走のための変数
    branch = @save_proc[0] ; indent = @save_proc[1]
    self.event_proc = Proc.new {|n| branch[indent] = n }
  end
end
#==============================================================================
# ●5/8 Ver. 1.04
#  ・行動回数が複数回あるキャラクターのターンでセーブ&ロードすると
#   ロード時に行動回数がリセットされてしまう問題を修正
#  ・少人数戦闘でアクターを加えた時に位置が正常に設定されない問題を修正
#   ・少人数戦闘でロード時の処理にあった問題を修正
#   ・少人数戦闘でロード後にユニットを出現させる処理が正常に動作しない問題を修正
#==============================================================================
#==============================================================================
# ■ Scene_SRPG
#------------------------------------------------------------------------------
#  SRPG方式のバトル画面の処理を行うクラスです。
#==============================================================================
class Scene_SRPG < Scene_Base
  #--------------------------------------------------------------------------
  # ● ロード時初期化処理
  #--------------------------------------------------------------------------
  def load_initialize
    save_map_data_when_load
    BattleManager.data_load($game_temp.battle_manager)
    if $game_variables[SRPG::TURN_TYPE] < 2
      @subject = BattleManager.next_subject
    else
      @enemy_turn_flag = false
    end
    # 編集時のイベント位置初期化に対応
    for unit in $game_temp.unit_data
      next if unit == nil
      character = get_character($game_temp.unit_data.index(unit))
      character.moveto(unit.x, unit.y)
      character.set_direction(unit.direction)
    end
    @save_party_members = $game_party.members.clone # パーティーメンバーを保存
    event_xy_set
    permit_xy_set
    target_enemy_xy_set
    $game_temp.call_load_manager = false
  end
  #--------------------------------------------------------------------------
  # ● ユニットの入れ替え
  #--------------------------------------------------------------------------
  def party_reset
    @battler_orders_window.refresh(BattleManager.action_battlers)
    for unit in $game_temp.unit_data.compact
      unit_appear(unit) if unit.appear_flag
    end
    if SRPG.check_srpg(SRPG::BATTLE_TYPE) == false
      return if @save_party_members == $game_party.members
      unit_data_new
      for actor in $game_party.members
        if not @save_party_members.include?(actor)
          death_pena(actor)
          vector = [8, 8, 8]
          vector = vector_change(vector, @player_direction)
          start_xy = check_start(@player_base_x, @player_base_y, @player_direction)
          x_y = vector_cal(vector, start_xy[0], start_xy[1])
          character = get_character($game_party.members.index(actor) + 101)
          character.moveto(x_y[0], x_y[1])
          actor.set_xy(x_y[0], x_y[1], character.direction)
          character.set_direction(@player_direction)
          @spriteset.set_new_character
        end
      end
      @battler_orders_window.refresh(BattleManager.action_battlers)
      @save_party_members = $game_party.members.clone
    end
  end  
  #--------------------------------------------------------------------------
  # ● 戦闘終了時のために必要なマップデータを保存
  #--------------------------------------------------------------------------
  def save_map_data
    $game_temp.map_data = $game_map.prebattle_map_data
    $game_temp.map_brightness = $game_map.screen.brightness
    $game_temp.slg_call_position = [$game_player.x, $game_player.y, $game_map.map_id, $game_player.direction]
    if SRPG.check_srpg(SRPG::BATTLE_TYPE) == false
      i = SRPG::BATTLEMAP_VARIABLE > 0 ? SRPG::BATTLEMAP_VARIABLE : 1
      $game_map.setup($game_variables[i]) if SRPG.check_srpg(SRPG::OTHER_BATTLE_MAP)
      $game_map.battle_setup_events
    end
    $game_map.set_panorama($game_temp.map_data)
    $game_map.refresh
  end
  #--------------------------------------------------------------------------
  # ● 戦闘終了時のために必要なマップデータを保存(ロード時用)
  #--------------------------------------------------------------------------
  def save_map_data_when_load
    @player_base_x = $game_temp.slg_call_position[0]
    @player_base_y = $game_temp.slg_call_position[1]
    @player_direction = $game_temp.slg_call_position[3]
    if SRPG.check_srpg(SRPG::BATTLE_TYPE) == false
      i = SRPG::BATTLEMAP_VARIABLE > 0 ? SRPG::BATTLEMAP_VARIABLE : 1
      $game_map.setup($game_variables[i]) if SRPG.check_srpg(SRPG::OTHER_BATTLE_MAP)
      $game_map.battle_setup_events
    end
    $game_map.set_panorama($game_temp.map_data)
    $game_map.refresh
  end
end
 | 
 评分
查看全部评分
 |