设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3201|回复: 1
打印 上一主题 下一主题

[已经解决] 请问现在VA又成熟的SRPG的模板或教程了吗?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
18 小时
注册时间
2006-11-10
帖子
19
跳转到指定楼层
1
发表于 2015-5-14 21:50:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
请教,想尝试做SRPG的战斗方式。还请教个问题,怎么取消等级制度,而保留经验值。

Lv5.捕梦者

梦石
0
星屑
22943
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
2
发表于 2015-5-14 22:38:57 | 只看该作者
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)
  1. #==============================================================================
  2. # ■ アップデートセクション Ver. 1.06
  3. #------------------------------------------------------------------------------
  4. #  「SRPGコンバータNEXT for Ace」の修正パッチです。
  5. #    このアップデートセクションを最新のものに上書きしていくことで修正できます。
  6. #==============================================================================

  7. #==============================================================================
  8. # ●5/10 Ver. 1.06
  9. #   ・戦闘中の装備画面で、行動中のユニット以外で「最強装備」「すべて外す」が
  10. #   動作しないように修正(カスタマイズで設定した場合のみ)
  11. #==============================================================================
  12. #==============================================================================
  13. # ■ Game_Actor
  14. #------------------------------------------------------------------------------
  15. #  アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors)
  16. # の内部で使用され、Game_Party クラス($game_party)からも参照されます。
  17. #==============================================================================

  18. class Game_Actor < Game_Battler
  19.   #--------------------------------------------------------------------------
  20.   # ● 装備変更の可能判定
  21.   #     slot_id : 装備スロット ID
  22.   #--------------------------------------------------------------------------
  23.   def equip_change_ok?(slot_id)
  24.     return false if equip_type_fixed?(equip_slots[slot_id])
  25.     return false if equip_type_sealed?(equip_slots[slot_id])
  26.     if $game_temp.battle_menu
  27.       if $game_variables[SRPG::TURN_TYPE] < 2
  28.         if SRPG.check_srpg(SRPG::BATTLE_TYPE) and SRPG::EQUIP_LIMIT_M
  29.           flag = self == $game_party.subject ? true : false
  30.         elsif SRPG.check_srpg(SRPG::BATTLE_TYPE) == false and SRPG::EQUIP_LIMIT_S
  31.           flag = self == $game_party.subject ? true : false
  32.         else
  33.           flag = true
  34.         end
  35.       else
  36.         if self.dead?
  37.           flag = false
  38.         elsif SRPG.check_srpg(SRPG::BATTLE_TYPE) and SRPG::EQUIP_LIMIT_M
  39.           flag = self.behaved == false ? true : false
  40.         elsif SRPG.check_srpg(SRPG::BATTLE_TYPE) == false and SRPG::EQUIP_LIMIT_S
  41.           flag = self.behaved == false ? true : false
  42.         else
  43.           flag = true
  44.         end
  45.       end
  46.     else
  47.       flag = true
  48.     end
  49.     return flag
  50.   end
  51. end
  52. #==============================================================================
  53. # ■ Window_EquipSlot
  54. #------------------------------------------------------------------------------
  55. #  装備画面で、アクターが現在装備しているアイテムを表示するウィンドウです。
  56. #==============================================================================

  57. class Window_EquipSlot < Window_Selectable
  58.   #--------------------------------------------------------------------------
  59.   # ● 装備スロットを許可状態で表示するかどうか
  60.   #--------------------------------------------------------------------------
  61.   def enable?(index)
  62.     @actor ? @actor.equip_change_ok?(index) : false
  63.   end
  64. end

  65. #==============================================================================
  66. # ●5/9 Ver. 1.05
  67. #   ・少人数戦闘でロード後に逃走の処理が正常に動作しない問題を修正
  68. #==============================================================================
  69. #==============================================================================
  70. # ■ BattleManager
  71. #------------------------------------------------------------------------------
  72. #  戦闘の進行を管理するモジュールです。
  73. #==============================================================================

  74. module BattleManager
  75.   #--------------------------------------------------------------------------
  76.   # ● データのセーブ
  77.   #--------------------------------------------------------------------------
  78.   def self.data_save
  79.     array = []
  80.     array.push(@phase)
  81.     array.push(@can_escape)
  82.     array.push(@can_lose)
  83.     #array.push(@event_proc)
  84.     array.push(@preemptive)
  85.     array.push(@surprise)
  86.     array.push(@actor_index)
  87.     array.push(@action_forced)
  88.     array.push(@map_bgm)
  89.     array.push(@map_bgs)
  90.     array.push(@action_battlers)
  91.     array.push(@save_proc)
  92.     array.push(@escape_ratio)
  93.     return array
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ● データのロード
  97.   #--------------------------------------------------------------------------
  98.   def self.data_load(array)
  99.     @phase = array.shift                # 戦闘進行フェーズ
  100.     @can_escape = array.shift           # 逃走可能フラグ
  101.     @can_lose = array.shift             # 敗北可能フラグ
  102.     #@event_proc = array.shift           # イベント用コールバック
  103.     @preemptive = array.shift           # 先制攻撃フラグ
  104.     @surprise = array.shift             # 不意打ちフラグ
  105.     @actor_index = array.shift          # コマンド入力中のアクター
  106.     @action_forced = array.shift        # 戦闘行動の強制
  107.     @map_bgm = array.shift              # 戦闘前の BGM 記憶用
  108.     @map_bgs = array.shift              # 戦闘前の BGS 記憶用
  109.     @action_battlers = array.shift      # 行動順序リスト
  110.     @save_proc = array.shift            # 戦闘の分岐の保存
  111.     @escape_ratio = array.shift         # 逃走のための変数
  112.     branch = @save_proc[0] ; indent = @save_proc[1]
  113.     self.event_proc = Proc.new {|n| branch[indent] = n }
  114.   end
  115. end

  116. #==============================================================================
  117. # ●5/8 Ver. 1.04
  118. #  ・行動回数が複数回あるキャラクターのターンでセーブ&ロードすると
  119. #   ロード時に行動回数がリセットされてしまう問題を修正
  120. #  ・少人数戦闘でアクターを加えた時に位置が正常に設定されない問題を修正
  121. #   ・少人数戦闘でロード時の処理にあった問題を修正
  122. #   ・少人数戦闘でロード後にユニットを出現させる処理が正常に動作しない問題を修正
  123. #==============================================================================
  124. #==============================================================================
  125. # ■ Scene_SRPG
  126. #------------------------------------------------------------------------------
  127. #  SRPG方式のバトル画面の処理を行うクラスです。
  128. #==============================================================================

  129. class Scene_SRPG < Scene_Base
  130.   #--------------------------------------------------------------------------
  131.   # ● ロード時初期化処理
  132.   #--------------------------------------------------------------------------
  133.   def load_initialize
  134.     save_map_data_when_load
  135.     BattleManager.data_load($game_temp.battle_manager)
  136.     if $game_variables[SRPG::TURN_TYPE] < 2
  137.       @subject = BattleManager.next_subject
  138.     else
  139.       @enemy_turn_flag = false
  140.     end
  141.     # 編集時のイベント位置初期化に対応
  142.     for unit in $game_temp.unit_data
  143.       next if unit == nil
  144.       character = get_character($game_temp.unit_data.index(unit))
  145.       character.moveto(unit.x, unit.y)
  146.       character.set_direction(unit.direction)
  147.     end
  148.     @save_party_members = $game_party.members.clone # パーティーメンバーを保存
  149.     event_xy_set
  150.     permit_xy_set
  151.     target_enemy_xy_set
  152.     $game_temp.call_load_manager = false
  153.   end
  154.   #--------------------------------------------------------------------------
  155.   # ● ユニットの入れ替え
  156.   #--------------------------------------------------------------------------
  157.   def party_reset
  158.     @battler_orders_window.refresh(BattleManager.action_battlers)
  159.     for unit in $game_temp.unit_data.compact
  160.       unit_appear(unit) if unit.appear_flag
  161.     end
  162.     if SRPG.check_srpg(SRPG::BATTLE_TYPE) == false
  163.       return if @save_party_members == $game_party.members
  164.       unit_data_new
  165.       for actor in $game_party.members
  166.         if not @save_party_members.include?(actor)
  167.           death_pena(actor)
  168.           vector = [8, 8, 8]
  169.           vector = vector_change(vector, @player_direction)
  170.           start_xy = check_start(@player_base_x, @player_base_y, @player_direction)
  171.           x_y = vector_cal(vector, start_xy[0], start_xy[1])
  172.           character = get_character($game_party.members.index(actor) + 101)
  173.           character.moveto(x_y[0], x_y[1])
  174.           actor.set_xy(x_y[0], x_y[1], character.direction)
  175.           character.set_direction(@player_direction)
  176.           @spriteset.set_new_character
  177.         end
  178.       end
  179.       @battler_orders_window.refresh(BattleManager.action_battlers)
  180.       @save_party_members = $game_party.members.clone
  181.     end
  182.   end  
  183.   #--------------------------------------------------------------------------
  184.   # ● 戦闘終了時のために必要なマップデータを保存
  185.   #--------------------------------------------------------------------------
  186.   def save_map_data
  187.     $game_temp.map_data = $game_map.prebattle_map_data
  188.     $game_temp.map_brightness = $game_map.screen.brightness
  189.     $game_temp.slg_call_position = [$game_player.x, $game_player.y, $game_map.map_id, $game_player.direction]
  190.     if SRPG.check_srpg(SRPG::BATTLE_TYPE) == false
  191.       i = SRPG::BATTLEMAP_VARIABLE > 0 ? SRPG::BATTLEMAP_VARIABLE : 1
  192.       $game_map.setup($game_variables[i]) if SRPG.check_srpg(SRPG::OTHER_BATTLE_MAP)
  193.       $game_map.battle_setup_events
  194.     end
  195.     $game_map.set_panorama($game_temp.map_data)
  196.     $game_map.refresh
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ● 戦闘終了時のために必要なマップデータを保存(ロード時用)
  200.   #--------------------------------------------------------------------------
  201.   def save_map_data_when_load
  202.     @player_base_x = $game_temp.slg_call_position[0]
  203.     @player_base_y = $game_temp.slg_call_position[1]
  204.     @player_direction = $game_temp.slg_call_position[3]
  205.     if SRPG.check_srpg(SRPG::BATTLE_TYPE) == false
  206.       i = SRPG::BATTLEMAP_VARIABLE > 0 ? SRPG::BATTLEMAP_VARIABLE : 1
  207.       $game_map.setup($game_variables[i]) if SRPG.check_srpg(SRPG::OTHER_BATTLE_MAP)
  208.       $game_map.battle_setup_events
  209.     end
  210.     $game_map.set_panorama($game_temp.map_data)
  211.     $game_map.refresh
  212.   end
  213. end
复制代码

点评

好人~~!大拇指!  发表于 2015-5-14 23:56

评分

参与人数 1星屑 +50 收起 理由
3106345123 + 50 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 05:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表