查看: 9840|回复: 13

[原创发布] 自定义信息储存〓可用于游戏周目制作〓

[复制链接]
梦石
0
星屑
34462
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2017-11-29 21:16:14 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 芯☆淡茹水 于 2017-12-1 18:59 编辑

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

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

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




    使用范例截图

  储存数值的事件
3.PNG


  储字符串的事件
4.PNG



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



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

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

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


  脚本以及说明
[pre lang="javascript"]//==================================================================================================================
/*:
* @plugindesc 自定义信息储存 。
*
* @author 芯☆淡茹水
*
* @help
* ※该插件不提供插件命令,以下全为脚本运行※
* 〓 使用方法 〓
* 1,XdRsData.week.saveWeek(key, val)
*    储存一个以 key 为标识的变量,key 必须用引号(''或"")括上。
*    val 是其储存的数值。(val 可以是数字,字符串,,,)
*    例:事件->脚本:XdRsData.week.saveWeek('周目数', 2)
*    注意:如果相同的 key 标识前面有储存,后面再储存会覆盖掉前面的。所读取的值就是后储存的值。
*
* 2,XdRsData.week.val(key)
*    读取以 key 为标识的所储存的值。同上,key 用引号(''或"")括上。
*    如果未储存对应的值,读取的值  => null
*    例:如果上面 方法1 储存了,那么 XdRsData.week.val('周目数')   读取的值 => 2
*
* 3,XdRsData.week.deleteKey(key)
*    删除以 key 为标识的变量。
*
* 〓 用法示例 〓
* 1,读取储存的值代入游戏变量:事件 -> 变量 = 脚本:XdRsData.week.val('示例')
* 2,条件判断:事件 -> 条件 -> 脚本:XdRsData.week.val('示例') > 2
* 3,储存字符串:事件 -> 脚本:XdRsData.week.saveWeek('字符串', '这是测试')
* 4,读取字符串:事件 -> 脚本:XdRsData.week.val('字符串')    => '这是测试'
*/
//==================================================================================================================
;var XdRsData = XdRsData || {};
XdRsData.week = XdRsData.week || {};
XdRsData.week.loadWeekData = function() {
    var json;
    try {json = StorageManager.load('week');}
    catch (e) {console.error(e);return null;}
    return !!json ? JSON.parse(json) : null;
};
XdRsData.week.saveWeek = function(key, val) {
    var data = !!this.loadWeekData() ? this.loadWeekData() : {};
    data[key] = val;
    StorageManager.save('week', JSON.stringify(data));
};
XdRsData.week.deleteKey = function(key) {
    if (!this.loadWeekData()) return;
    var data = this.loadWeekData();
    delete data[key];
    StorageManager.save('week', JSON.stringify(data));
};
XdRsData.week.val = function(key) {
    var data = this.loadWeekData();
    return (!data || data[key] === undefined) ? null : data[key];
};
//==================================================================================================================[/pre]



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

评分

参与人数 5赞 +5 收起 理由
白嫩白嫩的 + 1 精品文章
caffee.bee + 1 塞糖
mr24970985 + 1 塞糖
Peekaboo + 1 塞糖
幻の飞鱼 + 1 塞糖

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2017-11-29 21:43:45 | 显示全部楼层
好东西,先马克一下
回复

使用道具 举报

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
回帖
1019
发表于 2017-11-30 17:40:53 | 显示全部楼层
很棒的东西,顺便问下读写TXT怎么弄,用JS的读写法好像RPGMV行不通啊

点评

能写json了,你把txt内容存到字符串就是了,何必纠结一定要存成txt格式呢。  发表于 2017-11-30 19:58
MV 不支持 ActiveXObject ,你可以试试 XMLHttpRequest ;在网上可以找到详细用法。好像 DataManager 读取文件也是用这个  发表于 2017-11-30 19:31
回复

使用道具 举报

梦石
0
星屑
468
在线时间
59 小时
注册时间
2017-6-13
回帖
99
发表于 2017-12-1 01:03:09 | 显示全部楼层
这个就是自动存档吗?大佬,求解释一下,我!想实现在手机的功能上!

点评

應該不支援手雞吧  发表于 2021-3-21 20:07
回复

使用道具 举报

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
回帖
1019
发表于 2017-12-1 16:34:01 | 显示全部楼层
TXT的读用XMLHttpRequest 实现了

LZ这个脚本在存数字 0 的时候好像有奇怪的问题
存进去的是0 读出来一直是null
其他数字都OK

点评

emmmm,忘了这茬,0也可以做否定判断。已修改。  发表于 2017-12-1 19:00
回复

使用道具 举报

梦石
0
星屑
10
在线时间
0 小时
注册时间
2019-12-30
回帖
2
发表于 2019-12-30 15:06:22 | 显示全部楼层
好东西,顶顶顶顶
回复

使用道具 举报

梦石
0
星屑
31
在线时间
2 小时
注册时间
2021-3-20
回帖
1
发表于 2021-3-21 19:53:35 | 显示全部楼层
感谢分享
回复

使用道具 举报

梦石
0
星屑
115
在线时间
49 小时
注册时间
2021-3-1
回帖
11
发表于 2021-4-12 20:38:42 | 显示全部楼层
这个支持手机咩?
回复

使用道具 举报

梦石
0
星屑
2
在线时间
1 小时
注册时间
2021-5-1
回帖
13
发表于 2021-5-2 15:47:43 | 显示全部楼层
感谢大佬分享
回复

使用道具 举报

梦石
0
星屑
44
在线时间
7 小时
注册时间
2021-3-6
回帖
29
发表于 2021-5-4 15:34:42 | 显示全部楼层
感谢大佬分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部