Project1

标题: 【MZ】MV插件适配器 (更新:8/22) [打印本页]

作者: 芯☆淡茹水    时间: 2020-8-22 07:07
标题: 【MZ】MV插件适配器 (更新:8/22)
本帖最后由 芯☆淡茹水 于 2020-8-22 18:54 编辑

  
   一个MZ出来之前的想法,做一个 中转或者说是适配插件 ,来让MZ尽可能的兼容MV的插件。

  该插件个人在发现有适配内容时,有空时会持续更新。

  也可以将MZ使用MV插件时,报错截图发出来,个人会视情况来更改和更新。


RUBY 代码复制
  1. //==============================================================================================================
  2. // MV -> MZ  Adapter.js
  3. //==============================================================================================================
  4. /*:
  5. * @target MZ
  6. * @plugindesc MV插件适配器.
  7. * @author 芯☆淡茹水
  8. *
  9. * @help
  10. *
  11. * 使用该插件,尽可能的将 MV系列插件 兼容到 MZ 。
  12. *
  13. * 调用 MV插件命令 方法:
  14. * 事件 - 脚本:
  15. * 第一行写标志 <MvPluginCommand>
  16. * 第二行写需要执行的MV插件命令
  17. * 第三行以及以下,依次序写该插件命令的参数。注意:一个参数就是一行 !!!
  18. *
  19. * 示例:执行MV插件命令 CommandTest , 参数依次为 5, ABC, true
  20. * 事件 - 脚本:
  21. * <MvPluginCommand>
  22. * CommandTest
  23. * 5
  24. * ABC
  25. * true
  26. *
  27. *==============================================================================================================
  28. *
  29. * @param closeSmoothing
  30. * @text 是否关闭图像平滑处理。
  31. * @type boolean
  32. * @desc 是否关闭图像平滑处理。
  33. * @default false
  34. *
  35. *
  36. */
  37. //==============================================================================================================
  38. ;var XdRsData = XdRsData || {};
  39. XdRsData.adapter = {};
  40. XdRsData.adapter.parameters = PluginManager.parameters('XdRs_MvPluginAdapter');
  41. //==============================================================================================================
  42. XdRsData.adapter.isCloseSmooth = function() {
  43.     return this.parameters['closeSmoothing'] === 'true';
  44. };
  45. //==============================================================================================================
  46. Bitmap.prototype._setDirty = function() {
  47.     this._baseTexture.update();
  48. };
  49. //==============================================================================================================
  50. DataManager.isThisGameFile = function(savefileId) {
  51.     return !!this.savefileInfo(savefileId);
  52. };
  53. DataManager.loadSavefileInfo = function(savefileId) {
  54.     return this.savefileInfo(savefileId);
  55. };
  56. DataManager.lastAccessedSavefileId = function() {
  57.     return $gameSystem.savefileId();
  58. };
  59. //==============================================================================================================
  60. BattleManager.setStatusWindow = function(window) {
  61.     // 弃用。
  62. };
  63. //==============================================================================================================
  64. XdRsData.adapter.Bitmap_initialize = Bitmap.prototype.initialize;
  65. Bitmap.prototype.initialize = function(width, height) {
  66.     XdRsData.adapter.Bitmap_initialize.call(this, width, height);
  67.     this._smooth = !XdRsData.adapter.isCloseSmooth();
  68. };
  69. //==============================================================================================================
  70. Game_Battler.prototype.startAnimation = function(animationId, mirror) {
  71.     $gameTemp.requestAnimation([this], animationId, mirror);
  72. };
  73. Game_Battler.prototype.isAnimationRequested = function() {
  74.     return false;
  75. };
  76. Game_Battler.prototype.shiftAnimation = function() {
  77.     return null;
  78. };
  79. //==============================================================================================================
  80. Game_CharacterBase.prototype.requestAnimation = function(animationId) {
  81.     $gameTemp.requestAnimation([this], animationId);
  82. };
  83. Game_CharacterBase.prototype.animationId = function() {
  84.     return 0;
  85. };
  86. //==============================================================================================================
  87. XdRsData.adapter.Game_Interpreter_command355 = Game_Interpreter.prototype.command355;
  88. Game_Interpreter.prototype.command355 = function() {
  89.     if (/<MvPluginCommand>/.test(this.currentCommand().parameters[0])) {
  90.         return this.analysisMvPluginCommand();
  91.     }
  92.     return XdRsData.adapter.Game_Interpreter_command355.call(this);
  93. };
  94. Game_Interpreter.prototype.analysisMvPluginCommand = function() {
  95.     var command = null, args = [];
  96.     if (this.nextEventCode() === 655) {
  97.         this._index++;
  98.         command = this.currentCommand().parameters[0];
  99.     }
  100.     while (this.nextEventCode() === 655) {
  101.         this._index++;
  102.         args.push(this.currentCommand().parameters[0]);
  103.     }
  104.     this.pluginCommand(command, args);
  105.     return true;
  106. };
  107. //==============================================================================================================
  108. function Sprite_Base() {
  109.     this.initialize(...arguments);
  110. }
  111. Sprite_Base.prototype = Object.create(Sprite.prototype);
  112. Sprite_Base.prototype.constructor = Sprite_Base;
  113. //==============================================================================================================
  114. Window_Base._iconWidth  = ImageManager.iconWidth;
  115. Window_Base._iconHeight = ImageManager.iconHeight;
  116. Window_Base._faceWidth  = ImageManager.faceWidth;
  117. Window_Base._faceHeight = ImageManager.faceHeight;
  118.  
  119. XdRsData.adapter.Window_Base_initialize = Window_Base.prototype.initialize;
  120. Window_Base.prototype.initialize = function() {
  121.     const [x, y, w, h] = arguments;
  122.     if (y === undefined) XdRsData.adapter.Window_Base_initialize.call(this, x);
  123.     else XdRsData.adapter.Window_Base_initialize.call(this, new Rectangle(x, y, w, h));
  124. };
  125. Window_Base.prototype.standardFontFace = function() {
  126.     return $gameSystem.mainFontFace();
  127. };
  128. Window_Base.prototype.standardFontSize = function() {
  129.     return $gameSystem.mainFontSize();
  130. };
  131. Window_Base.prototype.standardPadding = function() {
  132.     return $gameSystem.windowPadding();
  133. };
  134. Window_Base.prototype.textPadding = function() {
  135.     return this.itemPadding();
  136. };
  137. Window_Base.prototype.textColor = function(n) {
  138.     return ColorManager.textColor(n);
  139. };
  140. //==============================================================================================================
  141. // end
  142. //==============================================================================================================



