设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5229|回复: 36
打印 上一主题 下一主题

[交流讨论] 【插件改】为MOG_BattleHud添加状态回合数

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3968
在线时间
521 小时
注册时间
2020-6-14
帖子
76
跳转到指定楼层
1
发表于 2022-12-15 19:19:04 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 jie119168 于 2024-2-28 20:01 编辑

用过MOG_BattleHud插件的你或许和我一样困扰于一个很劝退的问题,即是这个插件它创建的角色战斗窗口竟然不显示状态回合数,只是一个状态摆在那里不知道要持续多久。相关的求助贴在P1,rpgmaker forum都很多,却无人能回答。
今天我偶然翻到一篇神文在MTK project上https://mtk-project.jimdofree.co ... %E8%A9%B3%E7%B4%B0/
其详细叙述了如何为该插件添加状态回合的功能,同时我也对此方法进行了一定改进工作,希望能帮到一部分人。

被解决的问题:1.状态不显示回合数。 2.buff与debuff更新时下方状态列表不刷新状态。3.(新增)状态不显示堆叠数
解决思路:为Game_Battler的increaseBuff、decreaseBuff、eraseBuff、overwriteBuffTurns、updateBuffTurns分别添加need_refresh_bhud_states标记以触发刷新。将Triacontane的StateRingIcon插件中获取状态回合数与buff回合数的函数搬到MOG_BattleHud,挂在Game_BattlerBase上,最后在Refresh States2函数中调用它。
如果是已经魔改过度的,就只能手动加代码了,请参阅[具体过程],如果是Drill版可直接下载最底下文件覆盖。
具体过程:我们假定你手里有一份MOG_BattleHud.js
第一步
JAVASCRIPT 代码复制
  1. * @param States Adjust
  2. * @parent ==状态==
  3. * @desc ステートの間隔を自動調整する
  4. * @default true
  5. *
  6. * @param States Turn
  7. * @parent ==状态==
  8. * @desc 味方ステートのターン数を表示する
  9. * @default true
  10. *  
  11. * @param States FontSize
  12. * @parent ==状态==
  13. * @desc 味方ステートのターン数のフォントサイズ
  14. * @default 20
  15. *  
  16. * @param States Turn X-Axis
  17. * @parent ==状态==
  18. * @desc 味方ステートのターン数のX座標調整
  19. * @default 0
  20. *
  21. * @param States Turn Y-Axis
  22. * @parent ==状态==
  23. * @desc 味方ステートのターン数のY座標調整
  24. * @default 0
  25. *
  26. * @param States Counter X-Axis
  27. * @parent ==状态==
  28. * @desc 味方ステートのターン数のX座標調整
  29. * @default 0
  30. *
  31. * @param States Counter Y-Axis
  32. * @parent ==状态==
  33. * @desc 味方ステートのターン数のY座標調整
  34. * @default 0
  35. *
  36. * @param State Color
  37. * @parent ==状态==
  38. * @type number
  39. * @min 0
  40. * @max 31
  41. * @desc 状态颜色,如果有YEP状态核心设置了颜色,则遵循该插件的设置
  42. * @default 0

增加一部分控制状态回合数、堆叠数坐标与字体、颜色的插件参数

第二步
JAVASCRIPT 代码复制
  1. Moghunter.bhud_statesAdjust = String(Moghunter.parameters['States Adjust'] || true);
  2.         Moghunter.bhud_statesTurn = String(Moghunter.parameters['States Turn'] || true);
  3.         Moghunter.bhud_statesSize = Number(Moghunter.parameters['States FontSize'] || 20);
  4.         Moghunter.bhud_states_turn_x = Number(Moghunter.parameters['States Turn X-Axis'] || 0);
  5.         Moghunter.bhud_states_turn_y = Number(Moghunter.parameters['States Turn Y-Axis'] || 0);
  6.         Moghunter.bhud_states_counter_x = Number(Moghunter.parameters['States Counter X-Axis'] || 0);
  7.         Moghunter.bhud_states_counter_y = Number(Moghunter.parameters['States Counter Y-Axis'] || 0);
  8.         Moghunter.BSCTurnColor = Number(Moghunter.parameters['State Color']);

