Papyrus による世界の創造 - Skyrim MOD 制作

新しい石碑の設置 - 簡単な Papyrus サンプル群

最終更新: 2015-04-02 (木) 21:36:11 (2493d)

MOD 本体

fileExampleSetObject.zip

  • example_set_object.esp
  • Scripts
    • ExampleSetObject.pex
    • Source
      • ExampleSetObject.psc

インストール方法

解凍して Data フォルダにコピーもしくは NMM での導入も可能です。

アンインストール方法

アンインストールは、導入したファイルを全て削除すれば完了です。Data フォルダを「Example」で検索すれば該当ファイルが全て検索できるので簡単です。

NMM で導入した場合は、NMM が全部やってくれます。

概要

CenterOnCell - coc(セル移動) コンソールコマンドにて部屋に行きます。

coc example

石碑をアクティベートするたびに石碑が奥に並んで増えていきます。

ExampleSetObject スクリプトを作成し、石碑のスクリプトに割り当てています。

石碑の設置には ObjectReference.PlaceAtMe メソッドを使っています。

設置物は setObject プロパティで指定しています。本サンプルではアクティベーションに使っているものと同じ石碑(WETempActivator)をプロパティに設定しています。

設置位置はアクティベートする毎に奥のマスに移動していきます。

以下、石碑を部屋の奥まで設置させたときのスクリーンショットです。

set_object.jpg

さらに設置することもできますが、部屋の外に設置された石碑は見えません。

また、新しく設置された石碑にはイベントが割り当てられていないため、アクティベートしても何も起こりません。

スクリプト概要(ExampleSetObject)

Scriptname ExampleSetObject extends ObjectReference  

Activator Property setObject  Auto  

int count = 0

Event OnActivate(ObjectReference akActionRef)
	count = count + 1
	ObjectReference newObject = PlaceAtMe(setObject, 1)
	newObject.SetPosition(x, y -  count * 128, z)
endEvent

ヒント

設置数の確認

ShowVars - sv(変数表示) コンソールコマンドで、設置した石碑の数を確認できます。

NPC への影響

今回は石碑を設置しました。これは小さな障害物です。

もしも、壁のような大きな障害物を設置した場合の NPC への影響について、以下のページで考察していますので参考にしてください。