562レス(12/12)
1:
Windower JP Forums2008/10/14(火) 17:40:44
Windower HelperやFFACEを用いたWindower用外部プログラムの話題を扱うスレです
板トップのアップローダーは自由に使ってください
プログラム単体のスレ立て申請は本スレまでお願いします
513:
名無しのWindower使い[sage] 2011/05/14(土) 18:35:32 bVmLoKDg(1/2)
//rcmnopで コマンドリセットしてると思ったので
/console rcmnop にしてみたんだが
なんか サーバ側からのコマンドが最後のコマンド繰り返してるんだ・・・

/console rcm nop ?になるのかな
いまさらながら メイン部分を理解できていなかった orz
514:
名無しのWindower使い[sage] 2011/05/14(土) 19:05:37 37Vf2M6w
rcmnopは、RCMのWindowerコンソール監視スレッドが、
rcmキーワードではじまる字句をチェックし、これを読み取ったときに
当該スレッドがWindowerコンソールに対して書き込むようになっている。

上記処理は、Windowerコンソール監視スレッドが1度入力されたコマンドを
永久に読み続けることがないように考えて実装されていると理解している。
# 本当は、これでも完全ではなくHelperがリングバッファを持って、入力文字を
# プールする仕組みがあればいいことなのだけどね。

だからrcmユーザ側でrcmnopを記述する必要は全くないと思っていたのだけど
違うのかな?
ユーザ側で考慮すべきことは、rcmに読み取って欲しい複数のコマンド列に
適度のwaitを入れて調整することだと思っていたのだが、詳しい人よろしくです。
自分は、rcmを参考にして、いろいろと作り替えたもを使っているので
rcmを使い込んでいないのです。
515:
名無しのWindower使い[sage] 2011/05/14(土) 22:23:38 bVmLoKDg(2/2)
513です。
戻したら正常に動いた・・・ まだまだ勉強しないと・・・
//rcmnop 計り知れない強さです。
516(1):
名無しのWindower使い[sage] 2011/05/29(日) 19:02:23 1cngLzBk
Windows7に変えたらRCMがHRESULTからのエラーを吐いて落ちるのでDualsendを使おうと思ったんですがローカルに送るコマンドの書式がわかりません
pokotanという名前のキャラにtestのエコーを送りたいときのコマンドはこれでいいんでしょうか
/console send 192.168.0.3 pokotan /echo test
517:
名無しのWindower使い2011/05/30(月) 08:04:14 ytb/mevA
>>516
DualSend.iniの network_enabled が1なら
/console send ローカルPCのIP キャラ名 コマンド
network_enabled が0なら
/console send キャラ名 コマンド

network_enabledはLAN上の別のPCにコマンドを送る為に有効にするオプション
1=有効
0=無効
つまり1PCで多重起動する時にはこれを0にして
/console send キャラ名 コマンド
でいい
518:
名無しのWindower使い[sage] 2011/07/02(土) 22:57:40 AME.V/Wg(1/2)
昔使ってたRCM。
主な機能はメイン垢のサブターゲットを使ってサブ垢にアクションさせること。
このままだと動かないです。中見てわかる人むけ。
http://ux.getuploader.com/WindowerUploader/download/25/RCM.zip

泥でやってる、IDで敵をタゲる機能を入れたかったなあ。
519:
名無しのWindower使い[sage] 2011/07/02(土) 23:02:51 AME.V/Wg(2/2)
↑パスはおすすめ
ゴミもたくさんはいってますが気にしないでください。
おすすめは引退しているので、質問には答えられません・・・。それでもいい方どうぞ。
520:
名無しのWindower使い[sage] 2011/08/17(水) 02:26:33 jBDp0H2.
すいません、「おすすめ」がなにかわからないのでおしえてもらえないでしょうか?
521:
名無しのWindower使い2012/01/02(月) 13:23:02 UW2ynK7I
そのまま
522:
名無しのWindower使い[safe] 2012/01/12(木) 12:12:47 lS.V1w96(1/2)
rcm導入した新参者です!

ファントムロールがきれたと同時に、その切れたロールが自動的に発動するには
にはどのように改造すれば良いでしょうか?

