例えば、プレイヤーが敵に対して
「パンチ」を使用したとします。
すると
・●●は敵1にパンチした!
・80のダメージを与えた!
など、表示されると思います。
その後で
-----------------------------------------------------
(敵1の場合)
敵1
なかなか、やるな。
だがまだ、拳が軽い!
-----------------------------------------------------
(敵2の場合)
敵2
ふっ
この程度か?
-----------------------------------------------------
と、スキルを使った対象者名も表記させながら
対象者によって異なるメッセージを
表示したいと思います。
メッセージだけであれば
コモンイベントの「文章の表示」で可能ですが
対象者を判別するとなると
どうすればいいか、難しい所です。
分かる方、いらっしゃいましたら
どうぞ、よろしくお願い致します。
RPGツクールvxace スキルを使用された対象者別にメッセージを表示する方法
Re: RPGツクールvxace スキルを使用された対象者別にメッセージを表示する方法
こんばんは。
星潟様「行動者・対象者ID・使用スキル/アイテムID変数格納」を使用すると、
指定した変数に敵のグループ内の順番を取得できます。
デフォルトでは変数52番が指定されているので、それを前提に話を進めます。
これを少し加工すると、指定した敵の名前を取得できます。
イベントコマンドの「変数の操作」には「スクリプト」があり、
これを使うことで任意のデータを変数に代入することができます。この「$game_variables[52]」というのが「変数52番」なので、
対象者IDを格納する変数番号を変える場合はここも変更してください。
あとは\V[n](変数を表示する制御文字)で「おなまえ」を指定すれば、
「おなまえ」の中身、すなわち「対象の敵の名前」を表示することができます。
これをコモンイベントで行えばお望みの結果が得られるのではないでしょうか。
星潟様「行動者・対象者ID・使用スキル/アイテムID変数格納」を使用すると、
指定した変数に敵のグループ内の順番を取得できます。
デフォルトでは変数52番が指定されているので、それを前提に話を進めます。
これを少し加工すると、指定した敵の名前を取得できます。
イベントコマンドの「変数の操作」には「スクリプト」があり、
これを使うことで任意のデータを変数に代入することができます。
コード: 全て選択
変数の操作:おなまえ = $game_troop.members[$game_variables[52] * -1].name
対象者IDを格納する変数番号を変える場合はここも変更してください。
あとは\V[n](変数を表示する制御文字)で「おなまえ」を指定すれば、
「おなまえ」の中身、すなわち「対象の敵の名前」を表示することができます。
これをコモンイベントで行えばお望みの結果が得られるのではないでしょうか。
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
Re: RPGツクールvxace スキルを使用された対象者別にメッセージを表示する方法
どうも、ありがとうございました。
とても助かります。
星潟様「行動者・対象者ID・使用スキル/アイテムID変数格納」を
スクリプトエディタに挿入しました。
その後で
「おなまえ = $game_troop.members[$game_variables[52] * -1].name」
を、任意のイベントを作り、トリガーを「並列処理」にし
任意の変数に「変数の操作」→「スクリプト」で
おなまえ = $game_troop.members[$game_variables[52] * -1].name
あるいは
$game_troop.members[$game_variables[52] * -1].name
と、やってみたいのですが
添付画像のようなエラーが出てしまいました。
正しい方法をご存知でしたら
お願いします。
とても助かります。
星潟様「行動者・対象者ID・使用スキル/アイテムID変数格納」を
スクリプトエディタに挿入しました。
その後で
「おなまえ = $game_troop.members[$game_variables[52] * -1].name」
を、任意のイベントを作り、トリガーを「並列処理」にし
任意の変数に「変数の操作」→「スクリプト」で
おなまえ = $game_troop.members[$game_variables[52] * -1].name
あるいは
$game_troop.members[$game_variables[52] * -1].name
と、やってみたいのですが
添付画像のようなエラーが出てしまいました。
正しい方法をご存知でしたら
お願いします。
- 添付ファイル
-
- エラーms.png (26.22 KiB) 閲覧された回数 7280 回
Re: RPGツクールvxace スキルを使用された対象者別にメッセージを表示する方法
①添付画像のエラーは「[]が閉じられていない」というエラーです。
もう一度書いた文を読み返してください。
(ちなみに「おなまえ」というのは「文章の表示で\V[n]を使用して表示する変数」のため、
スクリプト文には要りません。
その後、「文章の表示」を使って、\V[n]で名前が表示できます、というだけで、
文章の表示自体はセルフサービスとなっています。)
②スキルの使用効果に「コモンイベント」というのがあります。
バトル中はコモンイベントの並列処理が動かないはずなので、
表示したいスキルにコモンイベントを付加してください。
もう一度書いた文を読み返してください。
(ちなみに「おなまえ」というのは「文章の表示で\V[n]を使用して表示する変数」のため、
スクリプト文には要りません。
その後、「文章の表示」を使って、\V[n]で名前が表示できます、というだけで、
文章の表示自体はセルフサービスとなっています。)
②スキルの使用効果に「コモンイベント」というのがあります。
バトル中はコモンイベントの並列処理が動かないはずなので、
表示したいスキルにコモンイベントを付加してください。
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
Re: RPGツクールvxace スキルを使用された対象者別にメッセージを表示する方法
ありがとうございます。
マップ(テストプレー用の)上の任意の場所にイベント(トリガー「並列処理」)を作り
任意の変数に「変数の操作」→「スクリプト」で書き込みました。
まず、ここまでは、あってますでしょうか。
そして、「スクリプト」に
[$game_troop.members[$game_variables[52] * -1].name
と打ち込んでみたのですが、添付したエラーが表示されてしまいました。
スクリプトやプログラムに明るく無いため、正しい理解が難しいのですが
「おなまえ」の部分に、何か入れて打たないといけないという事でしょうか。
星潟様の「行動者・対象者ID・使用スキル/アイテムID変数格納」で
対象者のIDを持たせ、上記スクリプトを打ち込むと
「文章を表示」内で、\V[52]と打てば、それが対象者名に変換される。
こう解釈しているのですが、正しいか不安です。
「おなまえ」の部分が、よく分かっていない感もあり。
マップ(テストプレー用の)上の任意の場所にイベント(トリガー「並列処理」)を作り
任意の変数に「変数の操作」→「スクリプト」で書き込みました。
まず、ここまでは、あってますでしょうか。
そして、「スクリプト」に
[$game_troop.members[$game_variables[52] * -1].name
と打ち込んでみたのですが、添付したエラーが表示されてしまいました。
スクリプトやプログラムに明るく無いため、正しい理解が難しいのですが
「おなまえ」の部分に、何か入れて打たないといけないという事でしょうか。
星潟様の「行動者・対象者ID・使用スキル/アイテムID変数格納」で
対象者のIDを持たせ、上記スクリプトを打ち込むと
「文章を表示」内で、\V[52]と打てば、それが対象者名に変換される。
こう解釈しているのですが、正しいか不安です。
「おなまえ」の部分が、よく分かっていない感もあり。
- 添付ファイル
-
- エラーms2.png (24.66 KiB) 閲覧された回数 7228 回
Re: RPGツクールvxace スキルを使用された対象者別にメッセージを表示する方法
前提が違う気がしましたので再度確認します。
①まず「スキルを使用する」のは「バトル画面」ですよね?
であれば、「マップ画面の並列処理のイベント」も動きません。
バトル画面で動くイベントは、基本的には
①バトルイベント ②スキル/アイテムのコモンイベント
のどちらかしかありません。
なので、「メッセージを表示したいスキル」の「使用効果」で
「コモンイベント」があるので、そこで先ほどの変数代入を行ってください。
(試してて気づきましたが、「変数の代入」の「スクリプト」って文字制限あったんですね。
気づかなくて申し訳ございません。)
逆に「マップ画面」でスキルを使用するのであれば、
そもそも「対象者」とは何を指すのでしょうか。
そして、「行動者・対象者ID・使用スキル/アイテムID変数格納」も使用できません。
なぜならこのスクリプトは「アイテム画面」「スキル画面」「バトル画面」で効果を発揮するからです。
②出たエラーはこちらの提示した手法以前の問題ですね。
「VocabにActionFailureがないよ」というエラーです。
以前「勝利時のメッセージを変更したい」という質問があったので、
おそらくその時に誤って消したと思われます。
なんでもそうなんですが、不要だと思って消したものが実は必要だった、
ということはよくあることなので、変更の際は注意してください。
①まず「スキルを使用する」のは「バトル画面」ですよね?
であれば、「マップ画面の並列処理のイベント」も動きません。
バトル画面で動くイベントは、基本的には
①バトルイベント ②スキル/アイテムのコモンイベント
のどちらかしかありません。
なので、「メッセージを表示したいスキル」の「使用効果」で
「コモンイベント」があるので、そこで先ほどの変数代入を行ってください。
(試してて気づきましたが、「変数の代入」の「スクリプト」って文字制限あったんですね。
気づかなくて申し訳ございません。)
逆に「マップ画面」でスキルを使用するのであれば、
そもそも「対象者」とは何を指すのでしょうか。
そして、「行動者・対象者ID・使用スキル/アイテムID変数格納」も使用できません。
なぜならこのスクリプトは「アイテム画面」「スキル画面」「バトル画面」で効果を発揮するからです。
②出たエラーはこちらの提示した手法以前の問題ですね。
「VocabにActionFailureがないよ」というエラーです。
以前「勝利時のメッセージを変更したい」という質問があったので、
おそらくその時に誤って消したと思われます。
なんでもそうなんですが、不要だと思って消したものが実は必要だった、
ということはよくあることなので、変更の際は注意してください。
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
Re: RPGツクールvxace スキルを使用された対象者別にメッセージを表示する方法
①は、バトル画面です。
バトルイベントの画面に打ち込むと言う事、分かりました。
ゲームが開始した瞬間にセッティングしないといけないのかと思い
ゲーム開始時に表示されるマップに打ち込むのかと思ってしまいました。
「スクリプト」の字数制限の事、参考に留めておきます。
試行していただき、ありがとうございます。
②の助言については、おっしゃる通り
勝利メッセージを表示させないように、操作したのかもしれません。
ActionFailureの頭に#がついていました。
スクリーンショットを載せていただいたものを参考に
いろいろ試したところ、ようやく対象者名が表示されました。
とても助かります。
いろいろとお手数おかけし、すみません。
どうも、ありがとうございました。
多謝いたします。
バトルイベントの画面に打ち込むと言う事、分かりました。
ゲームが開始した瞬間にセッティングしないといけないのかと思い
ゲーム開始時に表示されるマップに打ち込むのかと思ってしまいました。
「スクリプト」の字数制限の事、参考に留めておきます。
試行していただき、ありがとうございます。
②の助言については、おっしゃる通り
勝利メッセージを表示させないように、操作したのかもしれません。
ActionFailureの頭に#がついていました。
スクリーンショットを載せていただいたものを参考に
いろいろ試したところ、ようやく対象者名が表示されました。
とても助かります。
いろいろとお手数おかけし、すみません。
どうも、ありがとうございました。
多謝いたします。
Re: RPGツクールvxace スキルを使用された対象者別にメッセージを表示する方法
すみません。
もう1つ、お聞きしたいのですが
行動者(スキル使用者)、使用スキル/アイテムを表示させたい場合は
$game_troop.members[$game_variables[52] *-1]
のtroop.membersを
何かに書き換える感じかと思うのですが
何に書き換えればいいでしょうか。
スクリプトの説明を読んでも
何に書き換えればいいのか、分からないので
ご存知であれば、お願いします。
もう1つ、お聞きしたいのですが
行動者(スキル使用者)、使用スキル/アイテムを表示させたい場合は
$game_troop.members[$game_variables[52] *-1]
のtroop.membersを
何かに書き換える感じかと思うのですが
何に書き換えればいいでしょうか。
スクリプトの説明を読んでも
何に書き換えればいいのか、分からないので
ご存知であれば、お願いします。
Re: RPGツクールvxace スキルを使用された対象者別にメッセージを表示する方法
スキル使用者は味方に限らないので、味方側のキャラ(アクター)という意味であれば、
$game_actors[$game_variables[51]] ですね。
さらに、スキルであれば $data_skills[$game_variables[53]] 、
アイテムであれば $data_items[$game_variables[54]] となります。
ちなみにですが、こういったアクターや敵キャラのデータを取得することは
「行動者・対象者ID・使用スキル/アイテムID変数格納」固有の機能ではなく、
VXAce標準の機能です。
そのため、「行動者・対象者ID・使用スキル/アイテムID変数格納」がなくても、
変数で指定したIDのアクターや敵キャラのデータを取得することはできます。
例:変数の操作で51番に1を代入すれば、$game_actors[$game_variables[51]].atkで
ID1のアクターの攻撃力を取得できる。など
$game_actors[$game_variables[51]] ですね。
さらに、スキルであれば $data_skills[$game_variables[53]] 、
アイテムであれば $data_items[$game_variables[54]] となります。
ちなみにですが、こういったアクターや敵キャラのデータを取得することは
「行動者・対象者ID・使用スキル/アイテムID変数格納」固有の機能ではなく、
VXAce標準の機能です。
そのため、「行動者・対象者ID・使用スキル/アイテムID変数格納」がなくても、
変数で指定したIDのアクターや敵キャラのデータを取得することはできます。
例:変数の操作で51番に1を代入すれば、$game_actors[$game_variables[51]].atkで
ID1のアクターの攻撃力を取得できる。など
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
Re: RPGツクールvxace スキルを使用された対象者別にメッセージを表示する方法
パーティー(味方)のスキル使用者に関しては
「コスモイベント」→「変数の操作」→「スクリプト」で
$game_actors[$game_variables[51]]
$game_variables[任意の変数番号].name
で打ち込み、バトル開始時に、そのコスモイベントを呼び出し
スキル使用時の「文章の表示」内に、\V[任意の変数番号]を入力する事で
スキル使用者が表示される
という理解でよろしいでしょうか。
これを、スキル使用者(敵)にしたい場合は
$game_enemys[$game_variables[■■]]
$game_variables[任意の変数番号].name
でしょうか。
「■ RGSS3 行動者・対象者ID・使用スキル/アイテムID変数格納 Ver1.」内を探しても
分からなかったのですが
■■に入る番号は、何になるでしょうか。
$game_actors[$game_variables[51]].atk
というのは.atkの部分が
「1を代入する」という指示になる形でしょうか
お手数おかけて、すみません。
「コスモイベント」→「変数の操作」→「スクリプト」で
$game_actors[$game_variables[51]]
$game_variables[任意の変数番号].name
で打ち込み、バトル開始時に、そのコスモイベントを呼び出し
スキル使用時の「文章の表示」内に、\V[任意の変数番号]を入力する事で
スキル使用者が表示される
という理解でよろしいでしょうか。
これを、スキル使用者(敵)にしたい場合は
$game_enemys[$game_variables[■■]]
$game_variables[任意の変数番号].name
でしょうか。
「■ RGSS3 行動者・対象者ID・使用スキル/アイテムID変数格納 Ver1.」内を探しても
分からなかったのですが
■■に入る番号は、何になるでしょうか。
$game_actors[$game_variables[51]].atk
というのは.atkの部分が
「1を代入する」という指示になる形でしょうか
お手数おかけて、すみません。