Project1

标题: 如何让队伍里某个职业不能重复 [打印本页]

作者: qq135316    时间: 2020-7-24 23:53
标题: 如何让队伍里某个职业不能重复
例如我做了个超级厉害的职业,为了平衡,我想让这种职业只能上场一个,不知道描述的能不能理解
作者: 远去之情    时间: 2020-7-24 23:56
那你就做一个不厉害的职业,另一个人不是这个厉害的职业应该就行了吧?
作者: 白嫩白嫩的    时间: 2020-7-25 01:14
只允许一个角色转职为这个职业
作者: qq135316    时间: 2020-7-25 01:45
白嫩白嫩的 发表于 2020-7-25 01:14
只允许一个角色转职为这个职业

有N个角色是这个职业,但是我要只能上场一个。因为游戏系统设定需要
作者: moonyoulove    时间: 2020-7-25 09:38
用个上场队员管理的插件不知可否
作者: wxx45600    时间: 2020-7-25 10:29
我曾经也遇到过一样的问题,也想过这个功能,不过最后也没想到好的解决办法
作者: 芯☆淡茹水    时间: 2020-7-25 11:50
把下面的代码写入插件试试。
  1. Game_Party.StrongClassId = 10;
  2. var XR_StrongClass_Game_Party_addActor = Game_Party.prototype.addActor;
  3. Game_Party.prototype.addActor = function(actorId) {
  4.     var result = !this._actors.contains(actorId);
  5.     XR_StrongClass_Game_Party_addActor.call(this, actorId);
  6.     result && this.sortStrongClass();
  7. };
  8. Game_Party.prototype.sortStrongClass = function() {
  9.     var arr = this._actors.filter(function(id){
  10.         return $gameActors.actor(id).currentClass().id === Game_Party.StrongClassId;
  11.     });
  12.     if (arr.length > 0) {
  13.         var arr2 = this._actors.filter(function(id){ return !arr.contains(id); });
  14.         shiftId = arr.shift();
  15.         this._actors = [shiftId].concat(arr2, arr);
  16.     }
  17. };
  18. var XR_StrongClass_Game_Party_maxBattleMembers = Game_Party.prototype.maxBattleMembers;
  19. Game_Party.prototype.maxBattleMembers = function() {
  20.     var max = XR_StrongClass_Game_Party_maxBattleMembers.call(this);
  21.     var index = this._actors.length;
  22.     for (var i=1;i<this._actors.length;++i) {
  23.         var actor = $gameActors.actor(this._actors[i]);
  24.         if (actor.currentClass().id === Game_Party.StrongClassId) {
  25.             index = i;
  26.             break;
  27.         }
  28.     }
  29.     return Math.min(max, index);
  30. };
复制代码


预设的厉害职业ID为 10 ,将 Game_Party.StrongClassId = 10  改成你的厉害的职业ID。
构思是将 第一个厉害职业角色 排在首位,中间是其他职业角色,最后是剩下的 厉害职业角色 。
然后在 maxBattleMembers 截断它。
未测试
作者: soulsaga    时间: 2020-7-25 16:26
我来组成头部...合体!
作者: soulsaga    时间: 2020-7-25 16:29
本帖最后由 soulsaga 于 2020-7-25 16:45 编辑

有N个角色是这个职业,但是只能上场一个
那么多人都是这职业要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要怎么判断上场哪一个..
作者: qq135316    时间: 2020-7-26 19:18
芯☆淡茹水 发表于 2020-7-25 11:50
把下面的代码写入插件试试。

这个估计实现不了
作者: qq135316    时间: 2020-7-26 19:20
芯☆淡茹水 发表于 2020-7-25 11:50
把下面的代码写入插件试试。

比如,我人物槽固定3个位置,两个是人物,另一个是佣兵,我把佣兵做成职业,这样的话 就能固定每个佣兵的特点以及属性,我不想让玩家去自定义一个佣兵 大概这个意思




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