Project1

标题: 自定义信息储存〓可用于游戏周目制作〓 [打印本页]

作者: 芯☆淡茹水    时间: 2017-11-29 21:16
标题: 自定义信息储存〓可用于游戏周目制作〓
本帖最后由 芯☆淡茹水 于 2017-12-1 18:59 编辑

     非常简单的一个功能,自己定义需要永久储存的信息。

     何谓简单,就是写的说明都比脚本正文来得长(见下面脚本)。

    使用这个插件储存数据后,会在 save 文件夹里生成一个 fileweek.rpgsave 的文件,只要不是人为删除,
    所储存的数据会永久保留。





    使用范例截图

  储存数值的事件



  储字符串的事件




  把储存的值代入游戏变量的事件




  未运行储存事件的显示结果
  

  运行储存数值的事件显示结果
  

  运行储存字符串事件的显示结果
  


  脚本以及说明
JAVASCRIPT 代码复制
  1. //==================================================================================================================
  2. /*:
  3.  * @plugindesc 自定义信息储存 。
  4.  *
  5.  * @author 芯☆淡茹水
  6.  *
  7.  * @help
  8.  * ※该插件不提供插件命令,以下全为脚本运行※
  9.  * 〓 使用方法 〓
  10.  * 1,XdRsData.week.saveWeek(key, val)
  11.  *    储存一个以 key 为标识的变量,key 必须用引号(''或"")括上。
  12.  *    val 是其储存的数值。(val 可以是数字,字符串,,,)
  13.  *    例:事件->脚本:XdRsData.week.saveWeek('周目数', 2)
  14.  *    注意:如果相同的 key 标识前面有储存,后面再储存会覆盖掉前面的。所读取的值就是后储存的值。
  15.  *
  16.  * 2,XdRsData.week.val(key)
  17.  *    读取以 key 为标识的所储存的值。同上,key 用引号(''或"")括上。
  18.  *    如果未储存对应的值,读取的值  => null
  19.  *    例:如果上面 方法1 储存了,那么 XdRsData.week.val('周目数')   读取的值 => 2
  20.  *
  21.  * 3,XdRsData.week.deleteKey(key)
  22.  *    删除以 key 为标识的变量。
  23.  *
  24.  * 〓 用法示例 〓
  25.  * 1,读取储存的值代入游戏变量:事件 -> 变量 = 脚本:XdRsData.week.val('示例')
  26.  * 2,条件判断:事件 -> 条件 -> 脚本:XdRsData.week.val('示例') > 2
  27.  * 3,储存字符串:事件 -> 脚本:XdRsData.week.saveWeek('字符串', '这是测试')
  28.  * 4,读取字符串:事件 -> 脚本:XdRsData.week.val('字符串')    => '这是测试'
  29. */
  30. //==================================================================================================================
  31. ;var XdRsData = XdRsData || {};
  32. XdRsData.week = XdRsData.week || {};
  33. XdRsData.week.loadWeekData = function() {
  34.     var json;
  35.     try {json = StorageManager.load('week');}
  36.     catch (e) {console.error(e);return null;}
  37.     return !!json ? JSON.parse(json) : null;
  38. };
  39. XdRsData.week.saveWeek = function(key, val) {
  40.     var data = !!this.loadWeekData() ? this.loadWeekData() : {};
  41.     data[key] = val;
  42.     StorageManager.save('week', JSON.stringify(data));
  43. };
  44. XdRsData.week.deleteKey = function(key) {
  45.     if (!this.loadWeekData()) return;
  46.     var data = this.loadWeekData();
  47.     delete data[key];
  48.     StorageManager.save('week', JSON.stringify(data));
  49. };
  50. XdRsData.week.val = function(key) {
  51.     var data = this.loadWeekData();
  52.     return (!data || data[key] === undefined) ? null : data[key];
  53. };
  54. //==================================================================================================================




插件压缩包
自定义信息储存.rar (1.05 KB, 下载次数: 151, 售价: 1 星屑)


作者: yang1zhi    时间: 2017-11-29 21:43
好东西,先马克一下
作者: 幻の飞鱼    时间: 2017-11-30 17:40
很棒的东西,顺便问下读写TXT怎么弄,用JS的读写法好像RPGMV行不通啊
作者: 灰白君    时间: 2017-12-1 01:03
这个就是自动存档吗?大佬,求解释一下,我!想实现在手机的功能上!

作者: 幻の飞鱼    时间: 2017-12-1 16:34
TXT的读用XMLHttpRequest 实现了

LZ这个脚本在存数字 0 的时候好像有奇怪的问题
存进去的是0 读出来一直是null
其他数字都OK
作者: 易种子    时间: 2019-12-30 15:06
好东西,顶顶顶顶
作者: 2441855327    时间: 2021-3-21 19:53
感谢分享
作者: 玛夏多想超进化    时间: 2021-4-12 20:38
这个支持手机咩?
作者: YuiKura    时间: 2021-5-2 15:47
感谢大佬分享

作者: 小篸    时间: 2021-5-4 15:34
感谢大佬分享




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1