rpgmakermv吧 关注:20,543贴子:66,320
  • 12回复贴,共1

请教:暗雷战败后不结束游戏,执行某个公共事件?只看楼主收藏回

只看楼主收藏回复

搜索了很久,根据吧里有人写的修改插件的方法,已经可以做到战败后不结束游戏
但是,战败后也只是留在遇暗雷的原地,怎样可以执行一个公共事件~?


IP属地:黑龙江1楼2019-03-13 21:16回复
    可以去找找yep的某个关于公共事件的插件(名字叫什么我忘了,但应该有你想要的功能)
    当然你也可以直接用事件暗雷,简单粗暴可拓展性强~


    IP属地:内蒙古来自Android客户端2楼2019-03-13 21:51
    回复
      有个 yep实用公共事件 插件,有战胜后执行、逃跑后执行,
      额……唯独没给战败后执行……
      用事件模拟暗雷……恩……目前没想到很好的方法……


      IP属地:黑龙江3楼2019-03-14 21:15
      回复
        给你个思路(我还没实验过)可以拿事件和变量实现可战败的随机遇敌,将步数代入变量1,然后设置个变量2,之后如果变量1达到变量2则遇敌,然后变量2增加x(取决于你地图上遇敌频率)
        每次进入可遇敌的地图时将变量2增加一些


        IP属地:内蒙古来自Android客户端4楼2019-03-15 00:15
        收起回复
          额…………用事件做的话,是要给地图上铺满事件吗?


          IP属地:黑龙江5楼2019-03-15 20:00
          收起回复
            测试了一下,比想象的还要简单
            首先公共事件设定个变量1=步数

            地图上随处弄个事件,创建3个事件页,像这样(变量2=变量1加随机数X)


            然后如果变量1的步数达到变量2就遇敌,这个是事件遇敌,失败了也没有关系,甚至还能加一段剧情啊之类的。

            实际演示如图:
            当你的步数达到28时遇敌

            遇敌一次后,遇敌变量2上升成为了54,也就意味着你再走一段距离就会再次遇敌
            以此类推

            差不多就这样,你可以在这些事件底下拓展各种mv自带暗雷做不到的东西
            祝你游戏制作成功


            IP属地:内蒙古6楼2019-03-16 17:09
            回复
              谢谢歪哥的教程,又有文字又有图片,思路说的也很清楚,赞!
              不过,改用事件做的话,之前做好的遇敌就得重做了~
              哈哈,我有点懒,是这么做的,
              我在贴吧找到了吧友提供的死后不结束游戏的修改方法:
              打开js文件夹里的rpg_managers.js 脚本
              搜索到 this._canLose = canLose;
              改成:this._canLose = true;
              这样死后不会GameOver,所有成员会保留1HP在原地继续游戏。
              然后添加一个并行处理的事件,检测所有人是不是都是1HP就行了~
              反正平时也不可能所有人都是1HP
              我也真是挺对付的呢…………


              IP属地:黑龙江7楼2019-03-17 11:03
              收起回复
                顶,谢谢大佬


                IP属地:安徽8楼2023-03-05 10:21
                回复
                  NoGameover.js(没有游戏结束.js)、NoGameover2.js这两个插件好像也可以。


                  IP属地:广东9楼2023-09-17 00:13
                  回复
                    在rpg_managers.js的第2691行左右
                    BattleManager.updateBattleEnd = function() {
                    if (this.isBattleTest()) {
                    AudioManager.stopBgm();
                    SceneManager.exit();
                    } else if (!this._escaped && $gameParty.isAllDead()) {
                    if (this._canLose) {
                    $gameParty.reviveBattleMembers();
                    SceneManager.pop();
                    } else {
                    $gameParty.reviveBattleMembers();//团灭后不结束游戏
                    SceneManager.pop();//添加此行,否则团灭后不能退出战斗
                    $gameTemp.reserveCommonEvent(8);//团灭后执行8号公共事件
                    }
                    } else {
                    SceneManager.pop();
                    }
                    this._phase = null;
                    };


                    IP属地:广西10楼2023-09-17 14:14
                    回复