したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

焼肉避難所2

1E★:2008/02/05(火) 09:56:27 ID:???0


320(・肉・) :2008/05/07(水) 12:36:00 ID:???0
>>319
初心者なんでそんなのがあったなんて知らなかったけど
googleで探してみたら15分でみつかった

321(・肉・) :2008/05/09(金) 02:48:28 ID:???0
合成をXPで使うと何も問題ないのですが
Vistaで使うとプロセス0が見つかりませんというエラーが
時々発生するのですが原因わかる方いますでしょうか?

322(・肉・) :2008/05/09(金) 03:40:36 ID:???0
Vistaだからです

323(・肉・) :2008/05/10(土) 14:34:06 ID:TCykpgLI0
>>54
ヒント:言語の設定

324(・肉・) :2008/05/11(日) 03:53:51 ID:???0
Vistaなんか使ってるやつはモグリ

325元、生の肉 ◆jLRkg3KESA:2008/05/11(日) 10:21:40 ID:???0
>>321
VistaのPCが無いのでなんとも・・・
あったとしても、プログラム初心者なのでVista対応というのも出来ないと思います

326魚男 ◆jLYGz2fqi2:2008/05/12(月) 23:29:03 ID:???0
Windower-3.4のHelperで複数のインスタンスにキー送れるようになったんで、
複数立ち上げて複数でバックグランド釣りができるようになった。

もうちょっとテストしたらうpします。

327(・肉・) :2008/05/13(火) 15:55:20 ID:???0
合成、ありがたく使わせて貰っています。
要望なのですが、停止するまで繰り返し合成する機能をつけてもらえませんか。
宜しくお願いします。

328(・肉・) :2008/05/13(火) 17:17:27 ID:VDvHxYJYO
FishManありがたく使わせて貰ってます
少し気に入なることが…

例えば、西ロンフォの南の池で堀ブナ釣ると
FishManの窓にでてますが、そのあとサンド港で堀ブナ釣ると
窓に何もでないまま釣り上げています

dataフォルダの中のを編集?しないといけないのですか

329魚男 ◆jLYGz2fqi2:2008/05/13(火) 19:04:41 ID:???0
リストに追加されずに釣り上げているという状況でしょうか。
ちょっとこっちでも試してみます。

330魚男 ◆jLYGz2fqi2:2008/05/13(火) 20:09:35 ID:???0
直してうpしました。和6で。
ちなみにWindower-3.4以上でないと動きません。

あとFFACEのSetPIDで対象インスタンスを変更すると、
装備アイテムの取得ができないぽくてまだマルチインスタンスがちゃんと動きませんです。
調査中。

331(・肉・) :2008/05/14(水) 02:11:10 ID:VDvHxYJYO
Windower-3.4.インストールし、FishMan0.4起動出来ましたが
スタート押すと釣り開始と開始できにくい!
の繰り返しです

332魚男 ◆jLYGz2fqi2:2008/05/14(水) 05:01:06 ID:???0
メニューからインスタンス選択してみてください。

333魚男 ◆jLYGz2fqi2:2008/05/14(水) 05:14:54 ID:???0
あ、わかった。
keyboard_allowmmf 1
してないとか?
もしそうだとしたらinit.txtを編集してください。

334(・肉・) :2008/05/14(水) 17:12:40 ID:VDvHxYJYO
keyboard_allowmmf 1
にして釣り始まりました。
リスト追加の方もOKでした。

ありがとうございました。

335(・肉・) :2008/05/15(木) 12:09:20 ID:???0
リストにない魚を釣り上げた瞬間FishManが落ちてしまいます。
起動しなおした時にはリストに追加されていますが、
また新たにリストない魚を釣りあげ、FishManを起動すると
最初に追加された魚の名前でリストに追加されてしまいます。

魚Aを釣りあげ⇒FishMan落ちる⇒FishMan起動する(Aはリスト追加されている)
魚Bを釣りあげ⇒FishMan落ちる⇒FishMan起動する(魚Aの名前、魚BのIDでリスト追加されている)
魚Cを釣りあげ⇒FishMan落ちる⇒FishMan起動する(魚Aの名前、魚CのIDでリスト追加されている)

こんな感じ。説明下手ですいません。
FFACE、WH共に同梱のものを使用しています。

336魚男 ◆jLYGz2fqi2:2008/05/15(木) 13:15:39 ID:???0
追加するときの引数まちがってましたん。
なおしましたので確認してください。

337(・肉・) :2008/05/15(木) 18:02:01 ID:???0
FishManが落ちることなく正常にリスト追加されることを確認しました。
素早い対応ありがとうございました。

338(・肉・) :2008/05/19(月) 04:44:27 ID:rXtscfZQ0
現在ろだにあがっている魚男さんのソフトを試してみた所
自分も>>331さんと同じ症状になってしまい釣りが出来ません

