ページ 11

スキル名もしくはスキル説明欄で変数を表示したい

Posted: 2020年6月02日(火) 00:16
by ノノノンノ
ツールはRPGVXです。
表題の通り、スキル名もしくはその説明欄に変数を表示したいのですが、
制御文字をそのまま入れただけではうまく働いてくれませんでした。

変数を表示する方法がないか、ご教授頂ければ幸いです。
どうぞ宜しくお願いいたします。

Re: スキル名もしくはスキル説明欄で変数を表示したい

Posted: 2020年6月12日(金) 14:37
by いっつ
制御文字の変換は、Window_Messageクラスの
convert_special_charactersメソッドで変換しています。
\V[]の変換は、その1行目、

コード: 全て選択

@text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
の部分になります。これを参考にします。

スキル名は、Window_Baseクラスの、draw_item_nameメソッドで、
描画されています。メソッドの最後の行のdraw_textメソッドで
スキル名を描画しているので、その1行上に、

コード: 全て選択

name = item.name.gsub(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
を追記し、draw_textのitem.nameとなっている所をnameに書き換えれば、
スキル名に\V[]が使えるようになるはずです。

説明文に使用したい場合は、Window_Skillクラスの
update_helpメソッドを上記を参考に変更すれば出来ます。

しかし、このままでは、変数の値が0(初期値)の時も表示されて
しまう(それで良いなら構いませんが)という事と、
戦闘時、スキルを使用した時のメッセージ(「ヒールを唱えた!」等)の方には、
\V[]が使えないという所が、気になるかもしれません。
という事で、それらを解消したスクリプト素材を作ってみました。
draw_item_nameメソッドは、アイテム名、スキル名、装備名で共用されているので、
それら全ての名前と説明で\V[]を使用出来るようにした方が便利かなと思い、
そのような仕様になっています。
イベントコマンドのスクリプトで、
set_zero_display(フラグ)
フラグは、true(表示)、false(非表示)。
とする事で、変数0(初期値)の時にも表示するかどうかの変更が出来ます。
よろしければ使ってみて下さい。

画像 #クレジット不要
画像 #素材の販売含めて営利可
画像 #改変可
画像 #素材だけの再配布も可
画像 #アダルトOK
画像 #グロOK