XdRs_MvPluginAdapter(8-22).rar (1.54 KB, 下载次数: 977, 售价: 1 星屑)
  
作者: 汪汪    时间: 2020-8-22 07:59
太强了!
作者: asftuhtygj    时间: 2020-8-22 09:20
支持一下

作者: dongtian    时间: 2020-8-22 10:43
好厉害
作者: Phoenix2018    时间: 2020-8-22 11:11
顶一下
作者: walf_man    时间: 2020-8-22 11:24
支持大佬
作者: 海狸先生不吃鱼    时间: 2020-8-22 11:42
感谢楼主的无私奉献
作者: Phoenix2018    时间: 2020-8-26 01:02
大佬流弊。
作者: 红十字    时间: 2020-8-26 07:58
厉害,支持大佬
作者: a3300376    时间: 2020-8-30 15:13
支持  可以用了吗
作者: dsif    时间: 2020-9-1 17:20
想請問一下,在MV使用插件命令   virtualbuttons hide all   在MZ上面首先下在這個插件,然後用腳本virtualbuttons 換行 hide換行 all換行這樣嗎?
使用的插件https://forums.rpgmakerweb.com/index.php?threads/virtual-buttons-and-dpad.94196/
作者: frost_king_hw    时间: 2020-9-9 20:29
先收藏下,等更新。
作者: 悲伤韭菜    时间: 2020-9-11 16:31
收藏~感谢大佬!!!您真是太强了!
作者: tseyik    时间: 2020-9-12 08:40
本帖最后由 tseyik 于 2020-9-12 08:53 编辑
dsif 发表于 2020-9-1 17:20
想請問一下,在MV使用插件命令   virtualbuttons hide all   在MZ上面首先下在這個插件,然後用腳本virtual ...


