topページ

### Javardryの操作方法

操作はキーボードかゲームパッドで行います。一応マウス操作も可能です。

#### 操作キー、ボタン

デフォルト設定は以下の通りですが、キー設定にてキーボードのキーやゲームパッドのボタンの設定変更が出来ます。

- 上下左右キー
  選択肢の選択（選択カーソルの移動やスキップ）、ダンジョンの移動（前進、左右に向き変更、後ろに向き変更）をします。
  デフォルトでは、キーボードの矢印キー、テンキーの2, 4, 6, 8、ゲームパッドの方向ボタンに設定されています。
- 左右移動キー
  ダンジョン移動時に向きを変えずに左右に移動します。いわゆるカニ歩きです。また、ステータス画面等での表示の切り替え、アイテム受け渡し時の対象者切り替え等をします。ゲームパッドのLRボタンに割り当てることを想定しています。
  デフォルトでは、キーボードのShift + 左右矢印キー、テンキーの7, 9、ゲームパッドのボタン4, 5に設定されています。
- 決定キー
  選択肢の決定、コマンドの実行、ダンジョン移動時の前進（前方が開けられるドアの場合にはドアを蹴り開けて前進）をします。
  デフォルトでは、キーボードのEnter, Space, Z、テンキーの5、ゲームパッドのボタン0に設定されています。
- キャンセルキー
  コマンドのキャンセル、前画面への復帰、ダンジョン移動時のキャンプ表示をします。
  デフォルトでは、キーボードのEscape, BackSpace, X, テンキーの0、ゲームパッドのボタン1に設定されています。
- ステータス表示切り替えキー
  ダンジョン移動時のステータスウィンドウの表示・非表示切り替え、戦闘中コマンド選択時の呪文効果等ステータス表示（シナリオ設定による）をします。
  デフォルトでは、キーボードのS、テンキーの3、ゲームパッドのボタン6に設定されています。
- サブメニュー表示キー
  ダンジョン移動時のサブメニュー表示をします。
  デフォルトでは、キーボードのA、テンキーの1、ゲームパッドのボタン2に設定されています。
- マップ表示キー
  ダンジョン移動時のマップ、座標等表示をします。ただしシナリオ設定によります。
  デフォルトでは、キーボードのM, C、テンキーの+、ゲームパッドのボタン3に設定されています。
- リセットキー
  タイトル画面に戻ります。
  デフォルトでは、キーボードのRに設定されています。
- デバグキー
  デバグ用のコマンド入力テキストフィールドを表示します。ただしシナリオ設定によります。
  デフォルトでは、キーボードのPに設定されています。

#### ゲームパッド操作