增加更多读取步骤,让插件获取到你的插件参数

第2.5步
JAVASCRIPT 代码复制
  1. //==============================
  2. // * addNewState
  3. //==============================
  4. var _alias_mog_bhud_addState = Game_Battler.prototype.addState
  5. Game_Battler.prototype.addState = function (stateId) {
  6.     _alias_mog_bhud_addState.call(this, stateId);
  7.     this.need_refresh_bhud_states = true;
  8. };

原函数对addNewState添加的更新不够全面,无法在状态覆盖导致回合数变化时自动更新,故这里选择直接在addstate阶段添加更新标记同时删去addNewState更改

第三步
JAVASCRIPT 代码复制
  1. if (Imported.YEP_BuffsStatesCore) {
  2. //==============================
  3. // * setStateCounter
  4. //==============================
  5. var _alias_mog_bhud_setStateCounter = Game_BattlerBase.prototype.setStateCounter
  6. Game_BattlerBase.prototype.setStateCounter = function (stateId, value) {
  7.         _alias_mog_bhud_setStateCounter.call(this, stateId, value);
  8.         this.need_refresh_bhud_states = true;
  9.         };
  10. }
  11.  
  12. //==============================
  13.  
  14. // * increaseBuff
  15.  
  16. //==============================
  17.  
  18. var _alias_mog_bhud_increaseBuff = Game_BattlerBase.prototype.increaseBuff
  19.  
  20. Game_BattlerBase.prototype.increaseBuff = function (paramId) {
  21.  
  22.     _alias_mog_bhud_increaseBuff.call(this, paramId);
  23.  
  24.     this.need_refresh_bhud_states = true;
  25.  
  26. };
  27. //==============================
  28.  
  29. // * decreaseBuff
  30.  
  31. //==============================
  32.  
  33. var _alias_mog_bhud_decreaseBuff = Game_BattlerBase.prototype.decreaseBuff
  34.  
  35. Game_BattlerBase.prototype.decreaseBuff = function (paramId) {
  36.  
  37.     _alias_mog_bhud_decreaseBuff.call(this, paramId);
  38.  
  39.     this.need_refresh_bhud_states = true;
  40.  
  41. };
  42. //==============================
  43.  
  44. // * eraseBuff
  45.  
  46. //==============================
  47.  
  48. var _alias_mog_bhud_eraseBuff = Game_BattlerBase.prototype.eraseBuff
  49.  
  50. Game_BattlerBase.prototype.eraseBuff = function (paramId) {
  51.  
  52.     _alias_mog_bhud_eraseBuff.call(this, paramId);
  53.  
  54.     this.need_refresh_bhud_states = true;
  55.  
  56. };
  57.  
  58. //==============================
  59.  
  60. // * overwriteBuffTurns
  61.  
  62. //==============================
  63.  
  64. var _alias_mog_bhud_overwriteBuffTurns = Game_Battler.prototype.overwriteBuffTurns
  65.  
  66. Game_Battler.prototype.overwriteBuffTurns = function (paramId, turns) {
  67.  
  68.     _alias_mog_bhud_overwriteBuffTurns.call(this, paramId, turns);
  69.  
  70.     this.need_refresh_bhud_states = true;
  71.  
  72. };
  73.  
  74. //==============================
  75.  
  76. // * updateBuffTurns
  77.  
  78. //==============================
  79.  
  80. var _alias_mog_bhud_updateBuffTurns = Game_Battler.prototype.updateBuffTurns
  81.  
  82. Game_Battler.prototype.updateBuffTurns = function () {
  83.  
  84.     _alias_mog_bhud_updateBuffTurns.call(this);
  85.  
  86.     this.need_refresh_bhud_states = true;
  87.  
  88. };
  89.  
  90. Game_BattlerBase.prototype.getStateTurns = function () {
  91.     var stateTurns = this.states().map(function (state) {
  92.         if (state.iconIndex <= 0) {
  93.             return null;
  94.         } else if (state.autoRemovalTiming <= 0) {
  95.             return '';
  96.         } else {
  97.             var turns = this._stateTurns[state.id];
  98.             if (turns !== 0 && !turns) return '';
  99.             return Math.ceil(turns);//+ (state.autoRemovalTiming === 1 ? 1 : 0);
  100.         }
  101.     }, this);
  102.     return stateTurns.filter(function (turns) {
  103.         return turns !== null;
  104.     });
  105. };
  106.  
  107. Game_BattlerBase.prototype.getBuffTurns = function () {
  108.     return this._buffTurns.filter(function (turns, index) {
  109.         return this._buffs[index] !== 0;
  110.     }, this);
  111. };
  112.  
  113. Game_BattlerBase.prototype.getAllTurns = function () {
  114.     return this.getStateTurns().concat(this.getBuffTurns()).map(function (turn) {
  115.         return turn;
  116.     });
  117. };
  118. if (Imported.YEP_BuffsStatesCore) {
  119.     Game_BattlerBase.prototype.getStateCounters = function () {
  120.         var stateCounters = this.states().map(function (state) {
  121.             if (state.iconIndex <= 0) {
  122.                 return null;
  123.             } else {
  124.                 var counter = this.getStateCounter(state.id);
  125.                 if (counter !== 0 && !counter) return '';
  126.                 return Math.ceil(counter);//+ (state.autoRemovalTiming === 1 ? 1 : 0);
  127.             }
  128.         }, this);
  129.         return stateCounters.filter(function (counter) {
  130.             return counter !== null;
  131.         });
  132.     };
  133.  
  134.     Game_BattlerBase.prototype.getBuffCounters = function () {
  135.         return this.getBuffTurns().map(function (counter) {
  136.             return '';
  137.         });
  138.     };
  139.  
  140.     Game_BattlerBase.prototype.getAllCounters = function () {
  141.         return this.getStateCounters().concat(this.getBuffCounters()).map(function (counter) {
  142.             return counter;
  143.         });
  144.     };
  145. }

