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

Project1

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

[有事请教] 如何让队伍里某个职业不能重复

[复制链接]

Lv1.梦旅人

梦石
0
星屑
207
在线时间
56 小时
注册时间
2019-1-29
帖子
30
跳转到指定楼层
1
发表于 2020-7-24 23:53:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
例如我做了个超级厉害的职业,为了平衡,我想让这种职业只能上场一个,不知道描述的能不能理解

Lv2.观梦者

梦石
0
星屑
913
在线时间
162 小时
注册时间
2019-4-18
帖子
38
2
发表于 2020-7-24 23:56:28 | 只看该作者
那你就做一个不厉害的职业,另一个人不是这个厉害的职业应该就行了吧?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3755
在线时间
1178 小时
注册时间
2016-8-9
帖子
2395

开拓者

3
发表于 2020-7-25 01:14:58 | 只看该作者
只允许一个角色转职为这个职业
酸酸甜甜就④哇噢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
207
在线时间
56 小时
注册时间
2019-1-29
帖子
30
4
 楼主| 发表于 2020-7-25 01:45:44 | 只看该作者
白嫩白嫩的 发表于 2020-7-25 01:14
只允许一个角色转职为这个职业

有N个角色是这个职业,但是我要只能上场一个。因为游戏系统设定需要
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1420
在线时间
159 小时
注册时间
2020-4-26
帖子
152
5
发表于 2020-7-25 09:38:02 | 只看该作者
用个上场队员管理的插件不知可否
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
395
在线时间
101 小时
注册时间
2009-2-3
帖子
318
6
发表于 2020-7-25 10:29:29 | 只看该作者
我曾经也遇到过一样的问题,也想过这个功能,不过最后也没想到好的解决办法
感谢还有你,Project1
回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

开拓者

7
发表于 2020-7-25 11:50:51 | 只看该作者
把下面的代码写入插件试试。
  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 截断它。
未测试

点评

缺点是,在菜单里调整了角色位置,会无效。  发表于 2020-7-25 11:59

评分

参与人数 1+1 收起 理由
白嫩白嫩的 + 1 666

查看全部评分

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

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36499
在线时间
10811 小时
注册时间
2009-3-15
帖子
4816
8
发表于 2020-7-25 16:26:55 | 只看该作者
我来组成头部...合体!
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36499
在线时间
10811 小时
注册时间
2009-3-15
帖子
4816
9
发表于 2020-7-25 16:29:52 | 只看该作者
本帖最后由 soulsaga 于 2020-7-25 16:45 编辑

有N个角色是这个职业,但是只能上场一个
那么多人都是这职业要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要要怎么判断上场哪一个..

点评

???  发表于 2020-7-25 16:53
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
207
在线时间
56 小时
注册时间
2019-1-29
帖子
30
10
 楼主| 发表于 2020-7-26 19:18:26 | 只看该作者
芯☆淡茹水 发表于 2020-7-25 11:50
把下面的代码写入插件试试。

这个估计实现不了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-5 09:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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