FC2ブログ
今更なオブリビオンブログ
おもにMOD関連のメモを書いていくと思います、MODをいじったり、作ってるのが楽しいです。
MOD作り13
まず、「落とす用の松明」を作ります。
松明は、「Item」ではなくて、「WorldObjects」の中の「Light」の中にあります。

下の画像は、ヴァニラの松明「Torch02」の設定です。


この、赤枠で囲った部分の「Can carry」にチェックを入れるとアイテムとして持ち物の中に入る、松明の扱いになります。
この設定が無いと、アクティベートをすること自体が出来なくなります。(蝋燭や自然光等の設定)
その横の「Off by default」は、オブジェクトがロードされた時に初めから火がついているかどうかのチェックです。
ヴァニラの松明はこのチェックが無いため、落ちている松明には火がついていません。

ヴァニラの松明の「Off by default」のチェックを外したものを作れば、「落とす用の松明」の完成です。



次は、松明を落とすクエストスクリプトを作ります。
要点だけ書き出します。

Short WeaponType

begin GameMode
set WeaponType to player.GetWeaponAnimType

if player.IsWeaponOut == 1 && player.isshieldout == 1
 if player.GetEquipped torch02 == 1
  Player.AddItemNS Torch02Drop 1
  Player.EquipItemSilent Torch02Drop
  Player.UnequipItemSilent Torch02Drop
  Player.RemoveItemNS Torch02 1
  Player.Drop Torch02Drop 1
 endif
elseif player.IsWeaponOut == 1 && WeaponType > 1
 if player.GetEquipped torch02 == 1
  Player.AddItemNS Torch02Drop 1
  Player.EquipItemSilent Torch02Drop
  Player.UnequipItemSilent Torch02Drop
  Player.RemoveItemNS Torch02 1
  Player.Drop Torch02Drop 1
 endif
endif

・まず、「WeaponType」の変数を宣言して、現在の武器の種類を取得しています。
「GetWeaponAnimType」の返す値で、現在両手持ち武器かどうか判定しています。

・「IsWeaponOut」のコマンドで、現在武器を抜いているかどうかの判定、「GetEquipped」で何を装備しているかを取得出来るので、これを使います。
最初のif文の所で「戦闘態勢で、盾を装備している」状態の時に松明を装備するとスクリプトを実行しています。(左手で松明が使えない状態の時)
この条件だと、素手の時と盾が無い時には松明を落としません。
次のif文の所で「戦闘態勢で両手持ち武器を装備」の状態の時に松明を装備するとスクリプトを実行しています。
これは、最初のif文の条件だけでは、「盾を持たずに両手持ち武器を装備で松明を装備」した時に松明を落とさないため、必要となります。

・次に、実行しているスクリプトの内容です。
Player.AddItemNS Torch02Drop 1
Player.EquipItemSilent Torch02Drop
Player.UnequipItemSilent Torch02Drop
Player.Drop Torch02Drop 1
Player.RemoveItemNS Torch02 1

まあ、見ればなんとなく分かると思いますが、「Torch02Drop」が「落とす用の松明」です。
条件がそろった時に「落とす用の松明」をコッソリと持ち物に追加し、それを「装備」、「装備を外す」を実行することで、松明を持っていない状態にします。
(※後で気づいたんですが、条件がTorch02を装備している時なので、ここは別にTorch02の装備を外すだけでよかった。この処理が必要なのは、条件が「IsTorchOut」を使っている場合で、この条件なら、MODで追加された松明でも反応するが、武器構え中に松明を落とせなくなる)
その後、「落とす用の松明」を落とし、荷物の中のヴァニラの松明を減らしています。


当然クエストスクリプトの実行頻度は変更してあります。
あとは、「落とす用の松明」を拾った時に「ヴァニラの松明」に交換するスクリプトを付ければ完成です。



…あれ?意外と簡単にできた?と思いきや、問題が発生。
松明を落とすことは落とすのですが、なんと、落とした松明が周りを照らしてくれません。
?…なぜ?
ちょっと、わけが分かりません。
スポンサーサイト




テーマ:Oblivion - ジャンル:ゲーム

コメント

コメントの投稿














管理者にだけ表示を許可する


トラックバック
トラックバック URL
http://5588ob.blog.fc2.com/tb.php/43-65894094
この記事にトラックバックする(FC2ブログユーザー)