ページ 1 / 1
【解決済】 移動中にスキルを強制実行
Posted: 2024年9月19日(木) 21:16
by けいのすけ
いつもお世話になってます。
表題の件ですが戦闘中ではなく移動中にスキルを実行させる方法があれば教えて下さい。
スキルを覚えているか?スキルを使える状態か?などの条件分岐は戦闘中と同じスクリプトで行けるようですが戦闘行動の強制は文字通り戦闘中にしか実行出来ないようなので。
メッセージと効果音SEの設定で疑似的にスキルを使った表現は出来るのですがスキルの効果の表現が多岐に渡ってしまうので可能であれば移動中のスキルを実行したいと考えております。
一応考えているのはスキル使用者、スキル対象者はパーティメンバーの中だけでトループIDでそれぞれ指定するつもりです。
どうぞよろしくお願いいたします。
Re: 移動中にスキルを強制実行
Posted: 2024年9月23日(月) 19:46
by ムノクラ
けいのすけ さんが書きました:いつもお世話になってます。
表題の件ですが戦闘中ではなく移動中にスキルを実行させる方法があれば教えて下さい。
スキルを覚えているか?スキルを使える状態か?などの条件分岐は戦闘中と同じスクリプトで行けるようですが戦闘行動の強制は文字通り戦闘中にしか実行出来ないようなので。
メッセージと効果音SEの設定で疑似的にスキルを使った表現は出来るのですがスキルの効果の表現が多岐に渡ってしまうので可能であれば移動中のスキルを実行したいと考えております。
一応考えているのはスキル使用者、スキル対象者はパーティメンバーの中だけでトループIDでそれぞれ指定するつもりです。
どうぞよろしくお願いいたします。
リクエストを整理してみたのですが、擬似的に実現した方法が分からず、最終的に何がしたいのか微妙に分かりません。
(適当な敵グループを使って戦闘行動の強制を行った?)
以下、整理した内容ですが、合っているでしょうか?
疑問点が多く、返答に困っています。
1. やりたい事(こうすれば出来ると思っていること?)
- マップ画面でスキル行動の強制を実行したい。
- スキル使用者、スキル対象者はパーティメンバーの中のみ。
2. 試して分かっていること
-下記の条件分岐は戦闘中と同じスクリプトで実現可能。
-- スキルを覚えているか?
-- スキルを使える状態か?
- メッセージと効果音SEの設定で疑似的にスキルを使った表現は出来る。
- トループIDで指定?
3. 困っていること
- スキルの効果の表現が多岐に渡ってしまう。
- 擬似的な表現のため、移動中のスキルを実行はできていない?
4. リクエスト内の疑問点
- マップ画面でアクター(別必須?ランダム等、どこまで指定したい?)がアクター(別必須?ランダム等、どこまで指定したい?)にメニュー画面でのみ使用できるスキルを使用させたい。
- 擬似的に表現させたのは、アニメーション表示とメッセージを使用?
- トループIDで指定は必要?理由不明?
5.できれば公開して欲しいこと
既に実現できている方法(イベント、スクリプトほか)をここに載せてください。
何がしたいのか、伝わりやすいと思いますし、もしかしたら簡単な解決策があるかもしれません。
余計なこと
回答を得やすい質問の書き方
https://fungamemake.com/archives/8079
Re: 移動中にスキルを強制実行
Posted: 2024年9月24日(火) 19:07
by けいのすけ
ムノクラ様こんにちは。
いつもいろんな所で拝見させて頂いて助かってます。
えーっと表題の件、説明が的を得ていなかったようですみません。
やりたい事はドラクエのまんたんコマンドの再現です。
コマンドひとつで自動的にパーティメンバーの誰かが使えるスキルの内、最適なものを使用して(コストの許す限り)パーティ全員を治療、回復させるものです。
パーティ内の行動可能なメンバーで現状のパーティに必要な回復スキルを持っているか?とか必要コストは備わっているか?などは条件分岐で作れるのですが最終的にスキルそのものを実行する手段が分からなかったのです。
「パーティメンバーAがメンバーBにスキル1を実行(戦闘中ではなく移動中に)」のスクリプトが知りたい、です。
こんな感じの説明で分かりますか?
Re: 移動中にスキルを強制実行
Posted: 2024年9月24日(火) 19:10
by ムノクラ
けいのすけ さんが書きました:ムノクラ様こんにちは。
いつもいろんな所で拝見させて頂いて助かってます。
えーっと表題の件、説明が的を得ていなかったようですみません。
やりたい事はドラクエのまんたんコマンドの再現です。
コマンドひとつで自動的にパーティメンバーの誰かが使えるスキルの内、最適なものを使用して(コストの許す限り)パーティ全員を治療、回復させるものです。
パーティ内の行動可能なメンバーで現状のパーティに必要な回復スキルを持っているか?とか必要コストは備わっているか?などは条件分岐で作れるのですが最終的にスキルそのものを実行する手段が分からなかったのです。
「パーティメンバーAがメンバーBにスキル1を実行(戦闘中ではなく移動中に)」のスクリプトが知りたい、です。
こんな感じの説明で分かりますか?
それなら、苦労しなくても先人のプラグインがあります。
▼自動回復コマンド(まんたん)を実現(砂川赳様作) - NRP_AutoHeal.js
https://plugin-mz.fungamemake.com/archives/2308
自動回復コマンドを実現します。いわゆるドラクエのまんたんコマンドです。メニュー画面などから実行すると、パーティメンバーがスキルを自動的に使用して回復してくれます。
それとも、自作したいですか?
Re: 移動中にスキルを強制実行
Posted: 2024年9月24日(火) 19:34
by けいのすけ
該当するプラグインがいくつかあるのは承知しているのですが条件分岐とスクリプトで再現できるならその方が良いと考えています。
スキルの使用ルールとか制限とかの設定も自分で組みやすいので。
勿論、どうにもならない事の再現で既にたくさんのプラグインを利用させて頂いてる身ですが。
現状ではスキル使用者の状態、使用コストなどを分岐で調べてメッセージ + アニメーションでスキルを使ったように表現しています。
これを疑似的な再現と言ったのですが、スクリプトでスキルを実行できるならその方がいいかな?と考えたわけです。
Re: 移動中にスキルを強制実行
Posted: 2024年9月24日(火) 21:08
by ムノクラ
けいのすけ さんが書きました:該当するプラグインがいくつかあるのは承知しているのですが条件分岐とスクリプトで再現できるならその方が良いと考えています。
スキルの使用ルールとか制限とかの設定も自分で組みやすいので。
勿論、どうにもならない事の再現で既にたくさんのプラグインを利用させて頂いてる身ですが。
現状ではスキル使用者の状態、使用コストなどを分岐で調べてメッセージ + アニメーションでスキルを使ったように表現しています。
これを疑似的な再現と言ったのですが、スクリプトでスキルを実行できるならその方がいいかな?と考えたわけです。
つまり「トループIDでそれぞれ指定する」というのは、想像の中で必要な情報と勘違いしたということでしょうか?
自作したいのであれば、既存プラグインの解析が近道と思います。
幸い、先のプラグインはコメントを細かく書いてくださっているので、ここがキモでは?と思われる箇所に見当がつけやすそうです。
https://raw.githubusercontent.com/NewRP ... utoHeal.js
コード: 全て選択
/**
* ●回復効果の反映
*/
function applySkill(user, skill, target)
これ以降のスクリプトを読んでいけば、必要なスクリプトの規模の感覚が分かってくると思います。
「マップ画面でアクターがアクターにスキルを強制実行するプラグインコマンドを追加するプラグイン」が必要になると思います。
自分が作るには相当時間がかかりそうです。
Re: 移動中にスキルを強制実行
Posted: 2024年9月26日(木) 20:38
by 名無し蛙
けいのすけ さんが書きました:「パーティメンバーAがメンバーBにスキル1を実行(戦闘中ではなく移動中に)」のスクリプトが知りたい、です。
これ自体は大して難しくないです。
コード: 全て選択
// メンバーA
const member1 = $gameParty.members()[0];
// メンバーB
const member2 = $gameParty.members()[1];
// スキル
const skill = $dataSkills[52];
とした場合
コード: 全て選択
// 使用者へのフィードバック(MP消費等)
member1.useItem(skill);
// 対象者への効果適用(HP回復等)
const action = new Game_Action(member1);
action.setItemObject(skill);
action.apply(member2);
で実現出来ます。ただしここから
・対象範囲(全体化等)に応じて対象者を増やす
・連続回数に応じて使用回数を増やす
・コストが足りない場合は使用をキャンセルする
・使用演出の追加(SEやアニメーション等)
・対象者が全滅した場合ゲームオーバーに移行する
・コモンイベントが設定されていた場合コモンイベントに移行する
などを考慮し始めるとそれに比例してコードが煩雑になっていきます。
必要に応じて最小限の実装をした方が良いでしょう。
Re: 移動中にスキルを強制実行
Posted: 2024年9月26日(木) 21:55
by けいのすけ
名無し蛙様ありがとうございます!
まさにコレが欲しかったものです。
ムノクラ様もご返答ありがとうございました。
追記
一応書いておきますと習得の有無、対象範囲、コストなどの使用条件的なものは条件分岐で判定して「使える状態」まで進んだ状態で「後は実際にスキルを実行したい」だけ、というのが今回の質問の主旨です。
(※それが出来ないならSEやメッセージなどで疑似的にスキルを使ったように見せる事は可能)
「移動中にスキルを実行する」スクリプトが知りたい、という事を簡潔に書いたつもりだったのですが考えを相手に伝えるのは難しいですね。
お二方本当にありがとうございました。