TextLog

テキストログ (TextLog) 関数を使用すれば、ログウィンドウにメッセージを表示したり、ログファイルを出力したりすることができます。

Summary
TextLogテキストログ (TextLog) 関数を使用すれば、ログウィンドウにメッセージを表示したり、ログファイルを出力したりすることができます。
実装の詳細
定数
定数 (Text Log Update Types)
SystemData.TextLogUpdate.ADDEDテキストログに追加されたエントリー。
SystemData.TextLogUpdate.REMOVEDテキストログから削除されたエントリー。
SystemData.TextLogUpdate.CLEARクリアされたテキストログ。
関数
関数
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 で動作するよう設計されています。

定数

Summary
定数 (Text Log Update Types)
SystemData.TextLogUpdate.ADDEDテキストログに追加されたエントリー。
SystemData.TextLogUpdate.REMOVEDテキストログから削除されたエントリー。
SystemData.TextLogUpdate.CLEARクリアされたテキストログ。

定数 (Text Log Update Types)

SystemData.TextLogUpdate.ADDED

テキストログに追加されたエントリー。

SystemData.TextLogUpdate.REMOVED

テキストログから削除されたエントリー。

SystemData.TextLogUpdate.CLEAR

クリアされたテキストログ。

関数

Summary
関数
TextLogCreate()新しいテキストログを作成します。
TextLogDestroy()指定したテキストログを破壊します。
TextLogAddFilterType()指定したテキストログに新しいフィルダータイプを追加します。
TextLogAddEntry()指定したテキストログに新しいエントリーを追加します。
TextLogAddSingleByteEntry()指定したテキストログに新しいエントリーを追加します。
TextLogSetIncrementalSaving()新しいエントリーが追加されるごとにテキストログを逐次ファイルに保存したい場合に設定します。
TextLogGetIncrementalSaving()指定したテキストログでインクリメンタル保存(ログファイルの逐次保存)が有効になっているかどうかを調べて値を返します。
TextLogClear()テキストログの現在の内容をクリアします。
TextLogSaveLog()指定したファイルの現在のテキストログの内容を保存します。
TextLogLoadFromFile()ディスクから保存したテキストログを読み込みます。
TextLogSetEnabled()ログの有効・無効を設定します。
TextLogGetEnabled()ログが有効かどうかを調べて値を返します。
TextLogGetNumEntries()現在のテキストログ内のエントリー数を返します。
TextLogGetEntry()特定のエントリーIDのデータを返します。
TextLogGetUpdateEventId()このテキストログが更新された時に、イベントIDのブロードキャストを返します

関数

TextLogCreate()

新しいテキストログを作成します。

パラメータ

textLogName(string) テキストログの名前。
entryLimit(number) ログエントリーの最大数。

戻り値

nil戻り値無し。

TextLogCreate( "RaidLog" )

TextLogDestroy()

指定したテキストログを破壊します。

パラメータ

textLogName(string) テキストログの名前。

戻り値

nil戻り値無し。

メモ

  • TextLogCreate() でLuaから作成したテキストログだけを破壊できます。

TextLogDestroy( "RaidLog" )

TextLogAddFilterType()

指定したテキストログに新しいフィルダータイプを追加します。

パラメータ

textLogName(string) テキストログの名前。
filterId(number) このフィルタータイプの固有のID番号。
filterPrefix(wstring) このタイプのエントリーの先頭に付与されるテキスト。

戻り値

nil戻り値無し。

メモ

  • フィルター接頭語を使わない場合には、パラメータとして L”” を使用してください。

local RAID_LEADER  = 1

TextLogAddFilterType( "RaidLog", RAID_LEADER, L"Raid Leader: " )

TextLogAddEntry()

指定したテキストログに新しいエントリーを追加します。

パラメータ

textLogName(string) テキストログの名前。
filterId(number) このエントリーのフィルタータイプID。
text(wstring) エントリーテキスト。

戻り値

nil戻り値無し。

local RAID_LEADER  = 1

TextLogAddEntry( "RaidLog", RAID_LEADER, L"Everyone attack now!" )

TextLogAddSingleByteEntry()

指定したテキストログに新しいエントリーを追加します。

この関数は1バイトテキスト用です。テキストは出力のために内部的にワイド文字列に変換されます。

パラメータ

textLogName(string) テキストログの名前。
filterId(number) このエントリーのフィルタータイプID。
text(string) エントリーテキスト。

戻り値

nil戻り値無し。

local RAID_LEADER  = 1

