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

Project1

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

[已经解决] 请问如何使新队友“插队”?

[复制链接]

Lv2.观梦者

梦石
0
星屑
434
在线时间
175 小时
注册时间
2013-11-2
帖子
131
跳转到指定楼层
1
发表于 2017-7-2 13:40:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 zy652301 于 2017-7-3 21:08 编辑

RMMV中以基本方式添加的队友只能显示在队末。
请提供【能在队伍中 任意位置 插入 任意角色】的脚本。

效果举例:
在队伍【安卡诺,本】中插入【菜菜子】在【1号/领队位置】
得出队伍【菜菜子,安卡诺,本】

自己已经总结出,有些麻烦但依然可行的方案。
【记录队员ID并删除插入处后面的全部队员,把新队员加进去,再通过记录的ID加入之前的全部队员。】
发布本帖的目的在于寻求更加简单可行的方案

***
*********************************

正解(by铅笔描绘的思念):
  1. $gameParty._actors.splice(插入位置,0,角色ID)   
  2. $gamePlayer.refresh();
  3. $gameMap.requestRefresh();</font>
复制代码


搜索是一件比发帖容易的事,因此我绝对是搜不到满意答案才来发帖的。

Lv2.观梦者

梦石
0
星屑
434
在线时间
175 小时
注册时间
2013-11-2
帖子
131
5
 楼主| 发表于 2017-7-3 20:26:37 | 只看该作者
铅笔描绘的思念 发表于 2017-7-3 13:44
$gameParty._actors.splice(1,0,3)
$gamePlayer.refresh();
$gameMap.requestRefresh();[/pre]

问题解决,感谢你。
搜索是一件比发帖容易的事,因此我绝对是搜不到满意答案才来发帖的。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

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

开拓者

4
发表于 2017-7-3 13:44:56 | 只看该作者
zy652301 发表于 2017-7-3 11:33
抱歉OTZ,不会脚本,看不懂。
能举个例子吗?
比如说【把ID为3的杰克插队到1号位】的脚本该怎么写。 ...

JAVASCRIPT 代码复制
  1. $gameParty._actors.splice(1,0,3)
  2. $gamePlayer.refresh();
  3. $gameMap.requestRefresh();
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
434
在线时间
175 小时
注册时间
2013-11-2
帖子
131
3
 楼主| 发表于 2017-7-3 11:33:09 | 只看该作者
铅笔描绘的思念 发表于 2017-7-2 15:15
其实对队员的操作通过Game_Interpreter找到
$gameParty.addActor(n);[/pre]
应该是添加队员

抱歉OTZ,不会脚本,看不懂。
能举个例子吗?
比如说【把ID为3的杰克插队到1号位】的脚本该怎么写。
搜索是一件比发帖容易的事,因此我绝对是搜不到满意答案才来发帖的。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

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

开拓者

2
发表于 2017-7-2 15:15:29 | 只看该作者
其实对队员的操作通过Game_Interpreter找到
JAVASCRIPT 代码复制
  1. $gameParty.addActor(n);

应该是添加队员
然后找打原文
JAVASCRIPT 代码复制
  1. Game_Party.prototype.addActor = function(actorId) {
  2.     if (!this._actors.contains(actorId)) {
  3.         this._actors.push(actorId);
  4.         $gamePlayer.refresh();
  5.         $gameMap.requestRefresh();
  6.     }
  7. };

然后看的出是往this._actors里push了一个actorId。。然后在游戏里F8呼出控制台输入$gameParty._actors看看是什么东西
出来的是
JAVASCRIPT 代码复制
  1. $gameParty._actors //=>[1,2,3,4]
正好是队伍里各个角色的位置
知道了这个想怎么改怎么改咯可以使用splice()操作
然后操作完就
JAVASCRIPT 代码复制
  1. $gamePlayer.refresh();
  2.         $gameMap.requestRefresh();
刷新下
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-10 18:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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