=begin ================================================================================ 全局变量 By 喵呜喵5 ================================================================================ 【说明】 在事件中使用脚本命令 save_var 可以把设置好的变量单独储存到一个新文件中 在事件中使用脚本命令 load_var 可以在其他地方 (例如其他存档、或者开始新游戏时……)载入保存了的变量的值 使用全局变量可以用来制作类似记录通关次数或者进入二周目这样的功能 =end $m5script ||= {};$m5script[:M5GV20140811] = 20151106 $m5script[:ScriptData] ||= {} module M5GV20140811 #============================================================================== # 设定部分 #============================================================================== VAR = [1] # 在这里设置需要储存的全局变量ID FILENAME = "Gold.rvdata2" # 在这里设置储存全局变量的文件名 AUTO = true # 设置为 true 的话,变量的值发生改变时自动保存全局变量 LOAD = true # 设置为 true 的话,开始新游戏或者读取存档时,自动读取保存的全局变量 #============================================================================== # 设定结束 #============================================================================== class << self def load $m5script[:ScriptData][:M5GV20140811] = (load_data(FILENAME) rescue [nil, {}]) end def save; save_data($m5script[:ScriptData][:M5GV20140811], FILENAME); end def load_var var = $m5script[:ScriptData][:M5GV20140811][0] return unless var var.each_with_index{|v,i| $game_variables.m5_20140811_set(VAR[i], v)} end def current_var var = [] VAR.each {|index| var << $game_variables[index] } return var end def save_var $m5script[:ScriptData][:M5GV20140811][0] = current_var save end def get_ext; $m5script[:ScriptData][:M5GV20140811][1]; end def save_ext; save; end def set_ext(key, value) get_ext[key] = value save end end # class << self end class Game_Variables alias m5_20140811_set []= def []=(variable_id, value) m5_20140811_set(variable_id, value) return unless M5GV20140811::AUTO M5GV20140811.save_var if M5GV20140811::VAR.include?(variable_id) end end class << DataManager alias m5_20150320_load_game load_game def load_game(index) result = m5_20150320_load_game(index) return result unless result && M5GV20140811::LOAD M5GV20140811.load_var result end alias m5_20150320_create_game_objects create_game_objects def create_game_objects m5_20150320_create_game_objects return unless M5GV20140811::LOAD M5GV20140811.load_var end end class Game_Interpreter def save_var; M5GV20140811.save_var; end def load_var; M5GV20140811.load_var; end end #================================================== class Game_Party attr_accessor :gold end class << DataManager alias gold_setup_new_game setup_new_game def setup_new_game gold_setup_new_game $game_party.gold = $game_variables[M5GV20140811::VAR[0]] end alias gold_save_game save_game def save_game(index) $game_variables[M5GV20140811::VAR[0]] = $game_party.gold gold_save_game(index) end end class Scene_Load < Scene_File alias gold_on_load_success on_load_success def on_load_success gold_on_load_success $game_party.gold = $game_variables[M5GV20140811::VAR[0]] end end #================================================== M5GV20140811.load
alexncf125 发表于 2020-10-10 18:15
如果存档A有500G
那么, 开始新游戏时,
新游戏会有0G还是500G??
foot1982 发表于 2020-10-10 22:46
就是大家共用一个金钱啊
比方说,我存档A有500G,那我新建一个存档B也会有500G,然后这个存档B赚了100G有 ...
=begin ================================================================================ 全局变量 By 喵呜喵5 ================================================================================ 【说明】 在事件中使用脚本命令 save_var 可以把设置好的变量单独储存到一个新文件中 在事件中使用脚本命令 load_var 可以在其他地方 (例如其他存档、或者开始新游戏时……)载入保存了的变量的值 使用全局变量可以用来制作类似记录通关次数或者进入二周目这样的功能 =end $m5script ||= {};$m5script[:M5GV20140811] = 20151106 $m5script[:ScriptData] ||= {} module M5GV20140811 #============================================================================== # 设定部分 #============================================================================== VAR = [1] # 在这里设置需要储存的全局变量ID FILENAME = "Gold.rvdata2" # 在这里设置储存全局变量的文件名 AUTO = true # 设置为 true 的话,变量的值发生改变时自动保存全局变量 LOAD = true # 设置为 true 的话,开始新游戏或者读取存档时,自动读取保存的全局变量 #============================================================================== # 设定结束 #============================================================================== class << self def load $m5script[:ScriptData][:M5GV20140811] = (load_data(FILENAME) rescue [nil, {}]) end def save; save_data($m5script[:ScriptData][:M5GV20140811], FILENAME); end def load_var var = $m5script[:ScriptData][:M5GV20140811][0] return unless var var.each_with_index{|v,i| $game_variables.m5_20140811_set(VAR[i], v)} end def current_var var = [] VAR.each {|index| var << $game_variables[index] } return var end def save_var $m5script[:ScriptData][:M5GV20140811][0] = current_var save end def get_ext; $m5script[:ScriptData][:M5GV20140811][1]; end def save_ext; save; end def set_ext(key, value) get_ext[key] = value save end end # class << self end class Game_Variables alias m5_20140811_set []= def []=(variable_id, value) m5_20140811_set(variable_id, value) return unless M5GV20140811::AUTO M5GV20140811.save_var if M5GV20140811::VAR.include?(variable_id) end end class << DataManager alias m5_20150320_load_game load_game def load_game(index) result = m5_20150320_load_game(index) return result unless result && M5GV20140811::LOAD M5GV20140811.load_var result end alias m5_20150320_create_game_objects create_game_objects def create_game_objects m5_20150320_create_game_objects return unless M5GV20140811::LOAD M5GV20140811.load_var end end class Game_Interpreter def save_var; M5GV20140811.save_var; end def load_var; M5GV20140811.load_var; end end #================================================== class << DataManager alias gold_setup_new_game setup_new_game def setup_new_game gold_setup_new_game $game_party.gold = $game_variables[M5GV20140811::VAR[0]] end end class Game_Party attr_accessor :gold end class Scene_Base alias gold_update update def update if $game_variables[M5GV20140811::VAR[0]] != $game_party.gold $game_variables[M5GV20140811::VAR[0]] = $game_party.gold end gold_update end end class Scene_Load < Scene_File alias gold_on_load_success on_load_success def on_load_success gold_on_load_success $game_party.gold = $game_variables[M5GV20140811::VAR[0]] end end #================================================== M5GV20140811.load
alexncf125 发表于 2020-10-10 23:50
所以你这整段回复都没提及" 有存档A时, 在标题画面按下开始新游戏 "的情形
另外, 你说的是不是金钱一有 ...
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |