テキストログ (TextLog) 関数を使用すれば、ログウィンドウにメッセージを表示したり、ログファイルを出力したりすることができます。
TextLog | テキストログ (TextLog) 関数を使用すれば、ログウィンドウにメッセージを表示したり、ログファイルを出力したりすることができます。 |
実装の詳細 | |
定数 | |
定数 (Text Log Update Types) | |
SystemData. | テキストログに追加されたエントリー。 |
SystemData. | テキストログから削除されたエントリー。 |
SystemData. | クリアされたテキストログ。 |
関数 | |
関数 | |
TextLogCreate() | 新しいテキストログを作成します。 |
TextLogDestroy() | 指定したテキストログを破壊します。 |
TextLogAddFilterType() | 指定したテキストログに新しいフィルダータイプを追加します。 |
TextLogAddEntry() | 指定したテキストログに新しいエントリーを追加します。 |
TextLogAddSingleByteEntry() | 指定したテキストログに新しいエントリーを追加します。 |
TextLogSetIncrementalSaving() | 新しいエントリーが追加されるごとにテキストログを逐次ファイルに保存したい場合に設定します。 |
TextLogGetIncrementalSaving() | 指定したテキストログでインクリメンタル保存(ログファイルの逐次保存)が有効になっているかどうかを調べて値を返します。 |
TextLogClear() | テキストログの現在の内容をクリアします。 |
TextLogSaveLog() | 指定したファイルの現在のテキストログの内容を保存します。 |
TextLogLoadFromFile() | ディスクから保存したテキストログを読み込みます。 |
TextLogSetEnabled() | ログの有効・無効を設定します。 |
TextLogGetEnabled() | ログが有効かどうかを調べて値を返します。 |
TextLogGetNumEntries() | 現在のテキストログ内のエントリー数を返します。 |
TextLogGetEntry() | 特定のエントリーIDのデータを返します。 |
TextLogGetUpdateEventId() | このテキストログが更新された時に、イベントIDのブロードキャストを返します |
各テキストログは作成時に個別の名前が付与されます。ゲームはチャットログや戦闘ログといった内部的に作成された複数のテキストログを持っていることがあります。 TextLogCreate() を呼び出すことでLuaを通じて自分独自のログをつくることもできます。ウィンドウと異なり、UIをリロードしてもテキストログは自動的に破壊されない点に注意してください。作成したテキストログを破壊したい場合には、 TextLogDestroy() を呼び出す必要があります。
一度テキストログを作成したら、フィルタータイプをいくつか追加する必要があります。フィルタータイプはログ内の異なるタイプのエントリーを判別する固有のインデックス番号を持っており、これらのフィルタータイプは、異なるコンテンツを隠したり表示したり、テキストカラーを設定するために LogDisplay によって使用されます。
フィルタータイプを作成した時に、表示時にそのタイプの全てのエントリーに付与される特定の接頭語を指定することもできます。 TextLogAddFilterType() でフィルタータイプを指定できます。
ログが作成されたら、Luaから TextLogAddEntry() を呼び出すことでエントリーを追加することができます。
有効なファイル名で TextLogSetIncrementalSaving() を呼び出すことで、自動的にファイルにテキストログを出力することができます。もし各エントリーを継続的に保存するのではなく、一度手動でログを保存したい場合には、 TextLogSaveLog() を呼び出してください。
テキストログは LogDisplay で動作するよう設計されています。
定数 (Text Log Update Types) | |
SystemData. | テキストログに追加されたエントリー。 |
SystemData. | テキストログから削除されたエントリー。 |
SystemData. | クリアされたテキストログ。 |
関数 | |
TextLogCreate() | 新しいテキストログを作成します。 |
TextLogDestroy() | 指定したテキストログを破壊します。 |
TextLogAddFilterType() | 指定したテキストログに新しいフィルダータイプを追加します。 |
TextLogAddEntry() | 指定したテキストログに新しいエントリーを追加します。 |
TextLogAddSingleByteEntry() | 指定したテキストログに新しいエントリーを追加します。 |
TextLogSetIncrementalSaving() | 新しいエントリーが追加されるごとにテキストログを逐次ファイルに保存したい場合に設定します。 |
TextLogGetIncrementalSaving() | 指定したテキストログでインクリメンタル保存(ログファイルの逐次保存)が有効になっているかどうかを調べて値を返します。 |
TextLogClear() | テキストログの現在の内容をクリアします。 |
TextLogSaveLog() | 指定したファイルの現在のテキストログの内容を保存します。 |
TextLogLoadFromFile() | ディスクから保存したテキストログを読み込みます。 |
TextLogSetEnabled() | ログの有効・無効を設定します。 |
TextLogGetEnabled() | ログが有効かどうかを調べて値を返します。 |
TextLogGetNumEntries() | 現在のテキストログ内のエントリー数を返します。 |
TextLogGetEntry() | 特定のエントリーIDのデータを返します。 |
TextLogGetUpdateEventId() | このテキストログが更新された時に、イベントIDのブロードキャストを返します |
指定したテキストログを破壊します。
textLogName | (string) テキストログの名前。 |
nil | 戻り値無し。 |
TextLogDestroy( "RaidLog" )
指定したテキストログに新しいフィルダータイプを追加します。
textLogName | (string) テキストログの名前。 |
filterId | (number) このフィルタータイプの固有のID番号。 |
filterPrefix | (wstring) このタイプのエントリーの先頭に付与されるテキスト。 |
nil | 戻り値無し。 |
local RAID_LEADER = 1 TextLogAddFilterType( "RaidLog", RAID_LEADER, L"Raid Leader: " )
指定したテキストログに新しいエントリーを追加します。
この関数は1バイトテキスト用です。テキストは出力のために内部的にワイド文字列に変換されます。
textLogName | (string) テキストログの名前。 |
filterId | (number) このエントリーのフィルタータイプID。 |
text | (string) エントリーテキスト。 |
nil | 戻り値無し。 |
local RAID_LEADER = 1 TextLogAddSingleByteEntry( "RaidLog", RAID_LEADER, "Everyone attack now!" )
新しいエントリーが追加されるごとにテキストログを逐次ファイルに保存したい場合に設定します。
textLogName | (string) テキストログの名前。 |
incrementalSavingOn | (boolean) true = ログファイルを逐次保存する, false = 保存しない |
filePath | (string) 使用するファイルのパス。 |
nil | 戻り値無し。 |
TextLogSetIncrementalSaving( "RaidLog", RAID_LEADER, "logs/raidlog1.txt" )
ログの有効・無効を設定します。
ログが無効になっている場合、 TextLogAddEntry() をコールをしてもログにテキストを追加できません。出力ファイルも、登録された LogDisplays も新しいエントリーを表示しないでしょう。
textLogName | (string) テキストログの名前。 |
isEnabled | (boolean) true = ログを有効にする, false = ログを無効にする |
nil | 戻り値無し。 |
TextLogSetEnabled( "RaidLog", true )
ログが有効かどうかを調べて値を返します。
textLogName | (string) テキストログの名前。 |
isEnabled | (boolean) true = 有効, false = 無効 |
local logOn = TextLogGetEnabled("RaidLog")
特定のエントリーIDのデータを返します。
textLogName | (string) テキストログの名前。 |
entryIndex | (number) エントリーインデックス番号 (1から TextLogGetNumEntries の間)。 |
timestamp | (wstring) エントリーのタイムスタンプ [YY/MM/DD][HH:MM:SS] |
filterType | (number) エントリーのフィルタータイプ。 |
text | (wstring) エントリーテキスト。 |
local timestamp, filterType, entryText = TextLogGetEntry( "RaidLog", 54 )