ミッションブリーフィングを追加する(briefing.html) -ArmA訓練所-

ArmA訓練所
2007/05/20

ここではミッションの状況説明や、任務目標を表示するブリーフィングの表示方法を紹介します。
ArmAに最初から入っているミッションは、ミッション開始前に説明と目標が書かれた
ミッションブリーフィングが表示されます。
自作ミッションでもこれと同じミッションの説明を表示することが出来ます。

注意!
ブリーフィングは日本語表示に対応していません。(その他ゲーム中に日本語を使用できる箇所はありません)
そのため、日本語をそのまま表示することは出来ませんし、記述すべきではありません。
日本語を表示させるには日本語を書いた画像ファイル(jpegやpaa)を用意し、それをブリーフィングに
貼り付ける必要があります。


目次


ミッションブリーフィングを表示するには

ミッションブリーフィングの表示には、ArmAやOFP独特のHTMLファイルを使います。
HTMLの知識がある人にはさほど難しくはないと思いますが、独特の記述が求められ、
overview.htmlと比較しても記述量が多いので、タグのミスや文法ミスには一層の注意が必要となります。
ブリーフィングの表示には、マイドキュメント\ArmA\missions\ミッション名\briefing.htmlというファイルを用意します。
(ArmAの箇所はArmA Other Profilesの場合有り)


briefing.htmlの中身

overview.htmlと同様に、市販のウェブページ編集ソフトでこのHTMLを作るのは困難ですので、
テキストエディタでbriefing.htmlを作成します。

<html>
<head>


<meta http-equiv="Content-Type"
content="text/html; charset=windows-1250">
<meta name="GENERATOR" content="ofp">

<title>Title</title>
</head>



<body bgcolor="#FFFFFF">



<! --- ----------------------------->
<! --- "Notes" section >
<! --- ----------------------------->

<h2><a name="Main"></a></h2>
<p>


Write some text here - it will be in the "Notes" section.
<br><br>
You can use some <a href="marker:MarkerName">links</a> too.
</p>
<hr>
<! --- End of Notes>





<! --- ----------------------------->
<! --- Missions plan >
<! --- ----------------------------->
<p><a name="plan"></a>


Short description of the mission.
</p>
<hr>



<p><a name = "OBJ_1"></a>First objective.
</p>
<hr>



<p><a name = "OBJ_2"></a>Second objective.
</p>
<hr>


<! --- End of "Plan" section>




<! --- ----------------------------->
<! --- debriefings --->
<! --- ----------------------------->
<hr>


<br>
<h2><p><a name="Debriefing:End1">Title</a></p></h2>
<br>
<p>


DescriptionEnd1
</p>
<br>



<hr>


<br>
<h2><p><a name="Debriefing:End2">Title</a></p></h2>
<br>
<p>


DescriptionEnd2
</p>
<br>



<! --- end of debriefings --->
</body>
</html>

上に示したのがBISのサンプルとなっているbriefing.htmlです。
overview.htmlに比べてなんだかとても行数が増えていて、説明する方も理解する方も苦労します。
ひとまず私が作った例を載せてみたいと思います。

01:<html>
02:<head>
03:<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
04:<meta name="GENERATOR" content="arma">
05:<title>Title</title>
06:</head>
07:<body bgcolor="#FFFFFF">
08:<! --- ----------------------------->
09:<! --- "Notes" section >
10:<! --- ----------------------------->
11:<h2><a name="Main"></a></h2>
12:<h2>Hints</h2>
13:<p>This is a image of HUD of harrier.</p>
14:<p align="center"><img src="harrier_hud.jpg" width="512" height="512"></p>
15:<br>
16:<p>1. This line shows the horizontal.</p>
17:<p>2. This mark shows the direction of the nose of the airplane.</p>
18:<p>3. This mark shows the traveling direction of the airplane.</p>
19:<p>4. This line shows the gap with a standard highly landing.</p>
20:<p>5. This line shows the gap with the center of the glide slope.</p>
21:<hr>
22:<! --- End of Notes>
23:<! --- ----------------------------->
24:<! --- Missions plan >
25:<! --- ----------------------------->
26:<p><a name="plan"></a></p>
27:<p align="center"><img src="harrier_briefing.jpg" width="600" height="200"></p>
28:<br>
29:<p>
30:Welcome to a Training mission.<br>
31:This is a training of Harrier Landing.<br>
32:</p>
33:<hr>
34:<p><a name = "OBJ_1"></a>Land at the <a href="marker:landing_point">airport</a> safely.
35:</p>
36:<hr>
37:<p><a name = "OBJ_2"></a>Stop next to <a href="marker:park_zone">the glide slope</a>.
38:</p>
39:<br>
40:<br>
41:<br>
42:<br>
43:<br>
44:<br>
45:<br>
46:<br>
47:<br>
48:<br>
49:<br>
50:<br>
51:<p>
52:Thank you for playing.<br>
53:http://www5b.biglobe.ne.jp/~u-hobby/game/arma/
54:</p>
55:<hr>
56:<! --- End of "Plan" section>
57:<! --- ----------------------------->
58:<! --- debriefings --->
59:<! --- ----------------------------->
60:<hr>
61:<br>
62:<h2><p><a name="Debriefing:End1">Good work</a></p></h2>
63:<br>
64:<p>
65:Good work!<br>
66:</p>
67:<br>
68:<hr>
69:<br>
70:<h2><p><a name="Debriefing:End2">You need more training</a></p></h2>
71:<br>
72:<p>
73:Training failed.<br>
74:</p>
75:<br>
76:<hr>
77:<br>
78:<h2><p><a name="Debriefing:End3">You need more training</a></p></h2>
79:<br>
80:<p>
81:You should more carefully.
82:Training failed.<br>
83:</p>
84:<br>
85:<! --- end of debriefings --->
86:</body>
87:</html>

