古树旋律 发表于 2022-12-21 00:08:39

【js在MV/MZ中的华丽操作】读写外置文件

因为MV和MZ是基于javascript来制作工程的,而javascript的核心是node.js,因此node.js的内置函数同样适用于MV和MZ。

使用事件脚本如下,即可在Save文件夹生成一个“文件名字”的txt,并且里面的内容为"写进去的内容"。
StorageManager.fsWriteFile(StorageManager.fileDirectoryPath()+'文件名字.txt','写进去的内容');



其中StorageManager.fileDirectoryPath()是RM构造好的函数,直接索引到游目录。StorageManager.fsWriteFile()是Node构造的写入函数,想创造后缀名是啥的文件都行。

进阶一下,引入变量也是可行的。代码比较长,但很好认。
StorageManager.fsWriteFile(StorageManager.fileDirectoryPath()+ $gameVariables.value(10)+'.txt',$gameVariables.value(10)+'finish');

再说另一部分,判定。var fs = require("fs");fs.existsSync();这一部分是node.js的内置函数。以下是判断“变量10.txt”是否存在。
var fs = require("fs");fs.existsSync(StorageManager.fileDirectoryPath()+ $gameVariables.value(10) + '.txt');
把这串代码整个放入到事件中的分歧条件中的脚本判断,或者动手能力强,直接写if(){   },都是可行的。

《缝合尖塔》的种子码就是通过这种方式判断的。游戏结算时会生成种子码相应的文件,待玩家使用该存档的种子码通关并领取奖励后,再次读取该存档时,即使再次通关也无法领取奖励,这样可以防止在通关前存档,然后反复读档刷继承了。



三姐 发表于 2022-12-21 07:40:26

厉害这是高端操作啊
页: [1]
查看完整版本: 【js在MV/MZ中的华丽操作】读写外置文件