Code: class Game_Variables GLOBAL_FILE = "./data/globals.rxdata" GLOBAL = (65..75) alias get_value [] alias set_value []= def [](arg) if GLOBAL === arg then globals[arg - GLOBAL.begin] else get_value(arg) end end def []=(arg, value) if GLOBAL === arg then globals[arg - GLOBAL.begin] = value save_globals value else set_value(arg, value) end end def globals @globals ||= begin File.open(GLOBAL_FILE, "r+") {|f| Marshal.load(f)} rescue Errno::ENOENT Array.new(GLOBAL.end - GLOBAL.begin + 1, 0) end end def save_globals save_data(globals, GLOBAL_FILE) end end
class Game_Variables GLOBAL_FILE = "./data/globals.rxdata" GLOBAL = (65..75) alias get_value [] alias set_value []= def [](arg) if GLOBAL === arg then globals[arg - GLOBAL.begin] else get_value(arg) end end def []=(arg, value) if GLOBAL === arg then globals[arg - GLOBAL.begin] = value save_globals value else set_value(arg, value) end end def globals @globals ||= begin File.open(GLOBAL_FILE, "r+") {|f| Marshal.load(f)} rescue Errno::ENOENT Array.new(GLOBAL.end - GLOBAL.begin + 1, 0) end end def save_globals save_data(globals, GLOBAL_FILE) end end
--Ruby/RGSS-Kurs
Geändert von -KD- (13.07.2008 um 18:30 Uhr)
Foren-Regeln