2013年10月26日土曜日

pub84対応

uoclistをも不調にさせるバグだったのですが、
原因は、
スキル変化のメッセージをUOクライアントに出させるようにしていたのですが、不調和になると60超の全スキルに対するスキル変化メッセージをサーバが送りつけてくるため、UOクライアントのメッセージ処理が追いつかなくなったから。
uoclistの処理として、メッセージをキューに入れておいて一定の時間間隔でUOクライアントに処理させるようにしておけばよかったのですが、めんどくさかったので直接UOクライアントに処理させていたんですね。

対策としては、メッセージが連続する場合に処理をスキップするようにした^^;;;


さて、pub84ですが、世のツーラーさんはどういうふうに床置きミナクスMAFの吸い込みを実装しているんでしょかね???

僕は(追記: 自分用に!!!)

① 0xf3のメッセージがきたときに色を判定
② MAF色をしていたら0x09のコマンドを投げてみるとともにマークしてアイテムリストに記憶させる。
③ 自分が動いたときに、アイテムリストの中でマークしてあって2マス以内のアイテムがあれば、それをピックアップする。
④ 一定時間後にピックアップしたアイテムをバックパックにドロップする

ってな感じ。色だけで判定している。。。

昔、シャード破片を拾うときに使って以来コメントアウトして眠っていたコードを復活させて試験運用中。

重大なバグ

前々から気づいてはいたのですが、今回のpubで直さないとどーにもならないこと。

不調和を受けるとバグる><

時間がとれない中、順調にミナクスMAFを集めてはいますが、不調和受けるとどうにもならなくなってしまうので、現在調査中。。。

2013年10月23日水曜日

サイドブレーキのワイヤ

SWのサイドブレーキのワイヤ、切れました><
久しぶりのSWの話題がこれかよ。。。

2013年10月20日日曜日

Demiseのアカウント消えてた><

uoclistの動作も安定してきたので、UOGamers: Demiseへの対応をしてみたくなりました。

たしか、EAの方の休止したのと同時期にDemiseも休止したので、最後にログインしたのは4,5年前だったでしょうか?
その頃もやっぱりバードテイマー大好きでルンビ使ってた覚えがあります。

で、その頃のアカウントでログインしてみたら、、、
キャラ消えてました><

一からまたキャラつくりますか。。。本家よりスキル上げは楽だったし。


以前もuoclist(当時の古いバージョン)を使ってました。
ログインにRazor使って、Razorの機能はほとんど使わずにuoclistのサポート機能を使ってたと思います。(うろ覚えで、ログインだけ別のアプリを使ってたような気もするけど)

本家シャードとDemiseでは微妙にコマンドプロトコルが違っていて、今のコードにもそのときの対応の名残が少し残ってます。

2013年10月19日土曜日

UOCaptureTool 0.0.2.0

縮小画面上での
・マウス右クリック(移動)
・Ctrl+マウスホイール(画面の拡大/縮小)
・キーボード入力
に対応させてみました。
キーボード入力は、Focus制御をきっちりしていないため効かない場合がでてきます。

まだまだ実用レベルには達してませんね><
やはりマウス左クリック(ダブルクリック)に対応させる、さらには、左クリックドラッグに対応させるところまでやらないと、自由に操作するには程遠いです。
あと、ログイン操作を縮小画面内でやりたいですね。

これらをやろうとすると、どこかしら破綻がでてきそうで、開発のモチベーションもあがらず。。。

Pub84のパケット変更

って、アイテムIDは0x8000以下、の縛りをなくすための変更だけ???
みんな律儀にJerrithの資料を元に実装していると思うので、みんなコケたwww

そそ、AssistUOって開発やめちゃった???このタイミングで今回のアップデートくらって早速使えなくなったんだろうか。。。AssistUOってタゲ共有の機能があったからいやらしかったんだけどね。


追記:
特定の地域に行くとクライアントごと落ちてしまう問題が。。。><

追記:
ということで直しました。なんかまだ心配なんですけど。

2013年10月16日水曜日

ベリアカ鑑賞

ひどいなぁ、パッチ当てないとすすめないの???

2013年10月15日火曜日

UOCaptureToolのバグとり

一応、やりたいことの実現とバグ修正の目処は立った状況。妥協点は発生したのですが。。。

2垢起動のバグとりの方も目処が立った状況。
今把握している唯一の問題がHotKeyの扱い。具体的には、キーボードからの発言ウィンドウの表示/非表示。
HotKeyを使用しているのだけど、RegisterHotKey()って1ホットキーに対して1ウィンドウの組み合わせしか設定できないのね><
なので、UOClistを複数起動したときに、最初にRegisterHotKey()を有効にした方しか使用できない。
無理に変更するよりも、1垢目は今までどおりのキー設定、2垢目はCtrlキーを組み合わせたキー設定、と決めてしまったほうがいいのかもしれない。

週末まで自分で普段の動作をさせてテストしてみる予定。

2013年10月14日月曜日

魔女コーラからの挑戦状 再び

昼間はスカっとした秋空だというのに、不健康かつ暇人な私。。。
2日間連続で参加してました。。。
Gドラで延々とall killするお仕事ですwww
stay, follow meも使って肉壁的な位置調整もするのが腕の見せ所???

思いっきり自キャラがバレてますが、珍しいドラの2人羽織が見れたので画像を。

2013年10月10日木曜日

2013年10月6日日曜日

他のウィンドウにマウスイベントを送信するって難しくね?

マウスカーソル位置はそのままに、UOのウィンドウにWM_MOUSEMOVEを送るのができていない><
DirectX関連が邪魔するから???

追記:
DirectInputは使っていないっぽい。
GetCursorPos()を直接使っているんだろうか?
だとすれば、GetCursorPos()にブレークポイントを仕掛けて上書きする、ってのがいいの???

2013年10月5日土曜日

UOCaptureTool

バージョン0.0.1.0として、別館においてきました。
説明とか書くの面倒だったので実行ファイルとドライバのみです。。。

まだ、ウィンドウ内でのマウス/キーボード操作の反映はやっていません。

VHScrCapのunlock

考えてみた。

VHScrCapを操作する関数はすべてCOMで提供され、その中にunlock関数が含まれている。
その書式は、special_unlock(BSTR, BSTR)

インストーラ付属のアプリだと制限がないっぽい(special_unlock()を実行しているっぽい)

BSTRを生成するためのAPIは、SysAllocString()


次にやることは、もうおわかりですね。OllyDbgでアプリを実行し、SysAllocString()にブレークポイントを仕掛けるw


ということで、制限をなくすためのキーを知ってしまったwww