2013年は仕事が忙しくて、プライベートの時間をなかなかとれず辛い1年でした。
そんな中、UOに2月に復帰して再びハマった、というか現実逃避してしまって、ますますプライベートの時間が削られてしまい、疲労感がハンパ無かったです。
<UO関係まとめ>
2月に復帰したのですが、5年のブランクはさすがに大きく、いまだにすべてのコンテンツを消化しきれていません。
休止期間中、課金だけは続けていたのですが、復帰してまず思ったのは、無駄に5年も休止してしまったな、ということでした。
5年もあれば、GGS上げですべてのシャードに伝説テイマーを作ることも可能だったわけで、復帰後、すぐにやったのは日本シャード全てにテイマーを作ることでした。現在の途中結果として日本シャードの各テイマーのスキル値は最低値90になっています。
あと、復帰するのが遅かったな、と。各シャードで掘りによる資金調達をしたのですが、復帰時は各種宝石がすでに買い叩き状態で、あまり十分な資金を集めることはできませんでした。(掘り師配備の日本シャードで最低1千万程度)
休止期間中の限定アイテム(速度マント等)は、欲しいものはひと通り買い集めることができました。復帰時(2月)から過疎化進行がますます進み、ベンダーから物が消えていくのを目の当たりにしたので焦りました^^;;;
uoclistを復活させたのですが、開発テーマ的に、ログインを簡単にすることを目標にしておりました。自分的には2013年バージョンとしてやりたいことはやったつもりです。
十分に枯れている2Dクライアントのツールですが、なんらかのアイディアは出てくるものですね。来年は以下の項目に手を出すかも。
・チャット機能の改良
UO内チャット、チャット参加キャラのデータが流れてきますが、整理して表示したいです。
・ホットバーの追加
まずはクライアントに違和感なくホットバーを追加させる方法を考え出さないといけないです。
・Freeシャードへの対応
今でもRazorの上にuoclistをのせることはできますが、uoclistからクライアントを起動することには対応できてません。フリーシャードに対応させる場合、暗号化を解除することが必要?要調査。
2013年12月29日日曜日
2013年12月23日月曜日
2013年12月21日土曜日
ベンダーサーチ
がTCに入りました。
クライアントのバイナリ自体も変更が入っているので、uoclistも対応させときました。
今までもuosearch.net を使ってルナ城内のベンダーならすぐに目的のものを見つけ出せていたので困ってはいなかったのですが、やっと他のMMOにあるような機能が使えるようになった、といったところでしょうか?
クライアントのバイナリ自体も変更が入っているので、uoclistも対応させときました。
今までもuosearch.net を使ってルナ城内のベンダーならすぐに目的のものを見つけ出せていたので困ってはいなかったのですが、やっと他のMMOにあるような機能が使えるようになった、といったところでしょうか?
2013年12月10日火曜日
2013年12月9日月曜日
2013年11月24日日曜日
2013年11月17日日曜日
pub84も今月までか
例によって、私はパッチを起動せずclient.exeを直接起動するため、まだパッチを当てていません。
来週いっぱいくらいまでは使えるでしょう。
結局pub84ではMinaxMAFの入手にかかりっきりでしたね^^;;;
平日10個未満、休日に集中的にやるってことで、なんとか今月末までに目標の350個クリアできると目論んでいます。
来週いっぱいくらいまでは使えるでしょう。
結局pub84ではMinaxMAFの入手にかかりっきりでしたね^^;;;
平日10個未満、休日に集中的にやるってことで、なんとか今月末までに目標の350個クリアできると目論んでいます。
ラベル:
UO
2013年11月4日月曜日
pub84でのチャレンジ
僕のpub84での課題は、テイマー2アカ操作^^;;;
いやはや、私のメイン鯖(Sakura)にいるんだよなぁ。
テイマーじゃないけどガーゴイル2体がシンクロして移動、投擲、ってのをやっている人が。
ちょっと感動するwww
ということで、今日のところは、
・メイン垢のテイマーにサブ垢のテイマーがフォロー移動する
・メイン垢のテイマーのall follow me, all stop, all killを、サブ垢が復唱
・メイン垢からサブ垢のハイドを操作
場所と湧き種類を選びますね。
いやはや、私のメイン鯖(Sakura)にいるんだよなぁ。
テイマーじゃないけどガーゴイル2体がシンクロして移動、投擲、ってのをやっている人が。
ちょっと感動するwww
ということで、今日のところは、
・メイン垢のテイマーにサブ垢のテイマーがフォロー移動する
・メイン垢のテイマーのall follow me, all stop, all killを、サブ垢が復唱
・メイン垢からサブ垢のハイドを操作
場所と湧き種類を選びますね。
ラベル:
UOClist開発
2013年10月26日土曜日
pub84対応
uoclistをも不調にさせるバグだったのですが、
原因は、
スキル変化のメッセージをUOクライアントに出させるようにしていたのですが、不調和になると60超の全スキルに対するスキル変化メッセージをサーバが送りつけてくるため、UOクライアントのメッセージ処理が追いつかなくなったから。
uoclistの処理として、メッセージをキューに入れておいて一定の時間間隔でUOクライアントに処理させるようにしておけばよかったのですが、めんどくさかったので直接UOクライアントに処理させていたんですね。
対策としては、メッセージが連続する場合に処理をスキップするようにした^^;;;
さて、pub84ですが、世のツーラーさんはどういうふうに床置きミナクスMAFの吸い込みを実装しているんでしょかね???
僕は(追記: 自分用に!!!)
① 0xf3のメッセージがきたときに色を判定
② MAF色をしていたら0x09のコマンドを投げてみるとともにマークしてアイテムリストに記憶させる。
③ 自分が動いたときに、アイテムリストの中でマークしてあって2マス以内のアイテムがあれば、それをピックアップする。
④ 一定時間後にピックアップしたアイテムをバックパックにドロップする
ってな感じ。色だけで判定している。。。
昔、シャード破片を拾うときに使って以来コメントアウトして眠っていたコードを復活させて試験運用中。
原因は、
スキル変化のメッセージをUOクライアントに出させるようにしていたのですが、不調和になると60超の全スキルに対するスキル変化メッセージをサーバが送りつけてくるため、UOクライアントのメッセージ処理が追いつかなくなったから。
uoclistの処理として、メッセージをキューに入れておいて一定の時間間隔でUOクライアントに処理させるようにしておけばよかったのですが、めんどくさかったので直接UOクライアントに処理させていたんですね。
対策としては、メッセージが連続する場合に処理をスキップするようにした^^;;;
さて、pub84ですが、世のツーラーさんはどういうふうに床置きミナクスMAFの吸い込みを実装しているんでしょかね???
僕は(追記: 自分用に!!!)
① 0xf3のメッセージがきたときに色を判定
② MAF色をしていたら0x09のコマンドを投げてみるとともにマークしてアイテムリストに記憶させる。
③ 自分が動いたときに、アイテムリストの中でマークしてあって2マス以内のアイテムがあれば、それをピックアップする。
④ 一定時間後にピックアップしたアイテムをバックパックにドロップする
ってな感じ。色だけで判定している。。。
昔、シャード破片を拾うときに使って以来コメントアウトして眠っていたコードを復活させて試験運用中。
ラベル:
UOClist開発
2013年10月23日水曜日
2013年10月20日日曜日
Demiseのアカウント消えてた><
uoclistの動作も安定してきたので、UOGamers: Demiseへの対応をしてみたくなりました。
たしか、EAの方の休止したのと同時期にDemiseも休止したので、最後にログインしたのは4,5年前だったでしょうか?
その頃もやっぱりバードテイマー大好きでルンビ使ってた覚えがあります。
で、その頃のアカウントでログインしてみたら、、、
キャラ消えてました><
一からまたキャラつくりますか。。。本家よりスキル上げは楽だったし。
以前もuoclist(当時の古いバージョン)を使ってました。
ログインにRazor使って、Razorの機能はほとんど使わずにuoclistのサポート機能を使ってたと思います。(うろ覚えで、ログインだけ別のアプリを使ってたような気もするけど)
本家シャードとDemiseでは微妙にコマンドプロトコルが違っていて、今のコードにもそのときの対応の名残が少し残ってます。
たしか、EAの方の休止したのと同時期にDemiseも休止したので、最後にログインしたのは4,5年前だったでしょうか?
その頃もやっぱりバードテイマー大好きでルンビ使ってた覚えがあります。
で、その頃のアカウントでログインしてみたら、、、
キャラ消えてました><
一からまたキャラつくりますか。。。本家よりスキル上げは楽だったし。
以前もuoclist(当時の古いバージョン)を使ってました。
ログインにRazor使って、Razorの機能はほとんど使わずにuoclistのサポート機能を使ってたと思います。(うろ覚えで、ログインだけ別のアプリを使ってたような気もするけど)
本家シャードとDemiseでは微妙にコマンドプロトコルが違っていて、今のコードにもそのときの対応の名残が少し残ってます。
ラベル:
UOClist開発
2013年10月19日土曜日
UOCaptureTool 0.0.2.0
縮小画面上での
・マウス右クリック(移動)
・Ctrl+マウスホイール(画面の拡大/縮小)
・キーボード入力
に対応させてみました。
キーボード入力は、Focus制御をきっちりしていないため効かない場合がでてきます。
まだまだ実用レベルには達してませんね><
やはりマウス左クリック(ダブルクリック)に対応させる、さらには、左クリックドラッグに対応させるところまでやらないと、自由に操作するには程遠いです。
あと、ログイン操作を縮小画面内でやりたいですね。
これらをやろうとすると、どこかしら破綻がでてきそうで、開発のモチベーションもあがらず。。。
・マウス右クリック(移動)
・Ctrl+マウスホイール(画面の拡大/縮小)
・キーボード入力
に対応させてみました。
キーボード入力は、Focus制御をきっちりしていないため効かない場合がでてきます。
まだまだ実用レベルには達してませんね><
やはりマウス左クリック(ダブルクリック)に対応させる、さらには、左クリックドラッグに対応させるところまでやらないと、自由に操作するには程遠いです。
あと、ログイン操作を縮小画面内でやりたいですね。
これらをやろうとすると、どこかしら破綻がでてきそうで、開発のモチベーションもあがらず。。。
ラベル:
UOClist開発
Pub84のパケット変更
って、アイテムIDは0x8000以下、の縛りをなくすための変更だけ???
みんな律儀にJerrithの資料を元に実装していると思うので、みんなコケたwww
そそ、AssistUOって開発やめちゃった???このタイミングで今回のアップデートくらって早速使えなくなったんだろうか。。。AssistUOってタゲ共有の機能があったからいやらしかったんだけどね。
追記:
特定の地域に行くとクライアントごと落ちてしまう問題が。。。><
追記:
ということで直しました。なんかまだ心配なんですけど。
みんな律儀にJerrithの資料を元に実装していると思うので、みんなコケたwww
そそ、AssistUOって開発やめちゃった???このタイミングで今回のアップデートくらって早速使えなくなったんだろうか。。。AssistUOってタゲ共有の機能があったからいやらしかったんだけどね。
追記:
特定の地域に行くとクライアントごと落ちてしまう問題が。。。><
追記:
ということで直しました。なんかまだ心配なんですけど。
ラベル:
UOClist開発
2013年10月15日火曜日
UOCaptureToolのバグとり
一応、やりたいことの実現とバグ修正の目処は立った状況。妥協点は発生したのですが。。。
2垢起動のバグとりの方も目処が立った状況。
今把握している唯一の問題がHotKeyの扱い。具体的には、キーボードからの発言ウィンドウの表示/非表示。
HotKeyを使用しているのだけど、RegisterHotKey()って1ホットキーに対して1ウィンドウの組み合わせしか設定できないのね><
なので、UOClistを複数起動したときに、最初にRegisterHotKey()を有効にした方しか使用できない。
無理に変更するよりも、1垢目は今までどおりのキー設定、2垢目はCtrlキーを組み合わせたキー設定、と決めてしまったほうがいいのかもしれない。
週末まで自分で普段の動作をさせてテストしてみる予定。
2垢起動のバグとりの方も目処が立った状況。
今把握している唯一の問題がHotKeyの扱い。具体的には、キーボードからの発言ウィンドウの表示/非表示。
HotKeyを使用しているのだけど、RegisterHotKey()って1ホットキーに対して1ウィンドウの組み合わせしか設定できないのね><
なので、UOClistを複数起動したときに、最初にRegisterHotKey()を有効にした方しか使用できない。
無理に変更するよりも、1垢目は今までどおりのキー設定、2垢目はCtrlキーを組み合わせたキー設定、と決めてしまったほうがいいのかもしれない。
週末まで自分で普段の動作をさせてテストしてみる予定。
ラベル:
UOClist開発
2013年10月14日月曜日
魔女コーラからの挑戦状 再び
昼間はスカっとした秋空だというのに、不健康かつ暇人な私。。。
2日間連続で参加してました。。。
Gドラで延々とall killするお仕事ですwww
stay, follow meも使って肉壁的な位置調整もするのが腕の見せ所???
思いっきり自キャラがバレてますが、珍しいドラの2人羽織が見れたので画像を。
2日間連続で参加してました。。。
Gドラで延々とall killするお仕事ですwww
stay, follow meも使って肉壁的な位置調整もするのが腕の見せ所???
思いっきり自キャラがバレてますが、珍しいドラの2人羽織が見れたので画像を。
ラベル:
UO
2013年10月10日木曜日
2013年10月6日日曜日
他のウィンドウにマウスイベントを送信するって難しくね?
マウスカーソル位置はそのままに、UOのウィンドウにWM_MOUSEMOVEを送るのができていない><
DirectX関連が邪魔するから???
追記:
DirectInputは使っていないっぽい。
GetCursorPos()を直接使っているんだろうか?
だとすれば、GetCursorPos()にブレークポイントを仕掛けて上書きする、ってのがいいの???
DirectX関連が邪魔するから???
追記:
DirectInputは使っていないっぽい。
GetCursorPos()を直接使っているんだろうか?
だとすれば、GetCursorPos()にブレークポイントを仕掛けて上書きする、ってのがいいの???
ラベル:
UOClist開発
2013年10月5日土曜日
UOCaptureTool
バージョン0.0.1.0として、別館においてきました。
説明とか書くの面倒だったので実行ファイルとドライバのみです。。。
まだ、ウィンドウ内でのマウス/キーボード操作の反映はやっていません。
説明とか書くの面倒だったので実行ファイルとドライバのみです。。。
まだ、ウィンドウ内でのマウス/キーボード操作の反映はやっていません。
ラベル:
UOClist開発
VHScrCapのunlock
考えてみた。
VHScrCapを操作する関数はすべてCOMで提供され、その中にunlock関数が含まれている。
その書式は、special_unlock(BSTR, BSTR)
インストーラ付属のアプリだと制限がないっぽい(special_unlock()を実行しているっぽい)
BSTRを生成するためのAPIは、SysAllocString()
次にやることは、もうおわかりですね。OllyDbgでアプリを実行し、SysAllocString()にブレークポイントを仕掛けるw
ということで、制限をなくすためのキーを知ってしまったwww
VHScrCapを操作する関数はすべてCOMで提供され、その中にunlock関数が含まれている。
その書式は、special_unlock(BSTR, BSTR)
インストーラ付属のアプリだと制限がないっぽい(special_unlock()を実行しているっぽい)
BSTRを生成するためのAPIは、SysAllocString()
次にやることは、もうおわかりですね。OllyDbgでアプリを実行し、SysAllocString()にブレークポイントを仕掛けるw
ということで、制限をなくすためのキーを知ってしまったwww
ラベル:
プログラミング
2013年9月29日日曜日
キャプチャが取りあえず動くレベルになった(自分用メモ)
ここまでで、できたことわかったことのメモ
videoInput は、ver.1991でないとVHScrCapから正常に取得できないので、このバージョンを使用。
(ソースはあるので差分をとれば原因はわかると思うけど、めんどくさいので後回し^^;;;)
VHScrCap
微妙に使いにくいのと、demoモードでしか動かせないので、不特定多数に使わせるには無理があるw
COMをC++から操作してキャプチャ位置を設定するが、demoモードでは設定が保存されない、キャプチャ画像に横線が10本入る、という制限あり。自分用に使うには、そんな制限は乗り越えられるんだけど。。。
アプリ本体
OpenGLにテクスチャを貼り付けて拡大縮小の負担軽減(videoInputでの実装の移管)。
とりあえず動くレベルでclient.exeのゲーム画面をキャプチャするアプリの作成は完了。
追記:
VHScrCapでのdemoモード起動の条件がいまいちわからない。
OpenGLの命令を発行しただけでdemoモードに移行してしまう。
これって、VHScrCapによってプロセスに何か仕込まれているんじゃ、と疑っている。
今までは、client.exeに攻撃する側だったのですが、逆に攻撃される側になってるwww
攻撃される側になって、その防御ってどうすればいいんだろう、と悩んでしまいます。
防御したとして、攻撃した側が誰なのか?調べるのが難しいよね。DLL仕込まれたとして、そのDLLを誰が仕込んだか、なんてわかりゃしない><
追記:
画像一応付けてみます。分かりにくいですが、右下の画面は別モニタのキャプチャ画像です。
ほぼイメージ通りw
アプリ開発は、最初のイメージを如何に正確に描けるか、が重要ですね。
videoInput は、ver.1991でないとVHScrCapから正常に取得できないので、このバージョンを使用。
(ソースはあるので差分をとれば原因はわかると思うけど、めんどくさいので後回し^^;;;)
VHScrCap
微妙に使いにくいのと、demoモードでしか動かせないので、不特定多数に使わせるには無理があるw
COMをC++から操作してキャプチャ位置を設定するが、demoモードでは設定が保存されない、キャプチャ画像に横線が10本入る、という制限あり。自分用に使うには、そんな制限は乗り越えられるんだけど。。。
アプリ本体
OpenGLにテクスチャを貼り付けて拡大縮小の負担軽減(videoInputでの実装の移管)。
とりあえず動くレベルでclient.exeのゲーム画面をキャプチャするアプリの作成は完了。
追記:
VHScrCapでのdemoモード起動の条件がいまいちわからない。
OpenGLの命令を発行しただけでdemoモードに移行してしまう。
これって、VHScrCapによってプロセスに何か仕込まれているんじゃ、と疑っている。
今までは、client.exeに攻撃する側だったのですが、逆に攻撃される側になってるwww
攻撃される側になって、その防御ってどうすればいいんだろう、と悩んでしまいます。
防御したとして、攻撃した側が誰なのか?調べるのが難しいよね。DLL仕込まれたとして、そのDLLを誰が仕込んだか、なんてわかりゃしない><
追記:
画像一応付けてみます。分かりにくいですが、右下の画面は別モニタのキャプチャ画像です。
ほぼイメージ通りw
アプリ開発は、最初のイメージを如何に正確に描けるか、が重要ですね。
OpenGLのテクスチャを使っているので、拡大縮小はGPUまかせ。といっても負荷制御なし(FPS制限なし)にするとCPUパワー全部使ってしまいます。
今のところの問題は、この拡大縮小をしたときに限って、VHScrCapのdemoモード炸裂で横線が入ってしまいます><
拡大縮小しなければOK。
次のステップとして
(1) この子画面上でのマウス操作/キーボード操作をclient.exeに送りつける
(2) 通常画面と子画面(とuoclistのダイアログ)の位置のスワップ
でひとまずの完成を予定しますが、(2)を様々な条件に対応させるのは難儀だろうな。。。
この辺ができれば、2垢のみならず1垢であっても子画面で操作できて便利になると考えてます。画面サイズを大きくしたいっていうニーズはよく聞きますが、ウィンドウサイズを縮小ってのも欲しいよね。
画像のキャプチャについては、ここまでできたところで自動的にできているようなもの。(面倒だから無圧縮bmpでいいよね^^;;;)
動画キャプチャについても、フォーマットについて何も考えなければ(無圧縮avi ^^;;;)できたも同然なのですが、そもそも(自分にとって)需要があるか?という疑問があるので当分は手をつけない予定。
とここまでやってみて、これらの技術、5年前には完成していたんですよね。めんどくさそうだから手を付けなかっただけで。今これに手を付けている=新パブ入ってもやり込むほどの魅力がなかった、ってことだったり。。。
2013年9月25日水曜日
videoInput
カメラ画像をウィンドウ表示させるのに、むかーしvideoInput使ったなぁ、と昔作ったサンプルを探し出してきました。
ががが、ソースからビルドするとVHScrCapとの組み合わせで、なぜか最初の1フレームだけ表示して止まってしまう><
一緒にバイナリが残っていたので、そっちを実行するとちゃんと動画表示するし。。。
残念なことに、その動作するバージョンをビルドしたときのvideoInputのソースコード、失くしました。とういうか、ハードディスクがクラッシュしたことがあって、消えちゃったんですね。
どこかいじった記憶があるのですが思い出せません。どこをどういじっても、なぜか1フレーム目で止まる。
しかたないので、videoInputはOpenCVに統合されたっけ?とOpenCVのカメラチャプチャのサンプルをビルドしてみたら、、、
う ご い た
うーん、なにがいけないんだろ。
追記:
どうやら、昔もOpenCVからvideoInputを引っ張ってきたようだな、こりゃ。
videoInputのソースが残ってない、ってのはそういうことなんだろうと思う。(videoInputのソースをいじった記憶もあるんだけどね)
追記:
どうやら、昔もOpenCVからvideoInputを引っ張ってきたようだな、こりゃ。
videoInputのソースが残ってない、ってのはそういうことなんだろうと思う。(videoInputのソースをいじった記憶もあるんだけどね)
2013年9月23日月曜日
進撃の巨人(アニメ)
半年分撮りためておいた進撃の巨人を一気に見てみました。(別作業しながらで、数話抜けていましたが)
感想。
(最初の頃) 世界観が細かいところまで設定されていて、面白いと思った。SFとしてみてみよう。
(エレンが巨人の体内からでてくるところ) 出てきてみたら食いちぎられた腕が復活しているところで「あれれ?」と思った。
(エレン巨人化) この作品はファンタジーなんだと思うことにしよう。そうしないと割り切れない。
(女型の巨人登場) こいつは、エレンの巨人とは別物と考えていいんだよね???
(スパイがいるお) まさか、これまでの登場人物の中にいるってことはないよね?結局、巨人って人が生み出せる兵器(エレンの他にも出せる人がいる)なのね。(エレンの価値暴落)
(女型の巨人の正体発覚) え???そういうことなの???伏線ってちゃんと書かれていた???流し見&数話抜けなので見落としたのかもしれないけど、ちゃんと書かれていないと謎解きものとしてはルール違反だよ???
回が進むごとに、こちらが想定していた希望する展開から少しづつずれていくって感じです。
全体的に、いろいろな要素を詰め込みすぎですね。キャラを見せたいのか、ストーリー展開を見せたいのか、不条理のない世界観を見せたいのか。
追記:
リヴァイ、誰かに似ている、どこかで見たことがある、のだが、どうしても思い出せません><
・細目、白目がち
・背が小さい
・坊ちゃん刈り
うーん、どこで見たんだろうか?アニメ?漫画?ゲーム?
感想。
(最初の頃) 世界観が細かいところまで設定されていて、面白いと思った。SFとしてみてみよう。
(エレンが巨人の体内からでてくるところ) 出てきてみたら食いちぎられた腕が復活しているところで「あれれ?」と思った。
(エレン巨人化) この作品はファンタジーなんだと思うことにしよう。そうしないと割り切れない。
(女型の巨人登場) こいつは、エレンの巨人とは別物と考えていいんだよね???
(スパイがいるお) まさか、これまでの登場人物の中にいるってことはないよね?結局、巨人って人が生み出せる兵器(エレンの他にも出せる人がいる)なのね。(エレンの価値暴落)
(女型の巨人の正体発覚) え???そういうことなの???伏線ってちゃんと書かれていた???流し見&数話抜けなので見落としたのかもしれないけど、ちゃんと書かれていないと謎解きものとしてはルール違反だよ???
回が進むごとに、こちらが想定していた希望する展開から少しづつずれていくって感じです。
全体的に、いろいろな要素を詰め込みすぎですね。キャラを見せたいのか、ストーリー展開を見せたいのか、不条理のない世界観を見せたいのか。
追記:
リヴァイ、誰かに似ている、どこかで見たことがある、のだが、どうしても思い出せません><
・細目、白目がち
・背が小さい
・坊ちゃん刈り
うーん、どこで見たんだろうか?アニメ?漫画?ゲーム?
ラベル:
アニメ・映画
UO ログイン画面時のCPU負荷
UO ログイン画面時のCPU負荷が高い(=スリープ入れずにループ回してる)のが気になったので直してみました。
デバッグ起動時に、ブレークポイントを仕掛け、ブレークかかったらSleep(1)する、っていう単純な実装にしてみました。
これって、むかーしのパブリッシュで修正されたはずだと思っていましたが、、、バグ復活させんなよ><
デバッグ起動時に、ブレークポイントを仕掛け、ブレークかかったらSleep(1)する、っていう単純な実装にしてみました。
これって、むかーしのパブリッシュで修正されたはずだと思っていましたが、、、バグ復活させんなよ><
ラベル:
UOClist開発
2013年9月22日日曜日
uoclist 2垢起動対応ほか(0.7.2.10)
2垢で起動できるように変更しました。
どういう実装にするか悩みましたが、
いまどき3垢、4垢、…なんて持っている人はごく少数だよね^^;;;
ってことで、2垢起動までは可能なようにしました。
実装に関しては、もともとdllをディレイロードするようにしていたので、dllをパス指定でLoadLibrary()する方法にしました。(だから、dllのコピーを2つ用意しています)
また、client.exeをCreateProcess()したときに、SetWindowPos()にブレークポイントを仕掛けた上でデバッガ起動するようにし、SetWindowPos()が実行されたときに引数を書き換え、モニタ左上隅にclient.exeのウィンドウの左上隅がくるようにウィンドウ位置を固定してしまっています。
ウィンドウの位置をいろいろいじりながらの開発で、バグを多数発見><
そちらの修正の方が手間取りました。
まだまだバグも多いでしょうけど、とりあえずファーストステップはクリアか???
どういう実装にするか悩みましたが、
いまどき3垢、4垢、…なんて持っている人はごく少数だよね^^;;;
ってことで、2垢起動までは可能なようにしました。
実装に関しては、もともとdllをディレイロードするようにしていたので、dllをパス指定でLoadLibrary()する方法にしました。(だから、dllのコピーを2つ用意しています)
また、client.exeをCreateProcess()したときに、SetWindowPos()にブレークポイントを仕掛けた上でデバッガ起動するようにし、SetWindowPos()が実行されたときに引数を書き換え、モニタ左上隅にclient.exeのウィンドウの左上隅がくるようにウィンドウ位置を固定してしまっています。
ウィンドウの位置をいろいろいじりながらの開発で、バグを多数発見><
そちらの修正の方が手間取りました。
まだまだバグも多いでしょうけど、とりあえずファーストステップはクリアか???
ラベル:
UOClist開発
2013年9月18日水曜日
要するにこういうことがしたいのねん
イメージとしてはこんな感じのが欲しいなぁ。
セカンダリモニタに2個目のUO起動し、VHScrCapでキャプチャ
KmPlayerでカメラデバイス指定して縮小表示
これを実現するには、ファーストステップとしてuoclistに以下の機能を付ける必要がある。
・マルチクライアント対応
・ウィンドウ位置をクライアント間でスワップ可能にする
これ、結構難しい><
uoclistってシングルクライアント専用に作りこんでいる(手抜きでグローバル変数使いまくってる)ので、変に手を出してバグるのが怖いからuoclistを複数起動することになる。
タスクバーにズラズラっとアイコンが並ぶのは美しくない。。。
追記:
exeだけでなくdllも複数対応が必要っす><
dllのshare領域で共有しているから。
手っ取り早い方法としては、
exe間の情報共有機能をつける、client.exeにhook済みのマークを書き込んでおく、dllは起動数分の複数イメージを用意
でしょか。うーむ。。。
ラベル:
UOClist開発
仮想ディスプレイドライバ
調べてみたらあるじゃん^^
ジャンル的には仮想ディスプレイドライバ、っていうのか。
ちょっと検索するとZoneScreenがひっかかったので試用してみたけど、プロパティを見るとちゃんとモニタが増えますね^^
こんなのはどう???
(1) プライマリモニタに1個目のUOを表示
(2) 2個目のUOを起動して、仮想ディスプレイドライバで増やしたセカンダリ(サード、…)モニタに表示
(3) 2個目のUOのゲーム画面をキャプチャして、プライマリ画面にウィンドウ表示(縮小して表示)
(4) (3)のウィンドウをプライマリモニタ上でアクティブにすると、マウス操作、キーボード操作を(2)の2個目のUOに送りつける
要するに、2垢で起動したときに2垢目のUOへの画面切り替え、操作をいかにして楽にするかってことです。
僕の環境だと、1モニタでやっているので、どうしても切り替えが面倒。マクロがそれなりに機能すると、2垢目のUOへの操作はラフで構わないんだよなぁ。
ということで、まずは目的にぴったり合いそうな仮想ディスプレイドライバをまずは探してみます。
追記:
ごめんなさい。眠気でボケていたようです。
なにもグラボのアクセラレータが効かない仮想ディスプレイドライバでやる必要はなく、
デスクトップPCならセカンダリモニタが普通に使えるので、
「1つのモニタに2つのモニタ出力を接続すればよい」
だけのことですね。ノートだと厳しいので仮想ディスプレイドライバを使うしかないですが。
モニタに複数の入力端子があったことをすっかり忘れてました^^;;;
ジャンル的には仮想ディスプレイドライバ、っていうのか。
ちょっと検索するとZoneScreenがひっかかったので試用してみたけど、プロパティを見るとちゃんとモニタが増えますね^^
こんなのはどう???
(1) プライマリモニタに1個目のUOを表示
(2) 2個目のUOを起動して、
(3) 2個目のUOのゲーム画面をキャプチャして、プライマリ画面にウィンドウ表示(縮小して表示)
(4) (3)のウィンドウをプライマリモニタ上でアクティブにすると、マウス操作、キーボード操作を(2)の2個目のUOに送りつける
要するに、2垢で起動したときに2垢目のUOへの画面切り替え、操作をいかにして楽にするかってことです。
僕の環境だと、1モニタでやっているので、どうしても切り替えが面倒。マクロがそれなりに機能すると、2垢目のUOへの操作はラフで構わないんだよなぁ。
ということで、まずは目的にぴったり合いそうな仮想ディスプレイドライバをまずは探してみます。
追記:
ごめんなさい。眠気でボケていたようです。
なにもグラボのアクセラレータが効かない仮想ディスプレイドライバでやる必要はなく、
デスクトップPCならセカンダリモニタが普通に使えるので、
「1つのモニタに2つのモニタ出力を接続すればよい」
だけのことですね。ノートだと厳しいので仮想ディスプレイドライバを使うしかないですが。
モニタに複数の入力端子があったことをすっかり忘れてました^^;;;
Windows7ネイティブモード
前々から気になっていたのですが、uoclistをWindows7(32bit/64bit)で動かすとどういうことが起きるか、やってみました。(VirtualBoxを使用)
(1) とりあえず動く?
(2) ウィンドウがちらつく(描画処理関係がXPと違う)
(3) フォント指定をしない場合、デフォルトのメイリオを使ってしまってウィンドウサイズがでかくなる
(4) 64bitの場合、CreateProcess()で起動したプロセス(client.exe)を終了させることができない
仕事ではWin7を使ってますが、Win7のUIはどうも好きになれないなぁ。XPのLuna好きだし。
もうひとつ、気になっていたのが、Windows7ネイティブモードでの起動。manifestをちょっといじってみたのですが、Vistaモードでしか動かない><
client.exeもVistaモードでの実行ですね。
で、本題の調査は、VirtualBox等を使っての仮想OS上UO起動に僕のPCがどれだけ耐えれるか。
結果、僕のPCじゃ無理><
クライアントを多重起動したほうがやっぱりパフォーマンスがいいわ。
仮想OSでなくて汎用的に使える仮想モニタってあるのか、調べてみたい。
仕組み的には仮想モニタのデバイスドライバを作成すればいいだけだと思うんだけど。
(1) とりあえず動く?
(2) ウィンドウがちらつく(描画処理関係がXPと違う)
(3) フォント指定をしない場合、デフォルトのメイリオを使ってしまってウィンドウサイズがでかくなる
(4) 64bitの場合、CreateProcess()で起動したプロセス(client.exe)を終了させることができない
仕事ではWin7を使ってますが、Win7のUIはどうも好きになれないなぁ。XPのLuna好きだし。
もうひとつ、気になっていたのが、Windows7ネイティブモードでの起動。manifestをちょっといじってみたのですが、Vistaモードでしか動かない><
client.exeもVistaモードでの実行ですね。
で、本題の調査は、VirtualBox等を使っての仮想OS上UO起動に僕のPCがどれだけ耐えれるか。
結果、僕のPCじゃ無理><
クライアントを多重起動したほうがやっぱりパフォーマンスがいいわ。
仮想OSでなくて汎用的に使える仮想モニタってあるのか、調べてみたい。
仕組み的には仮想モニタのデバイスドライバを作成すればいいだけだと思うんだけど。
2013年9月16日月曜日
2013年9月14日土曜日
UOキャプチャ動画の作成方法
UOの画面をキャプチャして動画を作成する方法ですが、
僕が休止する前(4,5年くらい前)での僕的決定版が以下の方法です。
(1) Hmelyoff LabsのVHScrCap(DirectXフィルタ)をインストールする
(2) VHScrCapのキャプチャ位置を設定する
(3) おまけとしてついてくる動画保存ソフト、もしくは(DirectXフィルタなのだから)KmPlayerやVirtualDubで保存する
当時の話なのでWindowsXP(32bit)での動作なのですが、僕の持っているノートPC(core2duo 2GHz, 2Gメモリ, オンメモリ(?)のグラボ, WindowsXP)でキャプチャして作成した動画(無圧縮)のアップロード例を添付します。(アップロード時にだいぶ圧縮されちゃっています)
こちら
PC環境、Youtubeでのデータフローを考えて圧縮をいれないと、きれいな画質でアップロードできませんね、むしろそっちが重要なファクターということですか。
この方法ですが、WindowsVistaからGDI周りの実装が変更されたので、今どきのPCでのベストな方法なのかはよくわかりません。
で、VHScrCapとかは全部ソース付きで公開されていたので、UO専用にしたてることもできます。Hmelyoff Labs(たしかロシアの会社)、今はWebにまともにアクセスできないのですがどうしちゃったんでしょう><
以上、Razorのような動画キャプチャ機能、RPVでなくてもよければ追加するのは難しくないよね、って言いたかっただけですw
僕が休止する前(4,5年くらい前)での僕的決定版が以下の方法です。
(1) Hmelyoff LabsのVHScrCap(DirectXフィルタ)をインストールする
(2) VHScrCapのキャプチャ位置を設定する
(3) おまけとしてついてくる動画保存ソフト、もしくは(DirectXフィルタなのだから)KmPlayerやVirtualDubで保存する
当時の話なのでWindowsXP(32bit)での動作なのですが、僕の持っているノートPC(core2duo 2GHz, 2Gメモリ, オンメモリ(?)のグラボ, WindowsXP)でキャプチャして作成した動画(無圧縮)のアップロード例を添付します。(アップロード時にだいぶ圧縮されちゃっています)
こちら
PC環境、Youtubeでのデータフローを考えて圧縮をいれないと、きれいな画質でアップロードできませんね、むしろそっちが重要なファクターということですか。
この方法ですが、WindowsVistaからGDI周りの実装が変更されたので、今どきのPCでのベストな方法なのかはよくわかりません。
で、VHScrCapとかは全部ソース付きで公開されていたので、UO専用にしたてることもできます。Hmelyoff Labs(たしかロシアの会社)、今はWebにまともにアクセスできないのですがどうしちゃったんでしょう><
以上、Razorのような動画キャプチャ機能、RPVでなくてもよければ追加するのは難しくないよね、って言いたかっただけですw
ラベル:
プログラミング
親知らずを抜いた
歯医者に長らく行ってない間に、親知らずが割れました。
その後、3ヶ月ほど歯医者に通って周辺を直し、今日やっと引っこ抜いてくれました^^;;;
麻酔で唇がいうことを聞かず、飲み物を口に含んでも閉じていられない><
uoclistの方は、起動時のバージョン判定に不具合があったので修正しました。
いきなりclient.exeのバージョンの子番号が11に上がるのは想定外でした><
追記: あぁぁx,時刻表示だけ修正が必要だ。。。どうも集中できずに間違えてしまった。
うーむ、整理すると、今、US,EUでは夏時間で+1, AUSでは冬だから+0, 北半球が冬に入るとAUSでは+1ってことかい???
その後、3ヶ月ほど歯医者に通って周辺を直し、今日やっと引っこ抜いてくれました^^;;;
麻酔で唇がいうことを聞かず、飲み物を口に含んでも閉じていられない><
uoclistの方は、起動時のバージョン判定に不具合があったので修正しました。
いきなりclient.exeのバージョンの子番号が11に上がるのは想定外でした><
追記: あぁぁx,時刻表示だけ修正が必要だ。。。どうも集中できずに間違えてしまった。
うーむ、整理すると、今、US,EUでは夏時間で+1, AUSでは冬だから+0, 北半球が冬に入るとAUSでは+1ってことかい???
2013年9月12日木曜日
JST -> ???
BOTを回していて、公表されている海外シャードのメンテ時間とその日本標準時の情報にズレがあることに気づきました。
要するに、サマータイムでずれているんですね><
なので、JSTを海外シャードの現地時間に直すコードを書きたくなったのですが、これがまた面倒そう。。。
→いつからいつまでが夏時間なのかを知る必要がある
→夏時間は年ごとに違う場合がある(DynamicDST)
→WindowsUpdateを適用していればWindowsがレジストリに保持する夏時間情報が更新される(?)
→SetTimeZoneInformation()/GetTimeZoneInformation()を使え
→SOFTWARE\Microsoft\Windows NT\CurrentVersion\TimeZonesの下のTZIを構造体にぶち込め
ということみたいで、単純に略称の英字3文字を入力として変換できるようなものではないようです><
要するに、サマータイムでずれているんですね><
なので、JSTを海外シャードの現地時間に直すコードを書きたくなったのですが、これがまた面倒そう。。。
→いつからいつまでが夏時間なのかを知る必要がある
→夏時間は年ごとに違う場合がある(DynamicDST)
→WindowsUpdateを適用していればWindowsがレジストリに保持する夏時間情報が更新される(?)
→SetTimeZoneInformation()/GetTimeZoneInformation()を使え
→SOFTWARE\Microsoft\Windows NT\CurrentVersion\TimeZonesの下のTZIを構造体にぶち込め
ということみたいで、単純に略称の英字3文字を入力として変換できるようなものではないようです><
2013年9月9日月曜日
2013年9月8日日曜日
スプラッシュ画面のスキップ
Razorでおなじみのこの機能、追加してみました。(Version 0.7.2.4)
Debug起動時に有効です。
実装して初めて動かしてみたとき、思わず笑ってしまいましたよwww
あれ?これでいいの?って。今までの待機時間は何だったの^^;;;
このような変更(RazorやEUOでやっていることのハック)ですが、実は難儀な解析作業をしているわけではありません。
やり方さえ知ってしまえば、なんだそんなことか、と拍子抜けするかもしれません。
今回のスプラッシュ画面のスキップの解析を手順的に説明すると、
① Gumpをスプラッシュ画面の表示に使っている(しかも、アカウントの拡張パックの有無によって異なる)ので、client.exeのバイナリーのどこかにそのGumpIDがハードコーディングされているはず、と目星をつける。
② OllyDbgでGumpIDをバイナリーサーチして怪しい箇所を探しだす。
③ そのあやしい箇所とそれを呼び出しているコードの周辺をよく眺める
④ Razor経由で実行したときのclient.exeをOllydbgでアタッチし、メモリをbackupとしてファイルに保存する。
⑤ Razorを使用しないで実行したときのclient.exeをOllydbgでアタッチし、④のbackupファイルをロードする。
⑥ ③の怪しい箇所において、④と⑤の相違をOllydbgが赤字で指摘してくれるので、そのコード修正でどういう動作になるかを考察して、メモリ書換のコードを作成する。今回の場合、赤字のとおりに変更しただけw
Razorという現在も動作するお手本があるので、そのコピー作業をするだけです。
ただ、Razorにてこっそり実装されている機能が多いので、それを見ぬくセンスは必要ですね。
Debug起動時に有効です。
実装して初めて動かしてみたとき、思わず笑ってしまいましたよwww
あれ?これでいいの?って。今までの待機時間は何だったの^^;;;
このような変更(RazorやEUOでやっていることのハック)ですが、実は難儀な解析作業をしているわけではありません。
やり方さえ知ってしまえば、なんだそんなことか、と拍子抜けするかもしれません。
今回のスプラッシュ画面のスキップの解析を手順的に説明すると、
① Gumpをスプラッシュ画面の表示に使っている(しかも、アカウントの拡張パックの有無によって異なる)ので、client.exeのバイナリーのどこかにそのGumpIDがハードコーディングされているはず、と目星をつける。
② OllyDbgでGumpIDをバイナリーサーチして怪しい箇所を探しだす。
③ そのあやしい箇所とそれを呼び出しているコードの周辺をよく眺める
④ Razor経由で実行したときのclient.exeをOllydbgでアタッチし、メモリをbackupとしてファイルに保存する。
⑤ Razorを使用しないで実行したときのclient.exeをOllydbgでアタッチし、④のbackupファイルをロードする。
⑥ ③の怪しい箇所において、④と⑤の相違をOllydbgが赤字で指摘してくれるので、そのコード修正でどういう動作になるかを考察して、メモリ書換のコードを作成する。今回の場合、赤字のとおりに変更しただけw
Razorという現在も動作するお手本があるので、そのコピー作業をするだけです。
ただ、Razorにてこっそり実装されている機能が多いので、それを見ぬくセンスは必要ですね。
ラベル:
UOClist開発
2013年9月7日土曜日
EasyUO、目をつけられる???
Pub83用のアドレス確認のため、OllyDbgでClient7.0.32のバイナリーを覗いていたのですが、、、
あらら、EUOX.exe, OpenEUO.exeの文字列をプロセスリストの中から探されちゃってるみたい^^;;;
このバージョンのClient.exeからかなぁ???
追記:) 調べてみたら、かなり前からこのコード入っていたのねwww
この手の対策、ハックされる側が圧倒的な不利なので(対策を回避する方が簡単にできるから)、やらないものだと思っていたのですけどね。ちょこっとEasyUOのサイト、フォーラムを覗いてみましたが、まだ落ち着いてない模様。
あらら、EUOX.exe, OpenEUO.exeの文字列をプロセスリストの中から探されちゃってるみたい^^;;;
このバージョンのClient.exeからかなぁ???
追記:) 調べてみたら、かなり前からこのコード入っていたのねwww
この手の対策、ハックされる側が圧倒的な不利なので(対策を回避する方が簡単にできるから)、やらないものだと思っていたのですけどね。ちょこっとEasyUOのサイト、フォーラムを覗いてみましたが、まだ落ち着いてない模様。
ラベル:
UOClist開発
2013年9月6日金曜日
16周年
pub83がTCに入ったようですね。
僕は未だにクライアントのパッチ当ててないのですけどね。。。
クエストとか面白そうだったら(というか、時間勝負/期間限定アイテムが貰えるクエストだったら)週末にでもパッチ当ててみます。
で、ログインでキャラごと16周年プレゼントがきましたか。
今は、各シャードごとにキャラのスロットを1つは開けておいて、もし転送したくなっても大丈夫
な運用をしているのですが、年末までは全部のキャラスロットを埋めておきますか。
その前に転送したいなぁ。UOストアのセールはまだかなぁ。。。
新規に作成する25シャードの25キャラ分の名前をつけるのに困りますな。今回は何にちなんで名前をつけていこうか^^
僕は未だにクライアントのパッチ当ててないのですけどね。。。
クエストとか面白そうだったら(というか、時間勝負/期間限定アイテムが貰えるクエストだったら)週末にでもパッチ当ててみます。
で、ログインでキャラごと16周年プレゼントがきましたか。
今は、各シャードごとにキャラのスロットを1つは開けておいて、もし転送したくなっても大丈夫
な運用をしているのですが、年末までは全部のキャラスロットを埋めておきますか。
その前に転送したいなぁ。UOストアのセールはまだかなぁ。。。
新規に作成する25シャードの25キャラ分の名前をつけるのに困りますな。今回は何にちなんで名前をつけていこうか^^
ラベル:
UOClist開発
2013年9月1日日曜日
やっと普通の生活に戻れる???
今までが異常でした。
撮りためたアニメとか整理してます。
DVDとか借りっぱなしで3ヶ月とかw
今日、やっと借りていたトーチウッドを見終えてTSUTAYAに返せる。。。
TSUTAYAのDVDレンタル、借りっぱなしでも特に催促とかされないのがいいのか悪いのか^^;;;
撮りためたアニメとか整理してます。
DVDとか借りっぱなしで3ヶ月とかw
今日、やっと借りていたトーチウッドを見終えてTSUTAYAに返せる。。。
TSUTAYAのDVDレンタル、借りっぱなしでも特に催促とかされないのがいいのか悪いのか^^;;;
日本語モードと英語モード
client.exeの設定ファイルを見直していて、気づいた><
client.exeの設定をJPNにするか、ENUにするかで、見に行く設定ファイルのフォルダーが違うんだった。。。
そういえば、僕もFreeShardに遊びに行ったときに設定フォルダーのdefine値を変更した覚えがある。
英語モードでやっている方、いましたらごめんなさい。
追記:
ということで修正。
client.exeの設定をJPNにするか、ENUにするかで、見に行く設定ファイルのフォルダーが違うんだった。。。
そういえば、僕もFreeShardに遊びに行ったときに設定フォルダーのdefine値を変更した覚えがある。
英語モードでやっている方、いましたらごめんなさい。
追記:
ということで修正。
ラベル:
UOClist開発
uoclist ver0.7.2.0
更新してみた。
client.exeをデバッガ起動する仕組み"だけ"追加しておいたので、あとあと機能を追加したい。
client.exeの起動時のスプラッシュ、省略したいよね。。。デバッガ起動にしたのでその辺の修正をしたいなぁ。
デバッガAPI、CONTEXT構造体って32bit/64bitをOSによって切り替えないと駄目かもしれない。僕は32bitOSしかテストできる環境がないので64bitはごめんなさい><
あとは表示更新とかパラメタ調整とか。
追記: さっそくバグが>< UO 2Dクライアントのインストールフォルダを記録しているレジストリ位置、新規インストールするとElectronic Artsの下に入るのね。
client.exeをデバッガ起動する仕組み"だけ"追加しておいたので、あとあと機能を追加したい。
client.exeの起動時のスプラッシュ、省略したいよね。。。デバッガ起動にしたのでその辺の修正をしたいなぁ。
デバッガAPI、CONTEXT構造体って32bit/64bitをOSによって切り替えないと駄目かもしれない。僕は32bitOSしかテストできる環境がないので64bitはごめんなさい><
あとは表示更新とかパラメタ調整とか。
追記: さっそくバグが>< UO 2Dクライアントのインストールフォルダを記録しているレジストリ位置、新規インストールするとElectronic Artsの下に入るのね。
ラベル:
UOClist開発
2013年8月30日金曜日
2013年8月26日月曜日
exploitとチート
ネタ切れ感があるので、久しぶりにaskchopperなんぞ覗いていみたり。ここまだ生きてる?askchopperのアカウント、昔もってた気がするんだけど、わすれちった><
UO人口からしたら日本が多いんだろうけど、日本のexploitに関するまとめサイトって今はなし???
ん~大手サイト(ようするにパラリ)なんかでこの手の話題を禁じている(だから叩かれやすい)のが大きいんだろうなぁ。あと、日本人の気質として、正攻法の中で効率を求めることをよしとする考えが根強いし。
exploitとチート(プログラムに手を加えて使用の範囲内での自動化等と定義します)ってのも相容れない場合が多いと思う。いや、相容れない、というよりも互いに追求する方向性が違うから知らないだけって気もする。
僕のポリシーとして、「正攻法でやっているようにみせつつ、中ではチートしまくり」ってのを理想とするからでしょうか。「exploitなんぞ使わんでも正攻法をチートで突き詰めれば無問題」ってのもあるか。
そうは言っても仕様の理解を深めるためにはexploitとしてどんなものがあるかは有益なのでチェックは必要ですね。
UO人口からしたら日本が多いんだろうけど、日本のexploitに関するまとめサイトって今はなし???
ん~大手サイト(ようするにパラリ)なんかでこの手の話題を禁じている(だから叩かれやすい)のが大きいんだろうなぁ。あと、日本人の気質として、正攻法の中で効率を求めることをよしとする考えが根強いし。
exploitとチート(プログラムに手を加えて使用の範囲内での自動化等と定義します)ってのも相容れない場合が多いと思う。いや、相容れない、というよりも互いに追求する方向性が違うから知らないだけって気もする。
僕のポリシーとして、「正攻法でやっているようにみせつつ、中ではチートしまくり」ってのを理想とするからでしょうか。「exploitなんぞ使わんでも正攻法をチートで突き詰めれば無問題」ってのもあるか。
そうは言っても仕様の理解を深めるためにはexploitとしてどんなものがあるかは有益なのでチェックは必要ですね。
ラベル:
UOClist開発
2013年8月22日木曜日
2013年8月17日土曜日
UOアシストツール
Razorって今起動できるのかなって試してみたら、、、
なんだ、動くじゃん
Razorは今見てもよくできたアシストツールですね。
2Dクライアントのアシスト系/マクロスクリプト系ツール、UO過疎化でもう新規ツールは作成されないだろうし進化もしないでしょうが、僕の使ったことのあるツールのまとめ(開発休止のものも含む)です。
僕の持っているイメージで大別すると、
・認可済(UOAssistだけで派生なし)
・ハッキング正統派(USハッカー)
・日本系(UOZ hookdllからの派生)
・RunUO系(サーバ開発成果物)
・欧州系(EasyUO、ドイツハッカー)
・東欧系(フリーシャード用開発、ロシアハッカー)
という感じです。
UOAssist
・今の基準で見ると物足りないですが、UOマクロがすこーし進化したとはいえ、2Dクライアント単体でのプレイはやっぱり無理。2Dクライアント単体で1キーでの騎乗ができないってどうなんだろうな。安定度の高さは髄一。
Razor
・少し重いところがありますが仕様範囲での「こんなことできたらいいな」がほぼ入っていると思います。ただし、フリーシャード開発元の開発/配布のため、対人で使える機能は自制しているところがあります。一部uoclistに機能を取り込んでいます。
UOClist
・拙作。もともとUOAssist/Razorで物足りないところを補助するために機能追加していったので、UOAssist/Razorと共存できる(はず、最近は未検証)。
UOZ
・開発停止。このツール(のhookdll)に影響を受けて、僕はUOClistの開発に着手しました。当時の和製ツールにありがちな匂いが(いい意味で)しますw
AssistUO
・Razorの開発停止(Win7以降の64bitOSでの不具合があるから?)にともない、RunUO開発が新規に開発しているアシストツール。ただし現在、僕の環境では動きませんでした><
EasyUO
・スクリプトツールの代表格。僕はマクロ書く/使用はあまり好きな作業ではないので、たまに起動してみる程度。基本的に2dクライアントを乗っ取るかたちで実装しているので、EasyUOからUOマクロを起動する、という芸当ができます。(uoclistにもハックして取り込んだ)
OpenEUO
・EasyUOのスクリプトエンジンをLuaにしたもの?これも1回起動したことがあるだけ。詳細は知りません。
FastLoot
・開発はでつ氏さん。UOZ→UOBの系譜のhookdllを使用してルート機能を強化するためのツールとして生まれたのがもともとの背景。開発自体は停止してますが、ソースコードが公開されているので今も生き続けているといえます。
ZeazyUO(CursedUO)
・開発はShadowさん。FastLootのhookdllのメンテをされたりしていた方がhookdllを利用して作成したスクリプトツール。スクリプト言語はJavascript。上記のように、僕はマクロ書く/使用はあまり好きな作業ではないので、あまり使ったことはないのですが、じきにクローズドなコミュニティに落ちていって今では一般人は使用できないようです。
injection
・開発はYokoさん(ウクライナの人だったかな)。東欧には正規サーバをOrigin/EAは置かなかったので、フリーシャードの設置と並行して開発された、という経緯のもののようです。今は開発停止?というかフリーシャードで使われるサーバのパブリッシュは最新の物である必要はないので、開発の必要性がない、ということでしょうか。ソースコードが公開されているので、UOClistの開発の参考にしました。
irw
・開発はNecr0Potenc3さん(ブラジル)。デコード/エンコード解析の成果物として生まれた感が強いです。開発停止。欧州系、かな。ソースコードを公開されていたので、UOClistの開発の参考にしていました。
UOCompanion
・US製で、Tavuさんの各種dllを組み込んだものだったと思うのですが、開発停止して詳細忘れてしまいました。
なんだ、動くじゃん
Razorは今見てもよくできたアシストツールですね。
2Dクライアントのアシスト系/マクロスクリプト系ツール、UO過疎化でもう新規ツールは作成されないだろうし進化もしないでしょうが、僕の使ったことのあるツールのまとめ(開発休止のものも含む)です。
僕の持っているイメージで大別すると、
・認可済(UOAssistだけで派生なし)
・ハッキング正統派(USハッカー)
・日本系(UOZ hookdllからの派生)
・RunUO系(サーバ開発成果物)
・欧州系(EasyUO、ドイツハッカー)
・東欧系(フリーシャード用開発、ロシアハッカー)
という感じです。
UOAssist
・今の基準で見ると物足りないですが、UOマクロがすこーし進化したとはいえ、2Dクライアント単体でのプレイはやっぱり無理。2Dクライアント単体で1キーでの騎乗ができないってどうなんだろうな。安定度の高さは髄一。
Razor
・少し重いところがありますが仕様範囲での「こんなことできたらいいな」がほぼ入っていると思います。ただし、フリーシャード開発元の開発/配布のため、対人で使える機能は自制しているところがあります。一部uoclistに機能を取り込んでいます。
UOClist
・拙作。もともとUOAssist/Razorで物足りないところを補助するために機能追加していったので、UOAssist/Razorと共存できる(はず、最近は未検証)。
UOZ
・開発停止。このツール(のhookdll)に影響を受けて、僕はUOClistの開発に着手しました。当時の和製ツールにありがちな匂いが(いい意味で)しますw
AssistUO
・Razorの開発停止(Win7以降の64bitOSでの不具合があるから?)にともない、RunUO開発が新規に開発しているアシストツール。ただし現在、僕の環境では動きませんでした><
EasyUO
・スクリプトツールの代表格。僕はマクロ書く/使用はあまり好きな作業ではないので、たまに起動してみる程度。基本的に2dクライアントを乗っ取るかたちで実装しているので、EasyUOからUOマクロを起動する、という芸当ができます。(uoclistにもハックして取り込んだ)
OpenEUO
・EasyUOのスクリプトエンジンをLuaにしたもの?これも1回起動したことがあるだけ。詳細は知りません。
FastLoot
・開発はでつ氏さん。UOZ→UOBの系譜のhookdllを使用してルート機能を強化するためのツールとして生まれたのがもともとの背景。開発自体は停止してますが、ソースコードが公開されているので今も生き続けているといえます。
ZeazyUO(CursedUO)
・開発はShadowさん。FastLootのhookdllのメンテをされたりしていた方がhookdllを利用して作成したスクリプトツール。スクリプト言語はJavascript。上記のように、僕はマクロ書く/使用はあまり好きな作業ではないので、あまり使ったことはないのですが、じきにクローズドなコミュニティに落ちていって今では一般人は使用できないようです。
injection
・開発はYokoさん(ウクライナの人だったかな)。東欧には正規サーバをOrigin/EAは置かなかったので、フリーシャードの設置と並行して開発された、という経緯のもののようです。今は開発停止?というかフリーシャードで使われるサーバのパブリッシュは最新の物である必要はないので、開発の必要性がない、ということでしょうか。ソースコードが公開されているので、UOClistの開発の参考にしました。
irw
・開発はNecr0Potenc3さん(ブラジル)。デコード/エンコード解析の成果物として生まれた感が強いです。開発停止。欧州系、かな。ソースコードを公開されていたので、UOClistの開発の参考にしていました。
UOCompanion
・US製で、Tavuさんの各種dllを組み込んだものだったと思うのですが、開発停止して詳細忘れてしまいました。
ラベル:
UOClist開発
2013年8月16日金曜日
画像変換したい!!!(6終)
というわけで、statics??.mulの書き換えをするようにしました。
あっさり。
追記: ここまでの作業を盛り込んだバージョンを別館の方に置きました。
機能制限バージョンなので変な動きするかもしれないけど。。。
あっさり。
今日一日の徒労感MAX!!!
まぁ、uopのフォーマット変換の知識は後々役に立つこともあるかもしれないのでよしとします。
追記: ここまでの作業を盛り込んだバージョンを別館の方に置きました。
機能制限バージョンなので変な動きするかもしれないけど。。。
ラベル:
UOClist開発
画像変換したい!!!(5)
しつこく研究中。
シャワーを浴びつつ考えていたのだけど、
うらうらツールに引っ張られてオブジェクトの画像を変換するようにしていたのだけど、マップ上の障害物を変更するだけなら、statics0.mulとかを変更した方がいいのかもしれない。こっちは幸いにもmulだし、オブジェクトのIDを書き換えるだけだし。
ただ、statics0x.mulとかもあるなぁ。
ただこの案も、client.exeがログイン画面に書き換わった頃にはメモリにすべて吸いだして以後ファイルマッピング情報を使用しない、なんてことだと徒労に終わるかもしれない。。。
シャワーを浴びつつ考えていたのだけど、
うらうらツールに引っ張られてオブジェクトの画像を変換するようにしていたのだけど、マップ上の障害物を変更するだけなら、statics0.mulとかを変更した方がいいのかもしれない。こっちは幸いにもmulだし、オブジェクトのIDを書き換えるだけだし。
ただ、statics0x.mulとかもあるなぁ。
ただこの案も、client.exeがログイン画面に書き換わった頃にはメモリにすべて吸いだして以後ファイルマッピング情報を使用しない、なんてことだと徒労に終わるかもしれない。。。
ラベル:
UOClist開発
画像変換したい!!!(4)
client.exe起動前に書き換えるんじゃ、うらうらツールを改造したほうがいいよね、っとうらうらツールのダウンロード先を探してみたんですが、もうない><
あったとしても、VBだしなぁ。。。
uoclistでやるとしたら、ランチャー的にclient.exeを一時停止状態で起動、その間にCreateFileMappingかMapOfViewにブレークポイントを仕掛けて再開、CreateFileMappingするファイルはartLegacyMUL.uopだけじゃないので、ブレークの度にチェックすれば、client.exeがメモリ内に辞書を完成させる前に書き換えることができる、って手法でしょうか???
うーん、やっぱりバックアップを取っておいて直接ファイルを書き換え、パッチのときに上書きして戻すほうがシンプルでいい。
あったとしても、VBだしなぁ。。。
uoclistでやるとしたら、ランチャー的にclient.exeを一時停止状態で起動、その間にCreateFileMappingかMapOfViewにブレークポイントを仕掛けて再開、CreateFileMappingするファイルはartLegacyMUL.uopだけじゃないので、ブレークの度にチェックすれば、client.exeがメモリ内に辞書を完成させる前に書き換えることができる、って手法でしょうか???
うーん、やっぱりバックアップを取っておいて直接ファイルを書き換え、パッチのときに上書きして戻すほうがシンプルでいい。
ラベル:
UOClist開発
画像変換したい!!!(3)
重大な落ち度ががが!!!
変換情報に書き換えても、すでにclient.exeはマップした情報を読み込み済みでした><
そりゃそうだよなぁ、ファイルマッピングしてすぐにやるのは辞書作ることだろうからなぁ。。。
やるとしたら、ファイルマッピングをclient.exeが実行した直後にブレイクして書き換える、っていう、client.exeの実行開始から面倒みなければいけない実装しかないよなぁ。
ということで、事前に書き換えるしかないっぽい???書き換えちゃうと、パッチ当てるときに面倒になるから嫌なんだよなぁ。
PAGE_WRITECOPYでなく、PAGE_READWRITE属性でVirtualProtect()してしまうと、書き換わってしまいます><
変換情報に書き換えても、すでにclient.exeはマップした情報を読み込み済みでした><
そりゃそうだよなぁ、ファイルマッピングしてすぐにやるのは辞書作ることだろうからなぁ。。。
やるとしたら、ファイルマッピングをclient.exeが実行した直後にブレイクして書き換える、っていう、client.exeの実行開始から面倒みなければいけない実装しかないよなぁ。
ということで、事前に書き換えるしかないっぽい???書き換えちゃうと、パッチ当てるときに面倒になるから嫌なんだよなぁ。
PAGE_WRITECOPYでなく、PAGE_READWRITE属性でVirtualProtect()してしまうと、書き換わってしまいます><
ラベル:
UOClist開発
画像変換したい!!!(2)
ハッシュ変換したIDがartLegacyMUL.uopから見つからなくて困ってたのですが、、、
そーいえば、スタティックのIDは0x4000のオフセットがあったんじゃなかったっけ?とbuild/artlegacymul/%08d.tgaに0x4000のオフセットをいれてあげたら、、、
見つかったよ^^;;;
にしても、この辺の情報って逆コンパイルから解析して得たものらしいっすね。スゲ!!!
そーいえば、スタティックのIDは0x4000のオフセットがあったんじゃなかったっけ?とbuild/artlegacymul/%08d.tgaに0x4000のオフセットをいれてあげたら、、、
見つかったよ^^;;;
にしても、この辺の情報って逆コンパイルから解析して得たものらしいっすね。スゲ!!!
ラベル:
UOClist開発
画像変換したい!!!(1)
ということで、コーディングを進めました。
とりあえず、
① artLegacyMUL.uopのファイルマッピングページをVirtualQuery()でプロセスメモリ内から見つける
② 上記ページをVirtualProtect()でPAGE_WRITECOPY属性にする
③ artLegacyMUL.uopのインデックス情報を全て読みだしてみる&ちょこっと書き換えてみる
④ VirtualProtect()でページ属性を元の属性に戻しておく
⑤ ログイン
⑥ 終了
⑦ artLegacyMUL.uopが書き変わっていないことを確認
までは確認してみました。
あとは、どのインデックスを、どの情報に書き換えるか、を準備してhookdllに食わせるだけでうまくいくと思う。多分、、、
元のソースコードは言語はC#で、文字列→ハッシュ→辞書(連想配列)→UOPファイルとしており、C++ STLでいうところのmapを使用して実装しているのですが、hookdllはCで書いているためmapに該当するコードを書き加えるのがめんどっちいから、文字列からのハッシュ値で判定するようになると思います。
ハッシュ関数への入力文字列ですが、printfフォーマットで言うと"build/artlegacymul/%08d.tga" (よくこんなのみつけたな)で、このハッシュのシード(?)が舐めてますw 0xdeadbeef www
(しばらくプログラミングから離れていたので、用語が間違っているかもしれませんがご容赦ください)
追記: 上記は%08x.tga??? あれれ、該当するIDが見つからない><
とりあえず、
① artLegacyMUL.uopのファイルマッピングページをVirtualQuery()でプロセスメモリ内から見つける
② 上記ページをVirtualProtect()でPAGE_WRITECOPY属性にする
③ artLegacyMUL.uopのインデックス情報を全て読みだしてみる&ちょこっと書き換えてみる
④ VirtualProtect()でページ属性を元の属性に戻しておく
⑤ ログイン
⑥ 終了
⑦ artLegacyMUL.uopが書き変わっていないことを確認
までは確認してみました。
あとは、どのインデックスを、どの情報に書き換えるか、を準備してhookdllに食わせるだけでうまくいくと思う。多分、、、
元のソースコードは言語はC#で、文字列→ハッシュ→辞書(連想配列)→UOPファイルとしており、C++ STLでいうところのmapを使用して実装しているのですが、hookdllはCで書いているためmapに該当するコードを書き加えるのがめんどっちいから、文字列からのハッシュ値で判定するようになると思います。
ハッシュ関数への入力文字列ですが、printfフォーマットで言うと"build/artlegacymul/%08d.tga" (よくこんなのみつけたな)で、このハッシュのシード(?)が舐めてますw 0xdeadbeef www
(しばらくプログラミングから離れていたので、用語が間違っているかもしれませんがご容赦ください)
追記: 上記は%08x.tga??? あれれ、該当するIDが見つからない><
ラベル:
UOClist開発
2013年8月15日木曜日
画像変換のアルゴリズム
これでいける、かな???
(1) あらかじめ、被変換画像IDと変換画像IDを調べておく
(2) さらに、(1)の被変換画像IDと変換画像IDに対応するハッシュIDを調べておく
(3) さらにさらに、(1)の変換画像IDのエントリー情報をartLegacyMUL.uopから抜き出しておく
(4) uoclistのAttachボタンを押す
(5) hookdll内で、artLegacyMUL.uopのファイルマッピング位置を特定
(6) artLegacyMUL.uopの解析/書換開始
(7) ハッシュIDが(2)の被変換画像のハッシュIDと同じだったら、(3)で抜き出しておいたエントリー情報に書き換える
(8) artLegacyMUL.uopの解析/書換終了
(9) ログイン
ログイン前にartLegacyMUL.uopの内容をクライアントが読み出していてキャッシュに保存していなければ、これで成功しそうな気がするんだけど。。。
(1) あらかじめ、被変換画像IDと変換画像IDを調べておく
(2) さらに、(1)の被変換画像IDと変換画像IDに対応するハッシュIDを調べておく
(3) さらにさらに、(1)の変換画像IDのエントリー情報をartLegacyMUL.uopから抜き出しておく
(4) uoclistのAttachボタンを押す
(5) hookdll内で、artLegacyMUL.uopのファイルマッピング位置を特定
(6) artLegacyMUL.uopの解析/書換開始
(7) ハッシュIDが(2)の被変換画像のハッシュIDと同じだったら、(3)で抜き出しておいたエントリー情報に書き換える
(8) artLegacyMUL.uopの解析/書換終了
(9) ログイン
ログイン前にartLegacyMUL.uopの内容をクライアントが読み出していてキャッシュに保存していなければ、これで成功しそうな気がするんだけど。。。
ラベル:
UOClist開発
画像変換の学習
うらうらツールの画像変換、僕も使ってました。木とかサボテンを切り株に変換して動きやすくするために。
ところが、復帰してみたら使えなくなってました><
mulフォーマットがuopフォーマットに置き換わって、もうmulフォーマットでのアップデートはしないみたい。
なので、InsideUOなんかはもう動きませんね。
その後継ツールとしてのUoFiddlerは対応している模様。
UoFiddlerでart.mul/artidx.mulの内容を見ると、なるほど、過去のインデックス最大値だった0x3ffe(だったかな)の馬以降にもグラフィックが追加されています。要するにインデックス容量が足りなくなったので、(開発陣としては仕方なく?)フォーマット変更に踏み切ったというところでしょうか?
ではどうしたら?とちょこっと調べてみると
こちら
のLegacyMULConverter-v4.rarを利用しろ、ということらしいです。
幸いにも、ソース付きです^^
さすがRunUO!!!
ちょろっとソースコードを斜め読みしたところ、uoclistにも利用できそうです。
さて復習。
mulフォーマットの仕様はこちら。
artidx.mulのフォーマットを抜き出すと
うろ覚えなんだけど、artidx.mulのファイルサイズは12*0x4000で固定値、0から順番にインデックスを割り振り、各インデックスのバイト数は12、先頭4バイトがart.mulに格納されている画像データのオフセット値(上記Lookup)、次の4バイトがデータサイズ(Size)、になる。
なので、mulフォーマットベースで単純に切り株変換したい場合には、artidx.mulのLookupを変換させたい画像のオフセット値に書き換え、Sizeを変換させたい画像のデータサイズに書き換えるだけでよい、だったよな~?
あとはどうやって変換作業を実施するかだなぁ。うらうらツールと同じようにGUIで作業できることが理想だけど、無理っす><単純に被変換/変換のIDを書いたテキストファイルを実行時に読み込む、でいいよね???
ところが、復帰してみたら使えなくなってました><
mulフォーマットがuopフォーマットに置き換わって、もうmulフォーマットでのアップデートはしないみたい。
なので、InsideUOなんかはもう動きませんね。
その後継ツールとしてのUoFiddlerは対応している模様。
UoFiddlerでart.mul/artidx.mulの内容を見ると、なるほど、過去のインデックス最大値だった0x3ffe(だったかな)の馬以降にもグラフィックが追加されています。要するにインデックス容量が足りなくなったので、(開発陣としては仕方なく?)フォーマット変更に踏み切ったというところでしょうか?
ではどうしたら?とちょこっと調べてみると
こちら
のLegacyMULConverter-v4.rarを利用しろ、ということらしいです。
幸いにも、ソース付きです^^
さすがRunUO!!!
ちょろっとソースコードを斜め読みしたところ、uoclistにも利用できそうです。
さて復習。
mulフォーマットの仕様はこちら。
artidx.mulのフォーマットを抜き出すと
3.2 ARTIDX.MUL
This file contains an index into ART.MUL. To load a specific tile number in ART.MUL, simply seek BNum * 12, read in the index tile data and use Lookup to find the tile within ART.MUL.
ARTIDX.MUL
Index Record (12 bytes)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B |
Lookup | Size | Unknown |
DWORD Lookup - Is either undefined ($FFFFFFFF -1) or the file offset in ART.MUL
DWORD Size - Size of the art tile
DWORD Unknown - Unknown
DWORD Size - Size of the art tile
DWORD Unknown - Unknown
うろ覚えなんだけど、artidx.mulのファイルサイズは12*0x4000で固定値、0から順番にインデックスを割り振り、各インデックスのバイト数は12、先頭4バイトがart.mulに格納されている画像データのオフセット値(上記Lookup)、次の4バイトがデータサイズ(Size)、になる。
なので、mulフォーマットベースで単純に切り株変換したい場合には、artidx.mulのLookupを変換させたい画像のオフセット値に書き換え、Sizeを変換させたい画像のデータサイズに書き換えるだけでよい、だったよな~?
あとはどうやって変換作業を実施するかだなぁ。うらうらツールと同じようにGUIで作業できることが理想だけど、無理っす><単純に被変換/変換のIDを書いたテキストファイルを実行時に読み込む、でいいよね???
ラベル:
UOClist開発
2013年8月14日水曜日
2013年8月12日月曜日
休みに入ったので
この暑さだと、日中は外に出たくないのでこもりっきり><
UOClistのバグがモリモリあったので直してました。(まだ全部直しきれてないと思う)
ゲーミングマウスとして昔使っていたLogitechのMX510を引っ張り出してきて、サイドボタンを活用できるように改良したり。
あとは、BO対策として青りんごの時間制限に引っかからなければBO後すぐに食べるようにしたり、ルートアイテム対象をゴリゴリハードコーディングして追加したり、くらいですね。
開発は、自分の遊び方の範囲で拡張しているので、その遊び方の範囲が狭いと安定期に入ってしまいます。
私の白豚のアクセはcursedなため、失うのが怖いので、まだまだ活動範囲が狭いです。
久しぶりにDOOM対岸に行ってみたいのですがねぇ、、、劣化版アクセで行ってみようかしらん。
UOClistのバグがモリモリあったので直してました。(まだ全部直しきれてないと思う)
ゲーミングマウスとして昔使っていたLogitechのMX510を引っ張り出してきて、サイドボタンを活用できるように改良したり。
あとは、BO対策として青りんごの時間制限に引っかからなければBO後すぐに食べるようにしたり、ルートアイテム対象をゴリゴリハードコーディングして追加したり、くらいですね。
開発は、自分の遊び方の範囲で拡張しているので、その遊び方の範囲が狭いと安定期に入ってしまいます。
私の白豚のアクセはcursedなため、失うのが怖いので、まだまだ活動範囲が狭いです。
久しぶりにDOOM対岸に行ってみたいのですがねぇ、、、劣化版アクセで行ってみようかしらん。
ラベル:
UOClist開発
2013年8月4日日曜日
2アカでTデスパやってみた
ケンタウルス×2でボス戦に30分位かかった。
目的のDespicableQuiverが一回目で出たからよかった(物理+10だけど)^^;;;
次もやろうって気にならないなぁ。。。
目的のDespicableQuiverが一回目で出たからよかった(物理+10だけど)^^;;;
次もやろうって気にならないなぁ。。。
ラベル:
UOClist開発
2013年7月29日月曜日
新デスパは、ぼっちツーラーに対する挑戦か?
新デスパって、ぼっちで複数アカもっているユーザに、複数クライアント起動でボス戦しろよ、
って言いたげな内容だと思う。
メイン垢のキャラに適当にフォローして3Fまで移動して、安全地帯でケンタウルスに攻撃を任せ、ほぼ放置でおk???
って言いたげな内容だと思う。
メイン垢のキャラに適当にフォローして3Fまで移動して、安全地帯でケンタウルスに攻撃を任せ、ほぼ放置でおk???
ラベル:
UOClist開発
2013年7月28日日曜日
まったり更新中
uoclistの方は、まったり更新中です。(といっても、まともに公開はしていませんが。。。)
今週は、自動SPMの方にちょっと手を加え、
① マウス右ボタン押しっぱなしの時、直前のSPMまたはMomentumStrikeの状態を記憶し、その状態が解除されたときに、自動セットする(←当時の書き込みミスで、左ボタンの間違いです。その後中ボタンに変更して中ボタンをマウスの別ボタンに割り当て(親指位置)ました。)
② マウス右ボタン押しっぱなし中に、SPM, MomenutumStrikeを手動で変更したとき、①の記憶状態を変更したSPM/MomentumStrikeに更新する(同上 )
③ 周囲に2体目の対象がいない場合には、①のMomentumStrike自動セットを解除
と、MomentumStrikeとSPMとを同等に扱うように変更しました。
僕の好み的にいって、手動操作できる部分はなるべく残したいので、こんな感じで実装しました。
MomentumStrikeの判別は、0xdfを使用しています。本当はクライアントのメモリ情報から判定したいところですが(SPMはクライアントのメモリ情報で判定しています)、うまく拾えるメモリ位置を見つけられなかったので。。。
武士スキルで組み込めそうな他の能力はLightningStrike, CounterAttackですが、毎回自動でセットするまでもないかな(手動セットでいいじゃん)、と考えてます。
CounterAttackについていうと、 詠唱の0.25秒のディレイ(?)が発生して1.25秒振りのリズムが狂ってしまうのが難点です。
追記: LightningStrikeは命中低下を受けたときに対応する、って機能がいいのか。
追記: SPMと同じで、CounterAttackもEvationもタイミングさえ合えば、1.25秒振りを維持できますね。
ところで、
新デスパ、初めて行ってみたのですが、UOとは別物のゲームですね^^;;;
ちょっと新デスパでポイント稼げばすぐに買えるような値段で、伝説ネガなしアクセを入り口で売っているし。。。
これ見てしまうと、いままでShameに通ってゴミアクセを拾い続けていたのはなんだったの?って考えてしまう><
今週は、自動SPMの方にちょっと手を加え、
① マウス右ボタン押しっぱなしの時、直前のSPMまたはMomentumStrikeの状態を記憶し、その状態が解除されたときに、自動セットする(←当時の書き込みミスで、左ボタンの間違いです。その後中ボタンに変更して中ボタンをマウスの別ボタンに割り当て(親指位置)ました。)
② マウス右ボタン押しっぱなし中に、SPM, MomenutumStrikeを手動で変更したとき、①の記憶状態を変更したSPM/MomentumStrikeに更新する(同上 )
③ 周囲に2体目の対象がいない場合には、①のMomentumStrike自動セットを解除
と、MomentumStrikeとSPMとを同等に扱うように変更しました。
僕の好み的にいって、手動操作できる部分はなるべく残したいので、こんな感じで実装しました。
MomentumStrikeの判別は、0xdfを使用しています。本当はクライアントのメモリ情報から判定したいところですが(SPMはクライアントのメモリ情報で判定しています)、うまく拾えるメモリ位置を見つけられなかったので。。。
武士スキルで組み込めそうな他の能力はLightningStrike, CounterAttackですが、毎回自動でセットするまでもないかな(手動セットでいいじゃん)、と考えてます。
CounterAttackについていうと、 詠唱の0.25秒のディレイ(?)が発生して1.25秒振りのリズムが狂ってしまうのが難点です。
追記: LightningStrikeは命中低下を受けたときに対応する、って機能がいいのか。
追記: SPMと同じで、CounterAttackもEvationもタイミングさえ合えば、1.25秒振りを維持できますね。
ところで、
新デスパ、初めて行ってみたのですが、UOとは別物のゲームですね^^;;;
ちょっと新デスパでポイント稼げばすぐに買えるような値段で、伝説ネガなしアクセを入り口で売っているし。。。
これ見てしまうと、いままでShameに通ってゴミアクセを拾い続けていたのはなんだったの?って考えてしまう><
ラベル:
UOClist開発
2013年7月17日水曜日
普通のUO日記は移転させました
最近はUO関係ばっかりだったので。。。
向こうでは、善良なユーザっぽく書き綴っていますが、中身は真っ黒~グレーですwww
メデューサ戦も、自動APB、APB後のLastAttack、自動SPM、イベーションのタイミングバー、と楽してます。
自動SPMは自分の中ではまだしっくりきません。
理想的には、あるキーを押しっぱなしの時に、直前のSPMをセットし続ける、というものですが、「あるキー」に何を当てはめるかに困ってます。
TAB、Ctrl、Shift、Altと全部割り当て済みですし、文字キーだと画面下に入力され続ける、ってことで、今はマウスの左ボタンに当てはめてます。休止後は、ゲーミングマウスじゃなくて普通の2ボタン1ホイールマウスをデフォルト使用にしているからなぁ。。。
向こうでは、善良なユーザっぽく書き綴っていますが、中身は真っ黒~グレーですwww
メデューサ戦も、自動APB、APB後のLastAttack、自動SPM、イベーションのタイミングバー、と楽してます。
自動SPMは自分の中ではまだしっくりきません。
理想的には、あるキーを押しっぱなしの時に、直前のSPMをセットし続ける、というものですが、「あるキー」に何を当てはめるかに困ってます。
TAB、Ctrl、Shift、Altと全部割り当て済みですし、文字キーだと画面下に入力され続ける、ってことで、今はマウスの左ボタンに当てはめてます。休止後は、ゲーミングマウスじゃなくて普通の2ボタン1ホイールマウスをデフォルト使用にしているからなぁ。。。
ラベル:
UO
2013年7月4日木曜日
派閥テコ入れ
気に入らんw
これとか
現在の軍馬は削除されます。
派閥アイテムとして、エルフ装備できるイアリングを使っていたり、CoM軍馬を厩舎に入れっぱなしにしているので、削除されるのはやだなぁ。エルフ装備イアリングは残してくれたりする???
私の場合、対人で飽きがきたのは、いっつも同じメンバーと戦うためでした。
たまに他シャードからの遠征ギルドが来たりして変化はあったものの、戦場にでてくるメンバーはほぼ固定でしたからねぇ。結局、新規のヤラレ役^^;;;が安定供給されないと、また企画倒れに終わるんじゃないの???対人の場合、場慣れしているかどうかが大きく、一定レベルに達するとあとは装備で決まってくるからなぁ。
これとか
- 全ての既存の派閥アーティファクトは「月との調和」特性によって期限切れを迎えます。
現在の軍馬は削除されます。
派閥アイテムとして、エルフ装備できるイアリングを使っていたり、CoM軍馬を厩舎に入れっぱなしにしているので、削除されるのはやだなぁ。エルフ装備イアリングは残してくれたりする???
私の場合、対人で飽きがきたのは、いっつも同じメンバーと戦うためでした。
たまに他シャードからの遠征ギルドが来たりして変化はあったものの、戦場にでてくるメンバーはほぼ固定でしたからねぇ。結局、新規のヤラレ役^^;;;が安定供給されないと、また企画倒れに終わるんじゃないの???対人の場合、場慣れしているかどうかが大きく、一定レベルに達するとあとは装備で決まってくるからなぁ。
ラベル:
UO
2013年6月30日日曜日
*evades*
白豚なんて今まで操作したことなかったので、自分用に必要な仕様をまとめて整理します。
(1) SPMをセットした直後、0.5秒間は武器を振ることができない
(2) SPMを使用してから3.5秒間は全SPMの消費マナが倍になる
(3) フェイントは6秒間持続
(4) イベーションの再使用遅延は20秒
ふむむ、(3), (4)のタイミングはわかりづらいので、UOClistに実験的に実装してみることにします。
(1)も、自動セットを考えてみよう。
追記: Pub82のタゲ移動。ラフに調査したのだけど、クライアント側の対策ではなかったようだ、多分。クライアントのバージョンアップが発生すると、サーバー側では、しばらくの期間、新旧クライアントに対応するパブリッシュが並列に用意されるようになっているのか???
(1) SPMをセットした直後、0.5秒間は武器を振ることができない
(2) SPMを使用してから3.5秒間は全SPMの消費マナが倍になる
(3) フェイントは6秒間持続
(4) イベーションの再使用遅延は20秒
ふむむ、(3), (4)のタイミングはわかりづらいので、UOClistに実験的に実装してみることにします。
(1)も、自動セットを考えてみよう。
追記: Pub82のタゲ移動。ラフに調査したのだけど、クライアント側の対策ではなかったようだ、多分。クライアントのバージョンアップが発生すると、サーバー側では、しばらくの期間、新旧クライアントに対応するパブリッシュが並列に用意されるようになっているのか???
ラベル:
UO
2013年6月25日火曜日
2013年6月17日月曜日
UO近況(2013.06)
今年の2月に復帰して以降、やっと追いついたってところでしょうか。
今週は、久しぶりのトレハン(Lv.3だけど^^;;;)やってみたり、バルクの整理でテンプラ粉もらいまくったり、なまくら砥石の材料ゲットしたり、アセニウム島で文書入手したり(やっと4種)、としてました。なまくら石の材料が全然でなくてシェイムポイント500ptも減ってしまいましたよ><
なまくら材料ゲット(Lv.2, Lv.3)とアセニウム島でのミニオン狩りは実質扇動メイジでやってます。
あとやってないのは、ボスソロ/PSソロと釣りくらいかな。いやほんと、UOやってると時間がいくらあっても足りません、まだまだ飽きがこないから困る。
メデューサのぬいぐるみ、安く売っていたので入手しました。良い出来。Abyssal Infernalのぬいぐるみが、ネズミーランド(っていうの?)に落ちていたので拾ってきましたw
SakuraでギルドWarを立ち上げたい、という案内Webを見てみたのですが、僕の所属していた懐かしいギルド名が!!!今度、かつてのIRCに入ってみようかしらん。
選挙の方は、メインキャラはブリ市民にしているんだけど、Sakuraでは今のところブリは速度+5のギルド契約っぽいです。寄付はもちろんしません^^;;;
ラベル:
UO
2013年6月16日日曜日
久々にDOOMマラソン(3周) (北斗EMイベント 2013/06/15)
この日の北斗EMイベントでは、DOOM対岸を3週することに。。。
実際に回ったキャラ数が80ほど?中ボスとかパパとかこんもり湧きましたwww
僕の参加キャラは魔法、EI、瞑想の3GMキャラ(スキル合計 300 w)、装備はクリーンアップのソーサラーセットで、久しぶりにたっぷり楽しませていただきました。パパに対してはFB連射でルート権取るのは余裕だったのですが、残念ながらAFゲットはなし。ママ、グランパパ、グランママも出てましたねw
大人数だからと舐めてかかっていたためw、ゴキ、イベント特別の黒ゴキにタゲられて死にました^^;;;
DOOM終了後、ミワク姫とお内裏様の結婚式をNJで。
こういうイベント、僕のメインシャードでもやって欲しいよなぁ。最後、サポートEMの挨拶がありましたが、北斗に加えて、大和、飛鳥のEMイベント宣伝、ということで、今後この3シャードを重点的にテコ入れしていくんでしょうか?><
実際に回ったキャラ数が80ほど?中ボスとかパパとかこんもり湧きましたwww
僕の参加キャラは魔法、EI、瞑想の3GMキャラ(スキル合計 300 w)、装備はクリーンアップのソーサラーセットで、久しぶりにたっぷり楽しませていただきました。パパに対してはFB連射でルート権取るのは余裕だったのですが、残念ながらAFゲットはなし。ママ、グランパパ、グランママも出てましたねw
大人数だからと舐めてかかっていたためw、ゴキ、イベント特別の黒ゴキにタゲられて死にました^^;;;
DOOM終了後、ミワク姫とお内裏様の結婚式をNJで。
こういうイベント、僕のメインシャードでもやって欲しいよなぁ。最後、サポートEMの挨拶がありましたが、北斗に加えて、大和、飛鳥のEMイベント宣伝、ということで、今後この3シャードを重点的にテコ入れしていくんでしょうか?><
ラベル:
UO
2013年6月5日水曜日
ガーゴイル女王年代記 第三巻
第三巻まであるんだ~っとちょこっと手を出してみました。
なにこのムリゲ!!!
ナイトテラー、どうにかなりませんかね><
近場にいたanlorvaglem2体を扇動でぶつけてみましたが、20分位でやっと2ミリ程度減る感じ。
マナが枯渇すれば減りも早くなるんだろうけど。。。
う~ん、どうにかして倒したい。
なにこのムリゲ!!!
ナイトテラー、どうにかなりませんかね><
近場にいたanlorvaglem2体を扇動でぶつけてみましたが、20分位でやっと2ミリ程度減る感じ。
マナが枯渇すれば減りも早くなるんだろうけど。。。
う~ん、どうにかして倒したい。
ラベル:
UO
2013年6月2日日曜日
ガーゴイル女王年代記
アンダーグラウンドもアビスも飽きてきたので、ガーゴイル女王年代記クエストへの挑戦をはじめました。
第1巻のほうは、minion of scelestusを倒して10種の文書を集めろ、というもの。
使用キャラはバードテイマーっす^^;;;
テイマーっていってもGドラをあつかえるわけでなく、雑魚を騎乗のメアさんに片付けていただくくらいしかできません。<バードは扇動/不調和の組み合わせ。ほぼ純バードな構成で挑戦することにしました。
ということで、アセニウム島にわたってみたところ、、、予想通りだーれもいませんwww僕としては逆に扇動を気兼ねなくできるので好都合なんですけどね。
さっそくminion of scelestusを扇動、、、しようとしたら失敗続き><
バード難易度160じゃないですか(泣)
しかたないので、トクノで入手したチャージ復活ありの悪魔特攻の笛を取りに帰り、再チャレンジしました。
。。。
なんかね、ものすごい時間かかります。1体に2~3体をぶつけてみたのですが、全然ライフが減らない><
しかもminion of scelestus、ブレスもちらしく、ブレスで即死しました><後で調べたら、毒属性のブレスなんですね。装備の毒抵抗が43しかないので新しく作らないといけないなぁ。。。
時間がかかる->そばにボケ~っとつったているのは手持ち無沙汰->余計なちょっかい出してminion of scelestusに追っかけられる->毒ブレス吐かれて詰み
なパターンで2回ほど死にました><
結局、1時間かけて^^;;;やっとのことで1体倒して、文書のうちの一つを入手しました。こりゃ毎週1体ペースだな。
気をとりなおして、第2巻のクエストの方にもチャレンジ。
こちらの難関はlifestealer。青マ○コの上位版ですかね。こいつの存在とクエスト主の存在は、フラフラとTerMurを散策したときにすでに知っていて、クエストも先に受けておりました。
lifestealerを扇動で倒す場合に厄介なのは、ライフが真っ赤になったところでSpiritSpeakingのアンミーサーコーを連唱しはじめてしまい、なかなか決着がつかないところです。2体くらいぶつけてやって、EVをとどめに出してやれば、ぎりぎりストレスが溜まらないレベルで倒すことができます。(コロスケだともっと楽なんでしょうけどねぇ。。。)
ということで、第2巻の方は今週末にゲット。
毒抵抗の見直しが急務だなぁ。。。今、錬成しかかりの防具が数点あります。完成しない理由は、マナ回復を錬成するための素材不足から。ガーデニングから得られる種が材料なため、市場価格も高値安定ですね。Sakuraで10個30万でした。
うーむ、今になってガーデニングの鉢を家に並べて育てているところです。時間がかかる~><
第1巻のほうは、minion of scelestusを倒して10種の文書を集めろ、というもの。
使用キャラはバードテイマーっす^^;;;
テイマーっていってもGドラをあつかえるわけでなく、雑魚を騎乗のメアさんに片付けていただくくらいしかできません。<バードは扇動/不調和の組み合わせ。ほぼ純バードな構成で挑戦することにしました。
ということで、アセニウム島にわたってみたところ、、、予想通りだーれもいませんwww僕としては逆に扇動を気兼ねなくできるので好都合なんですけどね。
さっそくminion of scelestusを扇動、、、しようとしたら失敗続き><
バード難易度160じゃないですか(泣)
しかたないので、トクノで入手したチャージ復活ありの悪魔特攻の笛を取りに帰り、再チャレンジしました。
。。。
なんかね、ものすごい時間かかります。1体に2~3体をぶつけてみたのですが、全然ライフが減らない><
しかもminion of scelestus、ブレスもちらしく、ブレスで即死しました><後で調べたら、毒属性のブレスなんですね。装備の毒抵抗が43しかないので新しく作らないといけないなぁ。。。
時間がかかる->そばにボケ~っとつったているのは手持ち無沙汰->余計なちょっかい出してminion of scelestusに追っかけられる->毒ブレス吐かれて詰み
なパターンで2回ほど死にました><
結局、1時間かけて^^;;;やっとのことで1体倒して、文書のうちの一つを入手しました。こりゃ毎週1体ペースだな。
気をとりなおして、第2巻のクエストの方にもチャレンジ。
こちらの難関はlifestealer。青マ○コの上位版ですかね。こいつの存在とクエスト主の存在は、フラフラとTerMurを散策したときにすでに知っていて、クエストも先に受けておりました。
lifestealerを扇動で倒す場合に厄介なのは、ライフが真っ赤になったところでSpiritSpeakingのアンミーサーコーを連唱しはじめてしまい、なかなか決着がつかないところです。2体くらいぶつけてやって、EVをとどめに出してやれば、ぎりぎりストレスが溜まらないレベルで倒すことができます。(コロスケだともっと楽なんでしょうけどねぇ。。。)
ということで、第2巻の方は今週末にゲット。
毒抵抗の見直しが急務だなぁ。。。今、錬成しかかりの防具が数点あります。完成しない理由は、マナ回復を錬成するための素材不足から。ガーデニングから得られる種が材料なため、市場価格も高値安定ですね。Sakuraで10個30万でした。
うーむ、今になってガーデニングの鉢を家に並べて育てているところです。時間がかかる~><
ラベル:
UO
2013年5月26日日曜日
素材集めの日々
復帰してから3ヶ月ちょっと。
やっと、アビス、アンダーグラウンドのどこに何があるかを覚えたところです^^;;;
そんなわけで、今はアビスの各エリアをちょこちょこと回ってエッセンスを集めたりしています。
僕のメインキャラはバードテイマーなわけで、身軽に回りたいのでメアで、ということになり、メアとバード能力でRenownedを倒せるエリアってゴブリン、青マ○コくらいなので、そのエリアを気が向いたときに回してみたりするのですが。。。
いきなり速度足が出ましたwww
一瞬目を疑いましたwこんなにすぐに出るのは想定外。しかたないので^^;;;ネクパラが流行ってたAOS時代のキャラを引っ張り出してきて白豚仕様にしてみました。(武刀の天地以降、戦士系キャラはほとんど使ってませんでした。。。)
まずは装備を揃えなければ、ということで、アクセはImbuingのスキル上げの時にとっておいたモンス産の速度10アクセをチョイス、一応回避低下メガネももっていました。首もImbuingスキル上げの時に命中、回避の付いた高抵抗ネガなしアーティファクトがでていたのでそれを組み合わせることにしました。
残りの胴、腕、手を自作する必要があるのですが、バードテイマーしか使ってない=紙抵抗でもOK、な状況でずっとやってきていたため、生産の仕様について知ってはいても実際のノウハウまでは理解できておらず、UO職人さんのサイトをみながらテストセンターで試しにつくってみたりと時間を費やしました。
一応、テンプレート通りの装備にほぼなって弱白豚ができあがったのですが(武器スキルのパワスク120が入ってなくて115どまりです)、これでいきなりボス級と対峙ってのは無理ッス><
やっと、アビス、アンダーグラウンドのどこに何があるかを覚えたところです^^;;;
そんなわけで、今はアビスの各エリアをちょこちょこと回ってエッセンスを集めたりしています。
僕のメインキャラはバードテイマーなわけで、身軽に回りたいのでメアで、ということになり、メアとバード能力でRenownedを倒せるエリアってゴブリン、青マ○コくらいなので、そのエリアを気が向いたときに回してみたりするのですが。。。
いきなり速度足が出ましたwww
一瞬目を疑いましたwこんなにすぐに出るのは想定外。しかたないので^^;;;ネクパラが流行ってたAOS時代のキャラを引っ張り出してきて白豚仕様にしてみました。(武刀の天地以降、戦士系キャラはほとんど使ってませんでした。。。)
まずは装備を揃えなければ、ということで、アクセはImbuingのスキル上げの時にとっておいたモンス産の速度10アクセをチョイス、一応回避低下メガネももっていました。首もImbuingスキル上げの時に命中、回避の付いた高抵抗ネガなしアーティファクトがでていたのでそれを組み合わせることにしました。
残りの胴、腕、手を自作する必要があるのですが、バードテイマーしか使ってない=紙抵抗でもOK、な状況でずっとやってきていたため、生産の仕様について知ってはいても実際のノウハウまでは理解できておらず、UO職人さんのサイトをみながらテストセンターで試しにつくってみたりと時間を費やしました。
一応、テンプレート通りの装備にほぼなって弱白豚ができあがったのですが(武器スキルのパワスク120が入ってなくて115どまりです)、これでいきなりボス級と対峙ってのは無理ッス><
ラベル:
UO
2013年5月20日月曜日
初期キャラ育成のマイブームも終了か
一応、全シャードに最低限ローランドボーラ×2のテイマーを配備しました。Shameで土エレを倒して金を稼ぎ、FireBeetleをニューマジンシアで売っているシャードではFireBeetleを買って、採掘+伐採のキャラを作成していこうと思います。
和鯖はすべてMining=100、Chivalry=65.0の採掘BOTが毎日最低1周はTerMurの採掘伐採コースを巡回しています。
狙いはCrystaline Blackrockを売って収入を得ることなのですが、和鯖でも良い値段で買い取ってくれるところと、買い叩きのところがありますね。倭国、飛鳥は高値で買い取ってくれるのですが、瑞穂とか出雲とか桜とかは「そんな値段で売れるかよ!」ってベンダーしかいないです(確か)><
倭国はいいところだなぁ(´∀`*)移住したくなりました。
ベンダーがいるだけましなんでしょうけどね。一応全鯖にFireBeetleの採掘伐採キャラを配備したいのですが、ニューマジンシアのベンダーが過疎っていちゃぁ、例えFireBeetleを手に入れても得られた資源を売る当てがない。まぁ、お金を得たとしても、それを使うに価するキャラがいないシャードではお金を貯め込むだけになりそうですが。。。
今日の飛鳥EMイベントですが、北斗のEMイベントと繋がりましたね。これはシャード併合の布石なんでしょうか?併合するにしてもUOの場合家をどうするか、という大きな問題があるので、可能性はあまりないでしょうけどね~。
今日の飛鳥EMイベントで参加キャラは220程度だったかな?他鯖をメインとする出張キャラも多いでしょうし、1鯖当たりのログイン数ピークが現在どれくらいなのか、まぁ予想がつきます><
先週の大和EMイベントも出てみました。新・銀蛇自警団のプロローグ。レポートなんかも書いてみたり^^;;;pub81以降の全鯖共通のライブイベントの予定がみえてないですが、それぞれのEMイベントが次のパブリッシュの内容に繋がっていると、EMイベントに参加する意義も見いだせそうです。
桜の錬成ガーゴは女王への忠誠度10,000を達成しました。Magery95程度までスキルを上げて、書写スキル上げの時に作っておいたEVスクロを使って数時間毒スリスを狩り続け、思ったより楽に達成できました。TCシャードへのキャラコピーも復活したそうなので、いろいろ試してみようと思います。
和鯖はすべてMining=100、Chivalry=65.0の採掘BOTが毎日最低1周はTerMurの採掘伐採コースを巡回しています。
狙いはCrystaline Blackrockを売って収入を得ることなのですが、和鯖でも良い値段で買い取ってくれるところと、買い叩きのところがありますね。倭国、飛鳥は高値で買い取ってくれるのですが、瑞穂とか出雲とか桜とかは「そんな値段で売れるかよ!」ってベンダーしかいないです(確か)><
倭国はいいところだなぁ(´∀`*)移住したくなりました。
ベンダーがいるだけましなんでしょうけどね。一応全鯖にFireBeetleの採掘伐採キャラを配備したいのですが、ニューマジンシアのベンダーが過疎っていちゃぁ、例えFireBeetleを手に入れても得られた資源を売る当てがない。まぁ、お金を得たとしても、それを使うに価するキャラがいないシャードではお金を貯め込むだけになりそうですが。。。
今日の飛鳥EMイベントですが、北斗のEMイベントと繋がりましたね。これはシャード併合の布石なんでしょうか?併合するにしてもUOの場合家をどうするか、という大きな問題があるので、可能性はあまりないでしょうけどね~。
今日の飛鳥EMイベントで参加キャラは220程度だったかな?他鯖をメインとする出張キャラも多いでしょうし、1鯖当たりのログイン数ピークが現在どれくらいなのか、まぁ予想がつきます><
先週の大和EMイベントも出てみました。新・銀蛇自警団のプロローグ。レポートなんかも書いてみたり^^;;;pub81以降の全鯖共通のライブイベントの予定がみえてないですが、それぞれのEMイベントが次のパブリッシュの内容に繋がっていると、EMイベントに参加する意義も見いだせそうです。
桜の錬成ガーゴは女王への忠誠度10,000を達成しました。Magery95程度までスキルを上げて、書写スキル上げの時に作っておいたEVスクロを使って数時間毒スリスを狩り続け、思ったより楽に達成できました。TCシャードへのキャラコピーも復活したそうなので、いろいろ試してみようと思います。
ラベル:
UO
2013年5月15日水曜日
UOClistでの使用予約済みキー
無変換/F9 = 入力ウィンドウ
Alt = 自動ドア
Shift = CircleTrans Toggle
F12 = Walkデバッグ用
で以上かな?
キー配置が気に入らなかったら、
ChgKey
等のキー配置変更アプリを使用してください。
僕が使っている設定は、
CapsLock -> Ctrl
無変換 -> Alt
Alt -> 無変換
半角/全角 -> ESC
その他、押すとめんどくさいことになるキー -> 割り当てなし
です。
Sun, PC98に慣れ親しんでいる世代にとって、Aの横はCtrlって決まっているのです。
Walkデバッグですが、0x02の間隔、0x22の間隔、0x02-0x22の間隔を過去5セット表示するようにしています。
自分の環境での最適値は25,86????
0x02の間隔と0x02-0x22の間隔が短いことが、ストレスなく動ける最適値???
僕のPC環境だとHDDのアクセスが遅いためか、どんなに頑張っても途中で詰まってカクカクします><
Alt = 自動ドア
Shift = CircleTrans Toggle
F12 = Walkデバッグ用
で以上かな?
キー配置が気に入らなかったら、
ChgKey
等のキー配置変更アプリを使用してください。
僕が使っている設定は、
CapsLock -> Ctrl
無変換 -> Alt
Alt -> 無変換
半角/全角 -> ESC
その他、押すとめんどくさいことになるキー -> 割り当てなし
です。
Sun, PC98に慣れ親しんでいる世代にとって、Aの横はCtrlって決まっているのです。
Walkデバッグですが、0x02の間隔、0x22の間隔、0x02-0x22の間隔を過去5セット表示するようにしています。
自分の環境での最適値は25,86????
0x02の間隔と0x02-0x22の間隔が短いことが、ストレスなく動ける最適値???
僕のPC環境だとHDDのアクセスが遅いためか、どんなに頑張っても途中で詰まってカクカクします><
ラベル:
UOClist開発
2013年5月13日月曜日
UOClist 全表示画面(version 0.7.1)
デスクトップ表示
1440x1050での例。今のノートって、縦サイズ=768のものが主流なので、ツライですね><
UOLMと組み合わせて使用しています。
タブ3
タブ4
タブ5
オプションダイアログ1
1440x1050での例。今のノートって、縦サイズ=768のものが主流なので、ツライですね><
UOLMと組み合わせて使用しています。
無変換(F9)を押したときに表示される入力ウィンドウ
タブ1
タブ2タブ3
タブ4
タブ5
オプションダイアログ1
MiniStatusBar->withTitleBarのチェックをつけた場合の、ステータスウィンドウの表示
オプションダイアログ2
オプションダイアログ3
ダガー等で対象をタゲってラスタゲを設定してください。
オプションダイアログ4,5
オプションダイアログ6
オプションダイアログ7
オプションダイアログ8
ラベル:
UOClist開発
UOClist 1キーマクロ一覧(version 0.7.1)
1キーマクロ一覧です。
全部の動作をチェックしているわけではないので、中には正常に動作しないマクロがあるかもしれません。特に従来の0x1aを使用するようなマクロの場合。。。
基本的には、生産やスキル上げのためのマクロですね。UO2Dクライアントのマクロもある程度は充実しているわけだし。ただし、mountだけは設定しないとツライですが><
全部の動作をチェックしているわけではないので、中には正常に動作しないマクロがあるかもしれません。特に従来の0x1aを使用するようなマクロの場合。。。
基本的には、生産やスキル上げのためのマクロですね。UO2Dクライアントのマクロもある程度は充実しているわけだし。ただし、mountだけは設定しないとツライですが><
|
ラベル:
UOClist開発
2013年5月12日日曜日
2013年5月11日土曜日
UOClist 機能一覧 (version0.7.1)
一覧にしてみましたが、結構な数ですね><
実装してみてポシャった機能とか、機能といえないまでもUO2Dクライアントの動作を修正しているものは含めていません。追加した機能として見落としているものもあるでしょう。
この中で僕のお気に入りの機能はファンファーレw
実装してみてポシャった機能とか、機能といえないまでもUO2Dクライアントの動作を修正しているものは含めていません。追加した機能として見落としているものもあるでしょう。
この中で僕のお気に入りの機能はファンファーレw
機能 | 動作概要 | 解説 |
ターゲット拡張 | 直感的なターゲット操作を追求した機能です。 | 非公開機能です、すみません。 UOClistの開発は、この機能を軸に、この機能によって活かす機能、活かされる機能の作りこみにほとんどの時間を費やしてきました。 |
MOB(PC)リスト | 画面内のPCまたは別名称のついたNPCをMOBリストとして表示します。 | このアプリ名称のもととなった機能です。元々はこの機能しかありませんでした。 EMイベント等での参加者数の確認にご利用ください。 通常はPCのみのリスト表示ですが、UO内でステータスバーを表示させることによりペットもリスト表示されるようになります(ここ重要)。 |
MOB名称エイリアス | リスト表示されたMOBに別名称をつけます。 MOBリスト行の右クリックからメニュー操作します。 別名称をつけたMOBをAliasリストに表示します。 | 変装/名前変更キャラも名称エイリアスを設定しておけば特定できます。 最近はIDの更新が頻繁に行われているようなので、長期使用において別名称の再設定が必要になる可能性があります。 |
MOB HP監視 | 別名称のついたMOBのHPを監視します。 Aliasリスト行の右クリックからメニュー操作して指定します。指定したMOBのHPは、ステータス表示ウィンドウに表示されます。 | UOの仕様制限で、25ステップのHP表示になります。 僕自身、この表示について自身が持てず、まだあまり信用していませんw |
画面サイズ拡大 | UOワールド画面(?)のサイズを拡大します。 | Razorからのパクリです。Razorで実現していたのを見てこれほし~とハックしましたw |
タゲ境界表示 | 詠唱ターゲットの有効境界をUOワールド画面(?)上に重畳表示します。 | LCD(CRT)にサランラップを貼るのはいやだぁ、ということでつくりましたw |
1キーマクロ | UOマクロの拡張版です。 | UO2Dクライアント, UOAssist等のマクロ操作作業の経験から、自分としてのマクロ設定最適解(UOマクロの設定と実行はこうあるべき)として実装しています。 |
1クリックログイン | ツリービューで選択したキャラをログインさせます。 | パスワードを入力しますが、この情報を悪用することは絶対にありません! 実装は、キーボード入力、マウス入力をUO2Dクライアントに打ち込んでいるため、美しくありませんwww |
発言入力 | 無変換キー(またはF9キー)を押すことにより入力ウィンドウを表示します。Enterキーを押して発言するか、もう一度無変換キー(またはF9キー)を押すことにより入力ウィンドウが非表示になります。 文末がスペースの場合、UO2Dクライアントの方に入力文がコピペされます。 | UO2Dクライアント内で日本語発言して、IMEをオフにするのを忘れてUOマクロが起動しない、ということを防止します。 チャット(グローバル、ギルド、パーティ)に拡張する予定ですが、僕はボッチなので実装着手しないかもしれません>< |
ジャーナルログ | ジャーナルのログです。ログの流れが速いと操作しづらいのが欠点です。 | UOClistのシステムメッセージの表示にも利用しています。というか、こちらがメインの目的になってます。 ※ 簡単なフィルターチェックボックスつけました。 |
チャットログ | チャットのログです。発言のみ表示します。 | UOのグローバルチャットシステムは、入室しているユーザ名も表示可能なのですが(パケットは受信している)、UO2Dクライアントを使用して入室ユーザを一覧表示する方法は、公式には発表されていですよね??? |
ステータス表示ウィンドウ | 各種ステータスを表示します。 | Windowsの仕様により、ステータス表示ウィンドウ(半透明ウィンドウの)のタイトルバーを表示状態にしないと、マウスで移動させることができません>< |
ステータス詳細表示 | 各種ステータス詳細を表示します。 | UO内でbuff/debuffアイコンを表示する設定にしないと、表示が更新されません。(多分) |
リソースカウントウィンドウ | バックパック第1階層内のリソースアイテムのカウントを表示します。 | バックパックを開いていることが条件です。今や、秘薬のカウント数表示はいらないかもしれませんね。対人であってもメイジは秘薬低減100%が基本??? |
コンテナ内アイテム表示 | 最後に開いたコンテナ内にあるアイテムを表示します。(ただし9個まで) | 一応、アイテムのプロパティを調べて、(俺ルールで)価値順にならべるようにしています。 |
スキル表示 | 自キャラのスキルを表示します。(ただし9個まで) | スキルの操作(アップ/ダウン/ロック)はできません。スキルの操作はUO2Dクライアントで操作してください。 |
ファンファーレ | バックパック内にアイテムが湧いたときファンファーレが鳴ります。 | 本来の仕様では、湧いたアイテムの価値を調べて2種類のサウンドから選んで再生するはずでしたが、デバッグがめんどくさかったので1種類のサウンドに固定しています。 |
再詠唱 | キャストリカバリ不足で詠唱に失敗したとき、その詠唱スペルを約0.25秒後に再詠唱します。 | 詠唱失敗のメッセージは画面左下に表示されるだけで見落としやすいので、同じスペルを自動で再実行するようにしました。 |
ステルスキャラ乗り越え検知 | Fで、ステルスキャラを乗り越えたときに自キャラの頭上にもメッセージを表示させます。 | メッセージは画面左下に表示されるだけで見落としやすいので、自キャラの頭上にも表示するようにしました。 |
振込額確認 | 銀行に振り込まれた額を、自キャラの頭上にも出します。 | 振込額のメッセージは画面左下に表示されるだけで見落としやすいので、自キャラの頭上にも表示するようにしました。(殺人カウントも同様に表示するようにしています。) |
MIDI再生 | とある条件で、MIDIファイルの再生が行われるようです。 | 条件詳細は公表できません。EA/JASRACにタレこまないでください>< |
自動ドア | Altキーを押した状態でドアに近づくと、ドアを自動で開けます。 | 隠し扉にも対応します。一応、UOマクロのOpenDoorも設定しておくのがよいです。 |
AlwaysLight | 常に明るい状態にします。 | たまには機能をオフにして夜を楽しむのもよいものですよ。 |
ShowCorpseNames | 新たに発生した死体の名前を表示します。 | UOAでおなじみの機能です。棺桶を開き直すために、UOマクロのAllNamesも設定しておくのがよいです。 |
ShowIncomingPCNames | 自キャラ周辺に近づいたPCの名前を表示します。 | UOマクロのAllNamesも設定しておくのがよいです。 UOオプションの「接近したプレイヤーの名前を表示する」はNPCの表示も含むことが相違点です。どちらか一方の機能だけを有効にしないとPCの名前表示が2重になります。 NPCであっても青ネームである場合、PCとの厳密な区別は不可能と考えています。今のUOClistの仕様では、RingまたはBraceletを装備しているMOBはNPCではない、と判定しています。RingまたはBraceletをしていないMOBはPCではない、は真ではないところが判定を難しくしています。 |
ShowOnlyPC | PCだけをリスト表示処理の対象にします。 | UOClistの内部にて、NPC情報を含めて処理するか否かの負荷調整をするオプションです。 |
SpeedTuning | 完成度は低いです。 | かえって操作しづらくなります。要検討です。多分、この辺のパラメタをいじると調整できるんじゃね?っと復帰前に調査をして、そのままほったらかしだった機能です。。。 |
DblClickObjectQueue | ダブルクリック操作が遅延に引っかかる場合、コマンドをキューに入れてコマンドの実行を遅延させます。 | ダブルクリック系の1キーマクロを使用時に、この機能のありがたみを確認できることでしょう。 |
透過円オンオフ | Shiftキーを押すと透過円がオン(またはオフ)になります。 | オプションのチェックボックスにより、機能の有効無効をオン/オフ可能です。 |
ラストアタック→ラスタゲ書き換え | ダブルクリックしたMOBのIDをラストターゲットとして書き換えます。 | 僕は戦士系キャラをほとんど使わないため、有用性が高いのかどうかはわかりませんが一応実装しました。 |
LastTargetHotKey | ラストターゲットのホットキーを設定します。 | 全キャラでキー操作を一致させるために実装しました。 キー操作のデフォルト(標準)設定、もしくはプロファイル選択の機能として再実装するのがよいのかもしれません。 |
WayPoint | あらかじめプログラムされた経路/動作に従って行動します。 | 非公開機能です。すみません。 |
Shceduler | あらかじめ設定された時刻に自動ログインし、所定の作業をした後、自動ログアウトします。 | 非公開機能です。すみません。 |
GGS判定 | GGSでスキルが上がる時間になったかどうかを判定します。 | 最後にスキルが上がった時刻でなく、ログアウトした時刻から判定していること、あっているのかあやしい表を元にしていること、からあまりあてにはなりませんが、一応の目安にはなります。 |
タイマー機能 | 指定したキーを押してからの経過時間を、ステータス表示ウィンドウにバー表示します。 | Invisible等がどれくらいの時間で解除されるかの目安になります。同様に、ターゲット待機開始からの経過時間(~30sec)もバー表示します。 |
登録:
投稿 (Atom)