Project1
标题: RMMZ网络插件,云数据,云变量开关,过图检测,弹幕,云存档 [打印本页]
作者: walf_man 时间: 2020-11-10 00:36
标题: RMMZ网络插件,云数据,云变量开关,过图检测,弹幕,云存档
本帖最后由 walf_man 于 2020-11-12 20:36 编辑
兄弟帖:RPG Maker MV 版本的网络核心插件,RMMV网络插件
RMMZ网络插件功能组合包,基于jquery和ajax与服务器交互,具有如下功能:
云数据,游戏内捐献,云变量开关,弹幕,战力榜,云存档,登录,注册,排名,兑换码,版本检测、云端多国语言、云端真实时间、云端变量和开关、公告
动态下发开关变量、捐献历史、开新档、选集等
此RMMZ网络插件基于RMMV网络插件升级而来,在其基础上又增加了:
过图检测,
游戏素材和数据高强度加密功能,
激活功能(在线激活和离线激活,在线激活绑定设备,离线激活根据机器码生成激活码),
材质/图片清晰度动态切换功能,
debug功能(可供别的插件调用,方便切换开发模式和发布模式,开发模式可以输出debug调试信息,发布模式可以关闭debug输出从而提升运行效率,可自定义打印debug日志的详细级别:verbose,debug,info,warning, error),
以及其它大大小小的数十项功能,主要是我自己在用,以及几位作者在用,大部分作者应该是用不到的,
我就不一一列举了。
另外,需要说明的是,插件之前叫AXY_AjaxNetStuff.js,意思是用ajax来处理一些网络相关的东西,
之后,改名为AXY_Network.js,主要用于处理网络各项功能的插件,
再之后,由于很多我写的其它插件都需要从这个插件中获取一些基础的功能和方法,本来想提取一下单独做个核心插件
但是奈何插件一路写来,1万多行,乱七八糟的,想从中提取散落在代码各处的功能和方法还真是不容易,
无奈之下只好直接将其作为核心插件了,因此目前改名为AXY_Core.js,
同时由于代码结构不够清晰,可读性差,
也不好意思再在各位专业级程序员大神面前班门弄斧的献丑,
再一个就是为了追随偶像yep的脚步,所以就简单的混淆了下,
毕竟我的插件写法,格式,很多都是参考yep大神的插件来的,比如开头那个
var Imported = Imported || {};
Imported.AXY_Core = true;
var AXY = AXY || {};
AXY.Core = AXY.Core || {};
var Imported = Imported || {};
Imported.AXY_Core = true;
var AXY = AXY || {};
AXY.Core = AXY.Core || {};
还有别名那个
AXY.Core.Alias.Window_Options_addVolumeOptions = Window_Options.prototype.addVolumeOptions;
Window_Options.prototype.addVolumeOptions = function () {
AXY.Core.Alias.Window_Options_addVolumeOptions.call(this);
};
AXY.Core.Alias.Window_Options_addVolumeOptions = Window_Options.prototype.addVolumeOptions;
Window_Options.prototype.addVolumeOptions = function () {
AXY.Core.Alias.Window_Options_addVolumeOptions.call(this);
};
等等等太多啦,可以说如果没有参考yep大佬的插件源码的话,根本也就写不出我这些现有的插件了。
使用起来是完全没什么影响的,都是通过插件参数来调整各项数值的。
插件安装:
之前的安装部署很繁琐,现在通过我彻夜的掉头发砸键盘搞出来的新方法,就很简单了
插件管理器选择AXY_Core.js,安装,设置为on,然后设定各项参数即可
如果懒得去设置,那就保持默认参数就很好了,当然还可以从范例里面去复制啦
范例几十兆,要分卷的话,很多同学可能会搞不定了,这个之前我发AXY_gif.js插件的时候就已经有了前车之鉴
因此下范例的话加群下吧,基本rmmv的群也好,rmmz的群也好,我应该是每次都会群发几十个群的
注意:
本插件与以下两个插件互相依赖:
核心插件中,以及后续系列插件中所有信息提示都要用到的,toast插件,当然这个插件也可以作为物品得失提示,等级经验等得失提示,可以自定义各种参数自定义信息提示的模板,如果大家有了自己的物品得失提示插件,可以把这个插件里面的物品得失功能关闭(我分开的,可以单独关,比如关掉金币提示,关掉道具提示,但是保留升级降级的提示都是完全可以自定义的,很灵活很强大)
网络插件中的弹幕功能需要用到这个:RMMZ游戏界面任意位置显示任意文字任意字体的插件
这里要感谢群友晚风微凉热心寻找问题,部署后报错,我也没找到原因,结果还是晚风微凉找到的:“安装toast就好了”
ok,上插件了:
AXY_Core.7z
(162.18 KB, 下载次数: 1946)
再上一张图吧:
再来看看材质动态切换的神器:
第一张,选项中设置的默认素材,低分辨率的,在img/pictures下的图片
很模糊对吧
现在我们来在选项中切换到标清,中等分辨率,插件会自动重新加载在img/pictures-medium下的同名图片
怎么样,是不是清晰了一点,如果你还有高清分辨率,超高清分辨率的素材,统统都可以在插件参数里设置一下的
最关键是不需要重启游戏,也不需要重新进入游戏,随时打开选项设置一下,随时动态切换素材质量
这样,低配电脑或者手机玩家用低分辨率材质
高配玩家用超高清材质,岂不爽歪歪
如果想用依赖检测功能,也很方便了:
如图所示,如果发现依赖不足,则会在游戏中和F12控制台同时打印依赖提示
同时,游戏可以继续,只不过缺少依赖的那部分功能都不存在了而已
如果其它第三方插件也想用这个依赖检测的话,可以这么使用:
if (AXY.Core.isPluginImport("AXY_Toast", AXY.TitleSplashVideo.TAG)) {
isDependenceReady = true;
} else {
isDependenceReady = false;
}
//all Dependence Detection is ok
if (isDependenceReady) {
//你的插件的主体
//参数的处理
AXY.TitleSplashVideo.Parameters = PluginManager.parameters('AXY_TitleSplashVideo');
AXY.TitleSplashVideo.Param = AXY.TitleSplashVideo.Param || {};
AXY.TitleSplashVideo.Alias = AXY.TitleSplashVideo.Alias || {};
AXY.TitleSplashVideo.Variables = AXY.TitleSplashVideo.Variables || {};
//插件内部逻辑处理
}
if (AXY.Core.isPluginImport("AXY_Toast", AXY.TitleSplashVideo.TAG)) {
isDependenceReady = true;
} else {
isDependenceReady = false;
}
//all Dependence Detection is ok
if (isDependenceReady) {
//你的插件的主体
//参数的处理
AXY.TitleSplashVideo.Parameters = PluginManager.parameters('AXY_TitleSplashVideo');
AXY.TitleSplashVideo.Param = AXY.TitleSplashVideo.Param || {};
AXY.TitleSplashVideo.Alias = AXY.TitleSplashVideo.Alias || {};
AXY.TitleSplashVideo.Variables = AXY.TitleSplashVideo.Variables || {};
//插件内部逻辑处理
}
其中AXY.Core.isPluginImport("AXY_Toast", AXY.TitleSplashVideo.TAG)两个参数中的AXY.TitleSplashVideo.TAG你要在你的插件最前面类似这样定义一下:
var AXY = AXY || {};
AXY.TitleSplashVideo = AXY.TitleSplashVideo || {};
AXY.TitleSplashVideo.TAG = "AXY_TitleSplashVideo";
var AXY = AXY || {};
AXY.TitleSplashVideo = AXY.TitleSplashVideo || {};
AXY.TitleSplashVideo.TAG = "AXY_TitleSplashVideo";
这样打印日志的时候才知道这条依赖请求是从哪个插件发出的
另一个参数"AXY_Toast"就是当前插件所依赖的另一个插件的名称,那个插件里的最前面应该类似这样定义一下:
var Imported = Imported || {};
Imported.AXY_Toast = true;
var Imported = Imported || {};
Imported.AXY_Toast = true;
如果只要核心功能,不要网络功能,则可以将不需要的功能都关掉即可,大部分都是独立的参数结构体,小部分是单独的参数,看到enable这样类似的参数设置其为false/off即可
如下图所示,参数阵容强大,自由度超级高,可以说想怎样都行,只要有精力耐心细致的设置,你的游戏就和别人的游戏玩法大不同:
changelog
2.53 2020.11.09
新增: RMMZ 兼容: 注册, 登录, 云数据, 云存档, 过图检测, 材质清晰度动态切换, 兑换码, 游戏内购, 版本检测, 弹幕, 排行榜, 趣味考试系统,单机买断制,按月订阅制等;
新增: 大量参数结构体的默认值;
新增: rmmz 显示 pixijs sayhello;
增强: AXY.Core.Log;
调整: 移动弹幕按钮到按钮结构体参数的默认值;
调整: 移动 img/pictures 到 img/axy,更方便部署,所需图片单独放置,和别的就不容易搞混乱了;
作者: wr282828 时间: 2020-11-10 02:00
赞 大佬威武
作者: wxh811211 时间: 2020-11-10 08:32
支持大大。联机联机。
作者: zhaomengqi 时间: 2020-11-10 09:43
感谢大佬造福我等~!
作者: j296196585 时间: 2020-11-11 01:21
搬小板凳坐等范列
作者: play337 时间: 2020-11-12 07:53
雲數據,遊戲內捐獻,雲變量開關,彈幕,戰力榜,雲存檔,登錄,注冊,排名,兌換碼,版本檢測、雲端多國語言、雲端眞實時間、雲端變量和開關、公告
動態下發開關變量、捐獻曆史、開新檔、選集等
:這些功能我都不想要...我只要核心功能要怎麼設定呢?
因為其他 AXY的插件都需要 核心功能... 必須要裝 CORE
作者: walf_man 时间: 2020-11-12 11:59
本帖最后由 walf_man 于 2020-11-12 12:23 编辑
全部都关掉即可,大部分都是独立的参数结构体,小部分是单独的参数,你看到enable这样类似的参数设置其为false/off即可
edit:主楼已更新设置图例,可以参考下
作者: ShiKongMC 时间: 2020-11-12 14:46
太棒了,大佬提供的插件。
作者: walf_man 时间: 2020-11-12 20:37
2.56 2020.11.12
新增: 参数 ShowInTitle 可以用来在标题页面直接读取云存档;
新增: AXY.Core.GameFont; 全局定义字体,以后的插件中遇到要用字体的地方只管使用这个变量好了
修复: 一处导致crash的bug;
2.55 2020.11.11
修改: mainGameCanvas to AXY.Core.GameCanvas; 全局定义game canvas,以后的axy插件也好,第三方插件也好,都可以使用这个全局变量,从此mv与mz大一统时代到来!
2.54 2020.11.10
一大波更新,改动较多,就不一一翻译了吧
* modify: move offline toast to topbar notice;
* modify: param VerCheckAutoDismissTimeErr default value 3000;
* modify: if (isonline || 1), remove || 1 condition;
* modify: move map entry inside if(isonline) section;
* modify: replace click touchstart with click touchend;
作者: yuchunlong 时间: 2020-11-14 17:01
这简直太逆天了。。感谢带佬
作者: 7550547 时间: 2020-11-14 18:55
三个是插件都安装上了,提示缺少参数 -。-
作者: walf_man 时间: 2020-11-14 22:52
由于插件的参数存在大量结构体,因此需要进到插件参数里把每一个结构体参数都打开一下再关闭再保存就好了
作者: walf_man 时间: 2020-11-14 22:57
能用得上就好呀
作者: zhaomengqi 时间: 2020-11-15 17:47
有人拿着我给他的日本论坛搬运插件 故意水贴浪费站点资源 各位原创大佬的贴不能被埋没
作者: jianghe006 时间: 2020-11-17 09:03
我想用自己的服务器,这个插件可以吗?
作者: walf_man 时间: 2020-11-17 17:50
同屏部分可以的,参考1.6x的服务器一键端版本
作者: 中二幻者 时间: 2020-11-19 18:43
大佬给力,想不到MZ的网络插件这么快也出来了,这个插件玩家可以在游戏内聊天吗?
作者: walf_man 时间: 2020-11-19 21:36
游戏内聊天的功能我关掉了,包括同屏的功能,需要的话,可以用我发的那个服务器一键端自行部署,国外大佬的开源代码,可以自行随意修改
作者: 中二幻者 时间: 2020-11-19 22:20
好的,感谢大佬,有空研究下。
作者: 火龙果吃什么 时间: 2021-1-26 22:11
请问这个插件可以直接用于MV上吗?
作者: zhouxy 时间: 2021-1-29 23:47
大佬牛逼
作者: nhycs01 时间: 2021-2-4 16:50
下了核心插件以后,有一大堆臃肿用不到的功能,把我之前一些插件设置也给覆盖了,还要一个个找来关闭,有些还关不掉,只想要个物品颜色而已,算了,怒删之。
作者: KingRootG 时间: 2021-2-4 17:49
感谢大佬
作者: robinjie 时间: 2021-6-3 11:28
单机变网游,逆天了
作者: 微风小雨 时间: 2021-6-5 22:47
可以可以不错不错
作者: lqazh000 时间: 2021-6-19 05:34
SyntaxError
Unexpected token ':'
出现这个错误怎么解决啊?
作者: lqazh000 时间: 2021-6-19 05:36
Error
Uncaught TypeError: Cannot read property 'show' of undefined
点了右上角坏的图片
作者: 210892663 时间: 2021-6-20 01:44
为什么会显示网络连接失败
作者: y188796451 时间: 2021-6-26 09:31
大佬,这是网游的插件吗?
作者: zzlwyhhappy 时间: 2021-9-17 22:02
英语太差了,看的头晕,纯支持
作者: b231365000 时间: 2021-12-31 23:35
感谢大佬!!分享
作者: agangogo 时间: 2022-1-25 11:44
感谢大佬分享插件。
作者: 佳哥RPG 时间: 2022-5-8 13:09
现在666RPG这个网站是不是不能登陆了?加你Q群1群满了,2群好像还没有通过
作者: ATR50 时间: 2022-8-5 20:54
菜单里会出现Top List的选项,我试过关闭所有网络相关的选项它还是会弹出来,选择后就会弹出:
TypeError
Cannot read property 'fetch' of undefined
请问如何解决?
作者: wxzlion 时间: 2022-8-10 13:48
很强大!!!!
作者: chiufly 时间: 2022-10-23 02:26
太强大了,必须赞一个
作者: gs2616169 时间: 2023-3-28 18:46
太强大了
作者: qa18114 时间: 2023-3-28 21:32
想用吗?500块一个月每个游戏
到你关闭为止!
作者: gs2616169 时间: 2023-4-2 18:00
感谢分享
作者: 玊珏大大 时间: 2023-4-15 20:18
厉害了大佬
作者: luoyi1002 时间: 2023-4-22 18:22
感谢大佬分享,
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |