Project1

标题: (伪)利用Yep插件来制作阵型系统。 [打印本页]

作者: sonicdonggua    时间: 2017-3-7 21:05
标题: (伪)利用Yep插件来制作阵型系统。
Yanfly的rowformation插件实现的是角色的位置以及位置附加的相应的状态。这跟真正的阵型系统还差了很远。所以,我打算利用YepCommonEvent
与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的插件冲突的问题下,这是一个可行的思路。
作者: sutao80216    时间: 2017-3-7 21:14
我记得YEP_RowFormation本身就内置了给某个row添加状态效果的功能。
作者: qq35566778    时间: 2017-3-14 22:13
楼主厉害,我只会公共事件,于是就用公共事件做了个根据队员位置添加buff的伪阵型,真心觉得很low,坐等楼主成果
作者: zhouhua2022    时间: 2022-7-6 15:32
6666666666




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