[ Top ページ | Map editor ]  [ Tips2 ]

 Tips2    ちょっとした 情報メモ or ネタ倉庫  更新日等は表示なし  トップページの Topic に案内なし  結果に関して無保証

01 DDSファイルの読み書き
02 ミニマップ画像
03 Cheat
06 スクリプト関連の豆知識
07 BKのテキスト
08 BK ファイルの種類と拡張子
12 橋 にIDを付ける
13 将来稼働可能なユニット
  14 マップの季節を変更する
15 マップ全体のスクリーンショット
16 スクリプトデバッグ
17 起動スイッチ
18 橋の健康状態
19 SciTE Editor 日本語化
20 Disabled Units
21 Command sizeとBitArry
  22 Blitzkrieg の日本語化
23 BKのビデオとミュージック
24 Modのミソ
25 DDSファイルの編集・作成
26 テキストエディタで作るツール
♠ reserved
♦ reserved
  番外

26 テキストエディタで作るツール
26-1 ポーズ (Pause) を消すパッチ
諸兄 よくご存じのように、 シングルプレーヤーゲーム中、スペース・バーを押すとゲームが中断され、(日本語版 の
場合)『ポーズ』と表示される。これ自体は何の害もないが、スクリーンショットを撮る(とる)場合には邪魔になる
と、思う人もいるようで、『ポーズ』を表示させないパッチのニーズがある。
これは、そのパッチを、読者自身に作らせよう… という企画だ。
 
【手順】
(1) Blitzkrieg をインストールしたフォルダの data フォルダを見つける。 それは .pak ファイルを置くフォルダ。
(2) そこに textes フォルダを作り、textes フォルダの中に strings フォルダを作る。 全てのフォルダ名は、半角文字で。
(3) strings フォルダの中に、テキストファイル pause.txt を置く。
  pause.txt の中身は ANSI (shift-jis) で、半角スペースだけ。
(4) シングルプレーヤーゲームで試し、『ポーズ』と表示されなければ完成。
  このパッチを無効にするには pause.txt をどこかに移動するか、名前を変える。
  これを pak にするには、\textes\strings\pause.txt を zip 圧縮し、その後 拡張子を .pak に変更する。
26-2 DIRバッチ
これは、バッチファイルが置かれたディレクトリのリストを、テキストファイルに 書き出すだけのバッチファイル。
以下の三行をテキストエディタにコピーし、 xdir.bat の名前で保存する。三行目で、 自分自身を削除しているので、
別の名前にしたければ、三行目も変更すること。 結果は xdir.txt に出力される。
echo off
dir *.* /b/ogn > xdir.txt
del xdir.bat
このバッチは汎用品で、Blitzkrieg だけで使うものではない。だが、Blitzkrieg の内部データーを扱う人には、フォルダ名の一覧をワンタッチで得られるので便利かも知れない。 フォルダ関連の余計なお世話 ⇒ フォルダ作成くん
26-3 del_ddsバッチ
これは、ユニットやオブジェクトを作成する際に生成される、不要な .dds ファイルを削除するバッチファイル。
ユニットやオブジェクトを作成すると、*_h.dds, *_c.dds, *_l.dds などが作られるが、ほとんどの場合、*_h.dds だけで用が足りる。*_h.dds 以外のファイルを手作業で削除するのは、時間の無駄なので、一括処理する為に作られた。
以下の四行をテキストエディタにコピーし、 xdel_dds.bat の名前で保存する。 四行目で、自分自身を削除しているので、別の名前にしたければ、四行目も変更する。
このバッチファイルが置かれたフォルダ内だけが動作範囲なので留意のこと。 (このバッチは、 Blitzkrieg 専用)
echo off
del *c.dds
del *l.dds
del xdel_dds.bat
dds 関連の余計なお世話 ⇒ ConvertShots (.tga → .jpg に一括変換。このサイトのどこかに置かれている。)

25 DDSファイルの編集・作成
「DDSファイルの読み書き」で DXTBMP を紹介したが、 これで dds ファイルを作るのは、手間がかかり過ぎる。
DXTBMP は、もはや 過去のアプリケーションだ。(Blitzkrieg もそれに劣らず過去のものだが…) 海外の匠達は、PhotShop と dds プラグインの組み合わせを使っている人が多い。 だが、PhotShop は経済的事情により、導入が困難な人もいる。 で、知人の紹介で使い始めたのが、GIMP
これはフリーソフト だが、結構使える(様だ)。これに GIMP用 dds プラグインを導入すると、 変換処理無しで dds ファイルを作成できる。 アルファチャネルも直接編集できるので、BK'er には有用だ。
  探す時のキーワード: 「GIMP2 ダウンロード」,「GIMP用 dds プラグイン」 など。

GIMP(2.6.11 の場合) を使った dds ファイルの作成例  追記
ファイルを GIMP で開き、編集する。 そして、編集が終了した後…
[ファイル]-[名前を付けて保存]-[ファイルタイプを選択]-(拡張子の 選択ダイアログが表示される)⇒ 「DDS images」 を選択 ⇒
[保存]-(Save as DDS ダイアログが表される示) ⇒ Compression 窓で[BC1 / DXT1]を選択 - [OK] を押す。
以上の操作で 指定フォルダに dds ファイルが出力される。 この dds ファイルを *_h.dds (*= 1 or 1w or 1a or 2....)とする。

この dds ファイルは、Nival オリジナル(888-8 32bit)と異なる方式で、原画サイズ ( 256X256 px とか 512X512 px 等)の割に、小さなサイズの ddsファイルを作る。 888-8 32bit ではなく、DXT1 でも使用できる様で、今のところ、問題はまだ起きていない。
24 Modのミソ  よく知られたゲームプレイ Mod で、何をしているか…を調べた。

Passability (Flora Passability Mod など)
例:\data\Objects\SimpleObjects\africa\summer\a_counter_01\01\1xml で
 base > desc > AIClasses = "0"(デフォルト)を "4" にする。

Non-Exploding Aviation Mod
ユニット (Aviation)の 1.xml の base > EffectFatality(デフォルトでは item="expplane1")を削除する。

Disable Tank Tracks by Bleser
weapn フォルダの砲(flackを含む)の1.xml で、rpg > shells >BrokeTrackProbability を追加する。
そして item=1〜50(位?)を与える。 詳細は不明だが、数字が大きいほどキャタピラを破壊する能力が高いようだ。
item 値の例
 20mm_flak30_38 = 3, 45mm20k = 5, 50mmkwkl42 = 12, 105mm_lefh_18 = 17, 76mm_f22 = 22,
 88mm_flak_18 = 25, 600mm_karl = 32, tm_1_180 = 45

Fighters-to-Ground Attack
ユニット (Aviation : Fighter) の 1.xml の base > "Sight= 0"を削除する。そうすると戦闘機が地上の敵を攻撃する。
ちなみに、地上攻撃機は Sight = 30 位が多い。 と言うことは、"Sight= 30"にしても、同様と言うことか。


23 Blitzkrieg のビデオとミュージック

ビデオ(動画)… Blitzkrieg(拡張版も)を起動するたび、ビデオが出る。毎度のことなので、うんざり。
このビデオの拡張子は .bik で、これを再生できるツールを検索すると RAD Video Tools がヒットする。
これは製品(有料)らしいが、この無料版が公開されている。 rad-video-tools-v1.9g.exe(サイズは 1.5MB ぐらい)
ダウンロードページは、 「RAD Video Tools」で検索すると、多分1ページ目に見つかる。

これで何をするか…再生しないビデオを選択する手段として、これを使う。
再生しないビデオを削除するか、別のフォルダに移動すれば、再生されない。
無料版は、ビデオの再生が終わると製品のロゴが出てくるが、そう何度も使う予定はないので、無問題。

ミュージック… Blitzkrieg(と拡張版)のミュージックは、拡張子 .ogg のファイル。
「拡張子 ogg」で検索すれば、いくつかヒットする。 Windows Media Playerなどで再生するなら、専用の codec ファイルをインストールしなければならない。(これは案外面倒)
ogg 対応するプレーヤーの中に、再生の他、サウンド(ミュージック)を加工できる Audacity がある。
フリーソフトなのに多機能で、サウンドModを作る場合に重宝した。「Audacity」は窓の杜でダウンロードできる。
「GOM Player」は セキュリティーの面でお勧めしない。


22 Blitzkrieg の日本語化  改訂
日本語化 … このテーマは次の2通りの意味がある。
(1) 日本語版の Blitzkrieg で、日本語以外のキャンペーン・チャプター・ミッション(マップ)を日本語で表示する。
(2) 日本語版以外の Blitzkrieg (あるいは日本語以外の MOD)で、日本語を表示する。

(1) 日本語版の Blitzkrieg … 既に日本語を表示する仕組みを持つので、比較的 簡単だ。
キャンペーン・チャプター・ミッションのテキストを翻訳するだけ。 とは言え、翻訳作業は違いなく重労働だが、
海外には、機械翻訳(例えば Google 翻訳)で、自国語バージョンを出している人もいる。
これは方法論であって、別に、それが悪いと言っている訳じゃない。

(2) 日本語版以外の Blitzkrieg … 当然、これは上記(1)より複雑かつ大量の作業 になる。
ゲーム本体で表示する種々のメニューや各種のメッセージ、Help などを 日本語にしなくてはならないからだ。
翻訳すべきテキストは、data.pak 内の texts フォルダにある。  (下記参照)

【参考】 日本語化に関連するフォルダ
  fonts  日本語を表示する為に必須のファイル。 翻訳不要(下記参照)
  buildings
  medals
  objects
  units
 主にゲーム画面で表示される名前等。 翻訳省略可
  maps  一部の .lua ファイルに翻訳が必要なもの有り。
  movies ムービーのタイトルなど。 翻訳省略可
  scenarios    チャプター・キャンペーン・ミッションなど。 翻訳必須
  textes  メニュー表示・ポップアップメニューなど。 翻訳省略可

ちなみに、texts フォルダは、104のサブフォルダと 1591のファイルを持つ。 ファイルサイズは 200 KB 以下なので、
大したことはないが、問題は、それらを 和訳するだけではないところにある。

Russian font small font フォルダについて
Blitzkrieg では、画像データーを使って文字を表示する仕組みを持っている。
つまり、表示する文字を、画像データーとして持っている訳だ。
画像データーは data.pak の中の font フォルダにある。
このフォルダの下位に、large, medium, small, tiny のサブフォルダがある。
右は、無印 Blitzkrieg の data.pak 中の font\small フォルダにある画像。
Blitzkrieg は、ロシアの Nival Interactive が作ったので、デフォルトとして ロシア語の画像データーを持っている。
デフォルトの Blitzkrieg なら、この font ファイルで英語を表示できる。

Japan font small 日本語版 Blitzkrieg は、texts.pak なるファイルを持っている。
この texts.pak は font フォルダを持ち、その下位フォルダに、日本語表示に対応 した画像データーがある。
左の画像は、texts.pak の font\small フォルダにあるデーターの一部。
(原寸で表示すると、この頁からはみ出すほど大きい)
 
日本語版以外の Blitzkrieg (あるいは拡張版)を入手し、オブジェクティブなどの テキストを日本語にしただけでは日本語を表示できない。
日本語版以外の Blitzkrieg で、日本語を表示するには、この画像データーを
日本語に対応するものに交換する必要がある。
それじゃ、どこからそれを手に入れるか?それが、日本語化の問題である。

