Project1

标题: MV现在有没有显示一些数据的脚本? [打印本页]

作者: mengjing    时间: 2016-2-22 16:46
标题: MV现在有没有显示一些数据的脚本?
比如说我想规范一下角色的行动...想加入一个道德值...或者公德心什么的....当然实际上可不止一个值那么简单..
而那些数值都可以显示在角色界面那些上面....

然后只要玩家随便去翻别人家的箱子..就减少道德值之类的...
现在MV有没有这类的脚本?
如果没有的话...应该怎么设?
作者: 347780682    时间: 2016-2-22 17:10
道德值可以用变量来代替 然后创建一个变量显示窗口放在菜单但是嘛JS我不会修改 只能看楼下了
作者: fyqinpku    时间: 2016-2-22 17:29
没记错的话Yanfly的插件里有这样的功能,在Status Menu Core分支的Actor Variables子插件里
作者: 小叮鈴    时间: 2016-2-22 17:57
感覺是不用插件阿 設定一個變量就可以了 至於要顯示在右上角這才要插件 不過顯示變量應該很多類似的插件
作者: mengjing    时间: 2016-2-22 22:22
fyqinpku 发表于 2016-2-22 17:29
没记错的话Yanfly的插件里有这样的功能,在Status Menu Core分支的Actor Variables子插件里 ...

试了一下那个插件..
<Column x Variables: y>
<Column x Variables: y, y, y>
这两个的话倒是可以...
<Column x Variables: y to z>
但是一旦用了这个....打开游戏就变成TypeError 'undefined is not a function'
作者: salvareless    时间: 2016-2-22 22:43
本帖最后由 salvareless 于 2016-2-22 22:49 编辑

楼主这是要弄声望系统么~~~~呵呵呵~~~~我之两天在着手自己写一个声望系统的脚本,目前还瞎写中。只写好一个雏形,不过如果楼主只需要显示一个功德值的话,随便改改就够用了吧。