增加部分需要的函数,包括刷新,以及回合数获取。
由于YEP系列插件可能会允许你添加一些被动状态之类的,YEP系默认是不显示被动的状态回合,而Triacontane的StateRingIcon.js原样复制会导致显示文字‘NAN’,故我已经进行了相应调整,同理对回合结束消失状态和行动结束消失状态的回合数区分也注释掉了,不喜欢的话可以根据需要对2555行进行相应去注释。

第四步
JAVASCRIPT 代码复制
  1. Battle_Hud.prototype.refresh_states = function () {
  2.     this._states_data[0] = 0;
  3.     this._states_data[2] = 0;
  4.     if (this._turnSprite) this._turnSprite.bitmap.clear();
  5.     this._state_icon.visible = false;
  6.     if (this._battler.allIcons().length == 0) { this._states_data[1] = 0; return };
  7.     if (this._battler.allIcons()[this._states_data[1]]) {
  8.         this._states_data[0] = this._battler.allIcons()[this._states_data[1]];
  9.         this._state_icon.visible = true;
  10.         var turns = this._battler.getAllTurns();//ターン数取得
  11.         if (Imported.YEP_BuffsStatesCore) var counters = this._battler.getAllCounters();
  12.         var sx = this._states_data[0] % 16 * 32;
  13.         var sy = Math.floor(this._states_data[0] / 16) * 32;
  14.         this._state_icon.setFrame(sx, sy, 32, 32);
  15.         this._battler.need_refresh_bhud_states = false;
  16.         if (Moghunter.bhud_statesTurn) {//ステートターン数表示がONのとき
  17.             var sprite = new Sprite();
  18.             sprite.bitmap = new Bitmap(Sprite_StateIcon._iconWidth, Sprite_StateIcon._iconHeight);
  19.             sprite.bitmap.fontSize = Number(Moghunter.bhud_statesSize);
  20.             sprite.x = 0;
  21.             sprite.y = 0;
  22.             this._turnSprite = sprite;
  23.             this._state_icon.addChild(this._turnSprite);
  24.             var bitmap = this._turnSprite.bitmap;
  25.             //  bitmap.clear();
  26.             bitmap.textColor = Imported.YEP_BuffsStatesCore ? SceneManager._scene._statusWindow.textColor(Yanfly.Param.BSCTurnColor) : SceneManager._scene._statusWindow.textColor(Moghunter.BSCTurnColor);
  27.             bitmap.drawText(turns[this._states_data[1]], -3 + Moghunter.bhud_states_turn_x, -6 + Moghunter.bhud_states_turn_y, bitmap.width, bitmap.height, 'right');
  28.             if (Imported.YEP_BuffsStatesCore) {
  29.                 bitmap.textColor = SceneManager._scene._statusWindow.textColor(Yanfly.Param.BSCCounterColor);
  30.                 bitmap.drawText(counters[this._states_data[1]], 0 + Moghunter.bhud_states_counter_x, 8 + Moghunter.bhud_states_counter_y, bitmap.width, bitmap.height, 'left');
  31.             }
  32.         };
  33.     };
  34.     this._states_data[1] += 1;
  35.     if (this._states_data[1] >= this._battler.allIcons().length) {
  36.         this._states_data[1] = 0
  37.     };
  38. };