init.txtを編集してみようと思ってもフォルダ内に見当たらないのですが
この場合はどうすれば動くようになるのでしょうか?

339338:2008/05/19(月) 05:11:55 ID:rXtscfZQ0
すみません、自己解決しました

340(・肉・) :2008/05/19(月) 11:27:50 ID:g1mqL3T60
GXのパスはずばりなんだよ?
ログにもないじゃねーかよ

341(・肉・) :2008/05/19(月) 14:03:09 ID:???0
知っているが、お前の態度がry

342(・肉・) :2008/05/19(月) 14:36:30 ID:???0
わかる人だけ使えれば良いって物だから諦めたら?
この手のツールのパスは誰かに教えてもらって知るものじゃないし
使いたいヤツが必死こいて自分で見つけ出すものだし

と言うほど難しいものでもないんだがな

343(・肉・) :2008/05/20(火) 01:59:48 ID:e.gUhnVk0
>>342
なんだよ
もともと、一部の人間が使ってたツールを公開してみんなも使っちまえって趣旨じゃないかったのかよ
くさってきてんじゃね?
ハゲオタガきもすぎんだよ
アートネーチャーのこうこくだしてんじゃねーよ カス

344(・肉・) :2008/05/20(火) 02:01:18 ID:e.gUhnVk0
もうどうせ知ってるとは思うが、スクエニに通報しといた
シネカス

345(・肉・) :2008/05/20(火) 02:06:17 ID:???0
通報しといたって久しぶりに見たな

346(・肉・) :2008/05/20(火) 02:24:39 ID:g1mqL3T60
>>345
もちろん通報が意味ないってのはわかっとる
でも、大多数が使用できない反則技だからな
しばらくしたら、いろんなサイトで騒いで見るわw
リンクはってな

347(・肉・) :2008/05/20(火) 02:57:42 ID:???0
この手のツールが出来て何年経ったと思ってるんだこの子達…

348(・肉・) :2008/05/20(火) 02:58:46 ID:???0
荒らしのレベルは何年経っても同じだな
ずっと続けるんだろうな この無意味な煽りを

349(・肉・) :2008/05/20(火) 03:02:06 ID:???0
落とせないからパス知りたくて必死なだけだろ

350(・肉・) :2008/05/20(火) 03:03:40 ID:???0
この程度のパスで落とせないなら
使い方もわかるわけないからなあ
質問スレになるのは困るから落とせなくていいな

351(・肉・) :2008/05/20(火) 03:04:49 ID:???0
>>349
これらが本気のレスだったらマジで頭悪いな
単なる煽りである事を祈る

352(・肉・) :2008/05/20(火) 05:56:10 ID:???0
質問スレになるのがウザいから、
過去ログを読まないとパスをわからないようにするんだよな?

面倒だから俺は調べてないけど>>340のいう通り、
ログになんのヒントも残ってないなら「分かんなきゃ使うな」ってのは乱暴じゃね?

353(・肉・) :2008/05/20(火) 06:28:54 ID:???0
すでに閉鎖されたところのだからなぁ、最近の人が見つけられないのもしかたないかも。
なんのゲームのためのツールかは、わかってるのかな?

354(・肉・) :2008/05/20(火) 09:31:49 ID:???0
FishManのv0410について質問。
魚を釣り上げた時に稀に別の魚としてカウントする事があるみたいです。

私は「選択した魚を釣り上げ」で堀ブナと金鯉釣ってるんですが、
格闘中...堀ブナ
釣り上げ成功 ゴールドカープ
のような感じで堀ブナ釣り上げたにも関わらず、
金鯉をカウントアップしてしまう事やその逆の現象が稀に起きます。

私のほかにも、こういう事象が発生している人はいますでしょうか?

355(・肉・) :2008/05/20(火) 11:40:19 ID:vL8iKIIg0
同じく稀によくなる。

356(・肉・) :2008/05/20(火) 11:59:11 ID:???0
>>353
ありがとう

357(・肉・) :2008/05/20(火) 13:06:06 ID:???0
>>354
前回釣った魚がカウントされやすいね。

ゴールドカープ>>>堀ブナ>>>堀ブナ
              ↑
        ゴールドカープとしてカウントされる

358<削除>:<削除>
<削除>

359(・肉・) :2008/05/20(火) 15:45:35 ID:10obEis20
ツール各方面で要望でてる、Vista対応ていうかUAC対応をFFGxでも希望します。

問題点=FF11起動後に管理者権限で立ち上げると(UAC切ってない限り)pol.exeが
      落ちる

簡単な解決方法=pol.exe前に起動可能にして、アドレス取得ルーチンをユーザの
      メニュー選択のタイミングで可能にしていただきたい


※なお、特殊な解決方法として:

