お世話になります。
現在、戦闘中で特定のアクターが特定のタイミングで通常の行動とは別にスキルを使用する、
という動作をさせようと考えています。
そこでYanfly様のBuff & States Coreプラグインを使用して、
ステートのメモ欄のスクリプトを処理する機能を利用し
各ターン終了時や一定ターン後といったタイミングで
イベントの戦闘行動の強制を起動してスキルを使用させようと思っていますが、
ステートがかかっているアクターのIDをうまく取得する事ができず
戦闘行動の強制を使用させることができません。
全てのアクターが使用する関係上、条件分岐では処理が大量になってしまうため
可能な限り処理の直前にアクターIDを取得する形にしたいのです。
アクターIDの取得方法、もしくは上記の動作の代替案があれば
ご教授頂けましたら幸いです。
よろしくお願い致します。
スクリプトでのスキル使用
Re: スクリプトでのスキル使用
まだ説明を整備していませんが、以下のプラグインで行えます。
説明は、こちらのスレにある程度書いてあります。
http://tm.yumineko.com/viewtopic.php?f=49&t=4192
intersectActorActionFromId()で、アクターにスキルを使わせることができます。
指定したスキルは可能な限り早いタイミングで実行されます。
数ターン後に使わせたい場合、コモンイベントで調整してください。
YEP系プラグインと一緒に使うと競合の可能性はありますが、可能な限り対応します。
コード: 全て選択
https://raw.githubusercontent.com/Sigureya/RPGmakerMV/master/Mano_AfterCounter.js
http://tm.yumineko.com/viewtopic.php?f=49&t=4192
intersectActorActionFromId()で、アクターにスキルを使わせることができます。
指定したスキルは可能な限り早いタイミングで実行されます。
数ターン後に使わせたい場合、コモンイベントで調整してください。
YEP系プラグインと一緒に使うと競合の可能性はありますが、可能な限り対応します。
現在、プラグイン依頼はお休み中です。
Re: スクリプトでのスキル使用
お世話になります。
プラグインのご提案ありがとうございます。
導入してみようとしましたが、
Error
Uncaught TypeError: Cannot read property 'length' of null
とエラーが表示され起動できませんでした。
他のプラグインを全てOFFにしましたが同様のエラーが表示されました。
新規プロジェクトを作成して使用した際は問題なく起動できましたのですが
エラーの原因はわかりませんでした。
プラグインのご提案ありがとうございます。
導入してみようとしましたが、
Error
Uncaught TypeError: Cannot read property 'length' of null
とエラーが表示され起動できませんでした。
他のプラグインを全てOFFにしましたが同様のエラーが表示されました。
新規プロジェクトを作成して使用した際は問題なく起動できましたのですが
エラーの原因はわかりませんでした。
Re: スクリプトでのスキル使用
そのエラーだけでは原因を特定できないので、
エラーを発生させた状況でF8を押して、スタックトレースをコピーしてください。
対応します。
(参考:http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30)
状況的に、既存プロジェクトのセーブデータを読み込んだものと思われますが、合ってますか?
エラーを発生させた状況でF8を押して、スタックトレースをコピーしてください。
対応します。
(参考:http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30)
状況的に、既存プロジェクトのセーブデータを読み込んだものと思われますが、合ってますか?
現在、プラグイン依頼はお休み中です。
Re: スクリプトでのスキル使用
お世話になります。
返信ありがとうございます。
情報不足ですみません。スタックトレースでの出力は以下になります。
認識の通り、作成中の既存プロジェクトに追加しています。
また、プロジェクトのコアスクリプトは最新のバージョンです。
お手数お掛けしますが、ご対応お願いします。
返信ありがとうございます。
情報不足ですみません。スタックトレースでの出力は以下になります。
認識の通り、作成中の既存プロジェクトに追加しています。
また、プロジェクトのコアスクリプトは最新のバージョンです。
お手数お掛けしますが、ご対応お願いします。
Re: スクリプトでのスキル使用
調べたところ、以下の個所が怪しいと判明しました。
setCounterTrait_ForObjectList()という関数を以下のように書き換えてください。
nullチェックを入れたので、これで落ちることはなくなると思います。
setCounterTrait_ForObjectList()という関数を以下のように書き換えてください。
nullチェックを入れたので、これで落ちることはなくなると思います。
コード: 全て選択
function setCounterTrait_ForObjectList(objList,intersect_type){
if(!objList){return;}
const len = objList.length;
for(var i =1; i< len;i+=1){
const obj = objList[i];
obj[intersect_type.targetMember]=after_counter.fetchIntersectTrait(obj,intersect_type);
}
}
現在、プラグイン依頼はお休み中です。
Re: スクリプトでのスキル使用
お世話になっております。
ご対応ありがとうございます。
テストしてみましたが今のところエラーは発生していないので
問題は解消されたと思います。
質問なのですが、intersectActorActionFromId()はどの箇所に記述すればよろしいのでしょうか?
また、ステートが発生したタイミングでスキルを発動させる事は可能でしょうか?
回答頂けたら幸いです。よろしくお願いします。
ご対応ありがとうございます。
テストしてみましたが今のところエラーは発生していないので
問題は解消されたと思います。
質問なのですが、intersectActorActionFromId()はどの箇所に記述すればよろしいのでしょうか?
また、ステートが発生したタイミングでスキルを発動させる事は可能でしょうか?
回答頂けたら幸いです。よろしくお願いします。
Re: スクリプトでのスキル使用
intersectActorActionFromId()は、コモンイベントを戦闘中に呼び出し、そこから使います。
intersectEnemyActionFromId()とほぼ同じです。(ActorとEnemyが違うだけ)
ステート発生時にスキルを呼び出すことも可能です。
コモンイベントからの指定方法は、以下の2つの書き込みに説明があります。
http://tm.yumineko.com/viewtopic.php?f= ... =10#p14870
http://tm.yumineko.com/viewtopic.php?f= ... =10#p14930
わからなかったら再度質問どうぞ。
intersectEnemyActionFromId()とほぼ同じです。(ActorとEnemyが違うだけ)
ステート発生時にスキルを呼び出すことも可能です。
コモンイベントからの指定方法は、以下の2つの書き込みに説明があります。
http://tm.yumineko.com/viewtopic.php?f= ... =10#p14870
http://tm.yumineko.com/viewtopic.php?f= ... =10#p14930
わからなかったら再度質問どうぞ。
現在、プラグイン依頼はお休み中です。
Re: スクリプトでのスキル使用
回答ありがとうございます。
色々と試してみます。
何かありましたらまた質問や報告をしたいと思いますので
よろしくお願いします。
色々と試してみます。
何かありましたらまた質問や報告をしたいと思いますので
よろしくお願いします。