ページ 11

[解決]敵からのカウンター攻撃で、敵事に技(魔法)を設定したい

Posted: 2016年9月04日(日) 00:42
by ミノン
 こんにちは。いつもお世話になっております。

 現在、ツクールMVにて以下のようなカウンタースキルを作っているのですが、とある部分で手詰まり感があるので、助けてください。

 仕様に関しては、以下の通りです。
  ・戦闘画面にて、敵からカウンター攻撃を受ける際に、敵事に指定したスキルを使う
   ※但し、Yanflyさんが作成したシステムは導入したくない。

 そのため、Yanflyさんが作成して下さったシステムを参考に、カウンター攻撃をするところまではたどり着いたのですが、スキルに紐づいているアニメーションが再生されないという現象になってしまっています。

 ソースコードを添付致しますので、お手数かと存じますが誰かお助け下さいですm(_ _)m

Re: 敵からのカウンター攻撃で、敵事に技(魔法)を設定したい

Posted: 2016年9月04日(日) 02:32
by 奏ねこま
43行目の「action.apply(subject);」の下に、
this._logWindow.push('showAnimation', target, [subject], action.item().animationId);
という1行を追加すると、表示されます。
なお、この記述の元はWindow_BattleLog.prototype.startActionにあります。参考までに。

ところで、こちらはもう解決されました?
http://tm.yumineko.com/viewtopic.php?f=23&t=1803

Re: 敵からのカウンター攻撃で、敵事に技(魔法)を設定したい

Posted: 2016年9月04日(日) 02:41
by 奏ねこま
本件とは関係ありませんが、1つ気になったので。
メモ欄には、

<COUNTER SKILLID>
16
</COUNTER SKILLID>

このように書くようになっていますが、これを

<COUNTER SKILLID:16>

このように書くようにすれば、プラグイン側で

this._enemyCounterSkillId = this.enemy().meta['COUNTER SKILLID'];

この1行だけでスキルIDを取得できます。
これはMVの仕様で、メモ欄の上記のような記述をmetaというオブジェクトに展開してくれるようになっているので、
わざわざnoteから解析して取得する必要はありません。

なお、COUNTER SKILLIDがメモ欄にない場合を考慮するなら、

this._enemyCounterSkillId = this.enemy().meta['COUNTER SKILLID'] || 0;

こうなります。
最後の「|| 0」というのは、「meta['COUNTER SKILLID']がnullやundefinedだったら0とする」という記述です。

以上、参考になりましたら幸いです。

Re: 敵からのカウンター攻撃で、敵事に技(魔法)を設定したい

Posted: 2016年9月04日(日) 12:41
by ミノン
>@こまさん
 ありがとうございますm(_ _)mおかげ様で、アニメーションを表示する事が出来ましたm(_ _)mまた、startActionの事を教えて下さりありがとうございました。

 更には、メモ欄に記載されているコードを簡単に読む方法を教えて下さりありがとうございました。Yanflyさんのソースコードを解析していても、どこでメモ欄に記載されているコードを読んでいるのか分からなくて苦戦していました。

 重ねてありがとうございましたm(_ _)m