roscem snapshot12d stable

roscemって何?

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に別のエモーションを割り当てることができます。

roscemを使うには?

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の設定ファイルについてを見てください。

roscemを使うのを辞めるには?

インストール時に入れたファイルを削除するだけでOKです。 レジストリは使用してないです。

特にラグナロクのフォルダに入れたdinput.dllを削除するのを忘れないください。

roscemを使用上の注意

Gravity及びガンホーとは一切関係は有りません。 問い合わせ等はしないでください。

このツールは初心者向きでは有りません。

このツールを使用時にRagnarok側でエラーが出た場合は必ずアンインストールして再現できるか確認してください。
もちろん使用は自己責任で。 作者はこのツールを使用よる損害に対し一切保証はしません。

このツールはメモリの書き換えならびにローカルフックをしています。
その点に関して納得しない方はそのまま削除し、存在を忘れた方がいいです。

roscemの設定ファイルについて

RoAddr.ini

ラグナロクのメモリーアドレスの設定ファイルです。
パッチ等でRagexeが変更された場合、有志によって更新されています。
RoAddr.iniの最新版はRoAddr.ini - Upload & Makerを参照にしてください。

roscem.xml

ショートカット設定ファイルです。
XMLファイルですがコメント等は使用できません。
※設定ファイルの仕様は随時変更される恐れがあります。

roscem.xmlと照らし合わせながら見ることをお勧めします。
サンプルでtest_charというキャラ、knight_2handというIDのテーブルが設定してあります。

以下タグの説明 (@はそのタグの要素、+は子タグ)

scriptメソッドについて

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) ラグナロク起動中には設定は再読み込みされません。また、ラグナロク終了時に設定が上書きされます。
ラグナロクを終了してから編集してください。

roscemの配布元等

ragprene http://ragprene.s25.xrea.com/
clafties clafties@hotmail.com
copyright©2003 clafties

※このツールは転載ならびに再配布を一切認めていません。

roscemの更新履歴

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

nonsense for roscem

Q) こんなもの作ってるんだったらさっさと他のツール作れや(゜Д゜)
A) まったくその通りで。

(自分的には)使いやすいのが出来たので御裾分け的に配布です。
更新は気が向いたときに、他のツールを利用することをお勧めしますよw