TextLogAddSingleByteEntry( "RaidLog", RAID_LEADER, "Everyone attack now!" )

TextLogSetIncrementalSaving()

新しいエントリーが追加されるごとにテキストログを逐次ファイルに保存したい場合に設定します。

パラメータ

textLogName(string) テキストログの名前。
incrementalSavingOn(boolean) true = ログファイルを逐次保存する, false = 保存しない
filePath(string) 使用するファイルのパス。

戻り値

nil戻り値無し。

メモ

  • インクリメンタル保存を無効にしている場合、L””のファイル名を使用することができます。

TextLogSetIncrementalSaving( "RaidLog", RAID_LEADER, "logs/raidlog1.txt" )

TextLogGetIncrementalSaving()

指定したテキストログでインクリメンタル保存(ログファイルの逐次保存)が有効になっているかどうかを調べて値を返します。

パラメータ

textLogName(string) テキストログの名前。

戻り値

incrementalSavingOn(boolean) true = 有効, false = 無効

local logFileOn = TextLogGetIncrementalSaving( "RaidLog" )

TextLogClear()

テキストログの現在の内容をクリアします。

パラメータ

textLogName(string) テキストログの名前。

戻り値

nil戻り値無し。

TextLogClear( "RaidLog" )

TextLogSaveLog()

指定したファイルの現在のテキストログの内容を保存します。

パラメータ

textLogName(string) テキストログの名前。
filePath(string) 使用するファイルのパス。

戻り値

nil戻り値無し。

メモ

  • インクリメンタル保存を無効にしている場合、L””のファイル名を使用することができます。

TextLogSaveLog( "RaidLog", "logs/SomeDungon_July5th.txt" )

TextLogLoadFromFile()

ディスクから保存したテキストログを読み込みます。

パラメータ

textLogName(string) テキストログの名前。
filePath(string) 読み込むファイルのパス。

戻り値

nil戻り値無し。

メモ

  • 現在ログファイルの読み込みは、フィルタータイプ0のエントリーとしてテキストログ内へログファイルの各行をただダンプするだけです。

TextLogLoadFromFile( "RaidHistory", "logs/SomeDungon_July5th.txt" )

TextLogSetEnabled()

ログの有効・無効を設定します。

ログが無効になっている場合、 TextLogAddEntry() をコールをしてもログにテキストを追加できません。出力ファイルも、登録された LogDisplays も新しいエントリーを表示しないでしょう。

パラメータ

textLogName(string) テキストログの名前。
isEnabled(boolean) true = ログを有効にする, false = ログを無効にする

戻り値

nil戻り値無し。

メモ

  • TextLogCreate() で作成された場合、全てのログはデフォルトで有効になっています。ゲームによって内部的に作成されたログをデフォルトで有効にすることはできません。 TextLogGetEnabled() を呼び出して現在の状態を確認することができます。

TextLogSetEnabled( "RaidLog", true )

TextLogGetEnabled()

ログが有効かどうかを調べて値を返します。

パラメータ

textLogName(string) テキストログの名前。

戻り値

isEnabled(boolean) true = 有効, false = 無効

メモ

  • TextLogCreate() で作成された場合、全てのログはデフォルトで有効になっています。ゲームによって内部的に作成されたログをデフォルトで有効にすることはできません。

local logOn = TextLogGetEnabled("RaidLog")

TextLogGetNumEntries()

現在のテキストログ内のエントリー数を返します。

パラメータ

textLogName(string) テキストログの名前。

戻り値

numEntries(number) 現在のログ内のエントリー数。

local numEntries = TextLogGetNumEntries( "RaidLog",)

TextLogGetEntry()

特定のエントリー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 )

TextLogGetUpdateEventId()

このテキストログが更新された時に、イベントIDのブロードキャストを返します

パラメータ

textLogName(string) テキストログの名前。

戻り値

eventId(number) イベントID。

local chatUpdateEvent = TextLogGetUpdateEventId( "Chat" )
新しいテキストログを作成します。
指定したテキストログを破壊します。
ログディスプレイ (LogDisplay) は、任意の数の TextLog を表示するためのスクロール表示機能を提供します。
指定したテキストログに新しいフィルダータイプを追加します。
指定したテキストログに新しいエントリーを追加します。
新しいエントリーが追加されるごとにテキストログを逐次ファイルに保存したい場合に設定します。
指定したファイルの現在のテキストログの内容を保存します。
ログが有効かどうかを調べて値を返します。
Close