皆様、力を貸して下さい!
523(1):
名無しのWindower使い[sage] 2012/01/13(金) 15:30:41 VNVAGfIM(9/13)
1、XIACE側のenums.cs のebuffに必要なbuff番号を登録する
  310〜がロールのbuff番号になるはず、これはWindowerのプラグインフォルダにある
  status.xmlファイルから調べて追加して
2、定期的に自分のBuffを調べる処理にisbuffでロールがなくなったか調べる
 if (!w1.player.isbuff(ebuff.xxx_roll)) ←enms.csに登録した名前ね
{
w1.sendtext("/ja xxxロール <me>");
w1.sendtext("//rcmnop");
}

以上の内容では、buff情報が更新されるまで同じコマンドをはき続けるため適度なWait処理がいる。
また、ファントムロールのリキャストチェックをしていないため、ほかのロールを実行したばかりでもコマンドをはき続ける。

おじさんが教えられるのはこれくらいだ、後はがんばれ!
524:
522[sage] 2012/01/13(金) 21:57:37 aLMa/6no(1/3)
>>523

最高です!
ありがとうございます!
525:
名無しのWindower使い[sage] 2012/04/04(水) 00:01:00 aLMa/6no(2/3)
RCM開始した途端にアクセス拒否なるのですが、どの部分のソースいじればよろしいのでしょうか?
日本のFFだと大丈夫なんですが、NAのFFだとうまくいきません。

凄い人教えてください!
526:
名無しのWindower使い[sage] 2012/04/04(水) 01:46:33 CemKIR1g
アクセス拒否というのがわからんですが
NAだとだめってのは、Windower側の設定が
JPクライアントで設定されていないとだめなのかな?
RCMオリジナルを作られたときにいた人ならわかるのかもしれませんが
残念ながら自分も導入している程度の立場で、根本の部分はブラックボックス状態
orz
527:
5262012/04/05(木) 11:58:07 lS.V1w96(2/2)
〉〉525
詳細が鮮明じゃなくてすみません。
もう少し詳しく後で報告させていただきます。
528:
名無しのWindower使い[sage] 2012/04/17(火) 10:12:11 bO4wfPvw(1/3)
素の状態のRCMをビルドしてrcm.exeを起動してスタートを押すと以下のエラーが発生するのですが、対処方法を教えてください。
WindowerHelper.dllはRCM/bin/Debug配下に配置しています。

************** 例外テキスト **************
System.BadImageFormatException: 間違ったフォーマットのプログラムを読み込もうとしました。 (HRESULT からの例外: 0x8007000B)
場所 FFXI.WindowerHelper.CreateConsoleHelper(String name)
場所 FFXI.Windower..ctor(Int32 pid)
場所 RCM.RCM.RunP2()
場所 RCM.RCM.button1_Click(Object sender, EventArgs e)
場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
場所 System.Windows.Forms.Button.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
529:
名無しのWindower使い[sage] 2012/04/17(火) 10:12:11 bO4wfPvw(2/3)
素の状態のRCMをビルドしてrcm.exeを起動してスタートを押すと以下のエラーが発生するのですが、対処方法を教えてください。
WindowerHelper.dllはRCM/bin/Debug配下に配置しています。

************** 例外テキスト **************
System.BadImageFormatException: 間違ったフォーマットのプログラムを読み込もうとしました。 (HRESULT からの例外: 0x8007000B)
場所 FFXI.WindowerHelper.CreateConsoleHelper(String name)
場所 FFXI.Windower..ctor(Int32 pid)
場所 RCM.RCM.RunP2()
場所 RCM.RCM.button1_Click(Object sender, EventArgs e)
場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
場所 System.Windows.Forms.Button.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
530:
名無しのWindower使い[sage] 2012/04/17(火) 10:15:24 bO4wfPvw(3/3)
すいません。2重投稿になってしまいました・・
531:
名無しのWindower使い[sage] 2012/04/17(火) 16:49:58 DP02msVA
OSが64bitでプラットフォームタイプがAnyCPUになってない?
WindowerHelper.dllが32bitだからexeも32bitでコンパイルしないと上手い事動かないかと思われます
x86でコンパイルしてみてはいかがでしょうか
532:
名無しのWindower使い2012/04/21(土) 10:20:29 aLMa/6no(3/3)
すみません。アディストのステータスIDわかる方いらっしゃいますでしょうか?
533:
名無しのWindower使い2012/05/09(水) 17:05:10 VNVAGfIM(10/13)
魔法の意味はADD−STRだとおもうんだが?
アディストってステータスはないと思うので
Str Boost ってステータスがでてないかね
534:
名無しのWindower使い2012/05/15(火) 18:47:28 kBZ1h.5M(1/2)
板違いの質問かもしれませんが、ここならいい答えが頂けるかと質問させてもらっています。

