■掲示板に戻る■ 全部 1- 最新50


レス数が1000を超えています。残念ながら全部は表示しません。

便利なツール・ソフトを作るスレ Ver.8

1 :(・ω・) 6氷 ★ :07/02/02 20:35:56 ID:???
・FF11で使える便利なツールを作るスレです。
教えて、クレクレは以下へ
便利なツール・ソフトを教えれ Ver.6
http://yy10.kakiko.com/test/read.cgi/ff11/1170416001/
・FF11は外部ツールの使用が認められていません。
・使用は自己責任で!botの話題は避けましょう。

【お約束】
・作るスレであって他BBSの実況等はスレ違いです。
・荒らしは生暖かい目で見守ってあげましょう。
・荒らしへの反応は餌を与えるだけで同罪です。スルーしましょう。
・特定ツール、作者の誹謗中傷は禁止です。
・悪質な粘着・荒らしはアクセス禁止依頼を行う場合があります

【次スレは】
>>980が責任を持って立てるべし。
・立てる時は名前欄に「!774!force!sage!3」と書くと強制sage固定になります。
・スレの性質上ひっそりと生きていくべきなので、sage固定に!

前スレ
便利なツール・ソフトを作るスレ Ver.7
http://yy10.kakiko.com/test/read.cgi/ff11/1156767706/

600 :zaqdb73a34d.zaq.ne.jp:zaqdb73a34d.zaq.ne.jp
zaqdb73a34d.zaq.ne.jp

601 :236.135.148.210.dy.bbexcite.jp:236.135.148.210.dy.bbexcite.jp
236.135.148.210.dy.bbexcite.jp

602 :zaq7ac40575.zaq.ne.jp:zaq7ac40575.zaq.ne.jp
zaq7ac40575.zaq.ne.jp

603 :zaq7ac40575.zaq.ne.jp:zaq7ac40575.zaq.ne.jp
zaq7ac40575.zaq.ne.jp

604 :(・ω・):07/06/23 16:15:21 ID:DaClw9Xd
SSじゃなくて
pos使ったんだろ

605 :(・ω・):07/06/23 16:41:51 ID:B3Ky/mKE
【お約束】
・作るスレであって他BBSの実況等はスレ違いです。
・特定ツール、作者の誹謗中傷は禁止です。

606 :(・ω・):07/06/24 08:59:11 ID:cnaCuDCp
しかしこんなスレでキャラ名鯖名晒すというのはすごいもんだ。


607 :h219-110-14-160.catv02.itscom.jp:h219-110-14-160.catv02.itscom.jp
h219-110-14-160.catv02.itscom.jp

608 :zaq7ac40f2f.zaq.ne.jp:zaq7ac40f2f.zaq.ne.jp
zaq7ac40f2f.zaq.ne.jp

609 :(・ω・):07/06/25 09:18:25 ID:cQubM9NJ
一人二役だったんだろ?

610 :(・ω・):07/06/25 10:57:55 ID:nCR20bkD
うおw 容赦ねーなwww

だがそれがいい

611 :(・ω・):07/06/25 11:05:35 ID:IaCHsNtY
こう見ると一人が粘着してるのがよくわかるww
あと、>>607ちゃん会社晒されて涙目wwwww

612 :(・ω・):07/06/25 11:08:59 ID:rGW0dARn
これはもう言い訳できないなw
誰かレス内容まとめてくれ

613 :(・ω・):07/06/25 11:17:48 ID:YPQW5Hmz
【お約束】
・作るスレであって他BBSの実況等はスレ違いです。
・特定ツール、作者の誹謗中傷は禁止です。

614 :(・ω・):07/06/25 13:06:25 ID:UUvTmYYn
何があったんだこのスレ (;゜Д゜)

615 :(・ω・):07/06/25 13:50:42 ID:doY2GMFg
http://yy10.kakiko.com/test/read.cgi/ff11/1182065789/13-14

これ以上続けてアク禁になりたいひとはどうぞ

14 名前:(・ω・) 5鰤ん ★[] 投稿日:07/06/25(月) 10:45:15 ID:???
>>13
削除しましたー。
彼らには少し自重して貰いたいところ。

616 :(・ω・):07/06/27 11:31:06 ID:Hg05Gdvs
zaq〜はhige批判ばかりではなかったっぽいんだがそれでも全消しと晒しされたのだね


617 :(・ω・):07/07/01 14:49:29 ID:6W04JkY7
課金が切れちゃったんで中途半端な出来ですが公開。
ワラワラとあるmacro編集toolですが、バグ報告等くれると嬉しいです。

http://karimohu.com/uploader/src/nejitsu1556.zip

618 :(・ω・):07/07/01 17:00:11 ID:2oViX9h2
パソコンが物故割れた

