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

Project1

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

[有事请教] 这个帖子里多周目脚本,我用怎么报错了

[复制链接]

Lv1.梦旅人

梦石
0
星屑
120
在线时间
20 小时
注册时间
2026-2-26
帖子
5
跳转到指定楼层
1

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

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

x
本帖最后由 幽黑黑化 于 2026-7-5 13:26 编辑

https://rpg.blue/forum.php?mod=viewthread&tid=398896
这个帖子里的多周目脚本原帖搜不到了,我直接用这帖子里的,那个繁体字翻译版直接报错进不了游戏,那个未翻译的进游戏 调用脚本就报错

Lv4.逐梦者

梦石
1
星屑
15452
在线时间
5364 小时
注册时间
2017-2-18
帖子
417
2
发表于 5 天前 | 只看该作者
建议用喵呜喵5的全局变量
化而为鸟,其名为鸽。怒而咕,咕咕咕咕——咕咕咕!
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
42137
在线时间
6003 小时
注册时间
2006-11-10
帖子
7025
3
发表于 4 天前 | 只看该作者
本帖最后由 灯笼菜刀王 于 2026-7-6 11:58 编辑

你用的帖子主楼的脚本, 受到论坛代码的影响并不是完整的(看它后面都变斜体了,笑), 二楼的翻译脚本,虽然在代码框内不受影响, 但是是直接从主楼复制的也不完整

如果你只是想要脚本的"继承功能", 那在通关后, 事件这样处理

脚本: $tongguan = true
调用存档界面
条件分歧:脚本:  $tongguan
   显示文章: 恭喜通关, 读取该存档就可以开启二周目
   脚本: $tongguan = nil
   返回标题
除此以外
   选择项: 是否继承存档开启新的冒险?
   是
      脚本: $game_party.继承
      这里可以自己操作变量道具等, 用于处理一些不想继承的角色道具, 也可以给"通关奖励"
   否
     脚本:  $game_party.不继承
     这里同样可以进行操作
   end
end

然后把这个脚本塞到插件脚本里
  1. class Game_Actors
  2.   def 继承(f) ;@data = f ;end
  3. end
  4. class Game_Party < Game_Unit
  5.   def item ;@items ;end
  6.   def weapon ;@weapons ;end
  7.   def armor ;@armors ;end
  8.   attr_accessor :items ,:weapons ,:armors,:actors,:gold,:steps
  9.   def 继承
  10.     a = DataManager.make_filename(DataManager.last_savefile_index)
  11.     return if Dir.glob(a).empty? ;file = File.open(a,"rb")
  12.     Marshal.load(file) ;f = Marshal.load(file) ;file.close
  13.     DataManager.setup_new_game
  14.     $game_actors.继承(f[:actors]) ; g = f[:party] ;b = $game_party
  15.     b.gold = g.gold ;b.steps = g.steps ;b.actors = g.actors
  16.     b.items = g.item ;b.weapons = g.weapon ;b.armors = g.armor
  17.     a = Scene_Base.new ;a.fadeout_all
  18.     $game_map.autoplay  ;SceneManager.goto(Scene_Map) ;$game_player.refresh
  19.   end
  20.   def 不继承
  21.     DataManager.setup_new_game ;a = Scene_Base.new ;a.fadeout_all
  22.     $game_map.autoplay  ;SceneManager.goto(Scene_Map) ;$game_player.refresh
  23.   end
  24. end
复制代码


这样就可以喽,  玩家通关的时候, 会弹出存档界面, 等玩家操作后, 显示"恭喜通关", 然后回到标题,  读取通关存档后, 会弹出选择框, 选择是否继承存档, 选择继承, 就会在保留所有 道具,武器,防具,金钱,步数,队友 的情况下开始新周目
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
120
在线时间
20 小时
注册时间
2026-2-26
帖子
5
4
 楼主| 发表于 4 天前 | 只看该作者
灯笼菜刀王 发表于 2026-7-6 11:53
你用的帖子主楼的脚本, 受到论坛代码的影响并不是完整的(看它后面都变斜体了,笑), 二楼的翻译脚本,虽然在代 ...


读取存档后没有弹是否继承选项怎么办?

IMG_20260706_150200.jpg (90.76 KB, 下载次数: 0)