日本語対応画像データーのサンプル  これは、例を示す為のもので、日本語を表示するパッチファイルとして公開するものではない。
Blitzkrieg 日本語体験版から入手できるかも知れない。  例えば  www.4gamer.net/patch/demo/blitzrieg.html
老婆心ながら、体験版であっても、 著作権の問題がある。個人的な使用の範囲に止めることを推奨する。

オブジェクティブやマップ(キャンペーン等)のタイトル以外の表示は、 textes フォルダ等のテキストファイルを日本語にする (と、言うか、対応するパッチを作る)ことにより、日本語表示にできる。 但し、変更すべき量は半端じゃない。個人でトライするのはお勧めできない。

蛇足:日本語版の画像データーは、第一、第二水準のフォント全てを持っている訳では ないので、画像データーに無い文字を使うと「・」が表示される。 「ぁぃぅぇぉゃゅょっ」は含まれていない。半角カナは有り。

参考になるかも知れないサイト ⇒ 海外ゲーム日本語化実験所     リンクの有効性は保証しません
21 Command sizeBitArry
例えば、Opel_Blitz_Cargo の 1.xml には以下の記述がある。但し、 (1)〜(6) は、説明の為に付記したもので、実際の 1.xml には無い。
<Commands Size="44">
  <BitArray>
  <item data="33"/> ------- (1)
  <item data="3"/> -------- (2)
  <item data="128"/> ------ (3)
  <item data="128"/> ------ (4)
  <item data="129"/> ------ (5)
  <item data="8"/> -------- (6)
  </BitArray>
</Commands>

これらの数値により、そのユニットの動作機能が決められていることは既に判っている。しかし、これまでその数値が何を意味するか、は十分解明していなかった。それで、手持ちのユニットの Commands SizeBitArray の一覧を作成した。

それらの一覧から、数値と、そのユニットの動作機能の関連性を推測した。 この仕事は、多くの時間と忍耐を要する仕事だったが、ほぼ主要なコマンドは突き止めることができた。但し、いくつかの不明なコマンドと矛盾が残っており、まだ完全ではない。
だが、作者のいくつかのユニット(例えば、patched unit, Nihon pach など)に適用して、推測が、ほぼ正しいことを確認したので、ここで公開する。 以降の説明を理解するには、2進(バイナリ)、8進(オクタル)の若干の知識を必要とするが、ここではそれらについて説明していない。

item data は、そのユニットに与える複数のコマンドのグループで、8つある。 Opel_Blitz_Cargo の場合は、(1)〜(6)までのコマンドのグループしか無い。 item data 即ち、コマンドのグループは、それぞれに、8つのコマンドを持つ。 このコマンドは、後述のファイルの中に書かれている。

それぞれのコマンドは、1, 2, 4, 8, 16, 32, 64, 128 の値を持ち、その合計値が item data= として示される。
例えば、item data="33" であれば、そのグループの 1 番目のコマンドと 6 番目のコマンドが与えられている。
もし、1 番目から 8 番目の全てのコマンドが与えられていれば、item data="255" となる。

Command Size
Command size は item data によって決められる。Command size を知る為に、0以外の値を持つ、最後のグループに着目する。
例えば、Opel_Blitz_Cargo の場合、(6)である。この場合、(7)と(8)はコマンドが与えられていないので省略されていると考える。

(1)から(8)のグループは、それぞれ 0, 8, 16, 24, 32, 40, 48, 56 のベースの値 を持つ。ここでは、説明の為に、この値を仮に Size-A とする。
Opel_Blitz_Cargo の場合、最後の item data は(6)であるから、Size-A は 40 である。

次に、最後の item data の値に着目する。Opel_Blitz_Cargo の場合、8である。
前述の様に、これは最後の item data の4番目のコマンドが与えられていることを意味する。
ここでは、同様に、この値を Size-B とする。 Opel_Blitz_Cargoの場合、Size-B は 4 である。

Command size は Size-A と Size-B の合計値である。 よって、Opel_Blitz_Cargoの場合、Command size="44" となる。

Commands
これは、文字で説明しても 難解なので、 計算ファイル を参照のこと。 これで Command size と BittArray を計算できる。

注記
マップ上のユニットは、 Command size と BittArray だけによって動作機能が決められている訳では無い様である。
多分、<Type> や <AIClass> その他のパラメーターの影響があるはずだ。それらの不確定要素は、現在のところ、良く解明していない。

作者が、Command size と BittArray の関係を推測・実験していた頃、既にそれは公開されていた。
それは「Blitzkrieg HOW TO Tutorial.pdf by MAJOR PAIN」(英文)の中に書かれている。

20 Disabled Units Disabled Pz. VI Tiger Heavy Tank
「Disabled Pz. VI Tiger Heavy Tank」というユニット(画像右)がある。
だいぶ前に、どこかからダウンロードしてきたもので、Units Colections に保管中。
このユニットは移動や攻撃ができない。但し、方向転換や防塁(Entrench_self)は動作した。(作者の意図がどこにあったのかはわからないが)情景小物ではない様な印象だった。

そこで、パクリのそしりを無視し壊れた外観を持つユニットをいくつか試作してみた。
これは、激しい戦闘の雰囲気を演出する情景小物として、将来稼働可能なユニット より手軽に利用できる事を目的とするもの。

手順 folder tree
(1) Blitzkrieg をインストールした Run/Data フォルダの下に Units フォルダを作成し、
 その下に作成するユニットのファイルを置くフォルダ群を作る。(右はその一部を示す)
 フォルダ構成は data,pak の内部構成に準拠した。 ユニットデーターを置く最も下位の
 フォルダ名は、(同名フォルダだとうまくないので) 標準のユニット用のフォルダ名と
 異なる名前を付ける。

 例えば、Tiger の場合なら
   \Run\data\Units\Technics\German\Tanks\!Pz_VI_Tiger_A とする。
   今回の試作タイガーは右下の画像。
