「rcm改造講座」の編集履歴(バックアップ)一覧に戻る
rcm改造講座」を以下のとおり復元します。
*RCM改造講座

**準備するもの
- RCMソース等一式
 初心者の方は、[[ここ>http://www11.uploader.jp/dl/Windower/Windower_uljp00004.lzh.html]]から.lzhで。
 サブバージョンでチェックアウトできる人は、[[リポジトリ>http://code.google.com/p/ff11rcm/]]から、最新版をどうぞ。

- コンパイラ

Visual Studio Express(無償のc#コンパイラ+開発環境)
http://www.microsoft.com/japan/msdn/vstudio/Express/

これインストールしとけば、[[さっきのソース>http://www11.uploader.jp/dl/Windower/Windower_uljp00004.lzh.html]]のファイル解凍して、RCM.sln をダブル
クリックするだけです。

なお、多少お金払っていいからC#とか操作法入門マニュアルもほしい、という方は
書籍買うのがおすすめです。たとえば、

プログラムを作ろう!Microsoft Visual C# 2008 Express Edition入門(1995円)
http://ec.nikkeibp.co.jp/item/books/A01600.html

似たような本、どれでも同じ。付録CDから無償開発環境がインストールできるので
こっちが楽かも。注意点は、「2008」。同じようなやつで「2005」だと、今話題に
なってるプログラムは一部コンパイルできないようです。


- HP・MPなどメモリを読み取りパッケージ類
 選択肢として、①FFACE、②[[XIACE]]、③[[Class PC]]があります。
 このうち、①FFACEはブラックボックス(ソース非公開)だし、メモリーリークしまくりなので、
 最悪。②[[XIACE]]がコード的に一番美しいですが、初心者には難しいかも?③[[Class PC]]が
 一番優しいです。初心者向け。利用例も豊富。
 まとめると、中上級者が開発して配布したい場合などは、[[XIACE]]、初心者がFF11プレイしながら
 マクロ的にちょこちょこソースいじるなら[[Class PC]]。

** 改造方法
- まずは、素のRCMをコンパイルしましょう。
- 1回目のコンパイラの起動は少し時間がかかります気長に待ちましょう。
- 今後の作業を考えると、ツールボタンにビルドボタンを追加しておいた方が楽です。メニュー→ツール→
 ユーザ設定の中にある、「コマンド」タブで、左のリストから、「ビルド」を選ぶと、右に「ソリューションの
 ビルド」が出ますので、そのアイコン(□に下矢印3本)をドラッグして、「デバッグ」三角印ボタンの横あたりに
 ドロップ。これで、コンパイル→実行が、隣同志のボタンクリックだけですむようになります。
- dllが足りない旨のエラーが出たら、helperのdllがないと思われます。rcm.exe と同じディレクトリ(Debugフォルダあたり)
 に http://www.windower.net/downloads/WindowerHelper.zip から落としていれます。


** まずは簡単な改造から
- comThread1() のメインのif文の上に

>        if (command == "atk")
>        {
>          w1.SendText("//rcmnop");
>          w2.SendText("/a <bt>");
>        }
>        else if (command == "flw")
>        {
>          w1.SendText("//rcmnop");
>          w2.SendText("/follow <メインキャラ名>");
>        }
>        else if (!String.IsNullOrEmpty(command))
>        {
>          w2.SendText(command); // send command to w2
>        }
使い方は、チャットラインで、//rcm atk=一緒に戦え(敵対行動後)、//rcm flw=オレについてこい
この要領で、//rcm healon=/heal on で回復というよりは、follow解除などが実装可能
** 他の切り口の改造もできる
- comThread1() やcomThread2()から呼び出されているcomRead()を書きかえて
>        if (text == "rcm")
>        {
>          (略)
>        }
>        else if (command == "atk")
>        {
>          w1.SendText("//rcmnop");
>          w2.SendText("/a <bt>");
>        }
>        else if (text == "flw")
>        {
>          w1.SendText("//rcmnop");
>          w2.SendText("/follow <メインキャラ名>");
>        }
使い方は、チャットラインで、//atkだけで「一緒に戦え(敵対行動後)」、//flw=「オレについてこい」
などが実装可能
** 本格改造
- [[Class PC]]を使う方は、[[Class PC]]の頁へ。超初心者の方だと最初はとまどうかもしれませんが、
 一度入れてしまえば、後は直感的にマクロ感覚で命令を実装できると思います。
- 基本は、P1を自分が操作するキャラ(モンス釣る関係から前衛系が多いか)、P2を後衛自動キャラとして、
 comThread2()のwhileループ内 をそっくり書き換えるのがよいでしょう。
- [[XIACE]]を使いたい方は、[[XIACEの使い方]]をごらんください。

復元してよろしいですか?

記事メニュー
目安箱バナー