【ウディタ基本システム改造】状態設定上書き顔グラを個別表示にする

(※こちらは基本システムVer.2時点の内容です)
これ知った時なるほどなー、と思ったんですがこのTIPS載っていたサイトがなくなってしまったのか見つからないのでほとんど自分用メモ



基本システムでは状態設定(状態異常や一時的な能力上昇なんかの状態変化)DBの「状態時の顔グラフィック」という項目に画像ファイルを設定しておくと、

こんな感じでその状態になった時に顔グラフィックを変えてくれます。
しかしこちら、キャラごとに画像を変えるなど細かいことは出来ません。(上の場合、誰が毒状態になっても「Picture/test01.png」で顔グラを上書きしてしまう)
ので、上書き顔グラを設定している部分を少し改造してキャラごとに違う画像を使えるようにしてみます。

(エディタはVer.2.20β22を使用していますが、Ver.2.10とそれほど差異はないと思われます。行数など違ったらすみません)
(説明調ですがガッツリ解説してないです)





コモンを改造する前に、画像と状態設定DBの下準備をしておきます。
状態設定DBの「状態時の顔グラフィック」の項目にはファイル名ではなく文字列を入力(例では「poison」)。
個別の画像を用意して通常時の顔グラフィックと同じフォルダへ。
状態変化時に表示したい画像の名前は
「通常時の顔グラの名前+状態設定DBで状態時の顔グラフィックの項目に入力した文字列」(例では「FaceGraphic_Wolfarl」+「poison」で「FaceGraphic_Wolfarlpoison」)
にします。

画像やDBの設定をしたらコモンを改造していきます。

改造するのは「コモン148:X[戦]一時ステ計算<状態補正>」の29行目と89行目辺りです。
失敗しても元に戻せるように別の場所にコモン内容をコピーして改造していきます。(ここではコモン148を選んでCキーでコピー、空いているコモン215にVキーでペーストしコモンを複製しています。改造するのはコモン215番の方。コモンの名前は変更しないこと)
(コモンを空いている番号にコピーして編集する方法については「コモン208:基本システム説明書」に書かれてますので詳しくはそちらを)

まず29行目、「文字列操作でCSelf7(上書き顔グラ)の中身を空白にしている」処理を「DB操作で可変DB:戦闘一時ステータスからCSelf0(対象戦闘スロット)のIDに登録されている画像ファイルをCSelf7へ読み込む」処理に変更します。
(何言ってるかわかりづらいと思うので上記右側の画像参考に設定してみるか、

WoditorEvCOMMAND_START
[250][5,4]<0>(10,1600000,1,331776,1600007)(“”,”×┏ 戦闘一時ステータス[基]”,””,”画像ファイル”)
WoditorEvCOMMAND_END

このイベントコードをコピーして右クリックメニューの「クリップボード→コード貼り付け」(もしくはEキー)で貼り付けてください)



続いて89行目、「CSelf7(上書き顔グラ)が空白の場合、CSelf7に状態設定DBから上書き用の画像を読み込んだCSelf8(一時文字列)を代入している」部分を「CSelf7(上書き顔グラ)に文字列が入っている場合、戦闘一時ステータスから読み込んだ画像ファイルの名前に、状態設定DBから上書き用の文字列を読み込んだCSelf8(一時文字列)を付け足す」処理に改変します。
(イベントコードは以下になります

WoditorEvCOMMAND_START
[112][2,4]<0>(1,270035463)(“”,””,””,””)
[401][1,0]<0>(1)()
[122][2,2]<1>(1600007,2304)(“.png”,”\cself[8].png”)
[0][0,0]<1>()()
[499][0,0]<0>()()
WoditorEvCOMMAND_END


ここではpngファイルにしていますがjpgファイルの場合は「.png」部分は「.jpg」に置き換えてください。(pngとjpgを混在させると上手く動かないので使用する画像ファイルはどちらかで統一してください)

コモンを改変した状態で状態異常を受けてみると、

\やったー 個別に画像が表示されたよー/

ちなみにこの方法、状態設定で上書き顔グラを設定しない場合は問題ありません(CSelf7の上書き画像の部分には通常の顔グラのファイル名が入るだけなので)が、設定してある状態で画像が足りないと

よく見る緑帯エラーになりますのでファイル名の設定し忘れにご注意を。特定のキャラしかその状態にならない、特定のキャラしか変えたくない場合もパーティ全員分の画像を用意しておくのが無難です。(特定のキャラしかグラフィックを変えない場合、変えないキャラクターは通常時の顔グラをコピーして名前を変えて置いておくと良いでしょう)

2017.2.24