Project1

标题: 判断人物在队伍中的顺序 [打印本页]

作者: magicater    时间: 2017-11-29 10:09
标题: 判断人物在队伍中的顺序
各位好!
最近在尝试制作MV游戏。现在头疼如何取得某个角色在队伍中的顺序。
翻看了论坛很多帖子,也上百度查了很久都没有得到解答。
基本上只能看到有方法取得队伍中第几个跟随的角色的ID是多少,但是相反的,我知道角色的ID,却无法得到该角色在队伍中是第几个跟随的。
所以发帖求助,希望大大们能抽空解答。
谢谢!

作者: Fan723    时间: 2017-11-29 10:40
有这功能我也想学,我用的是轮流切换角色模式,就是角色排队顺序不变,不能随意对调的那种,
$gameParty._actors.push($gameParty._actors.shift())切换一次队首自动排到队尾,排第二的顶上,
然后我在切换角色的插件中自定义一个变量i,开始附值为 i=0,在切换角色后自动 i-=1,
当这个变量 i<0 时重新附值队伍总人数 i=$gameParty.aliveMembers().length-1,
然后用 $gameParty.members()[i] 获取这个角色。
这是我的笨办法,不知道能不能帮得上忙。
作者: magicater    时间: 2017-11-29 10:52
Fan723 发表于 2017-11-29 10:40
有这功能我也想学,我用的是轮流切换角色模式,就是角色排队顺序不变,不能随意对调的那种,
$gameParty._a ...

感谢回答。这个方法比较有效,但是局限性很多。
我所不明白的是,我看了你的另一个帖子https://rpg.blue/thread-404172-1-1.html
最后有个命令$gameParty._actors[0]
我测试了一下,当传入的数据是人物的跟随数字的话,能够反馈该跟随人物的角色ID。这就说明mv能够判断队伍中跟随的人是哪个角色。既然存放了跟随人物与角色id的对应关系,那么为什么相反根据角色id来反馈该角色在队伍中的位置缺没有函数可用呢?我看了下帮助文档的js库,貌似没有可用的命令,不知道你们这些命令在哪里查呢?
作者: soulsaga    时间: 2017-11-29 11:17
for (var i = 0; i < $gameParty._actors; i++) {
switch ($gameParty._actors[i]) {
case 1
var actors1 = i
case 2
var actors2 = i
case 3
var actors3 = i
}

这样行不行?
作者: 芯☆淡茹水    时间: 2017-11-29 12:12
比如数据库 1 号角色在队伍里的位置:
$gameActors.actor(1).index()

如果是 0 ,表示在第一个位置; 1 表示在第二个,,,以此类推
-1 表示没有在队伍里
作者: yang1zhi    时间: 2017-11-29 12:14
本帖最后由 yang1zhi 于 2017-11-29 12:18 编辑
  1. for (var i = 0; i < $gameParty._actors.length; i++) {
  2. if ($gameParty._actors[i]=== 你知道的id) { 那么这个I就是队伍内的顺序 }
  3. }
复制代码



作者: magicater    时间: 2017-11-29 13:44
芯☆淡茹水 发表于 2017-11-29 12:12
比如数据库 1 号角色在队伍里的位置:
$gameActors.actor(1).index()

十分感谢!经测试完全可以!




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