現在、スクウェアエニックスIDをひとつ持っています(トークン取得済み、モグサッチェル使用中)
そちらにサブキャラ(POLIDとプレイオンラインPassのみ取得済み)
のIDを移行した場合は
同時起動は可能なのでしょうか。1〜2年振りに復活しようとしたら本当に
浦島状態で・・・よろしくお願いします。
535(1):
名無しのWindower使い2012/05/15(火) 19:22:22 kBZ1h.5M(2/2)
534です。自己解決致しました、ありがとうございました。
536(1):
名無しのWindower使い[sage] 2012/05/16(水) 01:47:21 UHag00So(1/3)
>>535
解決したらちゃんと結果をかけよボケ!
537(1):
名無しのWindower使い2012/05/17(木) 20:28:03 F6l2B9Z2
>>536
解決したって結果を書いてるじゃないかボケ!
解決方法聞きたいならお願いしますだろ

ボケ言われて答えると思うか?
538(1):
名無しのWindower使い[sage] 2012/05/18(金) 04:03:49 UHag00So(2/3)
>>537
ごめんゆとりだったか。
539(1):
名無しのWindower使い2012/05/23(水) 16:57:14 VNVAGfIM(11/13)
プログラマー素人でちょっと疑問に思ったんですが
プロジェクトのアセンブリバージョンについて教えてほしいです。

0.0.0.0 って四桁分ドットで区切られてるけど
1.9.15.5とか途中の数字が2桁とかもありですか?

メジャー、マイナー、ビルド、レビジョンってあるんですが
XIACE.DLLでたとえて
メジャーって  クライアントのバージョンアップ対応?
マイナーって  機能追加?
ビルドって   不具合修正?
レビジョンって ???
な 感じでいいのかな?

クライアントのバージョンアップ対応はオフセット修正程度なのでマイナーバージョンアップで
メジャーバージョンアップはクラス追加してメニュー、コマンドヘルプを読めるようにしたとかのほうがいいですかね
540(1):
名無しのWindower使い2012/05/24(木) 00:25:25 2juXmA/A
>>539
2桁でも3桁でもあり。
ポリシーに関しては、開発者(若しくはアセンブリを提供する会社)が自由に決めてよいのだけど、
MSDNにガイドラインがあるので、それを参考にしてもいいと思う。
541:
名無しのWindower使い[sage] 2012/05/24(木) 12:41:21 VNVAGfIM(12/13)
>>540
ありがとうございます
ガイドライン見てきました。
メジャー、マイナーを決めて、ビルドが日付、レビジョンでその時の不具合修正って感じで説明がありましたね。

XIACE,DLLもあれこれ追加したら、メジャーバージョンをあげる
クライアントバージョンアップはマイナーバージョン
クライアントの2次修正などが発生したりしたらビルドバージョン
自分の打ち込みミスとか修正をレビジョン変更って感じで良さそうでした

今後の高解像度クライアント向けUIがどう変わるかで
XIACEも大きく変わりそうで、メンテできるか心配です。
542(1):
名無しのWindower使い2012/05/26(土) 20:11:36 xjDe62Jo
>>538
ゆとり?って事はテメーおやじだなw
いつまでもゲームやってんじゃねーよ
このスレ来てる段階で、ツーラーでモラルも守れねおやじが説教すんなや
543:
名無しのWindower使い[sage] 2012/05/27(日) 00:33:50 UHag00So(3/3)
>>542
ゆとりおつ(笑)
544:
名無しのWindower使い[sage] 2012/05/27(日) 04:26:43 kpBtHh4U
ゆとり教育が実施されてた期間ってかなり短いだろ
下手するとそいつらより下の世代からゆとり呼ばわりされてる可能性もあるな
545:
名無しのWindower使い2012/06/24(日) 09:44:49 uloKb91I(1/2)
いつも、たのしく読まさせていただいております。