ねこま→もともと、CTRL+f11トリガーでアドレス取得(歴史的にフルスクリーン対応だったため。特に
      Vista対応した訳ではない)
泥男→最近のVista対応要望を受け、先立ち上げに変更。アドレスは自動取得(pol.exeの起動を
      監視してると思われ)

あまり凝った作りにしなくとも、端的に「アドレス取得(再取得)」というメニュー追加でよいと
思いますので、ぜひぜひ

360魚男 ◆jLYGz2fqi2:2008/05/20(火) 18:16:50 ID:???0
>>357
どうやらログの読み取りでおかしくなってるようデスね。
見直してみます。

361(・肉・) :2008/05/21(水) 12:58:42 ID:???0
>>359
自分自身がVista使う予定がないのでテストができないので何分やる気が起こ
りません。DirectX10のポテンシャルが高いなら乗り換えたいですがね。

アドレス取得方法は、様々用意していると思うんですがそのどの方法でもだめ
ですか?(それと、メニューは廃止方向でと思っているのでどうしよう。)

362(・肉・) :2008/05/21(水) 13:01:49 ID:???0
>>361
"ので"が2回あって日本語がおかしい。

簡単な解決方法でいくなら起動して何かのキー押したタイミングで処理
する(アドレス取得処理)というのはどうですか?

363(・肉・) :2008/05/21(水) 13:03:56 ID:???0
>>315
そのうち時間とれたら追加してみます。

364(・肉・) :2008/05/22(木) 00:27:44 ID:???0
Gxについて教えてください。
最近2垢プレイを始め、1stPCで使用中のねこま,GXをそのまま2ndPCへコピーしました。
2ndPCで設定を完了し、Gxを起動。ここまでは問題ないのですが、いざKeyを投げてみると
処理落ちしてしまいます。
ワトソン博士に聞いたところ、c0000005のアクセス違反とのことなのですが、
原因わかる方いらっしゃいませんでしょうか?
KeyCodeのアサインがまずいのかな?

365(・肉・) :2008/05/22(木) 00:35:18 ID:???0
>>364
FFGxでログはどうなってますか?
logger.iniを開いて
filter=6ぐらいにしてログだしまくってみて。それでまずは分かるかと。

366(・肉・) :2008/05/22(木) 00:47:41 ID:???0
>>365
Log上は下記メッセージで終了してます。
KeyのGETはできてるようなのですが。
次の行の意味がわからんのです…。

yyyy/mm/dd hh:mm:dd:785 FFGx INFOMATION GetData:(Key名)
yyyy/mm/dd hh:mm:dd:785 FFGx INFOMATION ExecData() called. RetCode=(0)

367(・肉・) :2008/05/22(木) 12:59:26 ID:???0
データ実行メソッド(ExecData)で終わっているということは、FFXiFuncが
おかしいのでは?
添付しているreg(レジストリ登録)ファイルは実行していますか?

368魚男 ◆jLYGz2fqi2:2008/05/22(木) 15:22:49 ID:???0
>>354
これでなおるかわかりませんが、一応対策してみた 0.4.2 をうpしました。

369(・肉・) :2008/05/22(木) 21:17:33 ID:???0
魚のカウントは直ってましたが、餌の自動装備が動いてませんね

370魚男 ◆jLYGz2fqi2:2008/05/22(木) 23:41:37 ID:???0
餌切れ検出がおかしくなってたようです。
なおしたのをうpしました。

371(・肉・) :2008/05/23(金) 01:01:33 ID:???0
FishManですが、選択した魚を釣り上げるに設定していても
稀に選択以外の魚やMOBも釣ってしまうことがあります。

あと、ばらしや逃げられた時にFishManの動作が停止してしまう時と
何事もなく釣り始める時もあります。

どちらも発現条件が不明ですが、他にもこういうことが起こる方
いませんかね?

372魚男 ◆jLYGz2fqi2:2008/05/23(金) 01:26:59 ID:???0
選択してないのも釣り上げるのはちょっとすぐにはわからないですね。

ばらし、逃げられはテストとデバッグが足りてないのです。
小さすぎる、糸切れ、竿折れも実際に遭遇する環境でテストしてないので同様です。

モンスター判定は未実装になってます

373(・肉・) :2008/05/23(金) 04:04:58 ID:???0
魚によって複数のコードになったのかな?

場所:ウィン港
竿:太公望
魚:バストアブリーム
60匹釣って、09 C8 22で55匹、0B F0 22で5匹

374(・肉・) :2008/05/23(金) 07:54:47 ID:???0
FishManを使わせて頂いております、作者様いつもありがとうございます

選択した魚を釣り上げるに設定していても
未登録のものは釣り上げてしまいます。

375魚男 ◆jLYGz2fqi2:2008/05/23(金) 12:01:59 ID:???0
なんかデバッグコードいれたままリリースしてしまった気がする…。
早いうちに新しいのだします。

