■Importing the skills dialog
多くのスキルアップオブジェクトは、スキルレベルが上がった時にそれを知らせるダイアログウィンドウが出てきます。
このウィンドウはSkill gaining codeにある機能によって表示されます。スキルアップオブジェクト内にある「CT - Skill Gain Dialog」がそれで、スキルアップメーターが満タンになってひっくり返った時に実行されます。
簡単な方法として、他のスキルアップオブジェクトからこのBHAVをコピーして使うことにします。編集中の石像のファイルはセーブしていったん閉じます。そして、デフォルトのイーゼルをクローンします。
【1】
クローンしたイーゼルのBHAVです。
「CT - Skill Gain Dialog」というBHAVを探して、選択。
右クリックしてExtract...を選びます。適当なフォルダに保存します。
ファイル名はデフォルトだと長すぎるので、簡単に「bhav」としておきました。
【2】
再び石像のファイルを開けます。
BHAVを選択し、Resource Listの何もないところを右クリック。
Add...を選び、先ほど抽出したイーゼルのBHAVを選択してOKします。
【3】
「CT - Skill Gain Dialog」が付け加わりました。
GroupとInstanceを確認します。
Instanceは他のBHAVのInstanceとはかぶってませんでしたので、特に変える必要はありませんでした。
CT functionのInstanceは、0x1000番台であればどんな数値が使われていようと構いません。CT functionのInstanceが、他のBHAVのInstanceと同じであった場合は、違うものに変える必要があります。
【4】
「CT - Skill Gain Dialog」の中身です。
一番最後のBoxを見てみます。
表示されている文章が、どうも違うようですね。
ダイアログに表示される文章もまた、アニメーション名のようにText Listに書き込まないといけません。
ダイアログが参照するText ListはInstance 0x12Dです。
Text Listを取りに行きましょう。
セーブして石像のファイルを閉じ、再びイーゼルのファイルを開けます。
【5】
イーゼルのSTR#内から、Instance 0x12Dのものを見つけます。
中身を見ると、0x4のラインに探している文章があるようです。
CTを抽出した時と同様の手順で、Instance 0x12DのText ListをExportします。
【6】
再び石像のファイル。
先ほどExportしたText ListをImportしました。
CT - Skill Gain Dialogをもう一度確認してみます。
【7】
見覚えのある文章がちゃんと出てきました。
しかし石像のオブジェクトでスキルアップするのは、カリスマです。
ふさわしい文章に書き換える必要があります。
その際注意するのは、$NameLocal:0と$NameLocal:1を変えないことです。
$NameLocal:0はシムの名前、$NameLocal:1はオブジェクト名を表示します。
0x3のBoxの前にある一連のコマンドで、Local 0とLocal 1にそれぞれシムのObject IDと石像のObject IDが格納されています。
【8】
先ほどインポートしたTextListを開けます。
文章をふさわしいものに変えました。
しかし、ここで変えたのは英語のみ。
このままの状態だと英語以外の言語環境で遊んでいる人たちには、元のイーゼルのスキルアップ用の文章が出てきます。
そのため他の言語でも同様の作業が必要ですが、不可能ですよね。
【9】
矢印のDefault lang onlyを押します。
これでデフォルトの英語以外の言語が消去されます。
シムズ2で遊ぶ全ての人達に、英語のダイアログが表示されるようになります。
【10】
必要であれば改めて、Japaneseに日本語の文章を入力していきます。
他の言語も知っていれば、数ヶ国語対応のオブジェクトも作れますね。
今回は日本語は入力せず、英語のみでいきます。
【11】
ゲームに導入して、これまでのカスタマイズを確認してみました。
うまい具合にダイアログが出てきました。日本語と英語が混在していますが^^;
今回も、一回目の起動でアニメーションエラーが出て、オブジェクトを使うことが出来ませんでした。
仕方ないのでいったんゲームを終了し、石像のファイルを見てみたんですが、やっぱりどこがいけないのか分からない。
もう一度ゲームを立ち上げて確認してみたら、うまくいきました。
この件に関しては、チュートリアルが終わってから調査してみることにします。
■"But I'm not in the mood to do that"
スキルアップはシムにとって大変な作業です。
気分がよくない時は、スキルアップを拒否することがありますね。
シムにこの動作をさせるには、必要なCodeを書き加える必要があります。
Global BHAVを使うことで簡単に出来ます。
【12】
既存の0x0のBoxを選び、Insert via trueを押します。新しくBoxが加わります。
Globalから 「Skill - Exit Skill Object(Opcode : 0x019F)」を0x0に設定します。
必要なParameterは1つだけ。シムのMood(気分)の最小値を決めるのみです。
今回は0x0と設定します。
これが赤の矢印(False Target)に行くと、続きのInteractionを実行することになります。
緑の矢印(True Target)に行くと、シムは気分が悪いのでInteractionを終了させます。
【13】
こんな感じ。
Operandsはすべて00です。
さて、シムの気分が悪い時にはオブジェクトを使わない設定が出来ました。
今度は、オブジェクトを使っている最中に気分が悪くなったら、自発的に使うのをやめるようにします。
同じコマンドをループの中にも追加します。
赤の矢印ならループを続け、緑の矢印ならループから抜けるようにします。
Interactionを終了させる際は、必ずOnにしたものをOffにするよう注意します。
【14】
ループ内に新しくBoxを追加して設定しました。
緑の矢印はループから出て、「Skill - End」のBoxにつながっています。
赤の矢印は「Wait For Nortify」につながって、ループを続けるようになっています。
前へ / 次へ
この記事にトラックバックする