Fallout好き:主にFallout New Vegas

Fallout好き:主にFallout new Vegas

2013年11月6日水曜日

MODの基盤:自販機modを殴っても壊れるようにする


自販機(爆発する車等)は拳で殴っても武器で殴っても爆発しない。
そこで自販機が殴られた時、このコマンドで自販機自身にダメージを与えれば良い。

DamageObject、略してdo。
FalloutNV.esmを検索したところ数個のスクリプトが引っかかった。
これはマッカランのモノレールが発進した後の爆発だと思う。
モノレールは爆発する車と同様攻撃されると爆発する設定になっている。
しかし、モノレールが発進するイベント時攻撃されるわけではないので、
DamegeObject でモノレールに4999のダメージを与えて爆発させている。
これがモノレール。
Movable Static
ちなみにこれがモノレールのプレビュー。
左下のNameに「Forward」とある。

NIFで設定してる項目だと思うが、スクリプトにあるように
モノレールref.PlayGroup Forward 1
とすることで「Forward」というアニメーションを即座に行う。
つまりPlaygroupコマンドでモノレールを発進させている。
Movable StaticのEdit Destruction Dataをクリックすると表示される破壊設定。
Health(ヘルス)はHP。
Health % は、HPの何パーセントになったら処理(爆発等)するかという%指定。
83%のところで、Explosionに爆発が設定されている。
HPが10000なので、8300に減ったら爆発する。


以下、長々書いたが以前にも似たようなことを書いた気がする。

イベント時は DamegeObject 4999 で4999のダメージが入るので、
HPが10000から5000になる。
83%を切るので爆発し、
Replacement Model に設定されているオブジェクト(モノレールが爆発した状態)に置き換わる。

爆発した時点で65%も切っているが、Cap Damageにより DamageObjectのダメージは65%(=6500)で止まる。
Cap Damageは、一度のダメージがどんなに大きくても、HPの減りがそこまでで止まるというもの。
このモノレールの場合、DamageObjectで4999のダメージが入るので、
10000-4999で5000になるはずだが、65%(6500)でCap Damageがあるので、
6500までしかHPは減らない。
(以下は推測多い)
そして、Destroyが設定されているので(多分)この段階でオブジェクトにDestroyedフラグが設定される。
ここらへんんはちょっと曖昧だけど、GetDestroyedでこのフラグの状態を取得でき、SetDestroyedでこのフラグを設定出来るようだ。
で、Cap Damageにより Health6500で止まるが、
Self DPSが1なので1秒間に1ダメージずつ入るかもしれない。
かもしれないというのは、確認したことないのでさっぱりわからないのが大きい。
オブジェクトは既に爆発しているのでHPが減る意味が無いし、
Destroyフラグが設定されててもHPが減る意味が無いと思う。
このモノレールにしても、1ダメージずつ減って6500秒後(108分位?)にHPが0になるが
0になっても爆発するわけでもないし、0になったかわからない。

で、これ見てて思ったけど、
マッカランでモノレールの爆弾解除する時
モノレールを思いっきり攻撃したらモノレールが発進するまでに破壊出来るかもなー。
3200ダメージ与えないとだめだけど。
これは多分キンバル大統領の乗ったベルチバードを爆発させてふっ飛ばす(Blow it up)スクリプト
他にも DamageObject を使っているのを見て、使い方を理解した。
このコマンド自体の使い方は難しくなさそう
後は自販機modに実際に組み込んでみないと。

0 件のコメント:

コメントを投稿