Nintendo MessageStudio ヘルプ

# タグについて

## 「タグ」とは？

「タグ」とは、文章中に埋め込む特殊な制御マークです。 この制御マークは、プログラムから読み取られ、それに従ってさまざまな処理を行うことが出来ます。 たとえば、ロールプレイングゲームで主人公の名前をユーザーが設定できるようにした場合、 街の人の台詞は「○○さん、こんにちは！」などのように入力によって変化する必要性が生じます。 この「○○」の部分をタグとして埋め込めば、プログラム側でそれを汲み取って適切な表示にすることが出来ます。

また、テキストにはさまざまな演出効果が伴う場合があります。 たとえば、難しい漢字にルビを振ったり、テキストの色を変えたり、大きさを変更したりということも行います。 また、三点リーダ(…)を表示するタイミングで表示ウェイトを入れるということもよくあるでしょう。 このように、さまざまな場面でタグを利用することになります。

## チームごとの対応

ゲームによっては、前述のように主人公の名前を設定できるものもあるでしょうが、 物語性の薄いゲームですと、主人公らしき人物すら登場しない場合もあります。 このように、利用すべき(用意すべき)タグは、ゲームの種類によって大きく左右されることになります。 プログラマと相談した上で、どのようなタグを用意すべきか判断して設定する必要があります。

プログラマの方は、入力可能なタグをプログラム側で処理するプログラムを作成する必要があります。 タグの混じったテキストのバイナリフォーマットについては、タグのバイナリフォーマットの項を参照してください。

## 「範囲を持つタグ」と「範囲を持たないタグ」

タグによっては、編集を行いやすいように「範囲」を持たせることが出来ます。 たとえば、色を変更するためのタグは、「ここからここまで」という表現を行ったほうが入力を楽に行えます。

この機能はメッセージエディタには無かった機能で、Message Studioで新規に実装された仕組みです。

## システムタグとユーザー定義タグについて

タグの中には「システムタグ」と「ユーザー定義タグ」の二種類が存在します。 「システムタグ」とは、テキストを利用するゲームの中で比較的よく利用されるもので、あらかじめMessage Studioによって定義されているものです。 このタグはプレビューウィンドウやメッセージグリッドの中に正しく表示されるため、編集者や翻訳者が理解しやすいという特徴があります。 「ユーザー定義タグ」とは、「主人公の名前を埋め込む」などの比較的ゲーム特定の機能に使用するもので、利用者が独自に定義します。

設定された「ユーザー定義タグ」の情報はプロジェクトファイル(msproj)に保存されます。 従って、設定された内容はプロジェクト全体で共有されるので、 プロジェクト配下に存在するすべてのコンテンツファイルで即座に利用可能になります。

## タグパラメータ

タグには任意の数のパラメータがつく場合があります。 このパラメータによって、タグの挙動を調整することが出来ます。 たとえば、「どのぐらいの大きさに」フォントサイズを変えるのか、「何の」効果音をならすのか、「何秒」待つのか、 などの情報を、タグパラメータによって設定できるようにしておくと調整がやりやすくなります。

タグパラメータも、プログラム側との連携が不可欠になります。 詳細な部分の仕様策定はプログラマの方と相談して行ってください。

## タグの設定

タグの設定を行うには、「プロジェクト」メニューにある「タグの追加と削除」を選択します。 ただしこの操作はパーミッションが必要です。詳細は、ロールとパーミッションの項をご覧ください。

まず最初に、「タググループの追加」を行います。 タググループとは、複数のタグをグルーピングして入力しやすくするための仕組みです。 たとえば、「主人公の名前を入れる」「ウェイト処理」「コインを取ったときの効果音をならす」 「所持金を入れる」「現在時刻を入れる」などのようなタグが乱雑に存在すると入力するときに不便です。 タググループを利用すれば、これらをまとめることが出来ます。

たとえば「文字挿入」「効果音」「欧州用文法」「韓国用文法」などのような グループを作成しておくとよいでしょう。

次に、左側の一覧ツリーのタググループを選択した状態で、「タグの追加」ボタンをクリックしてください。 すると、選択されていたタググループに対してタグが追加されます。

タグを選択すると、右側にタグの詳細設定画面が現れます。 画面に従って、タグの設定を行います。 この中で、表示設定という項目が画面下部に現れます。

これはスタイル設定と共に、テキスト幅計算を行うために使用します。 たとえば、「主人公の名前を入力するタグ」で、主人公の名前が最大5文字と決まっている場合は、ここを「5文字」としておいてください。 詳細は、スタイルと幅計算の項をご覧ください。 なお、「範囲を持つタグ」には、幅を持たせることが出来ません。

タグがパラメータを持つ場合は、パラメータの追加ボタンを押下します。

パラメータの設定はプログラムの組み方にも大きく影響しますので、 プログラマの方と相談して行ってください。

- はじめに
- Message Studioの基礎
  - ゲーム製作のフロー
  - プロジェクトファイルについて
  - プロジェクトエクスプローラの操作
  - ウインドウ操作
  - 言語設定
  - カラーの設定
  - 属性の設定
