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

石碑のアクティベートをトリガーにしたメッセージ出力 - 簡単な Papyrus サンプル群

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

MOD 本体

fileExampleMessageBox.zip

  • ExampleMessageBox.esp
  • Scripts
    • ExampleMessageBox.pex
    • Source
      • ExampleMessageBox.psc

fileExampleNotification.zip

  • ExampleNotification.esp
  • Scripts
    • ExampleNotification.pex
    • Source
      • ExampleNotification.psc

インストール方法

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

アンインストール方法

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

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

注意点

いずれも同じ石碑に対してスクリプトを組み込むプラグインなので両方同時には動作しません。

概要

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

coc example

石碑をアクティベートすることで「Hello World.」を表示します。

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

「Hello World.」の出力には以下、デバッグでよく利用する2つの方法を試します。

以下、それぞれのスクリーンショットです。

hello_world_by_message_box.jpg
hello_world_by_notification.jpg

スクリプト概要(Example)

Debug.MessageBox を使った場合

Scriptname ExampleMessageBox extends ObjectReference  

Event OnActivate(ObjectReference akActionRef)
	Debug.MessageBox("Hello World.")
endEvent

Debug.Notification を使った場合

Scriptname ExampleNotification extends ObjectReference  

Event OnActivate(ObjectReference akActionRef)
	Debug.Notification("Hello World.")
endEvent

ポイント

Papyrus スクリプトファイルについて

  • 管理の扱いはスクリプトファイル単位になる。
    • プラグインファイルに含まれるわけではない。
    • 作成したスクリプトファイルはグローバル扱い*1になる。
    • 不要な場合は個別に削除する。
    • NMM や Wrey Bash は1つのアーカイブ内にあるプラグインファイルとスクリプトファイルを1つの塊として見ているため、アンインストール時に同時に消してくれるだけであり、それ以上の関連付けはない。
  • 拡張子 pex はコンパイル済みファイル。
    • Data/Scripts に格納する。
  • 拡張子 psc はソースファイル。
    • Data/Scripts/Source に格納する。

疑問点

Debug.MessageBox でメッセージボックスを出力している間はスクリーンショットが取れない

ウィンドウモードで画面全体のスクリーンショットを取り、該当ウインドウを切り抜いてスクリーンショットを作りました。

メッセージボックスを出力している間、スクリーンショットを取る方法はないでしょうか?