在论坛上,看过有很多人问:如何游戏打过一章节,显示的标题换面不同,而且不受关闭,开启游戏的影响;如何每翻版一次显示不同的标题画面;如何像仙剑那样,看过的动画就保存在那儿,
即使关闭游戏再打开,还是那些动画,,,,,等。
于是本人想到一个像储存数据库数据一样储存一个变量的值,储存在 Data 文件夹下,该储存的值就是最后一次储存时的数值,不会受关闭,开启游戏,以及是否开始新游戏的影响。然后打开游戏时,首先赋予该变量储存的值,用该变量的值来条件分歧,以达到自己想要的效果。
首先说大概思路:
RM读取数据方法:load_data("Data/文件名.rxdata")
储存数据方法:save_data(储存对象, "Data/文件名.rxdata")
以上面仙剑播放动画的问题为例,比如储存在 Data 文件夹下的加密文件名为“XXX”。
当游戏剧情进行到播放第一个动画时,播放完后改变变量的值并储存变量(比如变量1)
事件:变量[1] += 1
脚本:save_data($game_variables[1], "Data/XXX.rxdata")
以此类推,播放第二个动画后,变量1再加1,然后储存;播放第三个动画后,变量1再加1,然后储存,,,,,。
然后是读取,在标题场景,载入数据库后,随意设置一个变量比如:$game_xxx(由于没有生成游戏对象,不能直接指定某个变量)
读取储存的数据:$game_xxx = load_data("Data/XXX.rxdata")
然后在动画欣赏场景里,就可以用这个$game_xxx的值,来判断可以欣赏到哪些动画。
最后,在标题场景--新游戏--生成各种游戏对像 后面
把变量1赋予储存的值:$game_variables[1] = $game_xxx
制作方法:
1.储存变量值的RM加密文件
由于本人不会生成新的加密文件,只能使用笨办法
首先把工程 Data 文件夹下任意一个加密文件复制出来,更名,然后用记事本打开,把里面的内容清空,再复制到工程的 Data 文件夹下。
复制:
新的加密文件:
2.建立一事件,指定一个变量,改变其值,储存到新建的加密文件里。
事件储存变量的脚本:save_data($game_variables[1], "Data/XXX.rxdata")
事件:
对话储存:
储存后的加密文件:
3.读取储存的变量值
在Scene_Title 载入数据库 后面读取,写入:$game_xxx = load_data("Data/XXX.rxdata")
4.赋予游戏变量储存的值
在Scene_Title — 命令 : 新游戏 — 生成各种游戏对像
下面写入:$game_variables[1] = $game_xxx
打开游戏检查变量值是否储存
再增加变量值,再储存,关掉游戏再开始新游戏,看效果
以上就是这个制作永久储存变量值的步骤,可能有很多人看不懂。
下面有刚刚示范的工程下载地址,给有需要拿去研究或使用的同学。
可能有人会问,这个永久储存的变量有是什么用?
比如开始说到的那些问题,游戏每打过一章节,就改变指定变量的值,储存。然后每次打开游戏时,用该变量的值来判断显示标题图片,也就是说,随着游戏打过的章节不同,显示的标题画面也不同。
再比如:设置每次翻版后改变指定变量的值,储存。然后用该变量的值设置重新开始新游戏的难度,
(翻版次数越多,重新开始的新游戏难度越大)
或者是,设置一些隐藏剧情或人物,需要翻版几次才能够解开。又或者是,设置一个礼品发放NPC,翻版次数越多,发放的礼品越贵重,,,,,等。
只有想不到,没有做不到。
以上只是用XP举例,大家可用VX,VA试试
工程下载:
本帖来自P1论坛作者芯☆淡茹水,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:
https://rpg.blue/forum.php?mod=viewthread&tid=285918 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。