- メッセージ編集
  - 基本操作
  - テキストの種類
  - クリップボードを利用した操作
  - 言語セルステータス
  - 表示のカスタマイズ
  - メッセージ一覧画面のTips
- タグ
  - 概要
  - タグを用いた編集
  - タグのソース文字列
  - タグ比較について
- 検索機能
  - 概要
  - 簡易検索
  - 詳細検索
  - 正規表現
- スペルチェック
  - スペルチェックについて
  - スペルチェックの利用方法
- ロールとパーミッション
  - 概要
  - ロールの追加とパーミッションの設定
  - ロールの選択
- メッセージの統計情報
  - 統計情報について
  - 統計情報の利用方法
- スタイル機能と幅計算
  - スタイルと幅計算について
  - テキスト幅の全体チェック
  - レンダリング方式について
  - スタイルの設定方法
- フォント
  - フォント機能の概要
  - フォントに関するワークフローについて
  - フォントの設定
- チーム管理機能
  - 概要
  - ファイル管理のされ方
  - チーム管理機能を利用する
  - 基本操作
  - コミットログを表示する
  - 差分(diff)を表示する
  - 競合とマージ
  - プロキシサーバの設定
  - サーバーの設定
- メタ情報の設定
  - メタ情報の設定について
  - 設定可能なメタ情報一覧
- リソースファイル関連
  - リソースについての概要
  - リソースファイルを出力する
  - 出力設定を行う
  - ビルドイベントについて
  - 共通のバイナリフォーマット
  - メッセージバイナリフォーマット
  - フローチャートバイナリフォーマット
  - プロジェクトバイナリフォーマット
    - プロジェクトバイナリフォーマット
    - カラー情報
    - コンテンツ情報
    - 属性情報
    - タグ情報
    - スタイル情報
  - タグについて
- マクロ文字列展開機能
  - マクロ文字列とは
  - 利用可能なマクロ一覧
- コマンドライン関連
  - コマンドライン制御について
  - /convertスイッチについて
- プラグインについて
  - プラグインの概要
  - プラグインの種類について
- プラグインの作成方法
  - 単純なプラグイン作成チュートリアル
  - 開発環境を利用しない作成方法
  - サンプルについて
- Message Studioのアセンブリ設定
  - Caspol：アセンブリセキュリティ設定
  - Ngen：ネイティブイメージ生成
- XML仕様
  - 概要
  - プロジェクトファイル（.msproj）のXML仕様
  - メッセージファイル（.mstxt）のXML仕様
- libmsについて
  - 概要
  - コンパイルの仕方
- 共通の関数
  - LMS_SetMemFuncs
- メッセージに関する関数
  - LMS_InitMessage
  - LMS_CloseMessage
  - LMS_SearchMessageBlockByName
  - LMS_GetMessageBlockInfoByName
  - LMS_GetTextNum
  - LMS_GetTextIndexByLabel
  - LMS_GetText
  - LMS_GetTextSize
  - LMS_GetTextByLabel
  - LMS_GetLabelByTextIndex
  - LMS_GetTextStyle
  - LMS_GetTextStyleByLabel
  - LMS_GetAttributeSize
  - LMS_GetAttribute
  - LMS_GetAttributeText
- フローチャートに関する関数
  - LMS_InitFlowchart
  - LMS_CloseFlowchart
  - LMS_GetNodeNum
  - LMS_GetEntryNodeIndex
  - LMS_GetNodeDataPtr
  - LMS_GetFlowNodeIndex
  - LMS_GetCaseIndexesFromBranchNode
  - LMS_GetFlowParamText
- プロジェクトに関する関数
  - LMS_InitProject
  - LMS_CloseProject
  - LMS_SearchProjectBlockByName
  - カラー情報に関する関数
    - LMS_GetColorIndexByName
    - LMS_GetColor
    - LMS_GetColorByName
    - LMS_GetColorNum
  - コンテンツ情報に関する関数
    - LMS_GetContentsNum
    - LMS_GetContentPath
  - 属性情報に関する関数
    - LMS_GetAttrInfoIndexByName
    - LMS_GetAttrType
    - LMS_GetAttrTypeByName
    - LMS_GetAttrOffset
    - LMS_GetAttrOffsetByName
    - LMS_GetAttrListItemName
    - LMS_GetAttrListItemNameByName
    - LMS_GetAttrNum
    - LMS_GetAttrListItemNum
  - タグ情報に関する関数
    - LMS_GetTagGroupName
    - LMS_GetTagName
    - LMS_GetTagParamName
    - LMS_GetTagParamType
    - LMS_GetTagListItemName
    - LMS_GetTagGroupNum
    - LMS_GetTagNum
    - LMS_GetTagParamNum
    - LMS_GetTagListItemNum
  - スタイル情報に関する関数
    - LMS_GetStyleIndexByName
    - LMS_GetRegionWidth
    - LMS_GetRegionWidthByName
    - LMS_GetLineNum
    - LMS_GetLineNumByName
    - LMS_GetFontIndex
    - LMS_GetFontIndexByName
    - LMS_GetStyleNum
- 扱うファイルの拡張子一覧
- よくある質問