JAVASCRIPT 代码复制
  1. Battle_Hud.prototype.refresh_states2 = function () {
  2.     this._state_icon.visible = false;
  3.     this._battler.need_refresh_bhud_states = false;
  4.     for (i = 0; i < this._stateIcons.length; i++) {
  5.         this._state_icon.removeChild(this._stateIcons[i]);
  6.     };
  7.     if (this._battler.allIcons().length == 0) { return };
  8.     this._state_icon.visible = true;
  9.     this._stateIcons = [];
  10.     var w = Window_Base._iconWidth;
  11.     var icons = this._battler.allIcons().slice(0, w);
  12.     var m = Math.min(Math.max(this._battler.allIcons().length, 0), Moghunter.bhud_statesMax);
  13.     //var align = Moghunter.bhud_statesAlign;
  14.     var pad = 4;//間隔
  15.     var iwidth = this._layout.bitmap.width;//枠幅
  16.     var simax = Math.floor(iwidth / w);//調整なし最大表示数
  17.     var adjx = Math.floor((iwidth - w) / m);//調整したときの間隔
  18.     var turns = this._battler.getAllTurns();//ターン数取得
  19.     if (Imported.YEP_BuffsStatesCore) var counters = this._battler.getAllCounters();
  20.     for (i = 0; i < m; i++) {
  21.         this._stateIcons[i] = new Sprite(this._state_img);
  22.         var sx = icons[i] % 16 * w;
  23.         var sy = Math.floor(icons[i] / 16) * w;
  24.         this._stateIcons[i].setFrame(sx, sy, w, w);
  25.         this._stateIcons[i].x = (w + pad) * i;//align左寄せ専用
  26.         if (Moghunter.bhud_statesAdjust) {//位置自動調整がONのときx変更
  27.             if (m >= simax) {  //枠からはみ出る数なら詰める
  28.                 this._stateIcons[i].x = adjx * i;
  29.             };
  30.         };
  31.         if (Moghunter.bhud_statesTurn) {//ステートターン数表示がONのとき
  32.             var sprite = new Sprite();
  33.             sprite.bitmap = new Bitmap(Sprite_StateIcon._iconWidth, Sprite_StateIcon._iconHeight);
  34.             sprite.bitmap.fontSize = Number(Moghunter.bhud_statesSize);
  35.             sprite.x = 0;
  36.             sprite.y = 0;
  37.             this._turnSprite = sprite;
  38.             this._stateIcons[i].addChild(this._turnSprite);
  39.             var bitmap = this._turnSprite.bitmap;
  40.             bitmap.clear();
  41.             bitmap.textColor = Imported.YEP_BuffsStatesCore ? SceneManager._scene._statusWindow.textColor(Yanfly.Param.BSCTurnColor) : SceneManager._scene._statusWindow.textColor(Moghunter.BSCTurnColor);
  42.             bitmap.drawText(turns[i], -3 + Moghunter.bhud_states_turn_x, -6 + Moghunter.bhud_states_turn_y, bitmap.width, bitmap.height, 'right');
  43.             if (Imported.YEP_BuffsStatesCore) {
  44.                 bitmap.textColor = SceneManager._scene._statusWindow.textColor(Yanfly.Param.BSCCounterColor);
  45.                 bitmap.drawText(counters[i], 0 + Moghunter.bhud_states_counter_x, 8 + Moghunter.bhud_states_counter_y, bitmap.width, bitmap.height, 'left');
  46.             }
  47.         };
  48.         //         if (align === 1) {
  49.         //             this._stateIcons[i].x = -((w + 4) * i);
  50.         //         } else if (align === 2) {
  51.         //             this._stateIcons[i].y = (w + 4) * i;
  52.         //         } else if (align === 3) {
  53.         //                 this._stateIcons[i].y = -((w + 4) * i);
  54.         //         } else {         
  55.         //             this._stateIcons[i].x = (w + 4) * i;
  56.         //         };
  57.         this._state_icon.addChild(this._stateIcons[i]);
  58.     };
  59. };

最关键的一步,在refresh_states和refresh_states2函数内改造(注意,并不是增加两个新函数,代码里已经有这两个函数了,记得改掉就行),其实就是添加一定步骤以完成回合数显示。虽然MTK project只提供了refresh_states2函数的改法(即直线并排),不过我发挥主观能动性,马上想到了refresh_states函数的改进思路(即依次闪烁)。

(可选)第五步
添加一定的第三方兼容
JAVASCRIPT 代码复制
  1. if (Imported.Olivia_StateOlivia_StateTooltipDisplay) {
  2.         var _alias_wr_mogbattlehud_create_states = Battle_Hud.prototype.create_states
  3.         Battle_Hud.prototype.create_states = function () {
  4.                 _alias_wr_mogbattlehud_create_states.call(this);
  5.                         this._statusTooltipWindow = new Window_StateIconTooltip();
  6.                         this.addChild(this._statusTooltipWindow);
  7.         }
  8.         var _alias_wr_mogbattlehud_create_states2 = Battle_Hud.prototype.create_states2
  9.         Battle_Hud.prototype.create_states2 = function () {
  10.                 _alias_wr_mogbattlehud_create_states2.call(this);
  11.                         this._statusTooltipWindow = new Window_StateIconTooltip();
  12.                         this.addChild(this._statusTooltipWindow);
  13.         }
  14.  
  15.         var _alias_wr_mogbattlehud_update_states = Battle_Hud.prototype.update_states
  16.         Battle_Hud.prototype.update_states = function () {
  17.                 _alias_wr_mogbattlehud_update_states.call(this);
  18.                         x = TouchInput._mouseOverX;
  19.                         y = TouchInput._mouseOverY;
  20.                         if (this.is_hover_over_icon(x, y) && this._battler.allIcons().length > 0) {
  21.                                 this._statusTooltipWindow.tooltipWindow()._battler = this._battler;
  22.                                 this._statusTooltipWindow.updateStateIconTooltipWindow();
  23.                         };
  24.         };
  25.         var _alias_wr_mogbattlehud_update_states2 = Battle_Hud.prototype.update_states2
  26.         Battle_Hud.prototype.update_states2 = function () {
  27.                 _alias_wr_mogbattlehud_update_states2.call(this);
  28.                         x = TouchInput._mouseOverX;
  29.                         y = TouchInput._mouseOverY;
  30.                         if (this.is_hover_over_icon(x, y) && this._battler.allIcons().length > 0) {
  31.                                 this._statusTooltipWindow.tooltipWindow()._battler = this._battler;
  32.                                 this._statusTooltipWindow.updateStateIconTooltipWindow();
  33.                         };
  34.         };
  35.  
  36.         Battle_Hud.prototype.is_hover_over_icon = function (x, y) {
  37.                 if (x >= this._state_icon.x &&
  38.                         x <= this._state_icon.x + 32 &&
  39.                         y >= this._state_icon.y &&
  40.                         y <= this._state_icon.y + 32) {
  41.                         return true;
  42.                 }
  43.                 else {
  44.                         return false;
  45.                 }
  46.         }
  47. }


行了,到此为止,你可以运行你的工程测试一下战斗了。相信你也会和我一样有这样的效果:
2022.12.16 修正了refresh_states的方法以保证不会让回合数数字重叠
2023.4.12   增加了在使用YEP状态核心时显示状态层数(counter)的需求
2023.5.18  修正了状态叠加时不更新回合数的情况
2023.5.20  增加了状态回合数与堆叠颜色调整(一般遵循YEP状态核心,如果没有可以自己给),增加坐标分别调整,避免了回合数达到2-3位数时显示不全问题
2024.2.7    修改了状态回合的坐标默认位置,增加对Olivia_StateOlivia_StateTooltipDisplay的兼容
如下文件提供给版本比较正常的MOG_Battlehud使用者,以Drill版为准,基本可直接覆盖
MOG_BattleHud.zip (22.89 KB, 下载次数: 129)
注意:如果同时使用YEP状态核心,请将MOG_Battlehud插件放在更下层

评分

参与人数 3+3 收起 理由
dunklen.f + 1 塞糖
LaVanaPordego + 1 塞糖
寂静的夜里 + 1 精品文章

查看全部评分

克系游戏《书典怪奇录》内部开发中https://www.bilibili.com/video/BV1zp4y1B7Ce
任何热心游戏作者都欢迎的互相分享测试群1049580832

Lv3.寻梦者

梦石
0
星屑
3968
在线时间
521 小时
注册时间
2020-6-14
帖子
76
2
 楼主| 发表于 2022-12-15 22:24:40 | 显示全部楼层
nhycs01 发表于 2022-12-15 22:11
大佬,可以直接将修改后的插件发出来吗,万分感谢!
用的是(Drill_up翻译+优化)的版本,跟大佬的插件位置 ...

你能保证将全部内容塞进去在大致位置即可,除了最后两个函数要保证覆盖式改动
错位是不会导致bug的,不过我文件刚更新好,你可以对照着看看

点评

感谢大佬!  发表于 2022-12-15 23:45
克系游戏《书典怪奇录》内部开发中https://www.bilibili.com/video/BV1zp4y1B7Ce
任何热心游戏作者都欢迎的互相分享测试群1049580832
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3968
在线时间
521 小时
注册时间
2020-6-14
帖子
76
3
 楼主| 发表于 2022-12-16 00:06:57 | 显示全部楼层
nhycs01 发表于 2022-12-15 23:49
大佬这么厉害,能不能修改一下,让状态图标显示在SV角色头顶?
我好像在以前看到过别人的截图,但是忘了 ...

我是和YEP_BuffsStatesCore连用的,可以显示敌我双方的状态在SV顶上。
和MOG系没有冲突
克系游戏《书典怪奇录》内部开发中https://www.bilibili.com/video/BV1zp4y1B7Ce
任何热心游戏作者都欢迎的互相分享测试群1049580832
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3968
在线时间
521 小时
注册时间
2020-6-14
帖子
76
4
 楼主| 发表于 2022-12-16 22:19:22 | 显示全部楼层
修正了依次闪烁型的refresh_states函数会显示数字重叠的问题,请及时更正插件!
克系游戏《书典怪奇录》内部开发中https://www.bilibili.com/video/BV1zp4y1B7Ce
任何热心游戏作者都欢迎的互相分享测试群1049580832
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3968
在线时间
521 小时
注册时间
2020-6-14
帖子
76
5
 楼主| 发表于 2022-12-19 20:00:40 | 显示全部楼层
本帖最后由 jie119168 于 2022-12-19 20:24 编辑
nhycs01 发表于 2022-12-19 14:03
大佬好,感谢你的回复。但是我使用YEP_BuffsStatesCore这个插件为什么SV角色头顶不会出现图标呢?只在下 ...


YEP的battle engine core 。核心插件就行,可以不用buffstate,但是结合YEP_BuffsStatesCore才能做到给这个SV上状态图标加上回合数
克系游戏《书典怪奇录》内部开发中https://www.bilibili.com/video/BV1zp4y1B7Ce
任何热心游戏作者都欢迎的互相分享测试群1049580832
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3968
在线时间
521 小时
注册时间
2020-6-14
帖子
76
6
 楼主| 发表于 2022-12-19 21:24:22 | 显示全部楼层
