以下引用懒人于2008-5-22 22:48:59的发言:
以下引用Infrared于2008-5-23 17:09:51的发言:
game_variables腳本你刪了?
以下引用禾西于2008-5-22 23:22:13的发言:
好像可以用 Marshal.load( ) 函數
#==============================================================================
# ■ Scene_Save
#------------------------------------------------------------------------------
# 处理存档画面的类。
#==============================================================================
class Scene_Save < Scene_File
#--------------------------------------------------------------------------
# ● 写入存档数据
# file : 写入用文件对像 (已经打开)
#--------------------------------------------------------------------------
def write_save_data(file)
# 生成描绘存档文件用的角色图形
characters = []
for i in 0...$game_party.actors.size
actor = $game_party.actors
characters.push([actor.character_name, actor.character_hue])
end
# 写入描绘存档文件用的角色数据
Marshal.dump(characters, file)
# 写入测量游戏时间用画面计数
Marshal.dump(Graphics.frame_count, file)
# 增加 1 次存档次数
$game_system.save_count += 1
# 保存魔法编号
# (将编辑器保存的值以随机值替换)
$game_system.magic_number = $data_system.magic_number
# 写入各种游戏对像
Marshal.dump($game_system, file)
Marshal.dump($game_switches, file)
Marshal.dump($game_variables, file)
Marshal.dump($game_self_switches, file)
Marshal.dump($game_screen, file)
Marshal.dump($game_actors, file)
Marshal.dump($game_party, file)
Marshal.dump($game_troop, file)
Marshal.dump($game_map, file)
Marshal.dump($game_player, file)
# ----------------------------------
Marshal.dump($data_weapons, file)
Marshal.dump($data_armors, file)
Marshal.dump($data_classes, file)
# ----------------------------------
end
end
#==============================================================================
# ■ Scene_Load
#------------------------------------------------------------------------------
# 处理读档画面的类。
#==============================================================================
class Scene_Load < Scene_File
#--------------------------------------------------------------------------
# ● 读取存档数据
# file : 读取用文件对像 (已经打开)
#--------------------------------------------------------------------------
def read_save_data(file)
# 读取描绘存档文件用的角色数据
characters = Marshal.load(file)
# 读取测量游戏时间用画面计数
Graphics.frame_count = Marshal.load(file)
# 读取各种游戏对像
$game_system = Marshal.load(file)
$game_switches = Marshal.load(file)
$game_variables = Marshal.load(file)
$game_self_switches = Marshal.load(file)
$game_screen = Marshal.load(file)
$game_actors = Marshal.load(file)
$game_party = Marshal.load(file)
$game_troop = Marshal.load(file)
$game_map = Marshal.load(file)
$game_player = Marshal.load(file)
# ----------------------------------
$data_weapons = Marshal.load(file)
$data_armors = Marshal.load(file)
$data_classes = Marshal.load(file)
# ----------------------------------
# 魔法编号与保存时有差异的情况下
# (加入编辑器的编辑过的数据)
if $game_system.magic_number != $data_system.magic_number
# 重新装载地图
$game_map.setup($game_map.map_id)
$game_player.center($game_player.x, $game_player.y)
end
# 刷新同伴成员
$game_party.refresh
end
end
class Game_Party
attr_reader :pets_got # 是否擁有寵物
attr_reader :pets_met # 是否見過寵物
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
alias old_method_initialize initialize
def initialize
old_method_initialize
@pets_got = []
@pets_met = []
end
#--------------------------------------------------------------------------
# ● 加入寵物
# actor_id : 寵物 ID
#--------------------------------------------------------------------------
def got_pet(actor_id)
@pets_got =@pets_got|[actor_id]
end
#--------------------------------------------------------------------------
# ● 見過寵物
# actor_id : 寵物 ID
#--------------------------------------------------------------------------
def met_pet(actor_id)
@pets_met =@pets_met|[actor_id]
end
#--------------------------------------------------------------------------
# ● 加入同伴
# actor_id : 角色 ID
#--------------------------------------------------------------------------
def add_actor(actor_id)
# 获取角色
actor = $game_actors[actor_id]
# 同伴人数未满 5 人、本角色不在队伍中的情况下
if @actors.size < 5 and not @actors.include?(actor)
#-------------------------#
# 得到寵物 #
got_pet(actor_id) #
#-------------------------#
# 添加角色
if actor.id == $game_actors[387].id
@actors.insert(0,actor)
else
@actors.push(actor)
end
# 还原主角
$game_player.refresh
end
end
end
以下引用Stifling于2008-5-24 19:24:22的发言:
问一下,lz这个要来做什么功能,一定要在一开始运行Game.exe时生成?
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |