RagnarokOnline ShortCut Extension Module
つまり巷にあふれてるラグナロクのショートカット拡張用ツールです。
通常のF1~F9のほかにCtrl+F1~F9とAlt+F1~F9そしてさらにF10/F11、Ctrl+F10/F11、Alt+F10/F11が使用可能です。(ただしAlt+F4は使用できません)
文字入力中のIMEの動作を阻害しません。
※初期設定ではF10/11拡張は使えなくなってます。
シフトエンチャント(Shift同時押し)も使用可能です。
エモーション拡張機能 Shift+F1~F10及びCtrl+0~9に別のエモーションを割り当てることができます。
dinput.dllをroscem.xml、RoAddr.iniといっしょにRagnarokのインストールフォルダ(ragexe.exeと同じフォルダ)に入れてください。
間違ってもsystem(system32)フォルダに入れてはいけないです。
ショートカットはラグナロク上で登録できます。通常と同じようにショートカット登録するだけでOKです
Alt+F4にも登録は出来ますが使用できません。(一様Alt+F4による終了はつぶしてあります)
設定ファイルにないキャラクタが使われた場合、自動的に設定が作られます。
F10/F11の系の設定はアプリケーションキー(ポップアップメニューの絵の書いてあるキー)を押している間
F1から順にF10/F11/Ctrl+F10/Ctrl+F11/Alt+F10/Alt+F11に対応し、書き換えることが出来ます。
※アプリケーションキーを押している間F7~F9を書き換えると通常のF7~F9が書き換えられてしまいます。注意してください。
エモーション拡張機能は設定ファイルで設定してください。
※これもラグナロク側でも設定できますが注意が必要です。
Shift+F1~F10に割り当てるエモーションを設定する場合
Shift+Alt+Mでウィンドウを開き、設定して、またShift+Alt+Mで閉じてください。
ShiftとAltの順を間違えたり、マウスで閉じるとdefaultのものが書き換えられてしまうので注意。
Ctrl+0~9に割り当てるエモーションを設定する場合
Ctrl+Alt+Mでウィンドウを開き、設定して、またCtrl+Alt+Mで閉じてください。
CtrlとAltの順を間違えたり、マウスで閉じるとdefaultのものが書き換えられてしまうので注意。
上級者向けとしてroscem.xmlのconfigure内を編集することによってキーの割り当て、
Alt+F4やIMEの抑制の無効化等の詳細設定が変更可能です。
詳しくはroscemの設定ファイルについてを見てください。
インストール時に入れたファイルを削除するだけでOKです。
レジストリは使用してないです。
特にラグナロクのフォルダに入れたdinput.dllを削除するのを忘れないください。
Gravity及びガンホーとは一切関係は有りません。
問い合わせ等はしないでください。
このツールは初心者向きでは有りません。
このツールを使用時にRagnarok側でエラーが出た場合は必ずアンインストールして再現できるか確認してください。
もちろん使用は自己責任で。
作者はこのツールを使用よる損害に対し一切保証はしません。
このツールはメモリの書き換えならびにローカルフックをしています。
その点に関して納得しない方はそのまま削除し、存在を忘れた方がいいです。
RoAddr.ini
ラグナロクのメモリーアドレスの設定ファイルです。
パッチ等でRagexeが変更された場合、有志によって更新されています。
RoAddr.iniの最新版はRoAddr.ini - Upload & Makerを参照にしてください。
roscem.xml
ショートカット設定ファイルです。
XMLファイルですがコメント等は使用できません。
※設定ファイルの仕様は随時変更される恐れがあります。
roscem.xmlと照らし合わせながら見ることをお勧めします。
サンプルでtest_charというキャラ、knight_2handというIDのテーブルが設定してあります。
以下タグの説明 (@はそのタグの要素、+は子タグ)
- servers すでに日鯖の設定はされているので変更する必要はないでしょう。
- +servername
- サーバー名のエイリアス設定です。
- @ip
- サーバーの名前に対するIP(キャラクターセレクトサーバー)
- @name
- サーバーの名前です。これは以降のキャラクター設定時のサーバー名として利用されます。
- 名前は実際のサーバー名と対応している必要はありません。(e.g. tw-chaos)
- configure 詳細設定です。
- +func
- 各種機能の使用するかしないかを設定できます[1:on 0:off]
- @emotion
- エモーション拡張の使用設定(デフォルトは1)
- @emotion_lock
- エモーション拡張の変更を保存しません。(デフォルトは0)
- これは不用意にエモーションを書き換えられることを防ぎます。
- @IMEavoid
- IMEの動作阻害を回避する機能の設定(デフォルトは1)
- これをoffにするとIME使用中(文字入力中)でもF10/F11のショートカット拡張が使用できます
- またonの場合、文字入力中のときは通常のIMEの機能が利用できます。
- @AltF4avoid
- Alt+F4による終了を使えなくします(デフォルトは1)
- @no_shortcut_ex
- F10/F11の拡張を完全に使用不可にします。(デフォルトは1)
- これを有効にすることによってF10/F11に関係するroscemの機能は使用できなくなります。
- @CDSavoid
- クライアント側のデフォルトショートカット拡張を抑制します。(デフォルトは1)
- これを有効にすることによってF12によるクライアント付属のショートカット拡張変更を使用できなくします。
- +key_assign
- キーアサイン(キーの割り当て)を設定します。これは特に問題がなければ設定を変更しないことを推奨します。
- このテキストの説明はすべてデフォルトのキーバインドにおいて説明されています。
- キーアサインを変更した場合は説明もそのキーへ置き換えて読んでください。
- @type
- 割り当てるキーのタイプです
- alt : デフォルトでaltキーに割り当てられているものです。shortcutのkeyのtype="alt"の割り当てです。
- ctrl : デフォルトでctrlキーに割り当てられているものです。shortcutのkeyのtype="ctrl"の割り当てです。
- extra : F10/F11の系の設定変更時に使うキー設定です。デフォルトではアプリケーションキーが割り当てられています。
- emotion : エモーション拡張(num)に使う割り当てです。デフォルトでshiftが割り当てられています。
- ※エモーションのCtrl+[0-9]のほうはキー割り当てを変更することは出来ません。
- @vkcode
- 割り当てるキーの仮想キーコードです。(仮想キーコードについては検索エンジンでどうぞ)
- 10/16進数どちらでも指定できます。
- ただし、マウス系のVK_*BUTTON*及びVK_LSHIFT等のモディファイヤキーのVK_L/R***は使用できません。
- また重複チェック等はしてませんので注意して設定してください。
- ※同じvkcodeを割り当てた場合上で並んでいるtype順に上にあるのものが適用されます。
- @killfunc
- キーのデフォルト動作を禁止するかの設定です。[1:on 0:off]
- 例えばaltの変わりにF12を割り当てた場合、そのままだとF12を押したときF12の元の動作も同時にしてしまうので
- それを禁止する機能です。
- +extra_load
- 通常は使用しない機能です。
- dinputのroscemを使用時に他のdinput乗っ取り系(roassist等)を使用するための救済設定です。
- 同時使用したいdinput.dllを適当な名前に改名しその名前をsrcで指定してラグナロクと同じフォルダに入れておくだけ。
- +extra_configure
- 拡張設定です。
- +emotion_individual
- エモーション拡張の個別に使用するかしないかを設定できます
- @num
- num(デフォルトでShift)の拡張の使用設定
- @cnum
- cnum(ctrl)の拡張の使用設定
- emotion エモーション拡張を設定します ここの内部はラグナロク終了時に自動的に再保存され、無効な設定は自動的に削除されてしまうので注意。
- +num0~num9
- shift+F1~F10の設定
- Alt+Mで表示されるウインドウと同じように設定してください(e.g. /! /うれしい)
- ただし半角50文字(ひらがな/漢字25文字)までが有効です
- +cnum0~cnum9
- ctrl+1~0の設定
- +dnum0~dnum9
- デフォルトのエモーションの設定のバックアップ
- shortcut ここの内部はラグナロク終了時に自動的に再保存され、無効な設定は自動的に削除されてしまうので注意。
- +character
- 各キャラクターの設定です
- @name
- キャラクター名。同じ名前が複数いてもかまいません。
- 以下のserverも同じ場合下にあるほうが優先されます。また保存時に自動的に優先されたもの以外は削除されます。
- +server
- サーバー名です。
- @name
- servernameで設定した名前を使用してください。
- +key
- ショートカットキーの設定です
- @type
- ショートカットキーのタイプです。
- def(デフォルト)/ctrl/altが設定できます。
- +F1~F11
- 各ショートカットの設定です
- @id
- アイテムid/スキルid(##~)を設定します。
- @lv
- スキルのレベル[0-9](スキルにレベルがない場合もしくはアイテムの場合は0)
- ここから下はオプションです。自動挿入されません。
- @shift_enchant
- シフトエンチャントの個別設定[1:on/0:off]
- @change_table
- ショートカットテーブルのそう入れ替え
- table_id ショートカットテーブルのID
- 詳しくはscriptメソッドについてを見てください
- //----ここから未実装[変更あり]
- @change_skill
- skill_id, time timeの間skill_idに入れ替え(0無制限)
- @key_booster
- 自動リピートです[1:on/0:off]
- //----ここまで未実装
- +table
- scriptメソッド用拡張ショートカットテーブル設定です。
- scriptメソッドによって使われます。詳しくはscriptメソッドについてを見てください。
- @id
- テーブルIDです。
- 予約語としてreturnとreturn_allがあり、それは指定できません。
- 使用できる文字は英数字と記号(<>\='"&を除く)です。スペースは使用できません。
- 重複は不可です。重複時の動作は不定となります。
- +F1~F11
- 上のF1~F11と同じです。
- @id
- アイテムid/スキルid(##~)を設定します。
- @lv
- スキルのレベル[0-9](スキルにレベルがない場合もしくはアイテムの場合は0)
- ここから下はオプションです。自動挿入されません。
- @shift_enchant
- シフトエンチャントの個別設定[1:on/0:off]
- @change_table
- ショートカットテーブルのそう入れ替え
- table_id ショートカットテーブルのID
- //----ここから未実装[変更あり]
- @change_skill
- skill_id, time timeの間skill_idに入れ替え(0無制限)
- @key_booster
- 自動リピートです[1:on/0:off]
- //----ここまで未実装
scriptメソッドはそのキーを押したときに指定されたアクションを起こす機能です。
現在scriptメソッドに使えるのはchange_tableのみです。
change_table ショートカットテーブルのそう入れ替え
table_idはtableには定義されたidを指定します。idに使用出来る文字には制限があります。
予約語としてreturnとreturn_allがあり、returnを指定するとそのtableを呼び出したショートカットにreturn_allを呼び出すと最初のショートカットに戻ります。
使用できる文字は英数字と記号(<>\='"&を除く)です。スペースは使用できません。
重複は不可です。重複時の動作は不定となります。
F1~F9のいずれかでchange_table="knight_2hand"のように設定するとそのキーを押した時に
そのショートカットすべて(F1~F11)が<table id="knight_2hand">のものに切り替わります。
例えばF1の両手剣、あとは槍用スキルにしてF1にchange_table="knight_2hand"
tableにid="knight_2hand"を作り、F1に片手剣、あとは片手剣スキルでF1にchange_table="return"
とすると武器を持ち帰るたびにそれ用のショートカットテーブルになって便利です。
tableに指定のidが存在しなかった場合は自動的に新規ショートカットテーブルが作成されます。
change_tableで変更した状態でショートカットを変更するとそのtable_idのものが変更され保存されます。
元のショートカット(呼び出し元)には影響を及ぼしません。
(つまりchange_tableにidさえ指定していけばファイルで直接設定しなくてもラグナロク上で設定できるということです)
(ただし変更後は終了やキャラセレに行く前にctrlやalt押して1回はショートカットを書き換えてください。書き換え時の設定を保存するためです)
わかりにくい説明だと思いますが、慣れてください(^^;
Q)まれに、デフォルトのショートカットがctrl+[0-9]のショートカットに書き換えられてしまう。
A)現在原因究明中です。ラグナ側のショートカット管理に関係しているようです。
暫定的な対処としてemotion_lockを有効にすることにより回避できます。
まず既知のバグを見て既知もしくは回避可能なバグではないか確認してください。
Q) 全然動かないんですけど・・・
A) クライアントのショートカットセットが1になっていますか。1以外では使用できません。
A) RoAddr.iniが最新のものですか?確認してみてください。
Q) dinput.dllが最初から入ってなかったんですけど
A) Windowsの初期設定では表示されないです。ぐーぐるで "隠しファイル 表示 設定" を検索しる
Q) 今まで動いてたのに動かなくなった
A) RoAddr.iniが最新のものですか?確認してみてください。
Q) Alf+F6が使えないんですけど・・・
A) Windows98(SE)/MEではAlt+F6はOS側で動作が抑えられているので使用することはできないです。ゲイツを恨んでください。
Q) F10/F11拡張が使えないんですけど。
A) このマニュアルをよく読んでください。configureのfuncのno_shortcut_exを0にしてください。使えるはずです。
Q) roassistとかdiinput.dllを使ってる他のソフトと一緒に使えないんですか?
A) このマニュアルをよく読んでください。
roassist等の付属のdinput.dllを適当な名前に改名(roassist.dllとか)して、configureのextra_loadのsrcにその名前を設定してください。使えるはずです。
Q) roscem.xmlを変更したのに設定が反映されません。
A) ラグナロク起動中には設定は再読み込みされません。また、ラグナロク終了時に設定が上書きされます。
ラグナロクを終了してから編集してください。
ragprene http://ragprene.s25.xrea.com/
clafties clafties@hotmail.com
copyright©2003 clafties
※このツールは転載ならびに再配布を一切認めていません。
- 040121] snapshot12e3 stable
- 初期化方法の変更。同型のDLLツールの読み込み対策。
- 040120] snapshot12e2 stable
- extra_loadが機能しない不都合を修正。
- 040115] snapshot12e stable
- ragexe.exe側の変更に伴ってdinput.dllにに戻しました。
- また、初期化タイミングの変更によりエラーが発生していたのを対処しました。
- 031230] snapshot12d stable
- ragexe.exe側の変更に伴ってddraw.dllに変更。
- 031204] snapshot12c stable
- snapshot12cでバグが不完全だったので追加修正。
- 031204] snapshot12c stable
- F10/F11拡張設定中(extra:デフォルトではAppキー押下中)ファンクションキーを押すとGravityErrorが発生するバグを修正。
- クライアント側のデフォルトショートカット拡張を抑制(F12の抑制)する機能を追加
- エモーション拡張の個別無効化設定の追加
- 031007] snapshot12b stable
- Junoパッチ向けに調整。
- コンパイラをVC7.1に変更。
- 030710] snapshot12a stable
- レジストリにショートカットが存在しないときにアクセスエラーが生じるバグを修正。
- 030707] snapshot12 stable
- 正規版
- 設定のemotion_lockが有効にならなかったバグ修正。
- 030703] snapshot12 pre6
- XMLパーサーをMSXMLに変更。
- キャラ作成時にエラー落ちする現象に対処。
- 特定の記号を含むキャラの設定が正常に保存されないバグを修正
- 030625] snapshot12 pre5a
- IMEavoid有効の場合、IMEの変換未確定時にAlt+Enterでギルドメッセージを送信するとF10/F11拡張が使用できなくなるバグを修正。
- 030606] snapshot12 pre5
- 一部の環境でEmotion拡張機能が正しく動作しないバグを修正
- キーリピート周りの修正
- 一部コードを見直し/最適化
- 030529] snapshot12 pre4
- Emotion拡張機能のバグを修正
- 030529] snapshot12 pre3
- Emotion拡張機能を復活
- 030527] snapshot12 pre2
- 細かいバグを修正
- Emotion拡張をいったん停止
- 030523] snapshot12 pre
- すべて1から書き直し
- 高速化/安定化
- scriptの挙動を一部変更/高速化
- デフォルトの設定を変更
- shift_enchantの全体設定を廃止
- 030412] snapshot09c
- さまざまな不都合修正
- 030410] snapshot09b
- 一部の環境で起きる致命的バグに対応
- 030317] snapshot09
- ctrl+[0-9]のショートカットがデフォルトのショートカットを書き換えてしまうバグを修正?
- F10/F11を完全に使用できなくする設定を追加
- 030314] snapshot08b
- 名前に<>がタグ形式で入っていた場合にデータが保存されないバグを修正
- 030314] snapshot08a
- snapshot08からIMEavoidが正常に動作していなかったバグを修正
- 030313] snapshot08
- エモーション拡張にctrl+0~9を追加
- 未実装だったシフトエンチャントの個別設定/scriptメソッド追加
- 030302] snapshot07
- snapshot06で解消されていなかったので追加修正
- HotKey等でRagnarokのフォーカスが奪われたときの処理を修正
- Alt+F4による終了回避の選択設定を追加
- 030228] snapshot06
- 名前に<>\='"&等が含まれていた場合の不都合を解消
- 030227] snapshot05
- キーアサイン設定
- シフトエンチャント/エモーション/IME阻害回避の機能選択をできるように変更
- 030219] snapshot04
- SCセットがキャラごとが入れ替えられるバグ修正
- 030217] snapshot03
- os別のDLL最適設定
- configureをshortcutに名称変更
- F10/11系変更時のバグ修正
- 030213] snapshot02
- winmm.dllに変更
- 030212] snapshot01
- emotion拡張に対応
- 030210] snapshot00
- the first edition
Q) こんなもの作ってるんだったらさっさと他のツール作れや(゜Д゜)
A) まったくその通りで。
(自分的には)使いやすいのが出来たので御裾分け的に配布です。
更新は気が向いたときに、他のツールを利用することをお勧めしますよw