| 
 
| 赞 | 8 |  
| VIP | 0 |  
| 好人卡 | 4 |  
| 积分 | 4 |  
| 经验 | 36501 |  
| 最后登录 | 2019-9-13 |  
| 在线时间 | 679 小时 |  
 Lv2.观梦者 
	梦石0 星屑440 在线时间679 小时注册时间2014-3-15帖子292 
 | 
| 
Yanfly的rowformation插件实现的是角色的位置以及位置附加的相应的状态。这跟真正的阵型系统还差了很远。所以,我打算利用YepCommonEvent
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  与rowformation来制作一个近似的阵型系统。
 首先是更改rowformation插件中角色位置的定义。rowformation默认给予了10个默认的位置。如果觉得不够可以自行在js文件添加。
 根据插件文件的定义我大概定义了以下位置,当然并不绝对
 1 4 7
 2 5 8 10   这样的话大体定义了角色的位置。
 3 6 9
 Row提供了更改队伍角色位置的命令 SetPartyRow n m。所以按照你定义的队形的位置,设置相应命令。利用一个变量来决定你的队伍采用的哪种阵型。
 在公共事件中,如下所示:
 common event的设置方法
 控制阵型变量设定值为X,值为你的阵型的编号
 SetPartyRow n m//如果1-4个人角色对应不同的位置请自行用分支控制来决定。
 然后是阵型对应状态,这个方法需要消耗不多于4*n的状态,然后自己计算相应的位置对应需要几个状态。利用 Custom Row Condition来判断。
 如1号阵型护卫阵型采用 1-10 2-2 3-4 4-6 的队形1号位速度-50%,防御力+30%,对应10号状态。2号阵型流星阵型采用 1- 2 2-5 3-8 4-10,4号魔攻力+10%,魔防力-10%,对应11号状态。变量1控制阵型系统。首先,在状态设置中,row10要附加10、11号状态,然后在10号状态下写下:
 <Custom Row Condition>
 if ($gameVariables.value(1) === 1) {
 condition = true;
 } else {
 condition = false;
 }
 </Custom Row Condition>
 在11号状态写下
 <Custom Row Condition>
 if ($gameVariables.value(1) === 2) {
 condition = true;
 } else {
 condition = false;
 }
 </Custom Row Condition>
 这样的话在阵型1中10号位中10号状态开启,11号状态关闭,阵型2中10号状态关闭,11号状态开启。从而实现阵型变化。
 最后,就是在组队中如果更改了队员顺序如何保持你的阵型仍然有效。所以这是我为何希望你用一个队伍管理系统的缘故,只要在退出队伍系统时执行相应的
 公共事件就可以了。以我美化的Yana插件为例子:
 找到退出时执行的命令
 Scene_Formation.prototype.returnScene = function() {
 this.popScene(this);
 };
 利用阵型变量的定义决定执行哪个阵型的公共事件,加上:
 var exitnum = $gameVariables.value(1);//1可以换成你定义的变量号
 $gameTemp.reserveCommonEvent(exitnum + 4); //在你的阵型的公共变量为连续的前提下,exitnum为你的第一个阵型公共事件号-1,结束。
 这就是大约的阵型系统的制作。当然在基本上所有阵型插件于Yanfly的插件冲突的问题下,这是一个可行的思路。
 | 
 |