試作disabled_Tiger

(2) textures.pak にある該当するユニットのフォルダから
  2_h.dds, 2w_h.dds, 2a_h.dds(もし有れば), をそれぞれコピーする。
  data.pak と textures.pak から、データを取り出した Blitzkrieg Source Files を使うとこの作業は楽。
 これらをもう一度コピーする。それらは 「コピー〜(ファイル名)」になる。次に
 それら(コピー〜)を 1_h.dds, 1w_h.dds, 1a_h.dds, (もし有れば) に名前変更する。
  最初にコピーした 2_h.dds, 2w_h.dds, 2a_h.dds はそのまま。
 ちなみに、テクスチャファイル先頭の 1 は通常(破壊されていない)のテクスチャ、
 2 は破壊された時、2番目の a はアフリカ、w は冬マップ … の意味。
 今回の試作では破壊されたスキンを使い回すので、先頭が 1 のファイルは使わない。

(3)  同様に data.pak にある該当するユニットのフォルダから 1.mod, 1.xml, icon.tga, name.txt をコピーする。

(4)  icon.tga と name.txt, 1.xml をそれぞれの内容を変える。
(4-a) icon.tga そのまま使用しても良いが、マップエディタでの操作時 オリジナルと区別するため、改造ユニット
   と判る方が望ましい。 といって、独自に作るのは手間がかかるので、今回は白黒画像に変換した。

(4-b) name.txt そのまま使用しても良いが、今回は頭に "Disabled" を挿入した。また、名前を少し短く簡略化した。
    これはマップエディタの表示が長くなりすぎるのを防止するため。

(4-c) 1.xml この改造により特性を変える。以下、改造例 特に記載のない項目はオリジナルのまま。

項目変更点
MaxHP一律に 999 これは少し壊れにくくするため。オリジナルのままでも使用可  
Sight一律に 0 壊れたユニットが前提なので 0 が望ましかろう
Speed一律に 0 ユニットが勝手に動かない為に必須
RotateSpeed一律に 0
Command>BitArray>item 一律に 0 6〜7項目全て
Guns>Item>Ammo一律に 0 全ての銃砲の弾薬をゼロにする
Armo(装甲厚)原則オリジナルのままだが、変更は自由 下表参照

部位MinMaxAve.
ArmoLeft, ArmoRight 150 250 200
ArmoTop, ArmoBottom  160 200 180
ArmoBack 150 250 200
ArmoFront 200 300 250

 Tiger II だけ装甲厚を変更してみた。右表参照。
 これは容易に破壊されない効果の確認用。無印 Blitzkrieg のユニットでは
 トップクラスの防御力となり、中〜軽戦車などでは破壊できない。
 (だが、歩兵の手榴弾で破壊される。)
 従って、絶対破壊されない訳ではないので、有効性は疑問。情景用ユニット
 なら、中立にすれば、ゲーム中に破壊されることはないと思われる。

(5) 仕上げ 他(modobjects.xml を作成した後) all units
  マップエディタに表示され、マップ上に Disabled
 ユニットを配置できることを確認すれば一応完成。 1.xml
 が正常に変更されていれば、移動も攻撃もしないはず。
 必要に応じてpak化する。

 左画像は(BMW_R75 を除く)ドイツ軍 Tanks だけの
 試作ユニット群。(クリックで拡大)。

 M13-40, Pz_38t_Ausf_A, Pz II Ausf F, Pz III Ausf E, Pz III Ausf J,
  Pz IV Ausf D, Pz IV Ausf G, Pz Maus, Pz V Panther Ausf D,
  Pz V Panther Ausf G, Pz_VI_Tiger_A, Pz_VI_Tiger_II_Aus_B,
  Sdkfz_222, Sdkfz 231, Sdkfz_234_Puma, Vickers 6Tonns Finland,
Diorama sample unit on the bridge
Disabled ユニットの立ち振る舞い に付いて
  マップ上に配置するのは、「将来稼働可能なユニット」より簡単。(xml形式で保存し、データー加工のステップが不要)
  しかし、情景に徹してくれれば良いが、完全に“死んでいる”ユニットではないから、敵が近づくと砲塔を回したりする。
  これは結構違和感がある。スクリプトでは「死んだふり」は実現できないようだ。
   Download disabledunits.pak 3.8 MB    関連記事(Units that is not Mod yet :英語) Disabled Units
 

19 SciTE Editor 日本語化
Legacy of the Blitzkrieg に掲載している Blitzkrieg SciTE Editor はスクリプト作成用エディタとして bk-portal.uk に掲載されていたもの。(元々は SciTE Editor は多用途のエディタである) Lua インタプリタを内蔵しており、[F5] キーあるいはツールバーの[ツール]→ Go コマンドでスクリプトのデバッグができるのが特徴。 Open Global Option File

だが、(使用言語を English を選択して)インストールすると、日本語の入力と表示ができず、コメントやゲーム画面に日本語を出すスクリプトを編集できない。
SciTE Editor を日本語で使う改造を試みたので記録を残す。但し、改造の結果に付いては無保証。

この方法は、SciTE Editor の設定全般を定義している SciTEGlobal.properties を編集するので原本を保存する。
これは SciTE Editor をインストールしたフォルダに有る。 (デフォルトなら・・・
 C:\Program Files\Blitzkrieg SciTE Editor\)

SciTE Editor を開く。
ツールバーの [Option] ⇒ "Open Global Option File"
をクリックする。 SciTEGlobal.properties が開く。


フォントの変更
chenge font フォントを指定している部分を編集する。
これらは、300行目付近にあるが、次のメッセージを検索した方が早く見つけられる。

# Give symbolic names to the set of fonts used in the standard styles.
左端の # はコメントマーク。