以下是雏形= =,原谅我代码写的乱,其实还有一些判断和字符串处理我还在慢慢弄:
  1. //=============================================================================
  2. // Salvareless Own Use System
  3. // SOS_声望界面.js
  4. //=============================================================================
  5. //=========================================================================
  6. //        声明区段
  7. //=========================================================================
  8. function Window_Shengwang() {
  9.         this.initialize.apply(this, arguments);
  10. };

  11. Window_Shengwang.prototype = Object.create(Window_Selectable.prototype);
  12. Window_Shengwang.prototype.initialize = function(x, y, width, height) {
  13.     Window_Selectable.prototype.initialize.call(this, x, y, width, height);
  14. };

  15. function Scene_Shengwang() {
  16.         this.initialize.apply(this, arguments);
  17. };

  18. Scene_Shengwang.prototype = Object.create(Scene_MenuBase.prototype);
  19. Scene_Shengwang.prototype.initialize = function() {
  20.     Scene_MenuBase.prototype.initialize.call(this);
  21. };

  22. Scene_Shengwang.prototype.create = function() {
  23. Scene_MenuBase.prototype.create.call(this);
  24.     this._commandWindow = new Window_Shengwang(0, 0, 816, 624);
  25.     this.addWindow(this._commandWindow);
  26. };

  27. Scene_Shengwang.prototype.update = function() {
  28.     if (Input.isTriggered('escape') || Input.isTriggered('cancel')) {
  29.         this._commandWindow.hide();
  30.         SceneManager.goto(Scene_Menu);
  31.     };
  32. };

  33. // ======================================================================
  34. // * Scene_Menu
  35. // ======================================================================
  36. Scene_Menu.prototype.Shengwang_createCommandWindow = Scene_Menu.prototype.createCommandWindow;
  37. Scene_Menu.prototype.createCommandWindow = function() {
  38.         this.Shengwang_createCommandWindow();
  39.         this._commandWindow.setHandler('shengwang',   this.command_Shengwang.bind(this));
  40. };
  41. Scene_Menu.prototype.command_Shengwang = function() {
  42.         SceneManager.push(Scene_Shengwang);
  43. };

  44. // ======================================================================
  45. // * Window_MenuCommand
  46. // ======================================================================
  47. Window_MenuCommand.prototype.Shengwang_addOriginalCommands = Window_MenuCommand.prototype.addOriginalCommands;
  48. Window_MenuCommand.prototype.addOriginalCommands = function() {
  49.         this.Shengwang_addOriginalCommands();
  50.         this.addCommand('声望', 'shengwang', this.areMainCommandsEnabled());
  51. };

  52. //=======================================================================
  53. // 显示区段
  54. //=======================================================================
  55. Window_Shengwang.prototype.initialize = function(x, y, width, height) {
  56.     Window_Selectable.prototype.initialize.call(this, x, y, width, height);
  57.     this.drawShengwangText();
  58. };

  59. Window_Shengwang.prototype.drawShengwangText = function() {
  60.         var dy = 0;
  61.         var dx = 34;                                //左侧文字绘制的X坐标,已经留出图标位置。
  62.         var di = 416;                                //右侧图标显示的X坐标,左侧为0
  63.         var dxx = 450;                                //右侧文字绘制的X坐标。已经留出图标位置。
  64.         var dw = 816;                                //界面总宽
  65.         var gx = 160;                                //绘制条的起始位置,已经留出五个字的生命名称及:符号,例如:“银西法尔特:”
  66.         this.contents.fontSize = 24;
  67.     this.drawText("声望", 0, -4, dw, 'left');
  68.         dy += 24;        //行高变化
  69.         this.drawText("———————————————————————————————", 0, dy, dw, 'left');
  70.         this.contents.fontSize = 20;
  71.         dy += 24;
  72.     this.drawText("凡尘世界声望", 0, dy, dw, 'left');
  73.         dy += 32;
  74.         //第一行左
  75.         this.drawIcon( 3, 0, dy + 3);                //图标语句
  76.         this.drawText("银西法尔特:", dx, dy, dw, 'left');
  77.         var v1 = $gameVariables.value(22);        //要使用的变量
  78.         var v2 = 1000;                                                //当前阶段的声望上限
  79.         var rate = v1 / v2;                                        //计算声望条的绘制比例
  80.         var color = '#ff0000'                                //设置声望条的颜色
  81.         var text = "仇恨:" + v1 + "/" + v2;        //赋值要显示在声望条上面的文字
  82.         this.drawGauge(gx, dy, 240, rate, color);        //绘制声望条
  83.         this.drawText(text, gx + 12, dy - 2 , dw, 'left');        //绘制要显示在声望条上面的文字
  84.         //第一行右
  85.         this.drawIcon( 3, di, dy + 3);
  86.         this.drawText("尘隐镇:", dxx, dy, dw, 'left' );
  87.        
  88. };
  89. //绘制条函数
  90. Window_Shengwang.prototype.drawGauge = function(x, y, width, rate, color) {
  91.         var fillW = Math.floor(width * rate);                        //比例换算成彩条长度
  92.     this.contents.fillRect(x, y + 12, width, 20, '#000000');        //绘制条的黑底
  93.     this.contents.gradientFillRect(x, y + 12, fillW, 20, color, color);                //绘制彩条

  94. };
复制代码

作者: 小叮鈴    时间: 2016-2-22 23:01
mengjing 发表于 2016-2-22 22:22
试了一下那个插件..

必須要新建遊戲吧{:2_276:}
作者: mengjing    时间: 2016-2-22 23:15
salvareless 发表于 2016-2-22 22:43
楼主这是要弄声望系统么~~~~呵呵呵~~~~我之两天在着手自己写一个声望系统的脚本,目前还瞎写中。只写好一个 ...

虽然有点出入...不过你能码出来已经是很厉害的了...继续加油补完整吧




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