2012年4月20日金曜日

禁呪実験の結果

おはようございます。
さっそくですが、昨夜やった禁呪実験をここに。

まず残念な方。

Set/GetRelationshipRank については不明です。少なくともクリーチャー系のこれをいじってもうまく動かなかった。シャラウス、傷ついたフロストバイト・スパイダー、サーバルキャット、ブラッドドラゴンの四種に試しましたが無理。元気にもりもり齧られました(汗
あとでこれは人間にも試してみます。

addfacは未テストです。Secondlifeで友達とダベっていました。すみません XD

で、うまくいった方。placeatme。
これは、以下のようにして使用します。

player.placeatme [BaseID] 数

ご存知かと思いますが、スカイリムのコンソールコマンドは非常にOOP的、平たく言うとオブジェクト指向プログラム言語的です。つまり「誰に」「何をするのか」を指定するのです。(これがもっと大昔のコンピュータ式だと「何をせよ」で、オプションとして「誰に」「どれだけ」などを指定する)

これが何を意味するのか?
たとえば上のコマンドをもう一度見ます。

player.placeatme [BaseID] 数

playerは文字通りプレイヤーなんですが、これは一つの「オブジェクト」です。オブジェクトっていうのは人間に限らないわけで、結果としてこんな事もできます。

[焚き火のID].placeatme [BaseID] 数

論より証拠、やってみましょう。とある砦の入り口、焚き火のそばにサーバルキャットを15頭召喚してみました。


[焚き火のID].placeatme 23ab5 15

ちょっと暗かったんで明度調整しました。
奥に入り口が見えますね。サーバルキャット軍団に隠れちゃってますが、入り口左に焚き火があります。
手順としては、以下になります。

1.コンソールを開く。
2.焚き火をクリックするとそのIDが表示されるので、コンソールに以下のように打ち込む。
焚き火のID.placeatme 23ab5 15

これで、焚き火のそばに15頭のサーバルキャットが召喚されます。

これはどういう事かというと、

・スカイリムのコンソールはオブジェクト志向的に記述できる。(中身もそうだという保証はないが)
・プレイヤーもNPCも、置物すらも配置されている画面上のオブジェクトという意味では等価である。
・ゆえに、人間でなく焚き火に対してもplaceatmeが発行できる。

というわけです。

ゲームでオブジェクト志向の考え方が学べるとは面白いですね! XD

0 件のコメント:

コメントを投稿