[[MOD解説]] quickfortのreadmeを一部日本語訳して見ました。そのうち完成させるかもしれません。 Quickfort 2.02 =============== by joelpt <quickfort@joelpt.net> <http://sun2design.com/quickfort> QuickfortはAutoHotkeyを元にした、エクセルやGoogle docsなどで扱えるcsv,xls,xlsxファイルを設計図に用いたDF用のユーリティです。CSV形式はexcelなどで書き込むことができ、大体の建設関係のコマンドを利用することができます。(d,b,pコマンドと調整が可能) 元となったアイデアとValdemarによる、.ahkファイルのスクリプトを利用するソフトの基本的なコードは以下のフォーラムを見てください。 <http://www.bay12games.com/forum/index.php?topic=1428.0> ユーザーが作った設計図はhttp://www.wuala.com/Aklyon/Public%20Stuff/Blueprints/>にあり、rarファイル<http://www.wuala.com/Aklyon/Public%20Stuff/blueprints.rar>にまとめられています 注意 すべての人向け:"data/init/init.txt"内で[MACRO_MS:0]を設定してください。 *特徴 [#i9388d60] -CSVファイルによる、4つの部分に分かれた、完全な設計図のデザイン -設計図の利用者のためのコメントの作成 -複数階にまたがる設計図 -任意数の軸方向に繰り返したパターンの設定 -単純なコマンドライン -仮想ファイルに対応 -キー入力の最適化 -最小化・最適化されたGUI -サンプルの設計図も同梱 *さっさと使いたい人へ [#y108cca7] 1."data/init/init.txt"内で[MACRO_MS:0]を設定 2.(Windows)Quickfort.exeを起動する (Linux/OSX)pythonで次の入力をする > cd src/qfconvert > python ./qfconvert.py それかchmod +x qfconvert.pyとシェルスクリプトとして入力する。 コマンドラインの例 > python ./qfconvert.py myblueprint.xls <DF folder>/data/init/macros/foo.mak ゲーム中でDFマクロをCtrl+Lで呼び出し、fooを選び、Crtl+Pで実行する *QuickFort2.0 What's new [#f862f59f] *1.xシリーズの人向けw [#oc1771d8] (省略。2.xシリーズをを使い始めようとしている日本人を対象としています。) *Windows Quick Start guide [#e16f2908] 始める前に: DFを開いているのなら、一旦終了してdata/init/init.txt内の"MACRO_MS"オプションを"[MACRE_MS:0]"と指定しておきましょう。 設定し忘れるとマクロがゆったり動くさまをじっと観察することになっていまいます。 ###初めてのQF### 1.QuickFortのzipファイルをダウンロードして解凍する 2.Quickfort.exeを起動する 3.DFをFrotress modeで開始する 4.Alt+Fでファイル選択ダイアログを開く 5./test/obama.csvを選択する 6.設計図の説明が出るからOKボタンを押す 7.QFのツールチップに従ってDesigneモードに入って適当な地下へ移動する 8.Alt+Vでどのへんが設計図に含まれるか確認する。 9.大丈夫ならAlt+Dを押す 10.完成まで少し待つ *基本的な使い方 [#zfed2d92] (トラブルシューティングの章もよくある質問に対応) QFのGUIはマウスのツールチップ、ホットキー、いくつかのポップアップから成り立っています。 AutoHotkeyの導入は不要です。 いつもどおりDFを立ち上げたら(ウィンドウモードを推奨)このソフトを立ち上げてください。 Alt+Fで利用するCSVファイルを選択します。blueprintフォルダにいくつかサンプルを同梱しましたので、それをご利用ください。ツールチップによってゲーム中のカーソルの初期位置を決めるよう言われるはずです。 場所をゲーム内のカーソルで決めたらAlt+Dキーを押すことによって開始します。マクロはキーストロークをDFに必要な分だけ送ります。この際キーボードやマウスは絶対に触らないでください。 Alt+QWASは設計図のどの角から始めるかを指定します(指定した位置がその角に対応します)。開始される角はツールチップがあらわします。設計図に始める場所が明記されている場合はこのホットキーは無効化されるので注意してください。このことに関する詳しい情報は後の章で説明します。 Alt+Rでは好きな方向に設計図を連続して作ることができます。これは複数層に階段を作ったり、複雑な部屋を連続して作ったりすることができます。複数方向に連続して造ることもできます Alt+TでQFのコマンドラインを呼び出します。そこでは1行のQFで定められたコマンドを打つことができます。このコマンドもAlt+Rで連続して作ることができます。 Alt+Cの長押しで設計をキャンセルすることができます。 設計後にAlt+Dで同じ設計図でもう一度設計します。Alt+Fでファイルを選択し、Alt+EでXls,xlsxファイルの場合は別のシートを選択できます。 Shift+Alt+ZでQFの一時停止で、主に別のウィンドウで作業をするときに使ったりします。Shift+Alt+XでQFを終了します。 *設計図の書き方 [#meae4105] QFで使えるファイルの形式を説明します。これはValdemarの.ahk形式と多少違いますが、QFで使用するためには少し手直しすれば大丈夫になっています。 エクセルやグーグルドキュメント等、対応したファイルを扱えるソフトを用意します。最初の行は下のように記します。 訳者注 日本語をコメントに使うと目的の建物を作れない可能性があります。1バイトの英語のみ利用しましょう。 #dig This is a comment. "dig"の部分はQFでこれから何のメニューを利用するかを示します。以下の単語が利用できます。 dig デザインモード(dキー) build 建設モード(b) place 倉庫設定(p) query 建物の詳細メニュー(q) キーワードで指定したあとに半角スペースを入力したら、その後に任意でコメントを入力することができます。このコメントはAlt+DでCSVを読み込んだ際に表示されます。説明や注意書きに、自由に使ってください。改行コードはLFのみです。 以下にどのように作成するかを説明します。(手元で編集ソフトを用意してやってみましょう)。例えば、4x4の部屋を作成するとします(スペースでセルの分け目を表現しています) #dig d d d d # d d d d # d d d d # d d d d # # # # # # #は右端と最終行を示す記号となっています。この記号は必須ではありませんが役に立ちます。例えばExcelは不要な空白のマスまでcsvにしたときに保存してしまいます。このようなときに#でしっかり行の終わりを指定しておけば問題が起こる確率を下げることができます。 これの掘削作業が完了したらそこに壁で囲まれたベッドルームを作りましょう。 #build Cw Cw Cw Cw # Cw b h Cw # Cw Cw # Cw Cw d Cw # # # # # # ベッドとチェスト、扉をつくっています。ここでの注意点は、建設に必要なキーをすべて書く必要があるということです。例えば、壁を作るときはひとつのセルに"Cw"と記入します。 次に開いてるタイルに飲料庫を設置します。 #place Place a food stockpile ` ` ` ` # ` ` ` ` # ` f(2x1)# ` ` ` ` # # # # # # これは少しわかりにくいかもしれません。f(2x1)は2行3列に書かれていて、他のセルはすべて空白です。QFは`と~の書かれているセルは空白のセルとみなします。見易さを重視する場合に使用してください。 f(2x1)では、QFに横2マス、縦1マスの食料庫を作らせています。このような範囲指定は建設モードのUMKHキーで指定できる建造物(例 床Cf(10x10)や,橋ga(4,4))も利用できます。 この場合、下のようには書く必要がありません。 #place Place a food stockpile ` ` ` ` # ` ` ` ` # ` f f ` # ` ` ` ` # # # # # # QF2はこれを2x1の食料庫とみなす程度のことはできます。しかし、これを2つに分けておきたい場合は、f(1x1)を利用して指定しましょう。f(横x縦)はより優先されます。これは例えばL字型の食料庫を作りたいときなどに有用です。 最後に、ベッドルームに部屋を変更し、食料庫を酒置き場に変更します。 #query ` ` ` ` # ` r+` ` # ` booze # ` ` ` ` # # # # # # r+と書いたところでは、r(部屋作成)+(サイズ増加)Enter(確定)をベッドの上に送っています。 その下に書かれている"booze"はaliases.txtというファイルで定義されている言葉になっています。これには酒類のみを置ける様にするマクロを定義しています。 Blueprints/Examples/bedroom-*.csvに、単純な例の寝室を作っています。aliases.txtも参考にすると細部までわかりやすくなっています。 **拡張領域構文 [#af2aa231] QF2.0では、次の設計図は等価です。 #dig a 3x3 area d d d # d d d # d d d # # # # # #dig the same area with d(3x3) specified in row 1, col 1 d(3x3)# ` ` ` # ` ` ` # # # # # 2つ目の例はQFの拡張領域書式と呼び、次の形で示します コマンド(横x縦) QF2.0では、2つの例では3x3の入力に関して、1x1のデザイン9つより3x3のデザイン一つのほうが早いと判断し、どちらも同じように動きます。 以下のような曖昧な場合もたまにあります。 #place L shaped food stockpile f f ` ` # f f ` ` # f f f f # f f f f # # # # # # QF2は最大の大きさの連続した部分からつくろうとしています。しかしこれは縦の部分の2x4を作成するか、横の部分の4x2を作成するかはわかりません。 これをきちんと作り分けたい場合は、次のように拡張領域構文を利用します。 # place L shaped food stockpile; ~ markers denote placement (ignored by QF2) f(2x4)` # ~ ~ ` ` # ~ ~ f f # ~ ~ f f # # # # # # **領域の自動拡張 [#da7c22bb] QF1.xでは、1x1より大きな建物、例えば工房等はひとつのタイル(大抵中央)を設定する必要がありました。 QF2.0ではこれが不要になりました。 つまり、以下の2つは等価になります。 #build workshop in row 2, col 2 that will occupy the 3x3 area (QF1.x style) ` ` ` # ` wm ` # ` ` ` # # # # # #build workshop: QF2 understands that we want one 3x3 workshop wm wm wm # wm wm wm # wm wm wm # # # # # これは領域の自動拡張と読んでいます。 橋のようなサイズが可変な建物は、自動拡張も拡張構文も用いることができます。 つまり、以下の2つの設計図は等価です。 #build a 4x2 bridge from row 1, col 1 ga(4x2) ` # ` ` ` ` # # # # # # #build the same bridge ga ga ga ga # ga ga ga ga # # # # # # ポンプや水車などの"中心点"がわかりにくい建物には特に有効となっています。 **特殊な開始位置 [#c2dfec4e] 設計図には、好きな部分から始めさせるよう指定することもできます。これはたとえば階段から設計したいときなどに利用できます。 始まる位置を指定したい場合、ヘッダ部分に以下のようにstart()コマンドを書き足してください。 #(設計モード,dig等) start(X;Y;STARTCOMMENT) コメント部 X,Yは始める場所を指定しています。1;1が左上を示しています。ついでにSTARTCOMMENTの位置には任意で好きなコメントを入れられます。 例: #dig start(3; 3; Center tile of a 5-tile square) Regular blueprint comment #build start(10;15) このパラメータはAlt+QWASを用いると無視され、キーボードで指定した位置が指定されます。Alt+Eでもう一度start()を利用できます。 Blueprints/Tests/starting-position.csvが簡単な例となっています。 Blueprints/TheQuickFortress/*.csvが全部start()を利用しています。 **複数階層の設計 [#e7551402] 複数層の設定は、それぞれの層の記述の最後の行に#>や#<を書き加えるだけになっています。 #dig Stairs leading down to a small room below j ` # ` ` # #># # u d # d d # # # # **手動材料選択 [#t2f5b04c] QFは#buildの設計で手動材料選択に対応しています。これは設計図の再生中に好きな材料が選択できることを示しています。 現在、手動の材質選択はwindowsでQF GUIを用いている時のみに有効です。また、QFのキーストロークを送る方法でないと、途中で材質を選択する必要があるために対応していません。最後に、これは今現在実験中となっています。大体の材料で利用できるはずですが、まだ試していない組み合わせが存在します。 簡単な例を下に示します。 #build Uses 3 different materials to build 3 rows of flooring Cf:top,Cf:top,Cf:top,Cf:top,Cf:top Cf:mid,Cf:mid,Cf:mid,Cf:mid,Cf:mid Cf:bot,Cf:bot,Cf:bot,Cf:bot,Cf:bot 再生をAlt+Dで開始した後、新しい":label"に出会ったときにQFに素材を教えることができます。これは3つのステップが存在します。 1.+-/*キーでDFから必要な素材を選択します 2.選択している素材の初めの文字の左をクリックします 3.選択している素材の最後の文字の右をクリックします QFはスクリーン上のプログラムを立ち上げ、成功したら音がなります。 これはQFが二回のクリックの間のスクリーンの画像を取り、これを「指紋」のように扱う事によって選択できるようにしています。 同じラベルに出くわした場合は、この指紋を利用して素材を選択します。 ***記憶に関する重要な事 [#of785c56] 記憶ステップ2,3では、普通なら文字の外側を選択します。これは"marble"と"marble block"を分けるために使うことができます。例えば、これを"m"と"e"の文字の上を選択した場合、大理石の石材もブロックも両方使われることになります。 ステップ3では、"petrified wood blocks"のようなものすごい長い名前には"Dist"の部分までクリックさせて覚えさせることを推奨します。 もしQFが上手に記憶してくれない場合は、左上と右下をクリックし、広めの領域を記憶させてください。 *CUI [#m53cd691] QFはAlt+Tでコマンド入力モードにも出来ます。これはAlt+Rで繰り返しを行うことも出来ます。 コマンドははじめにモードを選択しておく必要があります。 // Dig a row of 4 cells Alt+T -> dig d,d,d,d // Build a big bridge Alt+T -> build ga(10x10) // Aliases Alt+T -> query booze // Build phase may be abbreviated Alt+T -> q booze ベッドとドアがあり、中央に酒の貯蔵庫があるような小さな部屋を作る場合、次のように入力していきます。 Alt+T -> dig d,d,d,d Alt+T -> build b,`,`,d Alt+T -> place `,f,f,` Alt+T -> query r+,booze,`,` 複数行を入力したいときは、下のように#を利用します。 Alt+T -> dig d,d#d,d #dig Above command produces this result d d # d d # # # # Alt+T -> dig d,d#d,d## #dig Above command produces this result d d # d d # ` ` # # # # 下の例だと##で終わっていて、これは空白行を作るのに必要になっています。 *設計図の変形 [#yb23b1f9] QFは様々な変形や繰り返しをサポートしています。 Alt+Rを押すと入力スペースが出るので、そこにコマンドを打ち込みます。?を入力すれば追加のヘルプが出ます。 **簡単な繰り返し例 [#s1b86dc8] 設計図は好きな軸方向、north, south, east, west, up-z, down-zに、好きなだけ繰り返すことができます。 好きな回数繰り返すことも出来ます。 構文は"#D ..."の形で、#には繰り返したい数字、Dには繰り返したい方向の一文字目を入れます。 次に例を示します Alt+R -> 3n 北に三回繰り返します Alt+R -> 4e 2s 右に4回、下に2回の計8回繰り返します Alt+R -> 2e 2s 2d 2x2x2の立方体的な繰り返しを行います **簡単な変形例 [#c7b19115] 次のように変形させることも出来ます Alt+R -> rotcw 時計回りに90度回転 Alt+R -> rotccw 反時計回りに90度回転 Alt+R -> fliph 左右鏡面変形 Alt+R -> flipv 上下鏡面変形 Alt+R -> flipv fliph 180度回転 *複数レイヤーの設計 [#d58b9c16] DFは複数の行動を行わなければいけないことがよくあります。それぞれ別にファイルを作って実行しようね。名前をそんな感じにしておくと便利だよ。(超意訳)