この下にフォントを指定する部分が有る。
これらを変更しフォントを変える。
   font.base=
   font.small=
   font.comment=
   font.monospace=

 
画像では変更前の部分をコメントアウトしている。

この状態では、日本語を表示する事は可能だがエディタ自体はまだ2バイト文字対応になっていない。
その為、編集時にカーソルの位置によっては文字化けする。


コードの変更
デフォルトでは半角英数字しか扱わないコード指定になっている。デフォルトのコード・キャラクタセット詳細は不明。

  198行目の "code.page" と 199行目の "character.set" のコメント(#)を削除する。
  202行目の "code.page=0" をコメントアウトする。(左端に # を付ける)
  下・左画像参照。画像は変更前。

SciTE_Editor3.jpg SciTE_Editor4.jpg
この変更により、日本語の編集でカーソル操作によって文字化けする事は無くなった。 その他の不具合は未検証。

その他の変更
SciTE Editor では、その都度のユーザーの設定変更は Editor 終了まで反映されるが、記憶されない。例えば、タブの移動量は
デフォルトで 8 だがこれを恒久的に 4 にするには 111行目と112行目の値を変えなくてはならない。上・右画像参照。
また、常にステータスバーを表示させるなら、37行目の #statusbar.visible=1 のコメントを外す。
これらは一度 SciTEGlobal.properties を再読み込みしないと反映されないので、エディタを再起動する必要がある。


18 橋の健康状態
  橋は作戦に大きな影響を与える。従って、(スクリプトで)橋を破壊したり修復したくなるオブジェクトだ。

  橋などオブジェクトにはHP(ヒットポイント)というものがあり、オブジェクトのHPを返す関数 GetObjectHPs で知る事ができる。
 アスファルト橋と鉄橋の HP 初期値は 1500 、木の橋は HP=500 、 将来建設される木橋は HP=-500、
 破壊された橋は HP=0 。 (破壊された場合 HP=0 となるのは他のオブジェクトやユニットでも同様)
注:橋の HP を操作する場合は、橋に iScriptID を付けておく必要がある。  橋にIDを付ける方法を参照。

  橋を壊すには HP をゼロにする。
   HP=0 を指定する ⇒ DamageObject (iScriptID, 0); ・・・・・・・iScriptID は橋のID (1)
  破壊された橋を修復する、または(半壊とか)任意のダメージを与える方法は次の通り。
   ダメージを与える ⇒ DamageObject (iScriptID, fDamage); ・・・fDamage はダメージの割合 (2)
  (1) は fDamage = 0 と同じ。fDamage が正の値ではダメージを与え、負の値では修復する。

 fDamage が正と負の時それぞれで HP に与える影響が異なるので厄介である。
  (a)ダメージを与える場合。 ・・・・・・・・・・・・・・・・ fDamage は正の数値。
    最終的な橋の HP= HP初期値 − fDamage * 橋桁の数  下のアスファルト橋の橋桁は2
 例:アスファルト橋の場合、HP の初期値=1500。
   橋桁=2のアスファルト橋に fDamage = 200 を与えると HP = 1100 になる。
   橋桁=3だったら、橋のHP = 900 になる。

  (b)修復する(負のダメージを与える)場合 ・・・・・・ fDamage は負の数値。
    最終的な橋の HP= HP初期値(破壊されていれば 0 ) − fDamage  ← 係数が無い事に注意
    例えば、破壊されたアスファルト橋(画像左)に fDamage = -100 を与えると HP = 100 になる。(画像中)

破壊された橋(スクリーンショット) 修復された橋(スクリーンショット) 実験風景
  マップで最初から壊れた橋が必要な時、Function Init() で処理したい所だが、Init() では無効(橋は壊れない)ので
  Init() 以外のスクリプトで DamageObject(iScriptID, 0); としなければならない。また、半壊状態の橋が必要な時は、
  一度破壊状態にした後、別のスクリプトで DamageObject(iScriptID, -100);などを実行するのが確実。
 
ユニットについても DamageObject 関数は有効だが、GetObjectHPs 関数はオブジェクト専用なので、ユニットの HP
を知る事はできない。従って、ユニットの健康診断はできない。ダメージに関しては橋と同様に考えて良いと思われる。
 
17 起動スイッチ
  スクリプトデバッグ -ShowScriptErrors 以外のスイッチに付いて
 
  17-1 -Windowed
  フルスクリーンモードと対照的にウインドゥーモードで Blitzkrieg を実行するのは、ゲーム画面解像度がモニターより低い最大の状態で設定されるのを可能にする。例えば、これは 1280×1024 ではなく 1024×768でプレイできることを意味する。
 例: "C:\Blitzkrieg\Run\game.exe" -windowed

  スイッチ名が意味する様に、このモードが動作するのはデスクトップのウインドゥーの中でゲームが動作する。ゲームとウインドゥーを切り換えるとき、性能はこのモードで大いに向上する。そして、十分な自由なモニタースペースがあれば、インスタントメッセンジャークライアントなど他のアプリケーションを同時に見ている間、Blitzkriegを実行できる。

  このスイッチでゲームを実行して、モニターが許容する最大にゲーム解像度を設定すると、ゲームは可視的なデスクトップではなく、向上した切り換え性能があるフルスクリーンウィンドウで動作する。
  標準のフルスクリーンモードでゲームを走らせる -fullscreenスイッチがある。

  ウインドゥーモードで動作させたとき、Blitzkrieg がハングさせやすい事が判った。 フルスクリーンでも、時折ゲームはクラッシュするが、プロセスを止める為にデスクトップへ戻る方法は全く無く、物理的にPCの電源を切るしか方法がない。
 
  17-2 -Mod"Mod Folder Name"
  mod スイッチを使用すると、Blitzkrieg は準備ができている指定されたMODをロードする。
  mod フォルダーは指定されていて、mod 名は modスイッチ直後に(スペース無しに)クオーテーションマークで囲まれていなくてはならない。 -Mod"None" はmodを外す。
 例:  "C:\Blitzkrieg\Run\game.exe" -Mod"AFM"
 例:  "C:\Blitzkrieg\Run\game.exe" -Mod"None"

17-3 -DataDir"Data Directory"
  このスイッチで、ゲームエンジンが使用する代替のDataディレクトリを指定できる。
  このオプションを使用するのは、例えば、異なったMODがあるそれぞれが中にファイルされるというDataフォルダーの2つの別々のバージョンを作成し、別々にゲームの各「バージョン」を始めるのを可能にする。
  別の使用は「クリーン」なDataフォルダーでゲームをするマルチプレーヤーのためのもの。
 
  注意:下記の例では、全てのファイルが C:\CleanBK\Data に保存される。
  dataフォルダー自体はコマンドライン、ルートフォルダだけで規定されない。
 例:  "C:\Blitzkrieg\Run\game.exe" -DataDir"C:\CleanBK\"

17-4 -Savename.sav
  Savesフォルダーにゲームファイルが有効に保存された後にSavenameを代入したスイッチを使用すると、Blitzkrieg はメインメニュースクリーンを表示せず、保存している指定されたゲームをロードして始まる。
 
  注意:これはスペースを含むファイル名で働かないと思われる。
 例:  "C:\Blitzkrieg\Run\game.exe" -Quick.sav

17-5 -Mapname.xml
  このスイッチはメニューを迂回し、指定されたマップをロードして、Blitzkriegを起動する。
  マップ名はMapsフォルダーで見つけたマップに.bzm拡張子があっても、同名の.xml拡張子を使用しなければならない。
  例えば、標準のカスタムミッション「Flying High」から Blitzkrieg を始動するには、スイッチを -dessau.xml とする。
 
  注意:このスイッチは、マップをロードして、スクリプトを実行するが、関連する custom か scenario missions フォルダーのファイルは処理しない。これは(マップエディタから game.exe を起動した時の様に)オブジェクティブが表示されない事を意味する。
 例:  "C:\Blitzkrieg\Run\game.exe" -dessau.xml

17-6 -Host
  このスイッチはGameSpyの「ゲームの作成」スクリーンをロードして Blitzkrieg を始動する。
  これは元々 GameSpy メニューオプションと共に来なかった Burning Horizon と Rolling Thunder でも動作している。
 
17-7 -Password
  ホストするマルチプレイマップでパスワードを指定する。
 例:  "C:\Blitzkrieg\Run\game.exe" -host - password"japan"


16 スクリプトデバッグ
  Blitzkrieg に内蔵のLUAスクリプトデバッガでデバッグする。  スクリプトはマップに関連づけされていなければならない。

16-1 Blitzkrieg を起動するショートカット(アイコン)にスイッチを埋め込む
(1)アイコンを右クリックし、プロパティーを選択する。
  「リンク先」の窓には起動するプログラムのパスが記述されている。
  例えば 『"C:\Program Files\・・・\Run\Game.exe"』。
 
(2)スクリプトデバッガを起動するスイッチを追加する。
  例えば 『"C:\Program Files\・・・\Run\Game.exe" -ShowScriptErrors』 icon_property_s.jpg
 
(3)OKを押してアイコンのプロパティーダイアログを閉じる。
  これで、直接 Blitzkrieg (Game.exe)を起動した時
 でもデバッグが可能になる。


16-2 Map Editor での設定
tool>option BK起動時のパラメーター指定
 [Tools]−[Options]→ "Command line parameters" に
  スイッチ  -ShowScriptErrors を追加する。
 
  エディタから Blitzkrieg を起動した時、デバッグする事ができる。
★上の画像は『日本語化パッチ 第2版』(寿司さん作)を導入している為、日本語表示になっている。このパッチはダウンロード3に有り。
 
  16-3 スクリプトデバッガを使う
   Blitzkrieg が起動している時、コンソールを開く。(日本語版なら [F12] を押す)  もし、エラーが有れば・・・
  最初にエラーを見つけた行と説明が表示される。複数のエラーが有る場合は最初に見つけた行だけが表示される。
    ↓ 表示例 「93行目に"end" が無い」 console.jpg

15 マップ全体のスクリーンショット   マップ全体を1つの画像として保存する。
  (1)ゲームを起動し、好みのタイミングで [CTRL]+[SHIFT]+[F9] を押す。
   この時、ゲームの進行は中断する。 カメラ画面がマップ全体を掃引するまで、ある程度時間がかかる。
  (2)ゲームが標準状態に戻ったら Runフォルダーに mapshot.tga ができあがっている。
   スクリーンショットは war fog が無く、ユニットも含まれる(写る)。
  mapshot.tga のサイズは、(マップサイズにも依存するが)250MB以上か、それより大きくなる。
  下は kursk.bzm の mapshot(縮小・gif化) オリジナルの.tgaは311MB。
mapshot

14 マップの季節を変更する
  既存のマップのシーズンを変える。ユニットと建物はそれぞれ自動的にシーズンにマッチしたテクスチャーに変わる。
 
  1. Map Editorで、XML形式でマップを保存する
  2. XMLエディタ(例えば、メモ帳など)でXML形式マップを開く
  3. どの季節にマップを変えるか、によりパラメーターを変える   変更するパラメーターは次の3種類ある
 
  (a) <base Season=○> タグ
    ○ はそのマップの季節が 夏か春なら0,冬なら1,アフリカなら2 に変更する  下表参照
 
  (b) <Terrain> セクションの terrain\sets\△ を下表の値に変える
   <Terrain><tileset>terrain\sets\\tileset</tileset>
  <crosset>terrain\sets\
\crosset</crosset>
  <noise>terrain\sets\
\noise</noise>
 
  (c) <SeasonFolder> セクションの terrain\set\▽ を下表の値に変える
   <SeasonFolder>terrain\sets\\</SeasonFolder>
 
シーズン <base
Season=>
<Terrain>
<SeasonFolder>
0 1 1
1 2 2
アフリカ 2 3 3
0 4 4

  4. 変更後、XML形式でファイルを保存、次に、Map Editorでそれを開き、所望のシーズンか否かを確認する。
   問題が無ければ、BZM形式で保存する。

13 将来稼働可能なユニット  将来稼働可能なユニット ユニットの HP を操作する事により将来稼働可能なユニットを得る。
  『12 橋』 と同様の方法で、ユニットの HP = 1 ⇒ HP = -1 にする
  マップエディタでは HP を負数にできない
  ・(マップで破壊されたユニットの様に)一定時間後消滅しない
  ・破壊されたユニットと同じスキンになり、修理後も見た目は変わらない
  ・情景としての破壊ユニットなら Player = 2 (中立)にする
   プレーヤーは中立ユニットを修理できない
  ・Player = 0 であれば、ゲーム中に修理して稼働させる事ができる
   修理して、通常のプレーヤーのユニットとして使う事ができる
   重戦車など HP の大きいユニットでは、修理に時間がかかるが…
12  にIDを付ける  橋に ScriptID を付ける事によりスクリプトで破壊・修復ができる様になる。
  (1)マップエディタで作成したマップを XML フォーマットで保存する
  (2)メモ帳(Notepad)などで XML ファイルを開く
   画像データーがある為、一般のXMLエディタでは、ハングする可能性有り。 下記の【補足】を参照。
  (3)<Objects> を見つける・・・ユニットや橋は <Objects> より後にある
  (4)橋の名前で探す  例: <Name>WoodenBig_Heavy_02</Name>
    文字列検索機能(Ctrl+F)利用を推奨  複数の橋の場合は、橋の中心付近のスクリプト座標を目安に判断
  (5)目的の橋の ScriptID を変更する。(デフォルトの ScriptID = -1 )
    最も短い橋でも、FrameIndex 毎に2つあるので2つ共 ScriptID を変更する。 橋の長さによっては変更する箇所は増える。
  (6)HPを設定 通常の橋ならデフォルトで HP=1 になっているのでそのまま  HP = -1 は将来建設できる橋
  (7)上書き保存
  (8)マップエディタで開き確認 マップエディタではIDは判らないので、将来建設される橋のみ確認できる 後は工夫次第
  (9)確認が済んだら BZM フォーマットで保存して終了
 
【補足】 Firstobject XML Editor (foxe) という XML エディタで、 Blitzkrieg の XML フォーマットファイルを開き、
    編集することができる。キーワード 「foxe.exe download」でググると見つけられる。但し、英語版。
08 BK ファイルの種類と拡張子
 Infantry  *.unt Sprite    *.spt Effect    *.eff  Object    *.obt Mesh   *.msh
 Weapon  *.wpn Building   *.bld Tiles     *.til Fence    *.fnc Trench  *.trc
 Particle  *.pcp  Squad   *.scp Mine    *.mcp Bridge   *.bdg Mission  *.mip
 Chapter  *.chc Campaign *.cgc 3D Road  *.3rd 3D River  *.3rv  Medal   *.mdc
     Reseditor Project file extention  *.msh
07 BKのテキスト
   BKで使われるテキスト(description.txt など)は リトルエンディアン(LE) の Unicode。
   標準の BK テキストでは、文字コードを示す BOM (Byte Order Mark = FFh,FEh) が付いたものになっている。
 
   例えば S-JIS など Unicode 以外の文字コードだと、画面表示が「・・・・」の様に文字化けする。
   ところが、TeraPad では Unicode で保存する事ができるが、新規作成の場合は BOM は付かない。
   但し、元々 BOM が付いていたテキストを TeraPad で編集、保存する場合は BOM が残る。
  NotePad_save_as
   Windows 標準の "NotePad" で Unicode を指定して保存すれば BOM が付いた Unicode になる。
   Unicode big endian は選択しない。Shift-JIS などは ANSI を選択。
 
   スクリプトは BOM が付加されているとエラーになるので、Unicode は不可。⇒ (日本語を使用なら Shift-JIS)
   以上から、TeraPad は Shift-JIS で保存、NotePad を BOM 付加専用エディタとして使うのが間違いが少ない。
テキストエディタ     TeraPad0.93 [Vector] tpad093.zip / 540,528Bytes / 08.05.08公開
 
   スクリプトが動作しない原因の一つに全角スペースが含まれている事がある。
   Windows 標準の "NotePad" では全角スペースと半角スペースが判らない。
   "TeraPad" はフリーのテキストエディタだが、十分過ぎる程の機能を持っている。
   設定すれば全角スペースを表示できるから、スクリプト作成に好適(だと思う)。
  スクリプト用には SciTE エディタ という手もある。

06 スクリプト関連の豆知識     ノゥハゥ からコピー
  □補給と修理
  ユニットコマンドが有るが機能しない。 ⇒ スタートコマンドを使う。  ただし、スクリプトで操作できなくなる。
  マップに WT(補給物資集積所 supply_depot)だけしか無いとトラックに弾薬がなくなっても補充しない。
  WB(主倉庫 warehouse)が有ればスタートコマンドで[Supply]を与えたトラックが自動的に補給する。
  補足:主倉庫など、建物は LandReinforcement 命令(増援)でマップ上に出現させることができる。
     だが、建物には DeleteReinforcement, ChangePlayer 命令は無視される。
集積所 主倉庫
補給物資集積所 supply_depot 主倉庫 warehouse
関連(?)リンク  IsWarehouseConnected

□待ち伏せ (Ambush)
  ユニットコマンド=14で命令されるたびユニットは待ち伏せモードと通常モード(待ち伏せを解く)に切り替わる。
  待ち伏せモードか否かを判定するにはユニットステート(返値=15)を使う。
 
   if ( GetUnitState(iScriptID) ~= 15 ) then  -- 待ち伏せモードでなければ
    Cmd ( 14, iScriptID );           -- 待ち伏せモードにする

  関連する関数  ChangeFormation (iScriptID, iFormation); … iFormation = 2 の時、
   Sniper を Sneak (偵察態勢)にする。Sniper 以外の場合は Defence (守備態勢)になる。
 
□空挺隊
  空挺隊に ScriptID を与えるには、SetIGlobalVar( "ParadropSquad.ScriptID", ScriptID); を指定する。
  指定するのはどこでも良いが、function Init() なら、ゲーム開始から有効になる。
 
□不死身モード
  デバッグの時に使うモード。プレーヤーのユニットが破壊されなくなる。スクリプト例は God の【書式例】を参照。
  このサンプルにある ViewZone("ALL", 1); は、円形のスクリプトエリア(名前=ALL)にする事。
 
□その他 wirbelwind
・スクリプトでコントロールできないユニット ・・・  スタートコマンドを与えたユニットと自走対空砲 ⇒
  はスクリプトによる命令(移動など)は無効。 (言う事を聞かない)
 
・ScriptID1 が建物に入っている時、その建物から別の建物 ScriptID3 に移動させるには
 Cmd ( 6, ScriptID1 , ScriptID3 );   とする。6 は建物/塹壕に入るユニットコマンド。

03 Cheat
  http://www.gamefaqs.com/ ・・・・・・・・・ 特定のゲームからそれに関する情報を探そうとする時に便利
  >>Blitzkrieg の Cheat List
  http://www.gamefaqs.com/pc/533799-blitzkrieg/cheats
  First, press the '~' key to show the console window, then type this phrase to activate cheat mode:
 
  日本語キーボードで、コンソールを開くには [F12] を押す
  @Password( ''Panzerklein'' )
  After this is successful, enter the codes listed below to activate their functions:
  @God( 0, 1 ) ------God Mode
  SetIGlobalVar( ''Cheat.Enable.Chapters'', 1 ) ------Level Select
  @Win( 0 ) ------Level Skip

02 ミニマップ画像
  BK1のマップを実行すると、マップの有るフォルダ(maps)にマップ名.tgaという画像ファイルができます。
  この画像ファイルを使ってミニマップ(ゲーム画面の左下に表示される菱形のマップ)風の画像を作る方法の紹介です。
  このミニマップ風の画像は、実際にプレイするイメージに近いので、自作マップの紹介などにGood!。
  スクリーンショットから切り出すよりも、tgaファイルから作成する方が大きくきれいな画像が得られます。
  tgaファイルは大きいものと小さいものがありますが、どちらも使えます。
 
sample 【方法】 (tgaファイルを開ける画像エディタが必要 右はサンプル)
  (1)tgaファイルを開き、右に45度回転
  (2)画像ファイルの上下を50%にする(左右のサイズ:幅は変えない)
  (3)必要に応じて全体の大きさを好みの大きさに調整
  (4)名前を付けて保存

01 DDSファイルの読み書き  この情報は古い。最新の情報は、検索して下さい。
【ファイル名】DXTBMP
【本体】dxtbmpx.EXE Ver 4.00.96 16 Nov 1999 … これは過去のバージョンのひとつにすぎない。
【DLL】mwgfxdll.EXE latest Dll Set 956kB
【入手先】 原作者のサイトはリンク切れ。「dxtbmp download」,「dxtbmp 日本語化」 ,「dxtbmp 使い方」などでググって。
【使用例】
1) DXTBmpを起動し、画像エディターを設定。 一度設定すればOK。   [Pref] - [Select Editor] - (例:PaintShopPro)
2) ddsファイルを読込む  [file] - [Open] - (ファイルの種類=DDS Texture)
3) DXTBmpにbmp画像が表示されたら画像上でダブルクリック。
   加工前に名前を付けて保存  デフォルト=norm.bmp (Bitmap)  ⇒   その後、画像エディターで画像を加工。