IMG_20260706_150200.jpg

点评

事件设置错误, 好好看我说的做法, 并理解为什么要这么做  发表于 4 天前
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
29379
在线时间
5696 小时
注册时间
2016-3-8
帖子
1725
5
发表于 昨天 22:02 | 只看该作者
这是原版

RUBY 代码复制
  1. #==============================================================================
  2. # ■ VXAce-RGSS3-25 強くてニューゲーム [Ver.1.1.0]          by Claimh
  3. #------------------------------------------------------------------------------
  4. # ・ゲームクリア時のデータを引き継いで、最初から始めることができます。
  5. #------------------------------------------------------------------------------
  6. #【引継ぎ対象】
  7. # $game_temp          (Game_Temp)         : ×
  8. # $game_system        (Game_System)       : ○
  9. # $game_timer         (Game_Timer)        : ×
  10. # $game_message       (Game_Message)      : ×
  11. # $game_switches      (Game_Switches)     : ○
  12. # $game_variables     (Game_Variables)    : ○
  13. # $game_self_switches (Game_SelfSwitches) : ×
  14. # $game_actors        (Game_Actors)       : ○
  15. # $game_party         (Game_Party)        : ○
  16. # $game_troop         (Game_Troop)        : ×
  17. # $game_map           (Game_Map)          : ×
  18. # $game_player        (Game_Player)       : ×
  19. #------------------------------------------------------------------------------
  20. #【クリア設定】
  21. #   $game_system.game_clear
  22. #【クリア済み情報取得】
  23. #   $game_system.game_clear?
  24. #【クリア回数取得】
  25. #   $game_system.clrd.count
  26. #------------------------------------------------------------------------------
  27. # (注) 要・〇〇と書いてある項目を導入していない場合はtrueに設定すること。
  28. #==============================================================================
  29.  
  30. module Renewgame
  31.   # 強くてニューゲームロード時のSE
  32.   RENEW_SE = RPG::SE.new("Barrier")
  33.  
  34.   #---------------------------------------------------------------------------
  35.   # ● システム情報(Game_System)引継ぎ設定
  36.   #---------------------------------------------------------------------------
  37.   # 戦闘回数を引き継ぐ
  38.   RENEW_BATTLE_CNT = true
  39.  
  40.   # セーブ回数を引き継ぐ
  41.   RENEW_SAVE_CNT = true
  42.  
  43.   # プレイ時間を引き継ぐ
  44.   RENEW_TIME = true
  45.  
  46.   # 用語辞典情報を引き継ぐ(要・用語辞典)
  47.   RENEW_DICTIONAY = true
  48.  
  49.   # クエスト情報を引き継ぐ(要・クエストシステム)
  50.   RENEW_QUEST = true
  51.  
  52.   # 鍛冶情報を引き継ぐ(要:鍛冶屋)
  53.   RENEW_BLACKSMITH = true
  54.  
  55.   # ワールドマップ情報を引き継ぐ(要:ワールドマップ)
  56.   RENEW_WORLDMAP = true
  57.  
  58.   # フィールドマップ情報を引き継ぐ(要:フィールドマップ)
  59.   RENEW_FIELDMAP = true
  60.  
  61.   #---------------------------------------------------------------------------
  62.   # ● スイッチ情報(Game_Switches)引継ぎ設定
  63.   #---------------------------------------------------------------------------
  64.   # 引き継ぐスイッチIDリスト
  65.   RENEW_SW = [1, 10]
  66.  
  67.   #---------------------------------------------------------------------------
  68.   # ● 変数情報(Game_Variables)引継ぎ設定
  69.   #---------------------------------------------------------------------------
  70.   # 引き継ぐ変数IDリスト
  71.   RENEW_VAL = [1, 5]
  72.  
  73.   #---------------------------------------------------------------------------
  74.   # ● パーティ情報(Game_Party)引継ぎ設定
  75.   #---------------------------------------------------------------------------
  76.   # 何も引き継がない(true時は、以降の設定不要)
  77.   PT_NOT_RENEW = false
  78.  
  79.   # お金を引き継ぐ
  80.   RENEW_GOLD = true
  81.   # 歩数を引き継ぐ
  82.   RENEW_STEP = true
  83.  
  84.   # アイテムを引き継ぐ
  85.   RENEW_ITEM = true
  86.   # 引き継がないアイテムIDリスト
  87.   NOT_RENEW_ITEMS = [5, 15]
  88.  
  89.   # 武器を引き継ぐ
  90.   RENEW_WEAPON = true
  91.   # 引き継がない武器IDリスト
  92.   NOT_RENEW_WEAPONS = [20, 25]
  93.  
  94.   # 防具を引き継ぐ
  95.   RENEW_ARMOR = true
  96.   # 引き継がない防具IDリスト
  97.   NOT_RENEW_ARMORS  = [9, 23]
  98.  
  99.   # クエストランクを引き継ぐ(要・クエストシステム)
  100.   RENEW_QUEST_RANK = true
  101.  
  102.   #---------------------------------------------------------------------------
  103.   # ● アクター情報(Game_Actor)引継ぎ設定
  104.   #    名前、キャラクター、顔グラフィックは初期化します
  105.   #---------------------------------------------------------------------------
  106.   # 何も引き継がない(true時は、以降の設定不要)
  107.   ACT_NOT_RENEW = false
  108.  
  109.   # 初期化する(何も引き継がない)アクターIDリスト
  110.   NOT_RENEW_ACTORS = [2]
  111.  
  112.   # 職業引継ぎ
  113.   RENEW_CLASS = true
  114.   # レベル(経験値)引継ぎ
  115.   RENEW_LV = true
  116.   # 二つ名引継ぎ
  117.   RENEW_NICKNAME = true
  118.  
  119.   # スキル引継ぎ
  120.   RENEW_SKILL = true
  121.   # 引き継がないスキルIDリスト
  122.   NOT_RENEW_SKILLS = {
  123.     # アクターID => [スキルID, …],
  124.     0 => [22],
  125.     1 => [23]
  126.   }
  127.  
  128.   # 能力値変化の引継ぎ
  129.   RENEW_PARAM = true
  130.  
  131.   # 装備品引継ぎ
  132.   RENEW_EQUIP = true
  133.  
  134.   # 熟練度引き継ぎ(要・熟練度システム)
  135.   RENEW_ATTR_LV = true
  136.  
  137. ##############################################################################
  138.   #--------------------------------------------------------------------------
  139.   # ● データチェック
  140.   #--------------------------------------------------------------------------
  141.   def self.chk_include?(ary, id)
  142.     return false if ary.nil?
  143.     ary.include?(id)
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● アクタースキル引き継ぎ可否判定
  147.   #--------------------------------------------------------------------------
  148.   def self.chk_skill(actor_id, skill_id)
  149.     return true if chk_include?(NOT_RENEW_SKILLS[0], skill_id)
  150.     return true if chk_include?(NOT_RENEW_SKILLS[actor_id], skill_id)
  151.     false
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● アイテム引き継ぎ
  155.   #--------------------------------------------------------------------------
  156.   def self.lose_items
  157.     flag = [RENEW_ITEM, RENEW_WEAPON, RENEW_ARMOR]
  158.     ary  = [NOT_RENEW_ITEMS, NOT_RENEW_WEAPONS, NOT_RENEW_ARMORS]
  159.     flag.each_index do |i|
  160.       flag[i] ? lose_select_items(pitems(i), ary[i]) : $game_party.init_items(i)
  161.     end
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ● partyアイテム
  165.   #--------------------------------------------------------------------------
  166.   def self.pitems(type)
  167.     case type
  168.     when 0; return $game_party.items
  169.     when 1; return $game_party.weapons
  170.     when 2; return $game_party.armors
  171.     end
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ● 抽出アイテムを全部捨てる
  175.   #--------------------------------------------------------------------------
  176.   def self.lose_select_items(items, ary)
  177.     $game_party.lose_all_items(items.select {|item| ary.include?(item.id)}, true)
  178.   end
  179. end
  180.  
  181. #==============================================================================
  182. # ■ Renewgame::ClearData    : クリア情報クラス
  183. #==============================================================================
  184. class Renewgame::ClearData
  185.   #--------------------------------------------------------------------------
  186.   # ● 公開インスタンス変数
  187.   #--------------------------------------------------------------------------
  188.   attr_accessor :renew                 # 強くてニューゲーム発動フラグ
  189.   attr_reader   :clear                 # クリア済みフラグ
  190.   attr_reader   :count                 # クリア回数
  191.   attr_reader   :time                  # クリア時間
  192.   attr_reader   :lv_ave                # 平均レベル
  193.   attr_reader   :lv_max                # 最大レベル
  194.   #--------------------------------------------------------------------------
  195.   # ● オブジェクト初期化
  196.   #--------------------------------------------------------------------------
  197.   def initialize
  198.     @renew = false
  199.     @clear = false
  200.     @count = 0
  201.     @time = [0]
  202.     @lv_ave = [0]
  203.     @lv_max = [0]
  204.   end
  205.   #--------------------------------------------------------------------------
  206.   # ● クリア設定
  207.   #--------------------------------------------------------------------------
  208.   def game_clear
  209.     @renew = true
  210.     @clear = true
  211.     @count += 1
  212.     members = $game_party.members
  213.     set_clear_time
  214.     @time[@count] -= @time[@count-1] if Renewgame::RENEW_TIME
  215.     @lv_ave[@count] = members.inject(0) {|r, a| r += a.level} / members.size
  216.     @lv_max[@count] = $game_party.highest_level
  217.   end
  218.   #--------------------------------------------------------------------------
  219.   # ● クリア時間設定
  220.   #--------------------------------------------------------------------------
  221.   def set_clear_time
  222.     @time[@count] = $game_system.playtime
  223.   end
  224.   #--------------------------------------------------------------------------
  225.   # ● クリアまでに費やした合計時間
  226.   #--------------------------------------------------------------------------
  227.   def played_time
  228.     return @time[@count] unless Renewgame::RENEW_TIME
  229.     @count.inject(0) {|r, i| r += @time[i+1]}
  230.   end
  231. end
  232.  
  233.  
  234. #==============================================================================
  235. # ■ DataManager
  236. #==============================================================================
  237. class << DataManager
  238.   #--------------------------------------------------------------------------
  239.   # ● セーブヘッダの作成
  240.   #--------------------------------------------------------------------------
  241.   alias make_save_header_renew make_save_header
  242.   def make_save_header
  243.     header = make_save_header_renew
  244.     header[:game_clear] = $game_system.game_clear?
  245.     header[:regame] = $game_system.clrd.renew
  246.     header
  247.   end
  248. end
  249.  
  250.  
  251. #==============================================================================
  252. # ■ Scene_Load
  253. #==============================================================================
  254. class Scene_Load < Scene_File
  255.   #--------------------------------------------------------------------------
  256.   # ● 開始処理
  257.   #--------------------------------------------------------------------------
  258.   def start
  259.     super
  260.     create_renew_window
  261.   end
  262.   #--------------------------------------------------------------------------
  263.   # ● 強くてニューゲーム発動ウィンドウ生成
  264.   #--------------------------------------------------------------------------
  265.   def create_renew_window
  266.     @renew_window = Window_RenewGame.new
  267.     @renew_window.set_handler(:renew_yes, method(:renew_yes))
  268.     @renew_window.set_handler(:cancel,    method(:renew_no))
  269.   end
  270.   #--------------------------------------------------------------------------
  271.   # ● セーブファイル選択の更新
  272.   #--------------------------------------------------------------------------
  273.   def update_savefile_selection
  274.     return if @renew_window.active
  275.     super
  276.   end
  277.   #--------------------------------------------------------------------------
  278.   # ● セーブファイルの決定
  279.   #--------------------------------------------------------------------------
  280.   alias on_savefile_ok_renew on_savefile_ok
  281.   def on_savefile_ok
  282.     if renewgame?
  283.       Sound.play_ok
  284.       @renew_window.activate.open.index = 1
  285.       @help_window.set_text("クリア時のデータを引き継いで新しく始めますか?")
  286.     else
  287.       on_savefile_ok_renew
  288.     end
  289.   end
  290.   #--------------------------------------------------------------------------
  291.   # ● 強くてニューゲーム用セーブデータ?
  292.   #--------------------------------------------------------------------------
  293.   def renewgame?
  294.     header = DataManager.load_header(@index)
  295.     return false unless header
  296.     header[:regame]
  297.   end
  298.   #--------------------------------------------------------------------------
  299.   # ● 強くてニューゲーム時の処理
  300.   #--------------------------------------------------------------------------
  301.   def renew_yes
  302.     if DataManager.load_game(@index)
  303.       on_renew_success
  304.     else
  305.       @help_window.set_text(help_window_text)
  306.       Sound.play_buzzer
  307.     end
  308.     @renew_window.deactivate.close
  309.   end
  310.   #--------------------------------------------------------------------------
  311.   # ● 強くてニューゲーム成功時の処理
  312.   #--------------------------------------------------------------------------
  313.   def on_renew_success
  314.     Renewgame::RENEW_SE.play
  315.     DataManager.renew_game
  316.     $game_system.clrd.renew = false
  317.     fadeout_all
  318.     $game_map.autoplay
  319.     SceneManager.goto(Scene_Map)
  320.   end
  321.   #--------------------------------------------------------------------------
  322.   # ● 強くてニューゲーム時の処理
  323.   #--------------------------------------------------------------------------
  324.   def renew_no
  325.     @renew_window.deactivate.close
  326.     @help_window.set_text(help_window_text)
  327.   end
  328. end
  329.  
  330. #==============================================================================
  331. # ■ Window_RenewGame
  332. #==============================================================================
  333. class Window_RenewGame < Window_Command
  334.   #--------------------------------------------------------------------------
  335.   # ● オブジェクト初期化
  336.   #--------------------------------------------------------------------------
  337.   def initialize
  338.     super(0, 0)
  339.     update_placement
  340.     deactivate.openness = 0
  341.   end
  342.   #--------------------------------------------------------------------------
  343.   # ● ウィンドウ幅の取得
  344.   #--------------------------------------------------------------------------
  345.   def window_width
  346.     return 100
  347.   end
  348.   #--------------------------------------------------------------------------
  349.   # ● ウィンドウ位置の更新
  350.   #--------------------------------------------------------------------------
  351.   def update_placement
  352.     self.x = (Graphics.width - width) / 2
  353.     self.y = (Graphics.height - height) / 2
  354.   end
  355.   #--------------------------------------------------------------------------
  356.   # ● コマンドリストの作成
  357.   #--------------------------------------------------------------------------
  358.   def make_command_list
  359.     add_command("はい",   :renew_yes)
  360.     add_command("いいえ", :cancel)
  361.   end
  362. end
  363.  
  364.  
  365. module DataManager
  366.   #--------------------------------------------------------------------------
  367.   # ● 強くてニューゲーム
  368.   #--------------------------------------------------------------------------
  369.   def self.renew_game
  370.     renew_game_data
  371.     $game_party.setup_starting_members
  372.     $game_map.setup($data_system.start_map_id)
  373.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  374.     $game_player.refresh
  375.   end
  376.   #--------------------------------------------------------------------------
  377.   # ● 強くてニューゲーム時の各種ゲームオブジェクトのリセット
  378.   #--------------------------------------------------------------------------
  379.   def self.renew_game_data
  380.     $game_temp          = Game_Temp.new
  381.     renew_game_system
  382.     $game_timer         = Game_Timer.new
  383.     $game_message       = Game_Message.new
  384.     renew_game_switches
  385.     renew_game_variables
  386.     $game_self_switches = Game_SelfSwitches.new
  387.     Renewgame::ACT_NOT_RENEW ? init_game_actors : renew_game_actors
  388.     Renewgame::PT_NOT_RENEW  ? init_game_party  : renew_game_party
  389.     $game_troop         = Game_Troop.new
  390.     $game_map           = Game_Map.new
  391.     $game_player        = Game_Player.new
  392.   end
  393.   #--------------------------------------------------------------------------
  394.   # ● Game_Switches初期化
  395.   #--------------------------------------------------------------------------
  396.   def self.init_game_switches
  397.     $game_switches      = Game_Switches.new
  398.   end
  399.   #--------------------------------------------------------------------------
  400.   # ● Game_Variables初期化
  401.   #--------------------------------------------------------------------------
  402.   def self.init_game_variables
  403.     $game_variables     = Game_Variables.new
  404.   end
  405.   #--------------------------------------------------------------------------
  406.   # ● Game_Actors初期化
  407.   #--------------------------------------------------------------------------
  408.   def self.init_game_actors
  409.     $game_actors        = Game_Actors.new
  410.   end
  411.   #--------------------------------------------------------------------------
  412.   # ● Game_Party初期化
  413.   #--------------------------------------------------------------------------
  414.   def self.init_game_party
  415.     $game_party         = Game_Party.new
  416.   end
  417.   #--------------------------------------------------------------------------
  418.   # ● Game_System引継ぎ
  419.   #--------------------------------------------------------------------------
  420.   def self.renew_game_system
  421.     $game_system.battle_count = 0 unless Renewgame::RENEW_BATTLE_CNT
  422.     $game_system.save_count = 0   unless Renewgame::RENEW_SAVE_CNT
  423.     $game_system.reset_playtime(Renewgame::RENEW_TIME)
  424.     $game_system.clrd.set_clear_time  # セーブされていたplaytimeに補正
  425.     $game_system.dictionary.reset unless Renewgame::RENEW_DICTIONAY
  426.     $game_system.quest.reset      unless Renewgame::RENEW_QUEST
  427.     $game_system.bs.reset_all     unless Renewgame::RENEW_BLACKSMITH
  428.     $game_system.worldmap.reset   unless Renewgame::RENEW_WORLDMAP
  429.     $game_system.init_fieldmap    unless Renewgame::RENEW_FIELDMAP
  430.     #
  431.     $game_system.reset
  432.   end
  433.   #--------------------------------------------------------------------------
  434.   # ● Game_Switches引き継ぎ
  435.   #--------------------------------------------------------------------------
  436.   def self.renew_game_switches
  437.     ids = $game_switches.on_sw_ids.select {|id| Renewgame::RENEW_SW.include?(id)}
  438.     init_game_switches
  439.     ids.each {|id| $game_switches[id] = true}
  440.   end
  441.   #--------------------------------------------------------------------------
  442.   # ● Game_Variables引き継ぎ
  443.   #--------------------------------------------------------------------------
  444.   def self.renew_game_variables
  445.     vals = {}
  446.     Renewgame::RENEW_VAL.each {|id| vals[id] = $game_variables[id]}
  447.     init_game_variables
  448.     Renewgame::RENEW_VAL.each {|id| $game_variables[id] = vals[id]}
  449.   end
  450.   #--------------------------------------------------------------------------
  451.   # ● Game_Actors引き継ぎ
  452.   #--------------------------------------------------------------------------
  453.   def self.renew_game_actors
  454.     $game_actors.each {|a| renew_game_actor(a)}
  455.   end
  456.   #--------------------------------------------------------------------------
  457.   # ● Game_Actor引き継ぎ
  458.   #--------------------------------------------------------------------------
  459.   def self.renew_game_actor(actor)
  460.     if Renewgame::NOT_RENEW_ACTORS.include?(actor.id)
  461.       actor.setup(actor.id)
  462.       return
  463.     end
  464.     new_act = Game_Actor.new(actor.id)
  465.     unless Renewgame::RENEW_SKILL
  466.       actor.init_skills
  467.     else
  468.       skills = actor.skills.select {|skill| Renewgame.chk_skill(actor.id, skill.id)}
  469.       skills.each {|skill| actor.forget_skill(skill.id)}
  470.     end
  471.     actor.init_lv_exp unless Renewgame::RENEW_LV
  472.     actor.change_class(new_act.class_id) unless Renewgame::RENEW_CLASS
  473.     actor.nickname = new_act.nickname    unless Renewgame::RENEW_NICKNAME
  474.     actor.clear_param_plus unless Renewgame::RENEW_PARAM
  475.     unless Renewgame::RENEW_EQUIP
  476.       actor.clear_equipments
  477.       actor.init_equips(actor.actor.equips)
  478.     end
  479.     actor.attr = ActorAttrList.new(actor.id) unless Renewgame::RENEW_ATTR_LV
  480.     #
  481.     actor.recover_all
  482.   end
  483.   #--------------------------------------------------------------------------
  484.   # ● Game_Party引き継ぎ
  485.   #--------------------------------------------------------------------------
  486.   def self.renew_game_party
  487.     $game_party.gold  = 0 unless Renewgame::RENEW_GOLD
  488.     $game_party.steps = 0 unless Renewgame::RENEW_STEP
  489.     Renewgame.lose_items
  490.     $game_party.quest_rank = 1 unless Renewgame::RENEW_QUEST_RANK
  491.   end
  492. end
  493.  
  494.  
  495. class Game_System
  496.   #--------------------------------------------------------------------------
  497.   # ● 公開インスタンス変数
  498.   #--------------------------------------------------------------------------
  499.   attr_writer   :save_count               # セーブ回数
  500.   attr_reader   :clrd                     # クリア情報
  501.   #--------------------------------------------------------------------------
  502.   # ● オブジェクト初期化
  503.   #--------------------------------------------------------------------------
  504.   alias initialize_renew initialize
  505.   def initialize
  506.     initialize_renew
  507.     @clrd = Renewgame::ClearData.new
  508.   end
  509.   #--------------------------------------------------------------------------
  510.   # ● クリア設定
  511.   #--------------------------------------------------------------------------
  512.   def game_clear
  513.     @clrd.game_clear
  514.   end
  515.   #--------------------------------------------------------------------------
  516.   # ● クリア設定
  517.   #--------------------------------------------------------------------------
  518.   def game_clear?
  519.     @clrd.clear
  520.   end
  521.   #--------------------------------------------------------------------------
  522.   # ● 変数リセット
  523.   #--------------------------------------------------------------------------
  524.   def reset
  525.     @save_disabled = false
  526.     @menu_disabled = false
  527.     @encounter_disabled = false
  528.     @formation_disabled = false
  529.     @window_tone = nil
  530.     @battle_bgm = nil
  531.     @battle_end_me = nil
  532.     @saved_bgm = nil
  533.   end
  534.   #--------------------------------------------------------------------------
  535.   # ● プレイ時間リセット
  536.   #--------------------------------------------------------------------------
  537.   def reset_playtime(load_reset=false)
  538.     @frames_on_save = 0 unless load_reset
  539.     Graphics.frame_count = @frames_on_save
  540.   end
  541. end
  542.  
  543. class Game_Switches
  544.   #--------------------------------------------------------------------------
  545.   # ● ON状態のスイッチID取得
  546.   #--------------------------------------------------------------------------
  547.   def on_sw_ids
  548.     ids = []
  549.     @data.each_index {|i| ids.push(i) if self.[](i) }
  550.     ids
  551.   end
  552. end
  553.  
  554.  
  555. class Game_Actors
  556.   #--------------------------------------------------------------------------
  557.   # ● イテレータ
  558.   #--------------------------------------------------------------------------
  559.   def each
  560.     @data.select {|a| !a.nil?}.each {|actor| yield actor } if block_given?
  561.   end
  562. end
  563.  
  564. class Game_Actor < Game_Battler
  565.   #--------------------------------------------------------------------------
  566.   # ● Level, EXP初期化
  567.   #--------------------------------------------------------------------------
  568.   def init_lv_exp
  569.     @level = actor.initial_level
  570.     @exp = {}
  571.     init_exp
  572.   end
  573. end
  574.  
  575. class Game_Party < Game_Unit
  576.   #--------------------------------------------------------------------------
  577.   # ● 公開インスタンス変数
  578.   #--------------------------------------------------------------------------
  579.   attr_writer   :gold                     # 所持金
  580.   attr_writer   :steps                    # 歩数
  581.   #--------------------------------------------------------------------------
  582.   # ● アイテムリストの初期化
  583.   #--------------------------------------------------------------------------
  584.   def init_items(type)
  585.     case type
  586.     when 0; @items = {}
  587.     when 1; @weapons = {}
  588.     when 2; @armors = {}
  589.     end
  590.   end
  591.   #--------------------------------------------------------------------------
  592.   # ● アイテムをすべて捨てる
  593.   #     include_equip : 装備品も含める
  594.   #--------------------------------------------------------------------------
  595.   def lose_all_item(item, include_equip = false)
  596.     lose_item(item, max_item_number(item), include_equip)
  597.   end
  598.   #--------------------------------------------------------------------------
  599.   # ● アイテムリストをすべて捨てる
  600.   #     include_equip : 装備品も含める
  601.   #--------------------------------------------------------------------------
  602.   def lose_all_items(items, include_equip = false)
  603.     items.each {|item| lose_all_item(item, include_equip)}
  604.   end
  605. end
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-7-10 08:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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