Project1

标题: 转日站的战斗中执行並行事件 [打印本页]

作者: soulsaga    时间: 2019-6-12 17:37
标题: 转日站的战斗中执行並行事件
本帖最后由 soulsaga 于 2019-6-12 17:39 编辑

JAVASCRIPT 代码复制
  1. //=============================================================================
  2. // - BattleParallelEvent
  3. // BattleParallelEvent.js
  4. //=============================================================================
  5.  
  6. //=============================================================================
  7. /*:
  8.  * @plugindesc 戦闘中でも「並列処理」のコモンイベントを実行する為のプラグインです。
  9.  * @author 名無し蛙
  10.  *
  11.  *
  12.  * Version 1.0:
  13.  * 2016/06/29 - リリース
  14.  */
  15. //=============================================================================
  16.  
  17. (function() {
  18.     //
  19.     var _Game_Switches_onChange = Game_Switches.prototype.onChange;
  20.     Game_Switches.prototype.onChange = function() {
  21.         _Game_Switches_onChange.call(this);
  22.         if ($gameParty.inBattle()) {
  23.             $gameTroop.refreshCommonEvents();
  24.         }
  25.     };
  26.  
  27.     //
  28.     var _Game_Troop_setup = Game_Troop.prototype.setup;
  29.     Game_Troop.prototype.setup = function(troopId) {
  30.         _Game_Troop_setup.call(this, troopId);
  31.         this._commonEvents = this.parallelCommonEvents().map(function(commonEvent) {
  32.             return new Game_CommonEvent(commonEvent.id);
  33.         });
  34.     };
  35.  
  36.     //
  37.     Game_Troop.prototype.parallelCommonEvents = function() {
  38.         return $dataCommonEvents.filter(function(commonEvent) {
  39.             return commonEvent && commonEvent.trigger === 2;
  40.         });
  41.     };
  42.  
  43.     //
  44.     Game_Troop.prototype.refreshCommonEvents = function() {
  45.         this._commonEvents.forEach(function(event) {
  46.             event.refresh();
  47.         });
  48.     };
  49.  
  50.     //
  51.     Game_Troop.prototype.updateCommonEvents = function() {
  52.         this._commonEvents.forEach(function(event) {
  53.             if ($dataCommonEvents[event._commonEventId].name.indexOf("战斗") == 0) {event.update()};
  54.         });
  55.     };
  56.  
  57.     //
  58.     var _Scene_Battle_update = Scene_Battle.prototype.update;
  59.     Scene_Battle.prototype.update = function() {
  60.         $gameTroop.updateCommonEvents();
  61.         _Scene_Battle_update.call(this);
  62.     };
  63. }());
  64.  
  65. //=============================================================================
  66. // End of File
  67. //=============================================================================
https://tm.lucky-duet.com/viewtopic.php?t=1495
作者: URUUR    时间: 2019-6-26 18:51
有点意思
作者: chinx    时间: 2019-6-29 16:01
mark一记 这个看上去会用的到
作者: tseyik    时间: 2020-2-22 23:07

錯輸入
作者: wudimuteng    时间: 2020-4-12 22:54
不会用呀!哈哈。 还有没有别的办法?  
作者: play337    时间: 2020-4-13 19:51
這個有人在用嗎?
因為我研究了半天...也沒有範例可以參考...不知道如何使用 很頭大
作者: hanyilun    时间: 2020-4-13 21:25
本帖最后由 hanyilun 于 2020-6-6 16:16 编辑

感谢大佬分享,这个对我的游戏系统帮助很大!


作者: 赐予者    时间: 2021-8-7 17:08
强大!非常有用啊!




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