4) アルファチャネル  [Import Alpha channel]で、2)と同じファイルを選択
5) 右上に白黒画像が表示されるので、画像上でダブルクリック。
   名前を付けて保存  デフォルト=trans.bmp(アルファチャネル) ⇒  その後、画像エディターで画像を加工。
6) ファイル形式を指定して保存  [File] - [Save As] - [DDS Texture] →
  → DXT3 --- filename_c.dds ,  → 444-4 16bit --- filename_l.dds ,   → 888-8 32bit --- filename_h.dds
-- 番外 --
フォルダ作成くん
『フォルダ作成くん』は、通常では1つずつしか作れなかったフォルダを、階層別に一括生成してくれる便利なファイルユーティリティ。
動作OS: Windows 7/Vista/XP/Me/2000/98/95/NT  種類: 汎用フリーソフト  作者: LNSOFT International, inc.
入手先:vector
「ヘルプましん」 Windows Help の作成支援ツール
   HTMLファイルからHTML Help 1.x 形式のヘルプファイルを作成するツール  HTML Help 逆コンパイル機能あり
     最新版 Build 2.5.1 - 2006/06/16  入手先 URL:http://www3.to/kaeru-machine/
    ⇒ [フリーソフト]からダウンロードページに入る
Link for free PDF creator
  http://www.bullzip.com/products/pdf/info.php    http://www.cutepdf.com/Products/CutePDF/writer.asp
前のページに戻る      Top Pageへ転戦

ブリッツクリーグ日本語公式サイト承認ファンサイト 記載されている画像の無断転載を禁止します!
このページに掲載の記事の無断転載を禁じます