rcmについて教えてください。
獣使いでプレイする時に、ペットの
アクション状態(非戦闘中、戦闘中),HPP,TPなど
ペットに関するデータを取得したいのですが、どのようにすればよいのかわかりません
よろしく、お願いします。

今の状況を説明いたしますと
PC,TARGET,PCMAPからのそれぞれの情報はとれています。
ペットに関しては、HPPはわかるのですが、それ以外を見つけることができないでいます。
546(1):
名無しのWindower使い2012/06/24(日) 11:12:49 uloKb91I(2/2)
545です。
勘違いがありましたので、訂正します。
TARTGETのTP情報は取得できていませんでした。
それから、ペットのTPはログから拾うしかないのかもしれませんね。
ヒットする度に 8.3% ? を加算させていく方法しかないのかもしれませんね。
どうか、お知恵をおかしください。
549(1):
名無しのWindower使い[sage] 2012/11/09(金) 19:59:52 GRWVwwH2(1/5)
XIACEというよりはC#そのもの?の質問になってしまうかもしれないんだけど
XIACEのInventoryItem GetInventoryItem(short index)というのは具体的にどう使えばいいんだろうか・・・?
GetInventoryCount()とかは

Inventory iv0 = new Inventory(procs[0].Id);
byte p0GIC = iv0.GetInventoryCount();
string p0GICSt = p0GIC.ToString();

Console.Writeline(p0GICSt);

とかで表示させられたんだけど・・・。
入門者なりにInventory.csとにらめっこしてみたりしたんだけど
short indexというのも何の値なのかよく分からないorz
誰か助けてくれorz
550(1):
名無しのWindower使い[sage] 2012/11/09(金) 21:33:53 VZG0AJ/.
>>549
アイテム情報が並んでるメモリエリアを、うさみみなりで覗いたことがあるか?

http://www20.atwiki.jp/ff11windower2/pages/62.html
ここは見たか?

InventoryItem GetInventoryItem(short index)
と書いてあるよな?

戻り値って分かるか?引数って分かるか?

GetInventoryItem(short index)ってメソッドは、
引数はShort型で定義時の名前はIndexで、InventoryItem型の戻り値と持つって意味だ。
それぐらいは分かるよな?

じゃ、InventoryItem ってなんやねんと疑問は持ったか?
それはWikiページの「定義済み構造体」に書いてあるわな。
構造体で値を返してくれるんだよ。C#云々と言うより開発言語の話だわな。

で、Indexなんだが、鞄なり金庫なり最大値は取得できるやろ?別のメソッドで。続き10行
551:
549[sage] 2012/11/09(金) 23:50:24 GRWVwwH2(2/5)
>>550
THX!
一覧に出来たよ!
552:
名無しのWindower使い[sage] 2012/11/12(月) 19:04:01 GRWVwwH2(3/5)
色々試しつつなんとかコンボボックスからプロセスを選択して
コマンドを各窓に送ったり各プロセスの情報を表示したり出来るようにはなった。
今度は色々自動化してみたいと思ったんだけど、
FFXIの操作自体はWindowerクラスから出来るんだけど、
メニューとか鞄を開いた時に今カーソルがどこにあるかはどう判定すればいいんだろうか?
XIACEの各クラスを見てみたんだけどそれらしい物があるのか良く分からないorz
553(2):
名無しのWindower使い[sage] 2012/11/14(水) 16:04:04 GRWVwwH2(4/5)
という物はなくて、メモリから値を取って自分で色々作って使うんだと何となく分かったので
取り合えずメニューのカーソルの位置がどこにあるのか見よう見まねでやってみたら
ベースアドレス+0B25295Fから最大7文字14バイト?に
今メニューのカーソルが指してる文字列が入ってる所まで何となく分かった。
新たにenum.csにMEUN_POS = 0B25295F,を追加してみて
新たにmenu.csにmenuクラスを作ってそこから値を返せるように作ってみようと思って書き始めた。
取り合えずプロセス関係のお約束らしきものを書いて
GetMenuPosとしてInventoryにあるクラスをそれっぽく書き換えてみた。

