加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 timiesea 于 2014-2-8 00:17 编辑
这个该怎么说呢,只是一种思路,无论是XP,VX,还是ACE都可以用得到。
基于人性化的考虑,几乎所有的RPG游戏在BOSS战前都会提示玩家是否保存当前进度。一来是留给玩家一定的回旋的余地,二来也是让玩家谨慎对待接下来的战斗。
ACE本身并没有提供这么一个功能,但是我们可以创造。
具体的效果如下:
BOSS战前:
注:当玩家选择是后将会出现保存界面,此时如果玩家离开这个界面,无论是否保存都视为保存。
我的思路是这样的:建立一个全局开关来控制是否进行BOSS战,如果打开则进行BOSS战,如果关闭则不进行BOSS战。玩家在保存后把开关打开,然后开始打BOSS。当玩家读取时,在正式开始游戏前将开关关闭,则玩家不会立刻打BOSS。也可以换一个方式,在存档时,把开关设置成关闭然后存档,此时的存档中开关为关闭状态,但是游戏中开关仍然是打开着的,我们只是修改了存档的内容而已。(这个就不必深究了,不在本文的讨论范围内。)本例中采取的是第二种方法,即修改存档。
一、在地图上选择BOSS战的地点并且新建一个事件。(图略)
二、在事件页中添加如下的内容:
注:
1.在本例中,控制是否BOSS的开关为第5号开关。
2.更改战斗背景音乐使其场景听起来很紧张,更像是在与BOSS进行激烈对抗。
3.在BOSS战后,无论胜负一定要记得将战斗背景音乐调整回原本的音乐。
4.你的游戏如果设置BOSS战是可以失败的,那么在进行战斗处理时要勾选:“全灭后继续剧情”。
5.BOSS战不可撤退,这点毋庸置疑。
6.关于本例中的显示文字部分请各自按游戏实际的情况加以修改。本例的此部分只是起提示作用。
三、关于“全灭后继续剧情”的处理。本例中的处理方式如下:
四、脚本。只要修改一处就可以了。地方在:module DataManager->self.extract_save_contents在这个方法里加上一行:$game_switches[5] = false
最后,为了方便大家。记得在main前面加入一个新的脚本,然后将以下脚本复制进去:
module DataManager #-------------------------------------------------------------------------- # ● 展开存档内容 #-------------------------------------------------------------------------- def self.extract_save_contents(contents) $game_system = contents[:system] $game_timer = contents[:timer] $game_message = contents[:message] $game_switches = contents[:switches] $game_variables = contents[:variables] $game_self_switches = contents[:self_switches] $game_actors = contents[:actors] $game_party = contents[:party] $game_troop = contents[:troop] $game_map = contents[:map] $game_player = contents[:player] $data_weapons = contents[:weapons] $data_armors = contents[:armors] $game_switches[5] = false end end
module DataManager
#--------------------------------------------------------------------------
# ● 展开存档内容
#--------------------------------------------------------------------------
def self.extract_save_contents(contents)
$game_system = contents[:system]
$game_timer = contents[:timer]
$game_message = contents[:message]
$game_switches = contents[:switches]
$game_variables = contents[:variables]
$game_self_switches = contents[:self_switches]
$game_actors = contents[:actors]
$game_party = contents[:party]
$game_troop = contents[:troop]
$game_map = contents[:map]
$game_player = contents[:player]
$data_weapons = contents[:weapons]
$data_armors = contents[:armors]
$game_switches[5] = false
end
end
注:这段脚本只在RMVA测试通过,至于RMXP或者RMVX,并不保证脚本的可行性。
只是提供一个思路,或许会有更好的选择吧! |