376(・肉・) :2008/05/23(金) 12:12:02 ID:???0
虫ダンゴを装備した状態で釣りをしたにも関わらず、
リトルワームを持っているとFishMan上でリトルワームを装備しているように表示されます。

>>374
未登録の魚がリストボックスに自動追加される時、
チェックが有効の状態で追加されるので、
釣り上げるのは仕様通りなんじゃないかしら?

377魚男 ◆jLYGz2fqi2:2008/05/23(金) 13:49:13 ID:???0
ひとまず0.4.5おいときました

うーん。「選択した魚のみ」の場合は未登録のは釣り上げないはずなんです。
「選択してない魚のみ」だと釣り上げてチェック有効状態で追加しますが。

ためしにデータベース消してやってみましたがちゃんとリリースししてます。

378(・肉・) :2008/05/24(土) 22:39:09 ID:???0
Lightにも対応してくれたらマイウなのに。。。orz

379(・肉・) :2008/05/27(火) 22:43:21 ID:D/4KbSr20
本家WindowerでNPC.exeとDeathTime.exe動いてる奴居る?
沼男ならうごくらしいという情報があるが、3.4だとだめみたいだ。

380(・肉・) :2008/05/27(火) 22:47:45 ID:???0
3.4で動いてるよ〜

381380:2008/05/27(火) 22:48:31 ID:???0
沼男で(´-∀-`;)

382(・肉・) :2008/05/27(火) 23:16:33 ID:???0
Σぬま

383(・肉・) :2008/05/27(火) 23:18:22 ID:???0
っていうか、これだったね、
        -‐-
  __ 〃       ヽ
  ヽ\ ノノノ)ヘ)、!〉
   (0_)リ (┃┃〈リ
    レVlト " lフ/  <はわわ〜
      l^ヾヽ!v‐'

384(・肉・) :2008/05/28(水) 00:19:43 ID:mqe0XItU0
マジかぁ。動かないのは俺だけか。
良ければiniさらしてくれないか。お礼はapbotでどうだ?

385(・肉・) :2008/05/28(水) 11:47:57 ID:QnWprW1Q0
>>384
動かし方の問題じゃねえの?
猫なんかと同じ動かし方すれば、アドレス取得できるんじゃね?

386(・肉・) :2008/05/28(水) 12:07:20 ID:???0
大方古いオフセットで起動してるんじゃなかろうか。

387(・肉・) :2008/05/28(水) 16:47:05 ID:???0
>>384
まず、ちみのINIをさらしたまい

388(・肉・) :2008/05/28(水) 19:21:12 ID:mqe0XItU0
おうすまねぇ。諸兄みてくれ。

[TITLE]
WindowName = FFXiApp
ClassName = 未使用

[OFFSET]
INITCODE =11E940
PCMAP =3D67A8
NPCMAP =3D5BA8
TARGETINFO =4C2A24
OWNPOSITION =3D38D0

389(・肉・) :2008/05/28(水) 20:14:54 ID:???0
>>388
オフセ違うような?
あと本家はFFXiAppじゃない

390(・肉・) :2008/05/28(水) 20:20:48 ID:???0
本家とか言う以前にいったいいつからオフセ変えてないのよw
ログ漁ってみたら1年ぐらい前のだぞw

391(・肉・) :2008/05/28(水) 20:21:29 ID:mqe0XItU0
マジかぁ。
改斬で動いてるから安心してたのがまずかったな・・・。

392(・肉・) :2008/05/28(水) 20:29:57 ID:???0
>>391
改斬で動いてるってことは、自動検索とかついてるのかな?
本家はWindowNameがキャラになるから
WindowName = FFXiApp
はだめだね
ClassName = FFXiClass
なら動くのかな?
exe自体がないのでわからんが。

393(・肉・) :2008/05/29(木) 09:50:53 ID:2JxqjCRo0
すごいシッタカのバカ発見↓

便利なツール・ソフトを教えれ Ver.8
ttp://yy10.kakiko.com/test/read.cgi/ff11/1200717588/611

611 名前:(・ω・)[sage] 投稿日:08/05/28 11:07:41 ID:bGCJR2gZ
俺の知っている避難所には今日の書き込みがあるんだが、
本気で知らなかったようだな

394(・肉・) :2008/05/29(木) 09:51:25 ID:2JxqjCRo0
ちなみに、元ネタ

焼肉2とかでは、半年くらい前からこれでとまってる
人いそうな場所で次々話題をふるしかないのが現状


501 :名無しさん:2007/07/14(土) 19:32:06 ID:???0
現状のツールだと.NET必須だったり、もうひとつかゆいところに届かないので
自分用に作ろうと思ったんだけど
FFXiFunc.dll
ffxihook_cmd.dll
ffxihook_log.dll
ここらあたりのドキュメントとかって配布してるところあります?


502 :名無しさん:2007/07/14(土) 23:15:15 ID:???0
ないんだよねぇ
俺もほしい。

395(・肉・) :2008/05/29(木) 10:24:39 ID:???0
何が言いたいのかよくわからない

396(・肉・) :2008/05/29(木) 16:17:14 ID:2JxqjCRo0
まああれだ。おそらく

> 319 名前:(・ω・) :05/12/20 20:11:18 ID:r79QwzhO
> ツール開発者向けのライブラリです。
> 以下の機能をVB.NETとVC++から利用できます。
> 
> ・テキストコマンドの実行
> ・任意の文字列をログとして表示
> ・マクロの実行
> 
> ttp://www.uploda.net/cgi/uploader4/index.php?dlpas_id=9787

このときの りどみー+サンプル だれかとってないか?
あるいは、コマンドフックのdllを読んでるサンプルコードないかだな。JK

397(・肉・) :2008/05/29(木) 20:20:57 ID:???0
もってるけどうpめんどい
サンプルはperlから呼んでるやつがまだどっかに転がってるんじゃないかな

bool Hook_Cmd(LPCSTR text, DWORD reason, DWORD message, LPVOID function, LPVOID object){
// text - コマンド文字列
// reason - 下位ワードに呼び出し理由(1=コマンドライン 2=マクロ)
// message - フックサーバからのメッセージ(フラグ形式)
// function - 本来の関数へのポインタ
// object - メッセージ受信時にFFXiMain.dllのモジュールベースアドレス

bool Hook_Log(LPCSTR text, DWORD attribute, DWORD message, LPVOID function, LPVOID object){
// text - ログ文字列
// attribute - 下位ワードにログの属性(TELL=0x0C等)
// message - フックサーバからのメッセージ(フラグ形式)
// function - 本来の関数へのポインタ
// object - 本来の関数へ渡すthisポインタ
// メッセージ受信時にはFFXiMain.dllのモジュールベースアドレス

398(・肉・) :2008/05/29(木) 20:52:23 ID:???0
>>397
わざわざテキストファイル開いてここにコピペして書き込む方が何倍もめんどいじゃねーかw

399(・肉・) :2008/05/30(金) 09:29:16 ID:H1p2ltWE0
>>397
スペシャル㌧くす!

暇なときでいいから、そのperlスクリプト(一部でいいです)もここに
貼ってくれるとうれしいです。

本当にありがとう!

400(・肉・) :2008/05/30(金) 09:32:32 ID:H1p2ltWE0
>>397
> サンプルはperlから呼んでるやつがまだどっかに転がってるんじゃないかな

あ、ひょっとしてログ拾い側ですか?
それなら過去にスニペットをやはり貼ってくれた方がいますので、参考に
しています。

bool Hook_Cmd(LPCSTR text, DWORD reason, DWORD message, LPVOID function, LPVOID object){
// message - フックサーバからのメッセージ(フラグ形式)
// function - 本来の関数へのポインタ

このあたりの使い方(実装サンプル)がみたいです。もしあれば、よろです。
ありがとうございます。

401(・肉・) :2008/05/30(金) 10:06:56 ID:H1p2ltWE0
もうすこしわかってること、とわかってないことについて絞りますね。
Log取得は(読むだけですからw)わりと簡単に実装できてます。

つまり、内蔵のFFXiHookLog_Interface()がIFFXiHooks*ポインタを返してくれるので

  IFFXiHooks* hoge = FFXiHookLog_Interface();

として、

  hoge->Get();

で、LPCSTR型の文字列(ログ情報)がかえってきて、あとは、適当に制御
文字列等を処理すればなんとかなります。

ここまではこれまでの、焼肉情報+作るスレ情報でわかってます。

402(・肉・) :2008/05/30(金) 10:09:31 ID:H1p2ltWE0
同様に、

  IFFXiHooks* hoge2 = FFXiHookCmd_Interface();

とすれば、コマンドフック側のインターフェースを取得することができると
思うのですが、コマンドとか、マクロをセットする関数とセットの仕方が
わからないのです。

文字列を渡すのか、何らかのフラグやコード番号が必要なのか等もさっぱり。


よろしくお願いします>情報おもちの方

403(・肉・) :2008/05/30(金) 10:48:06 ID:???0
同梱されてるサンプルはHookSample.dll・ClientSample.exeの2つ
>>397(と以下)はHookSample.dllの抜粋だけど、この関数自体の実装サンプルはなし
bool Hook_Cmd(LPCSTR text, DWORD reason, DWORD message, LPVOID function, LPVOID object){
if(ISMESSAGE(message))
{
if(message & FLAG_MSG_FFXILOAD)
g_lpFFXiMain = LPBYTE(object);
else g_lpFFXiMain = LPBYTE(NULL);

if(message & FLAG_MSG_REGCLIENT)
{
// クライアント登録直後に実行したい処理
}
}else{
// フックプロシージャとしての処理
// 処理が重くなる場合はスレッド使用のこと
MessageBox(NULL, _T("コマンドテスト"), _T(""), MB_OK);
}
return false; // trueを返すと本来の関数を呼び出さない
}

404(・肉・) :2008/05/30(金) 10:50:20 ID:???0
ClientSample.exeの方の抜粋
/*
HookSampleのテスト(アタッチ)
BOOL sample = InjectLibrary(hProcess, _T("HookSample.dll"));
*/

IFFXiHooks *lpCmdIntf = FFXiHookCmd_Interface(); // インターフェイスを作成
IFFXiHooks *lpLogIntf = FFXiHookLog_Interface();

lpCmdIntf->Open(); // 共有メモリを開く
lpLogIntf->Open();

if(lpCmdIntf->IsReady() && lpLogIntf->IsReady())
{
__int64 time = 0;
LPCTSTR lpszCmd = _T("");
LPCTSTR lpszLog = _T("");
wchar_t szBuffer[320] = {0};

std::_tcout.imbue(std::locale("japanese"));

std::_tcout << _T("/killで終了。") << std::endl;

while(_tcscmp(lpszCmd, _T("/kill")))
{
#ifdef UNICODE
lpszCmd = szBuffer;
if(lpCmdIntf->Get(szBuffer, _countof(szBuffer), time))
#else
if(lpszCmd = lpCmdIntf->Get(time))
#endif
{
TCHAR szTime[64];
_tctime_s(szTime, _countof(szTime), &time);
std::_tcout << /* szTime << */ "cmd: " << lpszCmd << std::endl;
}
else lpszCmd = _T("");

#ifdef UNICODE
lpszLog = szBuffer;
if(lpLogIntf->Get(szBuffer, _countof(szBuffer), time))
#else
if(lpszLog = lpLogIntf->Get(time))
#endif
{
TCHAR szTime[64];
_tctime_s(szTime, _countof(szTime), &time);
std::_tcout << /* szTime << */ "log: " << lpszLog << std::endl;
}
else lpszLog = _T("");

Sleep(10);
}
}

lpCmdIntf->Close(); // 共有メモリを閉じる
lpLogIntf->Close();

lpCmdIntf->Destroy(); // インターフェイスを解体
lpLogIntf->Destroy();

/*
HookSampleのテスト(デタッチ)
if(sample) UninjectLibrary(hProcess, _T("HookSample.dll"));
*/

405(・肉・) :2008/05/30(金) 10:55:29 ID:???0
作りかけのツールと同じディレクトリにこのサンプル放り込んでるもんだから
一気に圧縮してうpってわけにもいかなくて、こんなんですまんね
でもって明日から長期出張で、今時間取れないし帰ってこれるのは一ヵ月後なんだ・・
他にも持ってる人いると思うんで、そっちに期待しておくれ

406(・肉・) :2008/05/30(金) 10:58:34 ID:H1p2ltWE0
激しく㌧くす。一番知りたかった情報です。それにしても

  lpCmdIntf->Get(szBuffer, _countof(szBuffer), time))

Getメソッドの内部に文字列ぶち込みとは〜
これで何とかなりそうです。

本当にありがとうございました。

407(・肉・) :2008/05/30(金) 11:27:57 ID:H1p2ltWE0
いま読み込んでみましたが、これは、

  lpCmdIntf->Get(szBuffer, _countof(szBuffer), time))

もしくは

  lpszCmd = lpCmdIntf->Get(time);

(たぶん、 lpCmdIntf->Get() でも?)で、「ユーザが入力した内容」を
バッファに読み取っているとういサンプルのようですね。

そうすると、「プログラム内でこしらえた任意の文字列(多くはマクロコマンド)を
ff11に渡す」という機能は、

  ffxihook_cmd.dll
  ffxihook_log.dll

では提供されてない???のでしょうか。

408(・肉・) :2008/05/30(金) 11:57:39 ID:???0
どうだっけ?読み取りツールしか作ってないからぴんとこないわ
FFXIFuncがある以上、コマンド送信はそっちでやってんのかな
一応そっちもはっとこうか

/* インターフェイスの使い方 */
各機能はそれぞれ独立したインターフェイスによって提供されますが、
全てのインターフェイスは基本的にほぼ共通のメソッドを備えています。

1. まず最初に機能のインターフェイスを取得する必要があります。

CreateFnTextCommand()
CreateFnDrawLog()
CreateFnCallMacro()
CreateFnMergeItem()
CreateFnPlayMusic()
CreateFnPlayMusicFile()

の各関数を呼び出して必要な機能のインターフェイスポインタを取得してください。

2. 必要な作業領域をPOLのプロセス内に作成します。

取得済みのインターフェイスからEnter()メソッドを呼び出してください。
引数に渡すPlayOnlineのプロセスIDはGetPlayOnlinePid()で取得できます。

3. FFXiMain.dllがロードされているアドレスを調べます。

この操作はUpdate()メソッドを呼び出すだけで完了します。

4. オフセットの検索に必要な値をセットします。

Pattern()メソッドおよびAlpha()メソッドを呼び出して
バイナリパターンとアルファ値をセットしてください。
この操作を行わなかった場合、オフセットの検索には
FFXiFunc.dllがリリースされた時点で有効な値が使用されます。

* 検索したオフセットはインターフェイスが破棄されるまで有効です。

5. 必要な関数やthisポインタのアドレスを調べます。

Search()メソッドを呼び出してオフセットを検索してください。
引数には検索範囲をバイト単位(0x800000程度)で指定します。

6. Function()またはoperator()()メソッドで機能を実行します。

7. 使用後の後始末を行います。

機能が不要になったら、Leave()メソッドで作業領域を開放した後
Destruct()メソッドを呼び出してインターフェイスを破棄してください。

409(・肉・) :2008/05/30(金) 11:59:59 ID:???0
長いんでTextCommandの分だけ一部抜粋

Dim Command As UInteger
Command = CreateFnTextCommand()

If (Command) Then

'対象プロセスに作業領域を作成
If (FnTextCommandEnter(Command, Pid)) Then

'FFXiMain.dllのアドレスを取得
If (FnTextCommandUpdate(Command)) Then

'検索に使用するパターンを設定
'具体的な値はReadme.txt参照
'FFXiFuncのデフォルト値を使うなら不要
FnTextCommandPattern(Command, "")

'必要な関数を検索
If (FnTextCommandSearch(Command, &H800000)) Then

'半角240文字まで
FnTextCommand(Command, "/echo Hello World!")

End If
End If
'対象プロセスから作業領域を削除
FnTextCommandLeave(Command)
End If
'インターフェイスを破棄
FnTextCommandDestruct(Command)
End If

410(・肉・) :2008/05/30(金) 12:01:41 ID:???0
おまけでCallmacro
macro->Pattern("", "");
macro->Alpha(0, 0);

// 必要な関数とthisポインタを検索
if(macro->Search(0x800000, 0x800000))
{
// キー IFnCallMacro::CTRL
// IFnCallMacro::ALT
// 数字 IFnCallMacro::N1 〜 N9
macro->Function(IFnCallMacro::CTRL, IFnCallMacro::N1);
}

411(・肉・) :2008/05/30(金) 12:18:03 ID:???0
>>409

俺、下の二つしか使ってないけど2年位動いている・・・
Command = CreateFnTextCommand()
FnTextCommand(Command, "/echo Hello World!")

FFXiFunc.dllはあるけど、Readmeが見あたらないのはなぜだ。orz
とりあえずやりたい事は出来ているから良いけど。

412(・肉・) :2008/05/30(金) 12:22:29 ID:H1p2ltWE0
うわわああああ
超感謝です!

>>411

VBの場合、DLLのインジェクションとかもなしでいいのですか?


> FFXiFunc.dllはあるけど、Readmeが見あたらないのはなぜだ。or

ここまで情報出てくると、猛烈に読みたくなりました。
どなたか、当時のReadme.txt おもちでしたら、禿しくよろ〜!

413(・肉・) :2008/05/30(金) 12:29:58 ID:???0
readmeはたいしたこと書いてないのよ
サンプル見てねーっていうのがスタンスみたい
↓FuncのReadme
/* FF11ツール開発用ライブラリ 060610 */

外部ツールに以下の機能を提供します。

1. テキストコマンドの実行
2. 任意の文字列をログウィンドウに表示
3. マクロの実行
4. スタック可能なアイテムをまとめる
4. 曲番号によるBGMの再生
5. ファイル名によるBGMの再生

// パターン文字列 // --------------------

検索用のバイナリパターンを文字列で記述します。
使用できる文字は[0-9][a-f][A-F]と.(ドット)、スペース(いずれも半角)のみです。
.(ドット)は4bitのワイルドカードとして働きます。

// 現時点で有効なパターン // --------------------

TextCommand関数 = "............8B8C240804000053578D84240C02000068000200005033DB518B0D........"
DrawLog関数 = "81EC........5355568BF1578974241C80BE........01750FB001"
CallMacro関数 = "..........563C018BF175188A5C24108B4E040FBEC350E8........"
MergeItem関数 = "A1........85C074126A006A006A3AE8........83C40C85C07503"
PlayMusic関数 = "............85C974118B4424088B5424046A005052E8........C3"
PlayMusicFile関数 = "8B0D........A1........3BC1720681C1001000008B5424045683FA0774618D7020"
DrawLogのthisポインタ = "........50E8........8B44241059C390909090"
CallMacroのthisポインタ = "........85C97405E8........A1........8A480884C9740F8B0D........85C9"
PlayMusicFileのthisポインタ = "........6A006A006A006A005250556A07E8........"

// アルファ値 // --------------------

検索を開始する位置をFFXiMain.dll先頭からのオフセットで指定します。
thisポインタを検索する場合にはそれぞれ以下の値を指定する必要があります。

// 現時点で有効なアルファ値 // --------------------

DrawLog = 0x03 (3)
CallMacro = 0x0F (15)
PlayMusicFile = 0x09 (9)

414(・肉・) :2008/05/30(金) 12:30:56 ID:???0
↓hooksのりどみ
ffxihooks 1.00

ffxihook_cmd.dll 1.1.0.1
ffxihook_log.dll 1.1.1.3

コマンド及びログを取得するためのライブラリです。
FF11のプロセス内で動作するツールからは
コールバック関数(クライアント)を登録することで、
独立したプロセスで動作するツールからは
共有メモリ操作用のインターフェイスを使用することで、
簡単かつ確実に各データを取得することが出来ます。

利用法は添付のサンプルを見て下さい。

各DLLはmadCHook.dllを要求します。
ttp://www.madshi.net/から入手して下さい。

06.07.25 - クライアントのVUに対応
06.07.24 - 320文字を超えるログを切り捨てるよう修正
06.07.10 - バッファへの出力を強化
06.05.05 - マルチスレッドに対応
06.05.03 - 初回リリース

415(・肉・) :2008/05/30(金) 12:31:56 ID:???0
長々とコピペしまくってすまんね
ここまでにしとく

416(・肉・) :2008/05/30(金) 12:36:58 ID:H1p2ltWE0
>>415
いああ、感謝感謝です。よく理解できました。


>>411
VBの場合、


Private Declare Function methodA Lib "AAAAA.dll" ( _
 ByVal Line As Single, _
 ByVal size As System.UInt32, _
 ByVal ByteSize As System.Byte) As Integer


みたいな宣言部分があると思うのですが、それを教えていただけないでしょうか?
本文(コマンド部)は>>411の2行だけでよいというのはわかりましたが

417(・肉・) :2008/05/30(金) 12:47:05 ID:???0
411じゃないけど
Declare Ansi Function CreateFnTextCommand Lib "FFXiFunc.dll" () As IntPtr
Declare Ansi Function FnTextCommandEnter Lib "FFXiFunc.dll" (ByVal IntfPtr As IntPtr, ByVal ProcessId As UInt32) As Byte
Declare Ansi Sub FnTextCommandLeave Lib "FFXiFunc.dll" (ByVal IntfPtr As IntPtr)
Declare Ansi Function FnTextCommandUpdate Lib "FFXiFunc.dll" (ByVal IntfPtr As IntPtr) As Byte
Declare Ansi Function FnTextCommandPattern Lib "FFXiFunc.dll" (ByVal IntfPtr As IntPtr, ByVal FuncPtn As String) As Byte
Declare Ansi Sub FnTextCommandAlpha Lib "FFXiFunc.dll" (ByVal IntfPtr As IntPtr, ByVal FuncAlpha As UInt32)
Declare Ansi Function FnTextCommandSearch Lib "FFXiFunc.dll" (ByVal IntfPtr As IntPtr, ByVal FuncRange As UInt32) As Byte
Declare Ansi Sub FnTextCommandOffset Lib "FFXiFunc.dll" (ByVal IntfPtr As IntPtr, ByVal FuncOffs As UInt32)
Declare Ansi Function FnTextCommand Lib "FFXiFunc.dll" (ByVal IntfPtr As IntPtr, ByVal Text As String) As Byte
Declare Ansi Sub FnTextCommandDestruct Lib "FFXiFunc.dll" (ByVal IntfPtr As IntPtr)

418(・肉・) :2008/05/30(金) 12:49:12 ID:???0
>>416

あ、俺はFFXiFucを直接使って無くて、CでラップしたDLLをC#使っている
からVB.NETで直接使う宣言はわかないのよ。
まぁ、ラップDLLを使った理由は俺も宣言文か掛けなかったからなんだけど。
さすがに自分で作ったDLLの宣言位は書けたからね。

FFXiFunc.Create()
FFXiFunc.OffsetTextCommand()
FFXiFunc.TextCommand()

実際には最初にCreateしているから3関数は使うな・・・・

419(・肉・) :2008/05/30(金) 12:49:31 ID:H1p2ltWE0
>>417
感涙にむせんで言葉もでません。ありがとうございます
なんて親切な人ばかりなんだぁ。・゚・(ノД`)・゚・。ウエエェェン


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板