本帖最后由 jie119168 于 2022-12-19 21:52 编辑
nhycs01 发表于 2022-12-19 20:31
我两种情况都试过了:
1单独用Battle engine core ,
2配合BuffsStatesCore用,


插件即插即用,如果还是不行这问题就超出我的能力范围了,你如果不能提供更为细致的信息我也没法分析个所以然。个人猜测可能是以下几个之一:
1.插件Buffstatecore的Show Enemy Icons没true,但是默认值就是true,应可排除
2.插件顺序错误,我实测发现顺序并不太影响这个部分。我的顺序是YEP战斗核心-YEP状态核心-MOGhud
3.你用了其它战斗相关插件,其中存在会导致本功能失效的函数.这就需要你先关闭别的插件完成检查了
4.你的MV版本小于1.61,你的插件版本较旧之类的(YEP战斗核心1.51,状态核心1.16),这个就太乱了不好说


抱歉,我刚才没怎么测试,实际上你除了要按上述两个插件,另外需要一个YEP_X_VisualStateFX,这个是最关键的。加了这个就好了
克系游戏《书典怪奇录》内部开发中https://www.bilibili.com/video/BV1zp4y1B7Ce
任何热心游戏作者都欢迎的互相分享测试群1049580832
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3968
在线时间
521 小时
注册时间
2020-6-14
帖子
76
7
 楼主| 发表于 2022-12-19 21:55:32 | 显示全部楼层
nhycs01 发表于 2022-12-19 20:31
我两种情况都试过了:
1单独用Battle engine core ,
2配合BuffsStatesCore用,

还有问题的话不方便解释可以另外开贴发问

评分

参与人数 1+1 收起 理由
nhycs01 + 1 认可答案

查看全部评分

克系游戏《书典怪奇录》内部开发中https://www.bilibili.com/video/BV1zp4y1B7Ce
任何热心游戏作者都欢迎的互相分享测试群1049580832
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3968
在线时间
521 小时
注册时间
2020-6-14
帖子
76
8
 楼主| 发表于 2023-4-12 20:54:58 | 显示全部楼层
新增了在图标左下角支持显示YEP状态核心的层数counter功能,并微调了定义数字坐标位置的方式,其余部分没有调整。
有这方面显示需求的可以下新版。
克系游戏《书典怪奇录》内部开发中https://www.bilibili.com/video/BV1zp4y1B7Ce
任何热心游戏作者都欢迎的互相分享测试群1049580832
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3968
在线时间
521 小时
注册时间
2020-6-14
帖子
76
9
 楼主| 发表于 2023-5-10 00:07:43 | 显示全部楼层
贝尔沃夫 发表于 2023-5-9 22:35
有些奇怪的bug……原来也是用的mog_battlehud没问题,不知道为什么。

是否是下载的附件,还是直接加的代码?
如果是下载的附件有问题,那可能会是插件冲突,需要你提供一下插件列表我看看
克系游戏《书典怪奇录》内部开发中https://www.bilibili.com/video/BV1zp4y1B7Ce
任何热心游戏作者都欢迎的互相分享测试群1049580832
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3968
在线时间
521 小时
注册时间
2020-6-14
帖子
76
10
 楼主| 发表于 2023-5-12 23:16:35 | 显示全部楼层
LaVanaPordego 发表于 2023-5-12 22:47
大佬好,感谢你的插件,但我在使用过后发现所有自定义资源都不能加载,显示fail to load Battle__ui_hud 文 ...

资源加载这块很难说。
你可以告诉我原来你用的battlehud是什么版本的,并且试试自己手动改一下原版js文件,
可能就不会出问题了。
其它battlehud版本我也没怎么研究过
克系游戏《书典怪奇录》内部开发中https://www.bilibili.com/video/BV1zp4y1B7Ce
任何热心游戏作者都欢迎的互相分享测试群1049580832
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-13 11:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表