Project1

标题: 移植插件【有偿】 [打印本页]

作者: j296196585    时间: 2020-12-9 11:57
标题: 移植插件【有偿】
本帖最后由 j296196585 于 2020-12-9 11:58 编辑

请移植以下插件MV版本到 MZ 版本
联系方式:296196585

RUBY 代码复制
  1. //=============================================================================
  2. // VariableProgressBar.js
  3. //=============================================================================
  4.  
  5. /*:
  6. * @plugindesc 显示变量的进度条。
  7. * @author LiXiaYu & 墨汁
  8. *
  9. * @param windowPositionX
  10. * @desc Bar窗口的位置X
  11. * @default 20
  12. *
  13. * @param windowPositionY
  14. * @desc Bar窗口的位置Y
  15. * @default 20
  16. *
  17. * @param windowPositionX
  18. * @desc Bar窗口的位置X
  19. * @default 20
  20. *
  21. * @param windowWidth
  22. * @desc Bar窗口的宽度
  23. * @default 500
  24. *
  25. * @param windowHeight
  26. * @desc Bar窗口的高度
  27. * @default 500
  28. *
  29. * @param windowOpacity
  30. * @desc Bar窗口的不透明度
  31. * @default 50
  32. *
  33. *
  34. * @help
  35. * Version: 0.0.3
  36. *
  37. *
  38. * Plugin Command:
  39. *   VariableProgressBar clear              # 删除所有进度条
  40. *   VariableProgressBar add 5 200          # 添加变量5其上限为200的进度条
  41. *   VariableProgressBar delete 5           # 删除一个变量5的进度条
  42. *   VariableProgressBar set 5 80           # 设置所有变量5的上限为80
  43. *   VariableProgressBar open               # 打开窗口
  44. *   VariableProgressBar close              # 关闭窗口
  45. *
  46. * Log:
  47. * 2016/4/19-0.0.3
  48. * 现在可以打开和关闭窗口啦
  49. * 2016/4/19-0.0.2
  50. * 改变了命令的格式,每个变量显示对应一个上限
  51. * 2016/4/16-0.0.1
  52. * 基本功能
  53. */
  54.  
  55.  
  56.  
  57. var VariableProgressBar = window.VariableProgressBar || {} ;
  58.  
  59. VariableProgressBar.parameters = PluginManager.parameters('VariableProgressBar');
  60.  
  61.  
  62. VariableProgressBar.id=[];
  63. VariableProgressBar.top=[];
  64. //VariableProgressBar.price = parseInt(VariableProgressBar.parameters['price'] || '1000');
  65.  
  66. //用于读取命令
  67. VariableProgressBar._Game_Interpreter_pluginCommand =Game_Interpreter.prototype.pluginCommand;
  68. Game_Interpreter.prototype.pluginCommand = function(command, args) {
  69.         VariableProgressBar._Game_Interpreter_pluginCommand.call(this, command, args);
  70.         if (command === 'VariableProgressBar') {
  71.             switch (args[0]) {
  72.             case 'clear'://命令claer 清除所有的id和top
  73.                 VariableProgressBar.id.splice(0,VariableProgressBar.id.length);
  74.                 VariableProgressBar.top.splice(0,VariableProgressBar.top.length);
  75.                 break;
  76.             case 'add'://命令add 现在只能接两个参数了
  77.                 VariableProgressBar.id.push(Number(args[1]));
  78.                 VariableProgressBar.top.push(Number(args[2]));
  79.                 break;
  80.             case 'delete'://命令delete 按照id删掉一个
  81.                 for(var i=0;i<VariableProgressBar.id.length;i++){
  82.                     if(VariableProgressBar.id[i]==Number(args[1])){
  83.                         VariableProgressBar.id.splice(i,1);
  84.                         VariableProgressBar.top.splice(i,1);
  85.                         break;
  86.                     }
  87.                 }
  88.                 break;
  89.             case 'set'://命令set 按照id设置top,所有的
  90.                 for(var i=0;i<VariableProgressBar.id.length;i++){
  91.                     if(VariableProgressBar.id[i]==Number(args[1])){
  92.                         VariableProgressBar.top[i]=Number(args[2]);
  93.                     }
  94.                 }
  95.                 break;
  96.             case 'close'://关闭窗口
  97.                 VariableProgressBar.sc.removeChild(VariableProgressBar.mw);
  98.                 break;
  99.             case 'open'://打开窗口
  100.                 VariableProgressBar.sc.addChild(VariableProgressBar.mw);
  101.                 break;
  102.             }
  103.         }
  104. };
  105.  
  106. VariableProgressBar.sc=null;
  107. VariableProgressBar.mw=null;
  108. VariableProgressBar._Scene_Map_createAllWindows = Scene_Map.prototype.createAllWindows;
  109. Scene_Map.prototype.createAllWindows = function (){
  110.     VariableProgressBar._Scene_Map_createAllWindows.call(this);
  111.     VariableProgressBar.mw=new VariableProgressBar.Window_Bar();
  112.     this.addChild(VariableProgressBar.mw);
  113.     VariableProgressBar.sc=this;
  114.      VariableProgressBar.sc.removeChild(VariableProgressBar.mw);
  115. };
  116. VariableProgressBar.Window_Bar=function(){
  117.     this.initialize.apply(this, arguments);
  118. }
  119. VariableProgressBar.Window_Bar.prototype = Object.create(Window_Base.prototype);
  120. VariableProgressBar.Window_Bar.prototype.constructor = VariableProgressBar.Window_Bar;
  121. //初始化
  122. VariableProgressBar.Window_Bar.prototype.initialize = function (){
  123.     var width = this.windowWidth();
  124.     var height = this.windowHeight();
  125.     var x=this.windowPosition().x;
  126.     var y=this.windowPosition().y;
  127.     Window_Base.prototype.initialize.call(this, x, y, width, height);
  128.     this.opacity = this.windowOpacity();
  129.  
  130.  
  131.  
  132. };
  133. //窗口位置
  134. VariableProgressBar.Window_Bar.prototype.windowPosition = function (){
  135.     return {x:parseInt(VariableProgressBar.parameters['windowPositionX'] || '264'),y:parseInt(VariableProgressBar.parameters['windowPositionY'] || '192')};
  136. };
  137. //窗口宽
  138. VariableProgressBar.Window_Bar.prototype.windowWidth = function (){
  139.     return parseInt(VariableProgressBar.parameters['windowWidth'] || '384');
  140. };
  141. //窗口高
  142. VariableProgressBar.Window_Bar.prototype.windowHeight = function (){
  143.     return parseInt(VariableProgressBar.parameters['windowHeight'] || '112');
  144. };
  145. //窗口不透明度
  146. VariableProgressBar.Window_Bar.prototype.windowOpacity = function (){
  147.     return parseInt(VariableProgressBar.parameters['windowOpacity'] || '192');
  148. };
  149. //更新方法,每次刷新窗口都要执行
  150. VariableProgressBar.Window_Bar.prototype.update = function (){
  151.     this.contents.clear();
  152.     for(i=0;i<VariableProgressBar.id.length;i++)
  153.     {
  154.         this.show(VariableProgressBar.id[i],i);
  155.     }
  156. };
  157.  
  158.  
  159.  
  160.  
  161. VariableProgressBar.Window_Bar.prototype.show=function(id,i) {
  162.     var v1 = $gameVariables.value(id);    //读取一个数据这里读取的是内部变量56号的值
  163.     var v2 = VariableProgressBar.top[i];    //设置这个数据的上限
  164.     var z =31.5                                        //计算声望条的绘制比例
  165.     var width = 150;     //设置一个宽度(后面会用到)
  166.     var x = 40;    //设置x坐标(后面会用到)
  167.     var y = 128;    //设置y坐标(后面会用到)
  168.  
  169.     this.contents.fontSize = 22;
  170.  
  171.     if (id == 4){
  172.     this.drawText("怪物生命:"+$gameVariables.value(1), 0 , 0 , width, 'left','#ff0000');
  173.     this.drawText("怪物攻击:"+$gameVariables.value(2), 0 , 48 , width, 'left','#006666');
  174.     this.drawText("怪物防御:"+$gameVariables.value(3), 192 , 0 , width, 'left','#ff0000');
  175.     if ($gameVariables.value(27) == -1) {
  176.     this.drawText("怪物太强!打不过!", 192 , 48 , width, 'left','#ff0000');
  177.     } else {
  178.     this.drawText("战斗损伤:"+$gameVariables.value(27), 192 , 48 , width, 'left','#ff0000');
  179.     }
  180.  
  181.  
  182.  
  183.     }
  184. }





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