619 :(・ω・):07/07/02 20:44:26 ID:oER69oeu
パソコンからかわいい女の子でてきたありがとう

620 :(・ω・):07/07/02 23:51:51 ID:omRK/nPF
おィ?そのパソコン井戸映って無いか?;

621 :(・ω・):07/07/03 04:54:49 ID:LAPEfynq
7日後に死ぬんですね

622 :(・ω・):07/07/04 01:52:54 ID:61HlUywU
>>496
ttp://tune.ache-bang.com/~vg/modules/up/img/3013.png

623 :(・ω・):07/07/04 23:03:17 ID:2JLrkA4v
>>623
ちょっwwwwwwwwwwwww

624 :(・ω・):07/07/05 11:08:36 ID:G4vtcUwh
>>623 ちょwwww

625 :(・ω・):07/07/05 12:10:05 ID:Ln0u3hRl
腹マイト???

626 :(・ω・):07/07/05 12:26:18 ID:DE3RbDPe
腹マイト の検索結果 約 47 件中 1 - 10 件目 ( 0.299 秒)

627 :(・ω・):07/07/05 19:25:05 ID:Kj8Z8G10
うへぇ(;´ρ`)

628 :(・ω・):07/07/06 02:52:03 ID:mT6eRMXe
http://kaedeps2.at.infoseek.co.jp/
ここにある「BGW,SPW用DirectShow Filter ver1.21 」を
実行したんだけどsound4だけメディアプレイヤーで聞けない。。

bgwファイルを普通のプレイヤーで聞く方法ない?


629 :(・ω・):07/07/06 03:32:55 ID:Ud1pktoG
>>629
スレ違いだと分からないか?
ここは教えれスレでなくて作るスレなんだが。

教えれスレの過去ログ読めばすぐ分かることだがまあ一応教えとくと、
XIACでATRAC3に対応しているのはVer1.30以降。
ちなみに最新Verは2.02

630 :(・ω・):07/07/06 06:32:27 ID:cEJTRR1g
>>629
>>629
>>629
>>629
>>629
>>629
>>629
>>629
>>629
>>629


631 :(・ω・):(・ω・)
(・ω・)

632 :(・ω・):07/07/07 10:47:14 ID:HsAWftiQ
631はウィルスサイトだったかな。アクセスしないように

633 :(・ω・):(・ω・)
(・ω・)

634 :(・ω・):07/07/07 12:01:55 ID:a51AoETf
支那畜は死ね

635 :(・ω・):07/07/07 14:25:37 ID:SAGTp57x
>>622
技名差し替えやりてぇなー


白魔のホイミが発動



やりてぇ〜〜!

636 :(・ω・):07/07/08 23:06:52 ID:Ncwx+SI1
どなたか教えて下さい。
メモリを参照して何かをするツールを作ろうと思ってるんですが、
FFXiMain.dllがロードされているアドレスを取得する方法がわかりません。

FFで使用しているメモリの値の取得は出来るようになったので、
ベースアドレスが自動で取得出来れば何かしら作れるようになるんですけども。

とりあえずアドレス決め打ちで機能だけ先に作ろうかと思ってるんですが、
もしわかる方いましたらヒントだけでも教えてくれませんでしょうか。


637 :(・ω・):07/07/09 00:03:25 ID:xnxUwx9I
>>636
言語は?

638 :(・ω・):07/07/09 00:32:45 ID:UcpJFpfx
CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS)
Process32First,Process32Next
CreateToolhelp32Snapshot(TH32CS_SNAPMODULE)
Module32First,Module32Next
MODULEENTRY32のmodBaseAddr


639 :636:07/07/09 08:27:58 ID:oAsJbnc7
>>638
おぉ、これズバリ答えですね。
今すぐは試せませんが、また夜に試してみます。

>>637
言語はC#で作ってます。
.NET Frameworkでは無さそうなのでwin32apiで探してました。

にしてもやはり知識が圧倒的に足りないですね。
本当にどうもありがとうございました。

640 :(・ω・):07/07/09 14:48:53 ID:MchQwFAL
アドレス取得だけならC#が楽

System.Diagnostics.Process.GetProcessesByName()
Process.Modules
ProcessModule.BaseAddress

メモリの値の取得はAPIしかないと思うけど

641 :636:07/07/10 17:34:21 ID:dGPmeImC
>>640
.NET Frameworkでも取得出来るんですね。
おかげさまでベースアドレスの取得が出来るようになりました。

サンプルで作ったHPとMPを取得するプログラムも問題無く動作。
次はFFで使われてるメモリの解析ですかねー。

さて、何を作ろう。

642 :(・ω・):07/07/11 03:45:02 ID:t+GBzqzH
そのサンプルソースクレクレ。
おれもなんか作ってやるぞ。


643 :(・ω・):07/07/11 04:13:13 ID:DqxZTkq8
俺もメモリ解析までやったけど、FF画面上に描画できる
知識なくて断念した。俺の情熱はそこまでだったさ

644 :(・ω・):07/07/11 07:11:29 ID:w8K1PScT
ログ保存系のツールが使えなくなったんだけど、
昨日のPOLのVerUPのせいかな?それとも私のPCだけおかしくなったのかな?

インストールフォルダが見つかりません、みたいなメッセージがでるようになるんだけど、
同様の症状の方はいらっしゃいませんか?

645 :(・ω・):07/07/11 09:51:27 ID:TMaTTFze
あなたのPCだけです


646 :(・ω・):07/07/11 11:06:24 ID:1bFSimCJ
>>644 ここはお前の来る場所じゃない

647 :(・ω・):07/07/11 11:45:48 ID:Oh0hmuix
>>642
ベースアドレス取得さえ自力で出来ない奴が、サンプルソースもらっても何もできないと思うがw

>>641
うさぎ並のをよろしく

648 :(・ω・):07/07/11 22:58:28 ID:m0q5UwYM
こういうのはきっかけが大事だと思うんで、誰かのきっかけになることを祈って。
http://karimohu.com/uploader/src/nejitsu1692.rar

 ※リアルにサンプルなんで、色んな意味でこのまま使ったらダメです。

>>643
FFのwindowへ表示するのはまた違う知識必要そですねー。
自分の場合、今後の生活かかってるんで情熱切れたらきっと自宅警備員。

>>647
ちなみにうさぎってどんな機能がついてるんですか?

649 :(・ω・):07/07/12 00:35:16 ID:o4/MU3fj
FFへの描画はWindowerHelperが一番簡単。日本語使えないが。
あとはFFDraw.DLLだな。


650 :(・ω・):07/07/15 11:12:39 ID:8eLhNOEQ
2007年7月14日 (土)
質問
Win版に関する質問で一番多いのは、Windowモードでプレイできるようにならないか?ということでした。
これまでXIは、DirectX8ベースで開発されていたため、Windowの最小化時などにメモリー管理の問題が
あったため実現できませんでしたが、これを実現させるため現在DirectX9にプログラムをすべて乗せかえる作業をしており、
「アルタナの神兵」のリリースタイミングごろに実装できるよう鋭意開発中です。
なお外部ツールでWindowモードを実現するものが出回っていますが、OSレベルでプロセスをいじっているため
大変危険なものがありますのでくれぐれもご使用なさいませんようお気をつけください。

だってw

651 :(・ω・):07/07/15 11:22:46 ID:ohtwri9r
>>648 dクス。非常に参考になりまつ

ReadProcessMemory(polHandle, baseAddress + 0x8a00ec, &hp, 4, null);
ReadProcessMemory(polHandle, baseAddress + 0x8a00f0, &mp, 4, null);
ReadProcessMemory(polHandle, baseAddress + 0x8a00f8, &hpRate, 1, &readByte);
ReadProcessMemory(polHandle, baseAddress + 0x3cf158, &maxHp, 4, null);
ReadProcessMemory(polHandle, baseAddress + 0x3cf15c, &maxMp, 4, null);
ReadProcessMemory(polHandle, baseAddress + 0x8a00f9, &mpRate, 1, &readByte);

このあたりのメモリーマップを解析したものってあるんでしょうか?
ねこまが開発に着手したころ、見かけたのですが、既にリンク切れだし、
あの当時とはだいぶ変わってるだろうし。

「ふぉ」の表もファイル解析だけみたいだし

652 :(・ω・):07/07/15 11:42:52 ID:ohtwri9r
すまん。アゲてしまったorz

ついでに、上で引用した「表」というのは、作るスレ(part1)の271番:

271 名前:(・ω・) :05/01/27 07:03:31 ID:4Iso4nn9
> アドレス一覧の一部をまたUpしときました。
> MP,HP,TP,EXPなんかを取得するツールを作る人の役に立てば幸いです。
> 他にもまだまだあるので検証が済み次第Up予定です。
> tp://haiiro.info/up2/file/3449.zip パスは前回と同じです。

これ質問してた人が、たぶん、ねこま作者で、この後、ねこまのデキが
非常に良いので解析して自分で書く人が激減したような・・・

653 :(・ω・):07/07/15 22:55:46 ID:8+4jC8N6
泥男って開発終わっちゃったんだっけ?
PCすり抜け機能だけでいいから誰か作ってくんないかなぁ。

654 :(・ω・):07/07/16 15:21:11 ID:ujr8hkz8
chime作者さん
何としても、chime使いたいのですが
肝心の本体がありません…

残っているものでしたら何でも構いませんので
うpしていただけませんでしょうか?

655 :(・ω・):07/07/16 18:50:44 ID:bYDUyUtf
>>653
したらばで泥検索すれば幸せ

656 :(・ω・):07/07/16 22:33:27 ID:H8U8sEN5
>>651
各ツール作者は解析してるだろうけど、公開してないと思う。

657 :(・ω・):07/07/16 22:35:12 ID:zgt2ZmEl
リアルタイムでログの取得が出来るようになりました。
FFreploの動きを見てたんですが、これも/?で大量のログを流すとログ飛ぶんですね。
このコマンドだけ例外といえば例外なんですけども。

>>651
その辺りのメモリはわかりやすいから自分で探した方が良いと思う。
メモリの値を変更すると画面に即反映するから、型まですぐわかるはず。

大まかにはこんな感じ
 最大HP&MP
 ジョブLv関係
 ステータス関係
 プロフィール関係
 戦闘スキル関係
 魔法スキル関係
 合成スキル関係
 よく分からず、多分アビ関係
 メリポ関係

658 :(・ω・):07/07/16 23:22:43 ID:GTNDQ37u
誰かがchimeの設定ファイル(iniなのかな?)をアップしてくれたら
それにコンパチの代替品をわしが作ろう

659 :658:07/07/17 19:45:29 ID:I9Pg+ffV
Gxもあるし需要ないかぁ
やっぱり無くなって困ったCASTの機能奪われた分を補充するものでも作るとするかな
名前は・・・LOSTでいっかw

660 :(・ω・):07/07/17 20:50:02 ID:SccAwQr5
>>659 CASTの機能奪われた分ってbot機能のこと?

661 :658:07/07/17 20:52:18 ID:I9Pg+ffV
>>660
いやいやいやww
botも可能になるかもしれない機能でwww

662 :(・ω・):07/07/18 03:35:04 ID:vPDxqBPi
それ出来たらソースも公開してくれっww頼むw

663 :(・ω・):07/07/18 09:45:15 ID:qu42I6c/
>>650
新兵と同時にゲームガード対応とかされたら、多くのツールが終わるな。

というか、DirectX9対応版のリリースと同時に、古いPCで動かなくなったり
頻繁に異常終了したりって結果が出るのは決定的に明らかなのが怖いところ

664 :(・ω・):07/07/18 09:57:16 ID:gts9Oy1A
>>663
安心しるw
http://ff11creatersvoice.cocolog-nifty.com/fanfes/2007/07/post_1aa3.html
>※当初DirectX9への移行予定とお知らせいたしましたが、
>DirectX8.1のまま、Windowモードへの対応を行う方向で開
>発中です。お詫びして訂正いたします。

665 :(・ω・):07/07/18 10:38:07 ID:qJMwGuvG
>>657
> その辺りのメモリはわかりやすいから自分で探した方が良いと思う。
> メモリの値を変更すると画面に即反映するから、型まですぐわかるはず。

なるほど〜。だな〜
逆に漏れから
> リアルタイムでログの取得が出来るようになりました。
> FFreploの動きを見てたんですが、

これは、ffxihook_log.dll(ねこまとかにも同梱されてる)
使えば簡単だお?

使い方



666 :(・ω・):07/07/18 10:43:10 ID:qJMwGuvG
本来は、pol.exeのプロセスIDとって、DLLをインジェクション
しなくてはならないんだけど、それはねこまとかがやって
くれるので便乗しちゃった方が早いw

でもって、
IFFXiHooks* loghook = FFXiHookLog_Interface();
として
loghook->Open();
で準備完了。この戻り値がboolなので慎重にやるならここで
エラーチェックできる。

でもって、
loghook->Get();
でログを返してくれる。型は LPCSTR

IFFXiHooks*などの定義の入った、ffxihook_log.hは、ググれば
あると思うけど↓

667 :(・ω・):07/07/18 10:44:11 ID:qJMwGuvG
<ffxihook_log.hの内容>

#pragma once

#ifdef FFXIHOOKS_EXPORTS
#define DLLEXPORT(type) __declspec(dllexport) type __stdcall
#else
#define DLLEXPORT(type) __declspec(dllimport) type __stdcall
#endif

DLLEXPORT(bool) FFXiHookLog_Inject(DWORD pid);
DLLEXPORT(bool) FFXiHookLog_Eject(DWORD pid);
DLLEXPORT(bool) FFXiHookLog_RegClient(LPF_CLIENTPROC client);
DLLEXPORT(void) FFXiHookLog_UnregClient(LPF_CLIENTPROC client);
DLLEXPORT(IFFXiHooks*) FFXiHookLog_Interface(void);

typedef bool (__stdcall *LPF_SERVER_LOG)(LPVOID, LPCSTR, BYTE, DWORD, DWORD);

668 :(・ω・):07/07/18 10:47:03 ID:qJMwGuvG
<IFFXiHooksクラスの定義、な>

#pragma once

class IFFXiHooks
{
public:
IFFXiHooks(void) {}
virtual ~IFFXiHooks(void) {}
virtual void Destroy(void) = 0;

virtual bool Open(void) = 0;
virtual void Close(void) = 0;
virtual bool IsReady(void) = 0;

virtual bool Sync(void) = 0;
virtual bool NumOfLines(DWORD &rNumOfLines) = 0;
virtual bool NextLine(DWORD &rNextLine) = 0;
virtual bool Generation(DWORD &rGeneration) = 0;
virtual bool Header(DWORD &rNumOfLines, DWORD &rNextLine, DWORD &rGeneration) = 0;

virtual LPCSTR Get(void) = 0;
virtual LPCSTR Get(__int64 &rTime) = 0;
virtual LPCSTR Get(BYTE &rAttribute) = 0;
virtual LPCSTR Get(__int64 &rTime, BYTE &rAttribute) = 0;

virtual int Get(LPWSTR lpBuffer, int size) = 0;
virtual int Get(LPWSTR lpBuffer, int size, __int64 &rTime) = 0;
virtual int Get(LPWSTR lpBuffer, int size, BYTE &rAttribute) = 0;
virtual int Get(LPWSTR lpBuffer, int size, __int64 &rTime, BYTE &rAttribute) = 0;

virtual LPCSTR Get(size_t index) = 0;
virtual LPCSTR Get(size_t index, __int64 &rTime) = 0;
virtual LPCSTR Get(size_t index, BYTE &rAttribute) = 0;
virtual LPCSTR Get(size_t index, __int64 &rTime, BYTE &rAttribute) = 0;

virtual int Get(size_t index, LPWSTR lpBuffer, int size) = 0;
virtual int Get(size_t index, LPWSTR lpBuffer, int size, __int64 &rTime) = 0;
virtual int Get(size_t index, LPWSTR lpBuffer, int size, BYTE &rAttribute) = 0;
virtual int Get(size_t index, LPWSTR lpBuffer, int size, __int64 &rTime, BYTE &rAttribute) = 0;
};

669 :653:07/07/18 23:22:15 ID:oqHMlUzF
>>655
ありがとにゃ〜

670 :(・ω・):07/07/19 22:15:53 ID:69DnXTqU
classが返る関数ってVBからじゃ呼べないよね?
ラッパー作るしかないんだろうか

671 :(・ω・):07/07/20 22:08:03 ID:ueYX5uKW
正攻法で行くなら、ラッパーかますのが正しかったと思う。


672 :(・ω・):07/07/20 23:25:09 ID:j+DR13Kr
>>670
うむ。ただしVB用のラッパーは見たこと無いので新規開発かと。

perl用のラッパーはググればみつかると思う。ただし、なんかプログラム
が幼稚というか何というかw

673 :(・ω・):07/07/20 23:26:17 ID:j+DR13Kr
per用のラッパー関数のソース(いかにもいい加減。おそらく
作者はポインタ概念を理解してないと思われるw)


char * IFFXiHooks_MBGet(IFFXiHooks* self){
char *retval = NULL;
assert( self != NULL );
/* printf("IFFXiHooks_MBGet();\n"); */
if( self != NULL ){
LPCSTR tmp = self->Get();;
if( tmp != NULL ){
retval = _strdup( tmp );
// TODO; このstrdup されたretval はどうなっちゃうんだろうね。
}
}
return retval;
}


674 :(・ω・):07/07/20 23:27:07 ID:j+DR13Kr
*.XSファイルはこんな感じ。。。

int
Open( self )
IFFXiHooks* self
CODE:
RETVAL = IFFXiHooks_Open( self );
OUTPUT:
RETVAL

int
Close( self )
IFFXiHooks* self
CODE:
RETVAL = IFFXiHooks_Close( self );
OUTPUT:
RETVAL

int
IsReady( self )
IFFXiHooks* self
CODE:
RETVAL = IFFXiHooks_IsReady( self );
OUTPUT:
RETVAL

int
Sync(self)
IFFXiHooks* self
CODE:
RETVAL = IFFXiHooks_Sync( self );
OUTPUT:
RETVAL


char*
MBGet( self )
IFFXiHooks* self
CODE:
RETVAL = IFFXiHooks_MBGet( self );
OUTPUT:
RETVAL



675 :(・ω・):07/07/20 23:29:11 ID:j+DR13Kr
同梱されてた、テストスクリプト(perl)
長いので分割

#!/usr/bin/perl -w
use strict;
use FfxiHook::Util;
use IO::File;

# pol.exeのPIDを取得する
my $pol_pid = FfxiHook::Util::GetFFXiPid();
printf "pol.exe find Pid[%d]\n", $pol_pid;; exit;##Oz Debug
if( $pol_pid != 0 ){
printf "pol.exe find Pid[%d]\n", $pol_pid;
FfxiHook::Util::util_set_debug_flag(0);
# Inject Library
# 第一引数はdll名、ここでは、DLL名だけを与えているが
# この場合には c:\perl\bin\perl.exe から実行ファイル名を取り除いた
# c:\perl\bin\ に "ffxihook_{log,cmd}.dll" が付け加えられて
# LoadLibrary が行われる。
# 第二引数は、pol.exeのPID
if( FfxiHook::Util::InjectLibrary("ffxihook_log.dll", $pol_pid ) == 1 ){
printf( "ffxihook_log.dll inject success\n");
}
if( FfxiHook::Util::InjectLibrary("ffxihook_cmd.dll", $pol_pid ) == 1 ){
printf( "ffxihook_cmd.dll inject success\n");
}

# それぞれHookInterfaceを取得する
my $loghook = FfxiHook::Util::GetHookLogInterface();


676 :(・ω・):07/07/20 23:31:10 ID:j+DR13Kr
(その2)
my $cmdhook = FfxiHook::Util::GetHookCmdInterface();
printf "loghook_interface = %s\n", ref($loghook);
printf "cmdhook_interface = %s\n", ref($cmdhook);
# 共有メモリを開く
if( $loghook->Open() ==0 ){
print "Loghook open failed\n";
}
if( $cmdhook->Open() == 0 ){
print "Cmdhook open faeild\n";
}
if( $loghook->IsReady() == 1 && $cmdhook->IsReady() == 1 ){
print "Get ready\n";
my $cont_flag = 1; #処理継続フラグ
my $logfh = IO::File->new("log.txt","w");
do{
my $l = $loghook->MBGet();
if( defined( $l ) ){
$l =~ s/\x1f\x79//go;
$l =~ s/\x1e\x02/\[/go; #アイテムの色変え始まり
$l =~ s/\x1e\x01/\]/go; #アイテムの色変え終わり
$l =~ s/\x07/\n\t/go; # ログ中の改行コードらしい
$l =~ s/\xef\x27/\(/go; #タブ変換始まり
$l =~ s/\xef\x28/\)/go; #タブ変換終了
$logfh->print( $l , "\n") ;
#print $l,"\n";
}else{
if( $cmdhook->IsReady() == 1 ){
my $cmd = $cmdhook->MBGet();


677 :(・ω・):07/07/20 23:31:23 ID:j+DR13Kr
(その3)
if( defined( $cmd ) ){
if( $cmd eq "/kill" ){
# /kill が送られてきたときには終了
printf("\a");
$cont_flag = 0 ;
}else{
printf("cmd: %s\n" , $cmd );
}
}else{
sleep(1);
}
}else{
sleep(1);
}
}
}while( $cont_flag );
$logfh->close();
undef $logfh;
}else{
if( $cmdhook->IsReady() == 0){
print "cmdhook たんがっ! ";
}
print "(・ω・)\n";
}
$loghook->Close(); #共有メモリを閉じる
$cmdhook->Close();
undef $loghook; # インターフェースの解体
undef $cmdhook;
FfxiHook::Util::FFXiHookLog_Eject($pol_pid);
FfxiHook::Util::FFXiHookCmd_Eject($pol_pid);
}else{
print "cannot find pol.exe\n";
}


678 :(・ω・):07/07/21 00:05:05 ID:dFqjCWu/
何故XSのソースを張るのか分からんが。
張るなら、util.cpp とutil.h 張れよw

679 :(・ω・):07/07/21 06:05:46 ID:xVeivKOD
ここにソース書くならZipのがいんじゃね?w


680 :671:07/07/21 09:10:56 ID:0xAfvtzx
おぉどうもありがとう。サンプルまで。
FFXiFuncはvb用のインタフェイス提供されてるけど
FFXiHooksは提供されてないってことは
そこまで敷居を下げたらまずいっていう作者の判断だったのかもしれんね
地味にゴリゴリ書こうと思います

681 :(・ω・):07/07/21 09:38:20 ID:GI+FxOVO
>>678
XS見ないと、perlサンプル中の独自関数との対応関係がわからんだろーが?w
670氏がVBインターフェース作るときの参考に。。。

682 :(・ω・):07/07/21 09:39:55 ID:dFqjCWu/
util.xsは

SV*
MBGet( self )
IFFXiHooks* self
PREINIT:
CODE:
{
char *buf = IFFXiHooks_MBGet( self );
if( buf == NULL ){
XSRETURN_UNDEF;
}else{
/* bufの内容をコピーした新しいスカラー値 */
RETVAL = newSVpv(buf , 0);
/* アロケータは混ぜるな危険 */
IFFXiHooks_MBFree(buf);
}
}
OUTPUT:
RETVAL

に。util.cpp のほうは
/** 最もシンプルなバージョン */
char * IFFXiHooks_MBGet(IFFXiHooks* self){
char *retval = NULL;
assert( self != NULL );
/* printf("IFFXiHooks_MBGet();\n"); */
if( self != NULL ){
LPCSTR tmp = self->Get();
if( tmp != NULL ){
retval = _strdup( tmp );
// TODO; このstrdup されたretval はどうなっちゃうんだろうね。
}
}
return retval;
}

void IFFXiHooks_MBFree( char* text ){
if( text != NULL ){
free( text );
}
return;
}
にして、ヘッダ適当にいじってくださいまし。正直そこのXSのスカラ値で返すのがわからんかった。

683 :(・ω・):07/07/21 09:40:16 ID:GI+FxOVO
>>680
> FFXiFuncはvb用のインタフェイス提供されてるけど

kwsk!
(FFXiFunc についてはよく知らないw)


684 :(・ω・):07/07/21 10:05:07 ID:dFqjCWu/
>>683
FFXiFunc.vbが同梱されてるんだよ。
当時のことはよく覚えがないけど、FFXiFuncは、VB.netで開発してた人がいたからあったんじゃなかったかなぁ。
特に、なんか判断があったからとかじゃなくて、使ってる人がいたからだったと思う。


685 :(・ω・):07/07/21 13:41:10 ID:pXg2u7AS
そもそm

686 :(・ω・):07/07/21 13:42:17 ID:pXg2u7AS
そもそも、FFXiFunc ってどんな機能なの?
ffxihook.dll みたいにログとかコマンドをフックするDLL?

687 :(・ω・):07/07/21 14:08:56 ID:TO/ptMmd
過去スレでひたすら語り尽くされてるだろ・・・
そんなことをいちいち説明させんなよ

688 :(・ω・):07/07/21 23:17:29 ID:wD4+iW0I
>>648
頂きました。ありがとうございます。現在Cの勉強中なので参考にさせていただきます。
質問なのですが、ベースアドレスでキャラの位置情報なども取得できますか?
自動移動機能付きのPosなんかをつくりたいなあと思っております。

689 :(・ω・):07/07/22 13:22:33 ID:64CCHtvs
>>688
キャラの位置情報も多分取得出来るはず、メモリ覗いてるとそれっぽい領域あるから。
ただ、その領域へのポインタと領域内の値の解析は自分は全く調べてないんで、
頑張って調べてみて下さい。結果を公開してくれると私はとても嬉しいww

>>665
あらー、そんなdllがあったんですねぇ。
わざわざ説明までありがとう、参考になります。

ただ、自分の場合勉強するのが一番の目的なので結局自分で作っちゃうんだけども。
自分の興味のある事だと勉強もめっさ楽しいですやねー。

690 :(・ω・):07/07/22 19:09:30 ID:dRL1JSVQ
自分のキャラ名・(MAX)HP・(MAX)MP・位置情報あたりはポインタ一緒でオフセットが若干違うだけじゃなかったっけ?
ACtoolでデータ収得用のスクリプト見たときはその辺はまとまってたと思う。

691 :(・ω・):07/07/23 11:03:58 ID:Hmu3YszO
>>688
>ベースアドレスでキャラの位置情報なども取得できますか?

こう書いている時点で開発能力が疑われる気がするんだが・・・
ベースアドレスの意味わかってるか?

692 :(・ω・):07/07/23 12:11:22 ID:X0+9FM+1
最初の質問の時点で開発能力は分かり切ってると思うけど。

その程度で自動移動のpos?作るとかwww
キャラ情報読み取るだけとコードハックしていろいろやるのではレベルが違うのも判ってないんだろうけど。

693 :(・ω・):07/07/23 20:43:28 ID:m6XIg61/
>>692
> その程度で自動移動のpos?作るとかwww

おいおい。自動走行なんてそんなに難しくないぞ。もちろん、座標
データを作るのが手間だが。。。

1.INITCODEで、鯖からクライアントメモリを上書きするルーチンを
 NOPで潰す

2.座標データから次の行き先を拾う。

3.自分の位置座標に書き込む。

4.一定時間待つ。動かなければつっかかってるので(笑)、Yを
 −2メートルする(浮遊する)。

5.ループして2に戻る。

6.最後にエリチェンなら、とりあえずログオフ?(オプション)

こんなもんだろ?スキルなんかほとんどいらないw

694 :(・ω・):07/07/23 20:48:17 ID:m6XIg61/
>>688
ff11の常識として、位置は、全部float型(4バイト)で、常識的
にいうところの、{ x座標、z座標(高さ)、y座標、向き} の順。

ただ、ff11だと、この順番で、XYZRとして、「Yは高さ(しかも
マイナスが上!)」としてしまう慣習あり(pos.exeもそうじゃなかっ
たっけ?)

向きは、東をゼロとするラジアン、+3.14が西でその半分が北、
-3.14も西で、その半分が南。

これだけわかってれば、ぐるぐる回りながら(笑)メモリをfloat
でヲチすればみつかるべ?

695 :(・ω・):07/07/23 20:51:31 ID:m6XIg61/
あと、おまいは(次の段階で)タゲの座標がほしくなると予測され
る(笑)ので、過去スレから
※オフセット数値は2年前なので全く使えない。解析手順だけ学ん
 でくり!

> アドレスリストの方に注釈を書き忘れましたが、
> ターゲットオフセット2は何かをターゲットしているとき「のみ」値が出ます。
> ターゲットしてない状態でサーチをしているのでは?
>
> ターゲットオフセット[ModuleBaseAddress+※0x61B218]
> ターゲットオフセット2[(ターゲットオフセットの値+0x48)]
> 後の位置情報は変わっていません、X座標、Z座標、Y座標、向きの順です。
> アドレスのサーチ方法は以前書いた方法で探せると思います
> 自分でサーチをしてそのアドレスが正しいものかを検証してください。
> オフセット関連はデバッグモードを作ってオフセットの値等を表示させ、
> リアルタイムで確認することをお勧めします。


> ツールで見つけたアドレス※+0x00615698 、+0x14でタゲってる名前が取得できる、
> 確かこの辺りにいわゆる識別コードとか言ってる奴が格納されてたはず。
> +0x60で敵のHP(パーセンテージ 役立たず)
> +0x48hからの値をそのままアドレスになおして移動汁
> 上の値から+0x24でタゲのX座標、4づつ足していくとZ,Yもそれぞれ取得可能
> 自キャラの座標と高卒程度の数学の知識があれば簡単に敵との距離が測れる
> FFはXZYの順に座標の値が並んでるので注意、あと東が0度だから、そのあたりも注意

696 :(・ω・):07/07/23 20:53:34 ID:m6XIg61/
ああ、そうだ、argus.ini のオフセットが参考になる・・・はず・・・

[OFFSET]
INITCODE =11C3F0
PCMAP =3CDC30
NPCMAP =3CD030
TARGETINFO =4B9E4C
OWNPOSITION =3CAD68

だけど確かこれ↑って、NPCからの差分とったりしてなかってっけ?

てか、このあたり「ヒント」に自分で検証してくり!
健闘を祈る!


697 :(・ω・):07/07/23 21:40:52 ID:X0+9FM+1
あんまりここでやるのはよろしくないから
そういう話はこっちに行ってやりなさいな。

空気読まずどこでもそういう話をするのは良くない。

ttp://jbbs.livedoor.jp/computer/36625/

698 :(・ω・):07/07/23 22:23:53 ID:xdBVZD/i
>>693-696
688じゃないけどもこの情報見て自分で探してみました。
おかげでようやくキャラの座標の構造を理解、ありがとうございます。

>>697
素で分かってなくて申し訳ないんだけども、
ここって何の話題は良くて、何の話題がダメなんでしょ?
具体的な線引きがイマイチよくわからず、、


699 :(・ω・):07/07/24 00:14:52 ID:TaqzdIsy
>>698
具体的な線引きは無いけど、ツールを扱っている掲示板やスレが複数あるから、

・ツールの専板があればそっちへ
・botやワープ、自動移動など他人から通報されるとBANされるような物は、
 それらを使って喜んでいる人がいるところがあるからそっちへ

どちらにも当てはまらなかったら、好きなところでやればいいんじゃないかと思うよ。
botとか明らかに嫌悪されるものをわざわざ人目の多い壺板でやることもないでしょう。
中にはbot系を広めて一蓮托生を狙ってる人もいるようだけどw

700 :(・ω・):07/07/24 09:55:30 ID:fsYvcNrx
>>698
>>1をよく読めと

・FF11は外部ツールの使用が認められていません。
・使用は自己責任で!botの話題は避けましょう。

自動移動機能や座標の話題はBOTやチート(本来行けない場所へ行くとか)を考えてると
思われるのは自然の流れ。


275 KB [ 2ちゃんねるが使っている 完全帯域保証 レンタルサーバー ]

掲示板に戻る 全部 前100 次100 最新50