把這個加在上面
MVJoint.zip (2.39 KB, 下载次数: 101)



作者: xhjcz    时间: 2020-10-21 11:27
谢谢大老
作者: ys961112712    时间: 2020-11-6 14:46
厉害了,感谢大佬的分享
作者: UTO    时间: 2020-11-8 20:18
大佬,没看懂这个怎么用2333
这个能做到在mz上面运行mv的yep插件么?
作者: darkmoon2016    时间: 2020-12-7 20:22
支持大佬
作者: lzlzhilang    时间: 2020-12-10 02:06
感谢大佬,太有用了
作者: wiss001    时间: 2020-12-25 20:13
谢谢大佬分享啊
作者: tseyik    时间: 2020-12-26 18:14
frost_king_hw 发表于 2020-9-9 20:29
先收藏下,等更新。



作者: Hansolo    时间: 2021-1-1 14:35
感谢LZ分享

作者: wodeshow    时间: 2021-1-4 16:06
大佬加油 谢谢分享
作者: cbqwmld3    时间: 2021-1-11 13:41

支持一下
作者: hchcxcxc    时间: 2021-2-5 16:50
太厉害了
作者: 大云梦泽    时间: 2021-2-11 17:19
插件指令 如何输入
作者: 小篸    时间: 2021-5-2 00:21
感谢大佬
作者: k47363312    时间: 2021-6-3 09:32
很实用,感谢
作者: ww984957002    时间: 2021-6-8 22:09
有点看不懂怎么用啊
作者: 吟游诗人_zhen    时间: 2021-6-13 18:22
emmmm,用不了,可能是我不会用吧~
作者: 3508074122    时间: 2021-7-7 15:17
支持  可以用了吗

作者: Codesoul    时间: 2021-8-3 22:05
加油!!!

作者: 苏小明    时间: 2022-2-28 01:13
感谢大佬分享
作者: tl812216163    时间: 2022-5-26 20:29
拿走了 谢谢楼主分享
作者: yptljz    时间: 2022-8-3 09:32
谢谢大老
作者: 277480807    时间: 2022-9-16 22:27
希望mz可以早日媲美mv
作者: 金银花h    时间: 2022-9-24 16:39
大佬厉害啊
作者: 夜宇星繁    时间: 2022-11-23 22:19
感谢大佬分享
作者: ff06023    时间: 2023-3-8 22:49
感谢大佬分享,但我使用未成功
作者: k47363312    时间: 2023-4-7 15:28
强,感谢大佬分享~
作者: shuaixiaofa    时间: 2023-4-22 06:54
謝謝你{:4_113:}
作者: luoyi1002    时间: 2023-4-23 11:18
感谢楼主,辛苦了
作者: lucifergxw    时间: 2023-8-5 19:50
本帖最后由 lucifergxw 于 2023-8-6 00:49 编辑

为什么使用插件之后会显示TypeError
Cannot read property length'of undefined呀{:4_132:}救救孩子
作者: ~谓伊~    时间: 2023-8-8 18:29
感谢分析
作者: gejiziliao    时间: 2023-9-4 17:20
支持一下
作者: 13599299942    时间: 2023-9-6 17:40
可以反过来么
作者: じ☆ve冰风    时间: 2024-1-19 16:35
支持  可以用了吗
作者: 混吃等死捏    时间: 2024-4-17 17:26
大佬NB啊

作者: jwcgfyln    时间: 2024-4-18 09:32
支持技术大佬
作者: mnbv7890    时间: 2024-4-18 19:42
支持一下
作者: crp    时间: 2024-4-24 07:38
大佬!恩人啊
作者: sanmilk    时间: 2024-5-5 10:35
谢谢大佬分享




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