上記の例は、私が作ったミッションのbriefing.htmlです。
これをコピペしてもらえば一応briefing.htmlができますが、
だからといってコピペしてから調整しようとしても結構大変かもしれません。
いくつか説明を入れてみたいと思います。

5行目のheadタグ内にあるtitleタグは、いかにもミッションタイトルを表示しそうですが、
この箇所での指定は特に意味をなさないようです。そのままにしておきましょう。
11行目以降からノートセクションが始まります。
ノートセクションとは、ブリーフィング画面のNotesタブをクリックした際に表示されるもので、
主にミッションの背景や補足情報などを記述します。
実際、あまりこの欄を見ている人は少ないので、大事な情報を書くと見てもらえない可能性もあります。
12~20行目にかけて、ノートセクションの内容を記述しています。
ミッションブリーフィングでも画像を表示できますが、overview.html同様に
表示する画像にはいくつかの制限があります。

26行目からミッションプランが始まります。
ここで記述される内容がミッション開始時に表示されます。
ミッションに必要となる情報や、任務目標を記述します。
この欄にはゲーム中の進行に合わせて目標の達成や失敗、目標の追加などを表現するために必要な項目があります。
34行目と37行目のように、 <a name = "OBJ_1"> といったタグを使うことで
ミッションの目標を表示できます。OBJ_1の数字をOBJ_2、OBJ_3とすることで目標を増やすことが出来ます。
これらの目標はスクリプトコマンドのobjStatusを使うことで達成、失敗、未完了、非表示の状態に出来ます。
例えば、OBJ_1を達成した場合は"1" objStatus "DONE";を実行します。
最初の"1"はOBJ_1などの目標の番号、"DONE"の箇所には達成状況を記述します。
達成、成功は"DONE"、失敗は"FAILED"、未完了や非表示から表示させるには"ACTIVE"、隠す場合は"HIDDEN"を使います。
また、 <a href="marker:landing_point">キーワード</a> というタグでは、
特定のキーワードをクリックすると、マップの目標地点がクローズアップされます。
上の例ではlanding_pointという名前を付けたマーカーを配置しておくことでそれが可能になります。

62,70,78行目では、デブリーフィングのパターンを記述します。
デブリーフィングとは、ミッション終了後の結果表示画面のことです。
スコア表示や倒した敵の数などが表示されますが、それに合わせて特定の文言や画像を表示できます。
<a name="Debriefing:End1">というタグでデブリーフィングのパターン1の先頭を表します。
例えば、パターン1ではミッション成功、パターン2では条件付き成功、パターン3では失敗という形で定義します。
これらのデブリーフィングを表示させるには、トリガーのタイプをEnd#1やEnd#2として、トリガーを動作させることで表示できます。

overview.html同様に、いくつかのHTMLタグを使いますが、基本は次のものくらいしか使わないので、
簡単に頭に入れておきましょう。

h2タグ
見出しを定義するタグ。タイトルなどをこのタグで囲う。
pタグ
段落を定義するタグ。文章のまとまりをこのタグで囲う。
brタグ
改行を定義するタグ。文章で改行を入れたいところで記述します。
imgタグ
画像を表示するタグ。文章の途中に画像を入れたいところで記述します。

Briefing Generator

項目の内容を入力するだけでbriefing.htmlを作成可能なCGIプログラム「Briefing Generator」を用意しました。
HTMLタグの知識がない方でも簡単に作成できます。
バグがあったら掲示板の方にお知らせください。


表示テスト

作成中のミッションを保存します。
ここではSave as: User missionsでかまいません。
ミッションフォルダにbriefing.htmlを作成し、保存します。
ArmAのミッションエディタでミッションを読み込み、Shiftキーを押しながらPREVIEWボタンをクリックします。
すると、通常はいきなりミッションが開始されますが、一度ブリーフィング画面が表示されます。
この方法でブリーフィングメニューのチェックが出来ます。
ここでの表示を参考に、文字数や改行位置を修正します。
明らかに表示がおかしい場合はHTMLタグがおかしい可能性があります。
タグの開始と終了が間違っていないか、タグの名前が間違っていないか確認してください。
これで調整が済めば立派なBriefingの出来上がりです。


Homeへ