実行時の引数、もしくは実行中のOptionにてゲームパッド操作をonにすることでゲームパッドで操作が出来ます。ただし、複数ボタンの同時押しには対応していないため、Shift + 左右キーでの左右移動は出来ません（一つのボタンでの左右移動は可能です）。ゲームパッドや実行環境によってボタンの識別名が異なるため、Optionの Key test にて識別名を調べ、キー設定を行って下さい。
Linux環境の場合には、ネイティブライブラリ（libjinput-linux.so, libjinput-linux64.so）を入れたディレクトリにパスを通して共有ライブラリとして認識させ、さらに /dev/input/* のパーミッションを所有者以外も読めるよう変更する必要があります。
Javardryの機能によらずゲームパッドを使いたい場合には、JoyToKey（Windows）やQJoyPad（Linux）等のゲームパッドからの入力をキーボードの入力に変換する類のフリーソフトを利用して下さい。

#### マウス操作

実行時の引数、もしくは実行中のOptionにてマウス操作をonにすると、画面のクリックで操作が出来るようになります。
以下に示した範囲を左クリックすることで、対応するキーの動作を行います。右クリックはキャンセルキー動作になっています。
タッチ操作時には、長押し後に離す動作が右クリック動作になっていることもあり、ボタンの長押しによる連打動作には対応していません。その代わり、HoldDownをクリックすることで、直前に押したキーの長押し動作を行うことが出来ます。次に何かのキーを押す（クリックする）ことで長押しは解除されます。

#### キー設定

dataディレクトリ内にある keyConfig.txt で操作用のキーボードのキーやゲームパッドのボタンを設定することが出来ます。起動中には反映されませんので、keyConfig.txt を書き換えた場合はJavardryを再起動して下さい。

- 設定項目
  - KEY_UP, KEY_DOWN, KEY_RIGHT, KEY_LEFT
    上下左右の操作キーを設定します。
  - KEY_SHIFT
    Shift + 左右キーの左右移動時に使うShiftに相当するキーを設定します。ゲームパッドのボタンは設定出来ません。
  - KEY_SHIFT_RIGHT, KEY_SHIFT_LEFT
    左右移動時の操作キーを設定します。
  - KEY_ENTER, KEY_CANCEL
    決定キー、キャンセルキーを設定します。
  - KEY_STATUS, KEY_SUBMENU, KEY_MAP
    ステータス表示切り替えキー、サブメニュー表示キー、マップ表示キーを設定します。
  - KEY_RESET, KEY_DEBUG
    リセットキー、デバグキーを設定します。

設定項目に以下の識別名を記述（カンマ区切りで複数設定可）することで、対応するキーやボタンを設定します。キーやボタンに対応する識別名は、Optionの Key test で調べることが出来ます。なお、Enter、Escape、Altは設定変更することが出来ません。

- キーボード
  - up, down, right, left（上下左右の矢印キー）
  - 0～9, a～z, minus（-）, circumflex（＾）, backslash（\）, backspace, at（@）, openbracket（[）, semicolon（;）, colon（:）, closebracket（]）, comma（,）, period（.）, slash（/）
  - space, control（Ctrlキー）, shift, scroll_lock, pause, insert, delete, home, end, page_up, page_down
  - numpad0～numpad9（テンキーの0～9）, divide（テンキーの/）, multiply（テンキーの*）, subtract（テンキーの-）, add（テンキーの+）, decimal（テンキーの.）
  - f1～f24（ファンクションキー）
- ゲームパッド
  - gamepad_up, gamepad_down, gamepad_right, gamepad_left（方向ボタン）
  - gamepad_0～gamepad_31
  - gamepad_a, gamepad_b, gamepad_c, gamepad_x, gamepad_y, gamepad_z
  - gamepad_zUp, gamepad_zDown
  - gamepad_base1, gamepad_base2, gamepad_base3, gamepad_base4, gamepad_base5, gamepad_base6
  - gamepad_thumb1, gamepad_thumb2, gamepad_rightThumb1, gamepad_rightThumb2, gamepad_rightThumb3, gamepad_leftThumb1, gamepad_leftThumb2, gamepad_leftThumb3
  - gamepad_top1, gamepad_top2
  - gamepad_trigger, gamepad_pinkie, gamepad_select

未設定（設定項目が空欄）の場合は以下のデフォルト設定となります。

          KEY_UP = "up, numpad8, gamepad_up"
          KEY_DOWN = "down, numpad2, gamepad_down"
          KEY_RIGHT = "right, numpad6, gamepad_right"
          KEY_LEFT = "left, numpad4, gamepad_left"
          KEY_SHIFT = "shift"
          KEY_SHIFT_RIGHT = "numpad9, gamepad_5, gamepad_zUp"
          KEY_SHIFT_LEFT = "numpad7, gamepad_4, gamepad_zDown"
          KEY_ENTER = "space, z, numpad5, gamepad_0"
          KEY_CANCEL = "backspace, x, numpad0, gamepad_1"
          KEY_STATUS = "s, numpad3, gamepad_6"
          KEY_SUBMENU = "a, numpad1, gamepad_2"
          KEY_MAP = "c, m, add, gamepad_3"
          KEY_RESET = "r"
          KEY_DEBUG = "p"

#### デバグコマンド

シナリオデータでデバグコマンドが許可されている場合には、デバグ用のコマンドを使用することが出来ます。キーボードのPキーを押すとテキスト入力フィールドが表示されるので、そこに下記のコマンド（[ ] は不要）を打ち込んでEnterキーを押して下さい。空欄の状態でEnterキーを押すか、もしくはESCキーを押すと入力フィールドが消えます。
実行結果はコンソール（コマンドプロンプト、端末）、及びDebug Window（Optionより表示出来る別ウィンドウ）に表示されます。

- map [on, off]
  オートマップを全開、全未到にします。
- flag [flagNum]
  フラグの値を表示します。フラグ番号を省略した場合には、trueになっているフラグの番号をコンソール（及びDebug Window）に表示します。全てfalseの場合はnoneと表示されます。
- flagS [flagNum]
  特殊フラグの値を表示します。フラグ番号を省略した場合には、trueになっている特殊フラグの番号をコンソール（及びDebug Window）に表示します。全てfalseの場合はnoneと表示されます。
- flagControl [flag]
  フラグ・特殊フラグ・壁存在フラグ・マップ踏破フラグ・隠し扉フラグ・施錠扉フラグの値を変更します。書式に関してはフラグ操作を見て下さい。
- monsterFlag [monsterNum] [value]
  指定したモンスター番号のカタログ登録フラグを変更します。モンスター番号をallにすると全モンスターのフラグを一度に変更出来ます。値は0でfalse、1でtrue、2で反転です。
- itemFlag [itemNum] [value]
  指定したアイテム番号のカタログ登録フラグを変更します。アイテム番号をallにすると全アイテムのフラグを一度に変更出来ます。値は0でfalse、1でtrue、2で反転です。
- raceList
  種族番号と対応する種族名、種族略称をコンソール（及びDebug Window）に表示します。
- classList
  職業番号と対応する職業名、職業略称をコンソール（及びDebug Window）に表示します。
- monsterList [monsterNum]-[monsterNum]
  モンスター番号により指定した範囲のモンスター名をコンソール（及びDebug Window）に表示します。モンスター番号を省略した場合は全モンスターの名前を表示します。
- monsterFlagList [monsterNum]-[monsterNum]
  モンスター番号により指定した範囲の、カタログ登録済みのモンスター名をコンソール（及びDebug Window）に表示します。
- itemList [itemNum]-[itemNum]
  アイテム番号により指定した範囲のアイテム名をコンソール（及びDebug Window）に表示します。アイテム番号を省略した場合は全アイテムの名前を表示します。
- itemFlagList [itemNum]-[itemNum]
  アイテム番号により指定した範囲の、カタログ登録済みのアイテム名をコンソール（及びDebug Window）に表示します。
- item [itemNum] [decided]
  現在のパーティーの所持品欄に余裕がある場合に、指定したアイテム（アイテム番号にて指定）を入手します。decidedは0で未鑑定、1で鑑定済みになります。省略すると鑑定済みになります。
- stock [initialize/reset, full, 0-99] [itemNum]-[itemNum]
  アイテム番号により指定した範囲の商店の在庫を操作します。初期設定に戻すか、在庫切れなし（在庫が無限）にするか、もしくは0～99の数字で個数を指定出来ます。アイテム番号を省略した場合は全在庫に適用されます。 元々商店に並ばない設定になっているアイテムには効果がありません。
- healAll
  全冒険者を全回復（状態異常、HP、MPの回復）させます。毒も回復し、死亡以上の状態も回復（蘇生）します。
- itemDropRate
  呪文効果414「アイテムドロップ率修正」にて設定したアイテムドロップ率修正値（計算式）をコンソール（及びDebug Window）に表示します。
- spellClear
  現在のパーティー、及びパーティーのメンバーにかかっている呪文効果を消去します。
- musicClear
  全ダンジョンの全階、及び全パーティーへの音楽変更効果を消去します。
- collect
  現在のパーティー以外の全パーティーをダンジョン内から地上へ帰還させます。

- 以下は現在のパーティー内の指定pcに有効です。pcはパーティーの先頭を0として、0～5の数字で指定します。省略するとパーティー全員に適用されます。
  - heal [pc]
    全回復（状態異常、HP、MPの回復）をします。毒も回復し、死亡以上の状態も回復（蘇生）します。
  - heal [hp, mp, state] [pc]
    HP、MP、状態異常それぞれの回復をします。HP、MPの回復は生きているpcのみに適用されます。状態回復は毒や死亡以上の状態も回復（蘇生）します。
  - hp [value] [pc]
    HPを指定した値の分だけ増加、減少させます。最大HPは超えません。
  - hpMax [value] [pc]
    最大HPを指定した値の分だけ増加、減少させます。
  - mp [value(,value)] [pc]
    MPを指定した値の分だけ増加、減少させます。最大MPは超えません。指定値は、一つの数字のみならば全系統の全レベルに適用されますが、「（呪文系統0～3）（呪文レベル0～9）,変化値」と記述することで適用する呪文の系統やレベルを指定出来ます。以下に例を示します。
    9 （全系統の全レベルのMPを+9）
    0,1 （一番目の系統の全レベルのMPを+1）
    21,-5 （三番目の系統の2レベルのMPを-5）
  - mpMax [value(,value)] [pc]
    最大MPを指定した値の分だけ増加、減少させます。指定値は、一つの数字のみならば全系統の全レベルに適用されますが、「（呪文系統0～3）（呪文レベル0～9）,変化値」と記述することで適用する呪文の系統やレベルを指定出来ます。以下に例を示します。
    -9 （全系統の全レベルの最大MPを-9）
    3,2 （四番目の系統の全レベルの最大MPを+2）
    06,-6 （一番目の系統の7レベルの最大MPを-6）
  - lv [value] [pc]
    レベルを指定した値の分だけ増加、減少させます。レベルに応じて経験値も変化します。
  - abi [value(,value)] [pc]
    特性値を指定した値の分だけ増加、減少させます。指定値は、一つの数字のみならば全特性値に適用されますが、「（特性値の番号0～35）,変化値」と記述することで個別の特性値を指定出来ます。値を数字ではなく max もしくは min と指定（この場合はカンマ区切りの個別指定は不可）することで、種族最大値・最低値にすることも出来ます。
  - abiView [pc]
    特性値の値をコンソール（及びDebug Window）に表示します。abi0View で素の状態の特性値、abi1View で素の状態の特性値にアイテムの修正を加えた値、abiView でアイテムの修正と呪文効果による修正を加えた値（最終値）を表示します。
    隠しパラメータ（表示しない設定になっている特性値）の値を確認する際に利用出来るかと思います。
  - state [value] [pc]
    状態を変更します。値は0～6で以下の状態を指定します。
    0:正常 1:恐慌 2:麻痺 3:石化 4:死亡 5:灰化 6:消滅
  - sleep [value] [pc]
    戦闘中のみ、睡眠深度を指定した値の分だけ増加、減少させます。ただし、指定の値が0の場合には強制的に睡眠深度を0にします。睡眠深度がプラスの値ならば通常の睡眠状態に、マイナスの場合は気絶状態となります。
  - silence [value] [pc]
    戦闘中のみ、沈黙強度を指定した値の分だけ増加、減少させます。ただし、指定の値が0の場合には強制的に沈黙強度を0にします。沈黙強度がプラスの値ならば通常の沈黙状態に、マイナスの場合は自然回復をしない沈黙状態となります。
  - restraint [value] [pc]
    戦闘中のみ、抑制強度を指定した値の分だけ増加、減少させます。ただし、指定の値が0の場合には強制的に抑制強度を0にします。抑制強度が1以上のときのみ、抑制状態と見なされます。
  - poison [value] [pc]
    毒ダメージ値を指定した値の分だけ増加、減少させます。ただし、指定の値が0の場合には強制的に毒ダメージを0にします。毒ダメージ値が1以上のときのみ、毒状態と見なされます。
  - gold [value] [pc]
    所持金を指定した値の分だけ増加、減少させます。
  - exp [value] [pc]
    経験値を指定した値の分だけ増加させます。減少させることは出来ません。
  - age [value] [pc]
    年齢を指定した値の分だけ増加、減少させます。
  - race [value] [pc]
    種族を変更します。種族は0～14の種族番号で指定します。
  - class [value] [pc]
    職業を変更します。職業は0～14の職業番号で指定します。
  - sex [M, F, B, N] [pc]
    性別を変更します。シナリオデータごとの設定に関係なく、ここではM（男性）、F（女性）、B（両性）、N（無性）として指定します。もしくは、0～3でも指定出来ます。
  - ali [G, N, E] [pc]
    性格を変更します。シナリオデータごとの設定に関係なく、ここではG（善）、N（中立）、E（悪）として指定します。もしくは、0～2でも指定出来ます。
  - rip [value] [pc]
    死亡回数を指定した値の分だけ増加、減少させます。
  - marks [value] [pc]
    殺害数を指定した値の分だけ増加、減少させます。
  - title [[value]] [pc]
    称号を付与します。称号は[ ]で括って指定します。（例：title [], title [@1]）
  - dispell [pc]
    呪いを解きます。呪われていたアイテムは未装備の状態になります。
  - spell [value(,value)] [pc]
    呪文を習得、忘却させます。値を1にすると呪文を習得し、0にすると忘却します。指定値は、一つの数字のみならば全系統の全レベルの全呪文に適用されますが、「（呪文系統0～3）（呪文レベル0～9）（呪文0～6）,（0 or 1）」と記述することで適用する呪文の系統やレベル、呪文を指定出来ます。以下に例を示します。
    1 （全系統の全レベルの全呪文を習得）
    2,0 （三番目の系統の全レベルの全呪文を忘却）
    05,1 （一番目の系統の6レベルの全呪文を習得）
    134,1 （二番目の系統の4レベルの五番目の呪文を習得）

- expGained [value]
  戦闘終了時のデバグ用獲得経験値倍率を設定し、設定値をコンソールに表示します。値未指定の場合は設定値の表示のみ行います。起動時の値は 1.0（等倍）です。
- dropGained [value]
  戦闘終了時のデバグ用アイテム取得確率（モンスターのアイテム所持確率）の倍率を設定し、設定値をコンソールに表示します。値未指定の場合は設定値の表示のみ行います。起動時の値は 1.0（等倍）です。
- view
  このコマンドを実行した後は、いくつかの判定の成功確率等がコンソール（及びDebug Window）に表示されるようになります。製作者（THU）が自分用に入れたコマンドなので、使い勝手は良くないです。
- cal [計算式]
  計算の結果をコンソール（及びDebug Window）に表示します。条件式は対応していますが、冒険者等の参照値は使えません。
- calPc [計算式], calMon [計算式]
  基本的には上記の cal と同じですが、それぞれ pc.??? と monster.??? で、パーティー内の一番先頭のPC、及び先頭のモンスターグループ内の一番先頭のモンスターのデータを参照出来ます。