ToSでPS系コント・・・|株式会社自由の森

ToSでPS系コントローラーを追加ドライバなしで正しく設定

logotitle_tree_of_savior_logo

PC用のMMORPG「Tree of Savior(ToS)」では、ゲームパッドでの操作にも対応していますが、公式の推奨はXBoxゲームコントローラーとなっていて、ボタンなどの設定もXBox(というかWindows)準拠となっています。

私は現在PS2コントローラー(DUALSHOCK2)に下のようなUSBアダプターを介してPCに接続して使っていますが、ボタンの配置がずれていました。

公式フォーラムなどで調べて修正したところ、正しく設定することができ、全体マップ表示機能も追加できたので方法を紹介します。追加のドライバや設定ソフトなどは必要なく、設定ファイルのコピペによる書き換えだけでOKです。

それでも面倒な場合や公式推奨機器でプレイしたい方は、XBoxのコントローラーをオススメします。

2017年2月2日に新モデルが発売されました。

設定ファイルの場所

設定は以下の場所のxmlファイル(hotkey_joystick.xml)に記述されています。(ゲームクライアントのインストール先がCドライブの場合)

C:\Nexon\TreeofSaviorJP\release\hotkey_joystick.xml
スポンサーリンク

設定方法

まず、適当な場所に設定ファイル”hotkey_joystick.xml“のバックアップを取っておきます。失敗した場合に動作しなくなることもあるので、必ずバックアップを行ってください。ファイル名は”hotkey_joystick_bak.xml”などに変更しておくと良いでしょう。

次に、”hotkey_joystick.xml”を下記テキスト(コード)にコピー&ペーストで入れ換えて上書き保存すればOKです。プレイ中の場合はゲームを一度終了してからスタートすると変更した設定が反映されます。

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by imc (imc) -->
<!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by MinstFaith (EMBRACE) -->
<Category>
	<HotKey ID="MoveUp" Name="上移動" DownScp="None" UpScp="None" Key="JOY_UP" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="YES" Category="Battle"/>
	<HotKey ID="MoveDown" Name="下移動" DownScp="None" UpScp="None" Key="JOY_DOWN" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="YES" Category="Battle"/>
	<HotKey ID="MoveLeft" Name="左移動" DownScp="None" UpScp="None" Key="JOY_LEFT" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="YES" Category="Battle"/>
	<HotKey ID="MoveRight" Name="右移動" DownScp="None" UpScp="None" Key="JOY_RIGHT" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="YES" Category="Battle"/>

	<HotKey ID="QuickSlotExecute1" Name="スロット1" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(0)" UpScp="None" Key="JOY_BTN_3" PressedKey="JOY_BTN_5" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute2" Name="スロット2" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(1)" UpScp="None" Key="JOY_BTN_1" PressedKey="JOY_BTN_5" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute3" Name="スロット3" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(2)" UpScp="None" Key="JOY_BTN_4" PressedKey="JOY_BTN_5" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute4" Name="スロット4" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(3)" UpScp="None" Key="JOY_BTN_2" PressedKey="JOY_BTN_5" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>

	<HotKey ID="QuickSlotExecute5" Name="スロット5" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(4)" UpScp="None" Key="JOY_BTN_3" PressedKey="JOY_BTN_7" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute6" Name="スロット6" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(5)" UpScp="None" Key="JOY_BTN_1" PressedKey="JOY_BTN_7" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute7" Name="スロット7" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(6)" UpScp="None" Key="JOY_BTN_4" PressedKey="JOY_BTN_7" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute8" Name="スロット8" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(7)" UpScp="None" Key="JOY_BTN_2" PressedKey="JOY_BTN_7" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>

	<HotKey ID="QuickSlotExecute9" Name="スロット9" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(12)" UpScp="None" Key="JOY_BTN_3" PressedKey="JOY_BTN_6" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute14" Name="スロット14" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(13)" UpScp="None" Key="JOY_BTN_1" PressedKey="JOY_BTN_6" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute15" Name="スロット15" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(14)" UpScp="None" Key="JOY_BTN_4" PressedKey="JOY_BTN_6" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute16" Name="スロット16" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(15)" UpScp="None" Key="JOY_BTN_2" PressedKey="JOY_BTN_6" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>

	<HotKey ID="QuickSlotExecute17" Name="スロット17" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(16)" UpScp="None" Key="JOY_BTN_3" PressedKey="JOY_BTN_8" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute18" Name="スロット18" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(17)" UpScp="None" Key="JOY_BTN_1" PressedKey="JOY_BTN_8" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute19" Name="スロット19" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(18)" UpScp="None" Key="JOY_BTN_4" PressedKey="JOY_BTN_8" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="QuickSlotExecute20" Name="スロット20" DownScp="JOYSTICK_QUICKSLOT_EXECUTE(19)" UpScp="None" Key="JOY_BTN_2" PressedKey="JOY_BTN_8" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>

	<HotKey ID="NormalAttack" Name="通常攻撃" DownScp="None" UpScp="None" Key="JOY_BTN_3" PressedKey="MustNone" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="Jump" Name="ジャンプ" DownScp="None" UpScp="None" Key="JOY_BTN_1" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>
	<HotKey ID="Select" Name="会話/決定" DownScp="None" UpScp="None" Key="JOY_BTN_2" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>
	<HotKey ID="Escape" Name="ESCボタン" DownScp="None" UpScp="None" Key="JOY_BTN_4" PressedKey="None" Mode="Both" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>
	<HotKey ID="LHand" Name="補助装備/ガード" DownScp="None" UpScp="None" Key="JOY_BTN_6" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>

	<HotKey ID="ToggleMouseMode" Name="UIモード" DownScp="joystick.ToggleMouseMode()" UpScp="None" Key="JOY_BTN_9" PressedKey="JOY_BTN_6" Mode="Both" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>
	<HotKey ID="MouseSpeedUP" Name="マウス速度上昇" DownScp="joystick.MouseSpeedUp(5)" UpScp="joystick.MouseSpeedUp(-5)" Key="JOY_BTN_4" PressedKey="None" Mode="Mouse" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>

	<HotKey ID="Worldmap" Name="全体マップ" DownScp="UI_TOGGLE_WORLDMAP()" UpScp="None" Key="JOY_BTN_9" PressedKey="JOY_BTN_5" Mode="Both" UseAlt="NO" UseCtrl="NO" Category="Basic"/>
	<HotKey ID="Map" Name="地域マップ" DownScp="UI_TOGGLE_MAP()" UpScp="None" Key="JOY_BTN_9" PressedKey="None" Mode="Both" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>

	<HotKey ID="WarpQuest" Name="クエスト終了ワープ" DownScp="SELECT_QUEST_WARP()" UpScp="None" Key="JOY_BTN_10" PressedKey="JOY_BTN_5" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>
	<HotKey ID="QuestItemUse" Name="クエストアイテム使用" DownScp="QUESTITEMUSE_EXECUTE()" UpScp="None" Key="JOY_BTN_10" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>

	<HotKey ID="QuickSlotSwap1" Name="スロットセット入換1" DownScp="JOYSTICK_QUICKSLOT_SWAP(1)" UpScp="None" Key="JOY_BTN_8" PressedKey="JOY_BTN_7" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>
	<HotKey ID="QuickSlotSwap2" Name="スロットセット入換2" DownScp="JOYSTICK_QUICKSLOT_SWAP(2)" UpScp="None" Key="JOY_BTN_7" PressedKey="JOY_BTN_8" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>
	<HotKey ID="WeaponSwap1" Name="武器スワップ" DownScp="WEAPONSWAP_SWAP_EQUIP()" UpScp="None" Key="JOY_BTN_11" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>

	<HotKey ID="TargetFixed" Name="ターゲット固定" DownScp="None" UpScp="None" Key="JOY_BTN_12" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>
	<HotKey ID="TargetChange" Name="ターゲット変更" DownScp="None" UpScp="None" Key="JOY_TARGET_CHANGE" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>

	<HotKey ID="RideOn" Name="コンパニオン乗る" DownScp="ON_RIDING_VEHICLE(1)" UpScp="None" Key="JOY_UP" PressedKey="JOY_L1L2" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>
	<HotKey ID="RideOff" Name="コンパニオン降りる" DownScp="ON_RIDING_VEHICLE(0)" UpScp="None" Key="JOY_DOWN" PressedKey="JOY_L1L2" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Basic"/>

	<HotKey ID="CrossUp" Name="十字キー上" DownScp="None" UpScp="None" Key="JOY_CROSS_UP" PressedKey="None" Mode="Mouse" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="CrossDown" Name="十字キー下" DownScp="None" UpScp="None" Key="JOY_CROSS_DOWN" PressedKey="None" Mode="Mouse" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="CrossLeft" Name="十字キー左" DownScp="None" UpScp="None" Key="JOY_CROSS_LEFT" PressedKey="None" Mode="Mouse" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>
	<HotKey ID="CrossRight" Name="十字キー右" DownScp="None" UpScp="None" Key="JOY_CROSS_RIGHT" PressedKey="None" Mode="Mouse" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>

	<HotKey ID="ToggleRest" Name="休息モード" DownScp="control.RestSit()" UpScp="None" Key="JOY_R1R2" PressedKey="None" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="Battle"/>

	<HotKey ID="ChatType" Name="チャットタイプ" DownScp="ui.ProcessTabKey()" UpScp="None" Key="TAB" UseShift="NO" UseAlt="NO" UseCtrl="NO" OnEdit="YES" Category="System"/>