unsafe public int GetMenuPos()
{
  string name;
  int off = (int)OFFSET.MENU_POS + 14;
  MemoryProvider.ReadProcessMemory(pol.Handle, (IntPtr)((int)pol.BaseAddress + off), &, , null);
  
  *nameで色々*
  
  return (数字);
}
続き5行
554:
名無しのWindower使い[sage] 2012/11/14(水) 22:49:29 xzNxqp/Y
>>553
>>548にある、作るスレ16には行ってみたかい?

メニューアイテムなんつうのは、とうの昔にXiAceLiteにだけど
実装されてるのよね。

作者のおっちゃんがVBに変換したのでC#遣いの人は敬遠して
っかも知れないけども、VB→C#のコンバータも世の中には
あるので、ざっくりコンバートして必要な分だけ移植でも
すればいいんじゃないかなと思う。
555:
名無しのWindower使い2012/11/22(木) 09:59:32 rFB4rM/k(1/3)
>>553
> 特にReadProcessMemory(IntPtr handle, IntPtr address, void* buffer, uint nBufferSize, int* len); が分からない。

address から len バイトを読み取って、あらかじめお前が用意した buffer にコピーするOSの機能(カーネル関数)
です

メモリつったって、馬鹿でかい上、OSやらお前の立ち上げたエロ動画ソフトやらいろいろあるから、それを handle
という整数ナンバーで管理している

ただ、RCM(XIACE)なら、PolProcess というクラスがそれを知っているから(そろと552で「コンボボックスから
プロセスを取り出すとこまで理解してる、とのことだから、そこから説明)

   p = (System.Diagnostics.Process)WindowerPids[comboBox1.SelectedItem];
   PolProcess pol1 = new PolProcess(p);

そすりゃ、 pol1.Handle がお前の選択したFF11プロセスのハンドル
556:
名無しのWindower使い2012/11/22(木) 10:01:22 rFB4rM/k(2/3)
微妙に間違った

× address から len バイトを読み取って
    ↓訂正
○ address から nBufferSize バイトを読み取って

len は戻り値で「実際に読めたバイト数」
ほとんど使う機会はないから、null を渡しておけば返ってこない
557:
名無しのWindower使い2012/11/22(木) 10:04:53 rFB4rM/k(3/3)
でもって、実際のとこ、ほとんどの場合、nBufferSize は2とか4に決まってるから、あらかじめ
PolProcessを拡張して(メンバ関数を書き足して)

    public unsafe int getIntOffset(int offset)
    { 
      int dwAddress = (int)_BaseAddress + offset;
      int retint;
      ReadProcessMemory(Handle, dwAddress, &retint, 4, null);
      return retint;
    }

こういうの作っておけば、オフセットから1ワードだけ読む、とか簡単にできる
558:
名無しのWindower使い2012/12/03(月) 13:13:07 .RA7VI2s
RCM用に追加した menu.cs ほしいならアプローダ上げとくけど
もういらないかな?

554>> にあるようにXaceliteからべたに俺流で移植したもの
ソース汚い、C#の初心者な移植版
559:
名無しのWindower使い[sage] 2012/12/04(火) 03:20:27 GRWVwwH2(5/5)
是非くれ
560:
名無しのWindower使い2012/12/04(火) 10:22:52 VNVAGfIM(13/13)
アップしておいた
パスはいつもの

Xaceliteさま 
勝手に流用しておいてアップするとか
ゆるさね〜とか言われたらあれなので先に謝っときます

ごめんなさい  orz
561:
名無しのWindower使い[sage] 2017/02/26(日) 18:39:33 WtsF9pzc
久々に復帰して昔のソースひっぱり出して遊ぼうと思ったら、Helper関連がエラーは出ないけどさっぱり動作しないんだけど、どなたかWindowerHelper.dllをDelphiで利用出来てる方いますか?

公開されてる他の方のツールは動くから、Windowerの設定関連は大丈夫と考えていいのかな
562:
名無しのWindower使い[sage] 2020/08/14(金) 09:25:50 d507I59E
かな
それではまた3年後
07:26:36時点のスレ終端
続き44秒後位に新着取得可
 元スレ:https://jbbs.shitaraba.net/bbs/read.cgi/game/43677/1223973644/