Ver 1.1 2016-1-28 更新插件化的此功能,避免修改系统脚本(或其他插件脚本),冲突可能较低
系统默认的暗雷战斗:可以逃,不能败,打了白打(不会触发任何剧情事件)
但只要修改3行脚本,就可以自行控制其处理方式
具体如下:
在Scene_Map,默认脚本的115-117行,可以找到这几句(如果是其他脚本,自己搜索,一般地图增强类脚本并不会动这个地方)
RUBY 代码
- $game_temp.battle_can_escape = true
- $game_temp.battle_can_lose = false
- $game_temp.battle_proc = nil
复制代码
你把它改成下面这样子
RUBY 代码
- $game_temp.battle_can_escape = (not$game_switches[1])
- $game_temp.battle_can_lose = $game_switches[2]
- $game_temp.battle_proc = Proc.new{|n| $game_switches[3 + n] = true}
复制代码
开关编号的1、2、3可以自己改。1的名字叫“禁止逃跑”,2的名字叫“可以失败”,而3-5的名字叫“胜利”“逃跑”和“失败”(
这三个开关要连在一起,顺序不能错乱)
这样当游戏初始化时,开关1和2都为OFF,符合默认的暗雷战斗设定。
当剧情需要允许失败或可以逃跑时,打开1号或2号开关即可。
然后设置公共事件:需要3个,分别处理胜、败、逃的情况
以胜利为例:
目标:自动执行,开关:[0003:胜利]
内容为你需要在胜利后执行的东西,如某剧情中积累杀敌数啦,积累战斗胜场啦,获得额外的奖励啦等等。
在事件的最后
十分重要的是,一定要将3号开关
关掉!!!
关掉!!!
关掉!!!重要的事情说三遍!!!
如果你没啥要执行的东西,就直接关掉3号开关。
自然
逃跑的设置就是 目标:自动执行,开关:[0004:逃跑] 执行一堆东西后关掉4号开关,如果逃了白跑那就直接关开关
失败的设置就是 目标:自动执行,开关:[0005:失败] 执行一堆东西后关掉5号开关,如果败了然并卵那就直接关开关
范例在下面:
更新:暗雷战斗处理的插件化版本,插入到Main之前即可运行,修改的是很少有插件会去动的call_battle且用了alias,冲突可能极低
点击查看插件代码
相应的范例工程:
本帖来自P1论坛作者玮哥投胎了,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:
https://rpg.blue/forum.php?mod=viewthread&tid=388766 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。