</Category>

Nameの中身を日本語に書き換えて、どんな機能が割り当てられているかわかるようにしました。また、同じボタンを使う機能や似た機能をまとめ、改行を追加して整理しました。

機能とボタン操作一覧

機能とボタン操作の一覧です。色付きの箇所は元の設定から変更しています。

機能ボタン操作
通常攻撃
ジャンプ
会話/選択
キャンセル(ESC)
補助装備/ガードR1
地域マップSELECT
全体マップL1+SELECT
クエストアイテム使用START
クエスト終了ワープL1+START
武器スワップ左スティックボタン
ターゲット固定右スティックボタン
ターゲット変更右スティック方向
休息モードR1+R2
コンパニオンに乗るL1+L2+上
コンパニオンから降りるL1+L2+下

フィールド上、特にクエスト中に便利なように設定してみましたが、キャンセルと補助装備は個人的な好みで設定しているので入れ換えたほうが良いかもしれません。

設定の変更方法

hotkey_joystick.xmlの<Hotkey ID=”xxx” ~/>で囲まれた行の下記部分を書き換えることで、好きなボタンに変更することが可能です。

Key=”ボタンのコード”  PressedKey=”先に押すボタンのコード”(“None”:なし)
A+Bの場合:Key=”Bのコード”  PressedKey=”Aのコード”

ただし、同じボタンに異なる機能を割り当てると動かなくなる場合があるのと、ボタン同時押しはボタンひとつ押しの上の行に書く(全体マップと地域マップの行などを参照)ように注意してください。

ボタン/コード対応表

ボタンとコードは下のように対応しています。

ボタンコード
JOY_BTN_2
JOY_BTN_1
JOY_BTN_3
JOY_BTN_4
L1JOY_BTN_5
L2JOY_BTN_7
R1JOY_BTN_6
R2JOY_BTN_8
SELECTJOY_BTN_9
STARTJOY_BTN_10
左スティックボタンJOY_BTN_11
右スティックボタンJOY_BTN_12
スポンサーリンク

機能の追加(上級編)

同じフォルダにある”hotkey.xml”が大元のキー設定になっているので、そこから行頭と行末の下記部分を”hotkey_joystick.xml”側に移植すれば可能です。以下はキャラクター情報(F1)をL2ボタンに設定する場合です。

ID=”Status_info” Name=”캐릭터정보” DownScp=”UI_TOGGLE_STATUS()” UpScp=”None”
OnEdit=”NO” Category=”System”

“hotkey_joystick.xml”の適当な行をコピペして1行増やしてから上の部分を変更して、KeyにL2ボタンのコードを設定すると下のようになります。Nameはただのテキストなので、わかりやすく日本語に変更。

<HotKey ID="Status_info" Name="キャラクター情報" DownScp="UI_TOGGLE_STATUS()" UpScp="None" Key="JOY_BTN_7" PressedKey="MustNone" Mode="Key" UseAlt="NO" UseCtrl="NO" OnEdit="NO" Category="System"/>

あとがき

プレイ開始から途中までボタンがずれている状態でプレイし続けていましたが、クラスレベルが上がってスキルが増えてきて、たまに使うスキルを間違えてストレスになっていたので直そうと思ったのがきっかけです。

実際の操作と対応しているボタンのコードを確認するのが面倒だったのと、動作の検証で設定を変更するたびにゲーム終了して再立ち上げを繰り返して時間がかかり、心が折れそうになりましたが、なんとか動作するようになりました。

「Tree of Savior」をプレイしていて、PS系コントローラーをお使いの方のお役に立てれば嬉しいです。

スポンサーリンク

この記事が役に立ったらシェア!

フォローして最新情報をゲット!

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

スポンサーリンク
トップへ戻る