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

Project1

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

[已经过期] 如何修改这个脚本(已解决)

[复制链接]

Lv4.逐梦者

梦石
10
星屑
7660
在线时间
688 小时
注册时间
2017-1-9
帖子
634

我没有哭开拓者

跳转到指定楼层
1
发表于 2017-9-21 22:55:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 世界第一中二 于 2017-9-22 22:03 编辑
  1. (function () {
  2.         var new_levelUp = Game_Actor.prototype.levelUp;
  3.         Game_Actor.prototype.levelUp = function() {
  4.                 new_levelUp.call(this);
  5.                 if(this._actorId === 1){ //←这里的数字 => 数据库人物id
  6.                         $gameTemp.reserveCommonEvent(1); //←这里的数字 => 公共事件id
  7.                 }
  8.         };
  9. }())();
复制代码

这个脚本是之前我的问题中【铅笔描绘的思念】大佬给我的解答,效果是当1号人物升级时执行1号公共事件。
现在我想普及这个系统,需要的效果是1号人物升级时执行1号公共事件,2号人物升级时执行2号公共事件,三号和四号同理(因为总共有四个角色)。
但是单纯的复制粘贴这一脚本,会导致在两个人物同时升级时在下面的脚本的效果覆盖上一脚本
我想要脚本能在战斗结束时分别判断不同人物是否升级,然后按照序号执行各自的公共事件。
但是作为脚本盲不知道应该怎么改……(哇的一声哭出来)
只能寻求各位dalao的帮忙了……新人才用mv没几天QvQ。

恳求各位大佬的帮忙!
这个B天天摸鱼,快点来个谁把他从被窝里拖出来

Lv3.寻梦者

梦石
0
星屑
1369
在线时间
962 小时
注册时间
2012-4-30
帖子
1475

开拓者

2
发表于 2017-9-21 23:12:48 | 只看该作者
本帖最后由 铅笔描绘的思念 于 2017-9-21 23:16 编辑

原贴评论问下就好了。。

其实很简单的修改下就好了。。
如果有想学习JS的想法的话。。w3school JavaScript Switch 语句这部分就能达到要求

想好要不要看

点评

人物同时升级的情况,后面的公共事件会把前面的顶替掉,同时只有一个事件执行……这个怎么解决啊大佬  发表于 2017-9-22 11:54
当然其实if……else也ok的啦  发表于 2017-9-21 23:17
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33369
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

3
发表于 2017-9-22 14:35:52 | 只看该作者
本帖最后由 芯☆淡茹水 于 2017-9-22 15:12 编辑

我是来搞笑的。

JAVASCRIPT 代码复制
  1. (function () {
  2.      var new_levelUp = Game_Actor.prototype.levelUp;
  3.      Game_Actor.prototype.levelUp = function() {
  4.              new_levelUp.call(this);
  5.              $gameTemp.reserveCommonEvent(this._actorId);
  6.      };
  7. }())();



才发现后面的公共事件会覆盖掉以前的,这样就行了:

JAVASCRIPT 代码复制
  1. (function () {
  2. Game_System.prototype.commonEventData = function() {
  3.     return this._commonEventData || [];
  4. };
  5. Game_System.prototype.addEventData = function(id) {
  6.     this._commonEventData = this._commonEventData || [];
  7.     this._commonEventData.push(id);
  8. };
  9. var new_levelUp = Game_Actor.prototype.levelUp;
  10. Game_Actor.prototype.levelUp = function() {
  11.      new_levelUp.call(this);
  12.      if (this._actorId < 5) $gameSystem.addEventData(this._actorId);
  13. };
  14. Game_Interpreter.prototype.setupReservedCommonEvent = function() {
  15.     if ($gameTemp.isCommonEventReserved()) {
  16.         this.setup($gameTemp.reservedCommonEvent().list);
  17.         $gameTemp.clearCommonEvent();
  18.         return true;
  19.     } else {
  20.         //--------------------------------------------------------
  21.         if (!this.isRunning()) {
  22.             if ($gameSystem.commonEventData().length > 0){
  23.                 var evId = $gameSystem.commonEventData().shift();
  24.                 $gameTemp.reserveCommonEvent(evId);
  25.             }
  26.         }
  27.         //--------------------------------------------------------
  28.         return false;
  29.     }
  30. };
  31. }())();

点评

谢谢两位大佬的帮助,问题完美解决。 编程语言我也会努力学习的,即使6r不再,我热爱rpg的❤也永远不变!  发表于 2017-9-22 20:38

评分

参与人数 2星屑 +30 收起 理由
世界第一中二 + 10 我很赞同
铅笔描绘的思念 + 20 我很赞同

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-2 17:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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