敵が1キャラにつき任意のひとつのヒントメッセージをもっていて、戦闘時にプレイヤーのスキルやアイテムで
そのヒントを表示させるようなゲームをつくりたいのですが、なにか方法はありますでしょうか。
敵の個別メモ欄にヒントメッセージを記述して、それを表示させるスキルと対応させるイメージです。
いろんなプラグインを探したり試したりしてみたのですが、実現できそうなものがありません。
よろしくお願いいたします。
【解決済み】敵がメッセージを持っていて、それを表示する機能
【解決済み】敵がメッセージを持っていて、それを表示する機能
最後に編集したユーザー ランダム [ 2024年8月14日(水) 21:28 ], 累計 1 回
Re: 敵がメッセージを持っていて、それを表示する機能
スキルやアイテムからコモンイベントを呼び出し、コモンイベントで以下のような処理を記述すれば、文章の表示コマンドにてメモ欄情報を表示できると思います。
以下の例の場合、メモ欄のタグは <敵情報> です。
スクリプト部
スクリプトの解説が必要な場合はその旨お知らせください。
以下の例の場合、メモ欄のタグは <敵情報> です。
コード: 全て選択
◆変数の操作:#0021 しらべる 敵index = 直前に対象となった敵キャラのインデックス
◆スクリプト:const インデックス = $gameVariables.value(21) - 1;
: :const 敵データ = $gameTroop.members()[インデックス].enemy();
: :const テキスト = 敵データ.meta["敵情報"];
: :$gameVariables.setValue(22, テキスト);
◆文章:なし, なし, ウィンドウ, 下
: :これが\V[21]のデータだ!!
: :\V[22]
コード: 全て選択
const インデックス = $gameVariables.value(21) - 1;
const 敵データ = $gameTroop.members()[インデックス].enemy();
const テキスト = 敵データ.meta["敵情報"];
$gameVariables.setValue(22, テキスト);
▼だいたいTwitterにいます。たぶん。
https://twitter.com/kuroudo119
https://twitter.com/kuroudo119
Re: 敵がメッセージを持っていて、それを表示する機能
回答くださり本当にありがとうございます。
今現在いろいろ試しているのですが、
TypeError Cannot read property 'enemy' of undefined
とでてしまいます。
初心者の返信で申し訳ありません。
-1の部分を0にしたらエラーはなくなりましたが、「0は0だ」となりました。
今現在いろいろ試しているのですが、
TypeError Cannot read property 'enemy' of undefined
とでてしまいます。
初心者の返信で申し訳ありません。
-1の部分を0にしたらエラーはなくなりましたが、「0は0だ」となりました。
Re: 敵がメッセージを持っていて、それを表示する機能
どうやらこちらの環境と挙動が違うようなので、まずは、使用しているプラグインを全てOFFにするか、新規プロジェクトで動作確認してもらってもよろしいでしょうか?
『いろいろ』では分からないので試したことを全て列挙してもらってもよろしいでしょうか?今現在いろいろ試しているのですが、
TypeError Cannot read property 'enemy' of undefined
とでてしまいます。
いつどこの何がこうなったのか記述してもらってもよろしいでしょうか?「0は0だ」となりました。
▼だいたいTwitterにいます。たぶん。
https://twitter.com/kuroudo119
https://twitter.com/kuroudo119
Re: 敵がメッセージを持っていて、それを表示する機能
補足させていただきます。くろうど さんが書きました:スキルやアイテムからコモンイベントを呼び出し、コモンイベントで以下のような処理を記述すれば、文章の表示コマンドにてメモ欄情報を表示できると思います。
以下の例の場合、メモ欄のタグは <敵情報> です。
スクリプト部コード: 全て選択
◆変数の操作:#0021 しらべる 敵index = 直前に対象となった敵キャラのインデックス ◆スクリプト:const インデックス = $gameVariables.value(21) - 1; : :const 敵データ = $gameTroop.members()[インデックス].enemy(); : :const テキスト = 敵データ.meta["敵情報"]; : :$gameVariables.setValue(22, テキスト); ◆文章:なし, なし, ウィンドウ, 下 : :これが\V[21]のデータだ!! : :\V[22]
スクリプトの解説が必要な場合はその旨お知らせください。コード: 全て選択
const インデックス = $gameVariables.value(21) - 1; const 敵データ = $gameTroop.members()[インデックス].enemy(); const テキスト = 敵データ.meta["敵情報"]; $gameVariables.setValue(22, テキスト);
メモ欄のタグは
<敵情報:SampleText>
というように記述します。
< > : は半角を使用してください。
SampleTextの部分は、普通の日本語で表示したいテキストを記入してください。
ここがないと、metaが取得できるのはタグの有無だけになってしまいます。
- 1 は必要な処理なので、変更しないでください。
なお、1ターン目で実行すると下記のエラーになります。
コード: 全て選択
rmmz_managers.js:2036 TypeError: Cannot read property 'enemy' of undefined
at eval (eval at Game_Interpreter.command355 (rmmz_objects.js:11296), <anonymous>:3:42)
at Game_Interpreter.command355 (rmmz_objects.js:11296)
at Game_Interpreter.executeCommand (rmmz_objects.js:9658)
at Game_Interpreter.update (rmmz_objects.js:9563)
at Game_Troop.updateInterpreter (rmmz_objects.js:5876)
at Function.BattleManager.updateEventMain (rmmz_managers.js:2385)
at Function.BattleManager.updateEvent (rmmz_managers.js:2378)
at Function.BattleManager.update (rmmz_managers.js:2341)
at Scene_Battle.updateBattleProcess (rmmz_scenes.js:3090)
at Scene_Battle.update (rmmz_scenes.js:3077)
リードの強撃を使用してください。
- 添付ファイル
-
sample.zip
- (38.45 KiB) ダウンロード数: 3 回
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
-
- 記事: 715
- 登録日時: 2018年12月23日(日) 13:55
Re: 敵がメッセージを持っていて、それを表示する機能
こんにちは。
なんだか紛糾しそうな感じもあるので、
プラグインコマンドで表示できる形にしてみました。 設定例です。 まず、敵の思考を画像の①ように設定してください。
<ET_思考:文字列> もしくは、 <ET_Thought:文字列> で設定します。
文字列は、途中で改行してかまいません。
また、イベントコマンドの『文章の表示』と同様に制御文字が使用できます。
メッセージに顔を表示したい場合は、
<ET_顔画像:顔画像ファイル名, インデックス>
もしくは、
<ET_FaceSettings:顔画像ファイル名, インデックス>
で、顔画像の表示設定を行ってください。
img/faces/ フォルダのファイル名を指定してください。拡張子は不要です。
インデックスは通常、左上から 右方向に 0, 1, 2, ... と続き、右下が 7 です。
次に、コモンイベントを画像の②のように設定してください。
プラグインコマンドを呼ぶだけです。
引数としてパラメータが二つあります。
パラメータの説明を読んで設定してください。
通常のメッセージと同じ表示で良ければ、何も変更せず、そのままの値で大丈夫です。
最後に、思考を表示するスキルで、先程作成した、コモンイベントを呼び出すように設定してください。(画像の⓷)
ダメージの設定が無く、使用効果にコモンイベントの呼び出しのみ設定されている場合に、
効果が無かった という表示がされてしまうので、ダミーのステートを用意し、
付与と解除を設定してください。(同時に設定して大丈夫です)
以上の設定をし、戦闘で、スキルを使用すると 画像のような表示がされると思います。
(設定例の画像通りに作ると画面中央にメッセージウィンドウが表示されるようになってます。
デフォルトのままいじらなければ、画面下に表示されます。)
後の細かい部分は、プラグインのヘルプをご参照ください。
以上、ご確認ください。
なんだか紛糾しそうな感じもあるので、
プラグインコマンドで表示できる形にしてみました。 設定例です。 まず、敵の思考を画像の①ように設定してください。
<ET_思考:文字列> もしくは、 <ET_Thought:文字列> で設定します。
文字列は、途中で改行してかまいません。
また、イベントコマンドの『文章の表示』と同様に制御文字が使用できます。
メッセージに顔を表示したい場合は、
<ET_顔画像:顔画像ファイル名, インデックス>
もしくは、
<ET_FaceSettings:顔画像ファイル名, インデックス>
で、顔画像の表示設定を行ってください。
img/faces/ フォルダのファイル名を指定してください。拡張子は不要です。
インデックスは通常、左上から 右方向に 0, 1, 2, ... と続き、右下が 7 です。
次に、コモンイベントを画像の②のように設定してください。
プラグインコマンドを呼ぶだけです。
引数としてパラメータが二つあります。
パラメータの説明を読んで設定してください。
通常のメッセージと同じ表示で良ければ、何も変更せず、そのままの値で大丈夫です。
最後に、思考を表示するスキルで、先程作成した、コモンイベントを呼び出すように設定してください。(画像の⓷)
ダメージの設定が無く、使用効果にコモンイベントの呼び出しのみ設定されている場合に、
効果が無かった という表示がされてしまうので、ダミーのステートを用意し、
付与と解除を設定してください。(同時に設定して大丈夫です)
以上の設定をし、戦闘で、スキルを使用すると 画像のような表示がされると思います。
(設定例の画像通りに作ると画面中央にメッセージウィンドウが表示されるようになってます。
デフォルトのままいじらなければ、画面下に表示されます。)
後の細かい部分は、プラグインのヘルプをご参照ください。
以上、ご確認ください。
Re: 敵がメッセージを持っていて、それを表示する機能
皆様、丁寧に解説いただき本当にありがとうございます。
くろうど様
回答の際、こちらの環境や手法を十分に説明できずご迷惑おかけいたしました。
その後、自分の設定ミスがあったこともエラーの原因とわかりました。
(スキル対象者を敵単体にしていなかった)
ご迷惑お手間をおかけして本当にすみませんでした。
ムノクラ様
丁寧に解説いただき本当にありがとうございます。
メモのタグの描き方など再度確認することができましたことと
スクリプトを素人がいじることはエラーにつながることも再認識いたしました。
ecf5DTTzl6h6lJj02様
お忙しい中プラグインを作成いただき本当にありがとうございました。
プラグインは、完全に自分の希望どおりのうごきでした。
ウィンドウ位置調節までできるようになっていて本当に助かります。
解決済みにさせていただきます。
皆様本当にありがとうございました。
くろうど様
回答の際、こちらの環境や手法を十分に説明できずご迷惑おかけいたしました。
その後、自分の設定ミスがあったこともエラーの原因とわかりました。
(スキル対象者を敵単体にしていなかった)
ご迷惑お手間をおかけして本当にすみませんでした。
ムノクラ様
丁寧に解説いただき本当にありがとうございます。
メモのタグの描き方など再度確認することができましたことと
スクリプトを素人がいじることはエラーにつながることも再認識いたしました。
ecf5DTTzl6h6lJj02様
お忙しい中プラグインを作成いただき本当にありがとうございました。
プラグインは、完全に自分の希望どおりのうごきでした。
ウィンドウ位置調節までできるようになっていて本当に助かります。
解決済みにさせていただきます。
皆様本当にありがとうございました。