- 信長の野望 天翔記 改造綜合スレ5 [転載禁止]©2ch.net
566 :.jp[sage]:2015/12/09(水) 23:24:33.88 ID:uZ/E0GI6 - >>565
まともにやると、 「すべてのコマンドの全ての情報を取れる」 ようにする必要があるので少し時間がかかります。 95版だけなら、2日かからないのだけれど… 現在HD版のマネージド化を主軸に置いてしまっているので、 並行すると2週間ほどかかってしまいます。 なので、当面以下のようにして、対応してください。 戦略画面でのコマンドの際の入力値の8割方は以下の方法で拾えるのではないかと思います。
|
- 信長の野望 天翔記 改造綜合スレ5 [転載禁止]©2ch.net
567 :.jp[sage]:2015/12/09(水) 23:25:14.92 ID:uZ/E0GI6 - namespace ユーザー戦略画面入力 {
struct Tグループ1 { int パラメタ[8]; }; struct Tグループ2 { int パラメタ[8]; }; Tグループ1* GET_グループ1_パラメタ() { Tグループ1 *グループ1 = (Tグループ1 *)0x4DDF38; return グループ1; } Tグループ2* GET_グループ2_パラメタ() { Tグループ2 *グループ2 = (Tグループ2 *)0x4DDF58; return グループ2; } } string カスタム::On_噴出メッセージ直前(string 武将名, string 元メッセージ, メッセージ関連情報型 メッセージ関連情報) { using namespace ユーザー戦略画面入力; // プレイヤーが入力した情報は第1グループもしくは、第2グループのどちらかにあることが圧倒的に多い。 // 第1グループなら以下のようにする。 Tグループ1 *入力param = GET_グループ1_パラメタ(); // 入力した項目で値を採ってみる。「武将・城・大名・軍団・家宝・官位の類は全て番号で来る。配列用に直すには-1する」 int 実行武将ID = 入力param->パラメタ[0] - 1; // 武将番号→配列用番号 int 目標城ID = 入力param->パラメタ[1] - 1; // 城番号→配列用番号 int 内応武将ID = 入力param->パラメタ[2] - 1; // 武将番号→配列用番号 int 支度金 = 入力param->パラメタ[3]; if (0 <= 実行武将ID && 実行武将ID < 最大数::武将情報::配列数 && 0 <= 目標城ID && 目標城ID < 最大数::城情報::配列数 && 0 <= 内応武将ID && 内応武将ID < 最大数::武将情報::配列数) { デバッグ出力 << Get_名字(実行武将ID) + Get_名前(実行武将ID) << endl; デバッグ出力 << Get_城名(目標城ID) << endl; デバッグ出力 << Get_名字(内応武将ID) + Get_名前(内応武将ID) << endl; デバッグ出力 << 支度金 << endl; } // 変更しない場合"" return ""; }
|
- 信長の野望 天翔記 改造綜合スレ5 [転載禁止]©2ch.net
568 :.jp[sage]:2015/12/09(水) 23:28:01.30 ID:uZ/E0GI6 - この「グループ1」にないものは、「グループ2」を見ると入っていることが多いです。
// 第2グループなら以下のようにする。 Tグループ2 *入力param = GET_グループ2_パラメタ(); 以上となります。 そのうち、ある程度綺麗な形で、ScenarioModや、HD.mod(名称まだ未定)に入ると思います。
|