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

【天道】つくってみたよ!!【β版開発】

1747:2010/05/30(日) 09:42:57 ID:YkXRpmb.
信長の野望・天道用の
覚醒支援システムのβ版開発用スレッド

一通りそろうまでの専用スレッドです。

あのtamuraさまのご協力により天道用の覚醒支援システムも
できあがってきましたので、公開させていただきます。

以下リンク
覚醒支援システム まとめwiki
http://www26.atwiki.jp/losystem/

信長の野望 天道 改造解説wiki
http://www40.atwiki.jp/nobu13reco/
信長の野望・天道 改造スレ @wiki
http://www24.atwiki.jp/nobu13kaizo/
信長の野望・天道 改造スレ6 (現行スレッド)
http://www.unkar.org/read/schiphol.2ch.net/gamehis/1263092566

ダウンロードはまとめwiki→最新版ダウンロードから。

45747:2010/07/26(月) 07:34:35 ID:WPuJfZAk
一つ条件抜けたかも
if (Reiji.Affiliation.Unit.FiveUnitsAddress == Syaomu.Affiliation.Unit.FiveUnitsAddress &&
Reiji.Affiliation.Unit.FiveUnitsAddress > 0)
ですね。
ともに軍勢形成していない場合にも判定PASSしてしまう形になってました。

それから解除条件ですが、
      //零児、小牟が出撃中ではなくなった時に解除する
if ((Reiji.StatusFlag != 4 && Syaomu.StatusFlag != 4) || (Reiji.StatusFlag == 4 && Syaomu.StatusFlag != 4)
|| (Reiji.StatusFlag != 4 && Syaomu.StatusFlag == 4))
の部分はこうすべきかな?
//一方でも出陣中では無くなった場合
if ((Reiji.StatusFlag != 4 || Syaomu.StatusFlag != 4)
{
//処理省略
} else if (Reiji.Affiliation.Unit.FiveUnitsAddress != Syaomu.Affiliation.Unit.FiveUnitsAddress
|| Reiji.Affiliation.Unit.FiveUnitsAddress == 0)
{
//軍勢では無くなった場合
//処理省略
}

46Serist:2010/07/26(月) 22:31:50 ID:TrLKG/FY
ありがとうございます
おかげで能力値の増減だけの特殊陣ならできそうです

次の課題としては自身が率いる兵科の適正があがるように
兵科の情報取得とそれに伴って適正を上げるように場合分け、かな

専用メソッドについては期待してます
上の例では二人組でしたが、最大5人組(さらには6人中1人と4人で5人組なんかも…)と
なるので、簡略化できるのであれば作成も楽になると思います

47747:2010/07/26(月) 23:45:57 ID:WPuJfZAk
適正変更はこうでしょうかね……

DataProcessingMethod.cs内のSetAptitudeメソッド内に
次のを加えてください。革新用で作ったメソッドですが、
ちょっと直せば?使えるはずです。
/// <summary>
/// 武将の各適正を変更します。
/// </summary>
/// <param name="CharaName">武将名</param>
/// <param name="flag">変更技能(ビット指定)
/// +0x01:足軽,+0x02:騎馬,+0x04:弓,+0x08:鉄砲,+0x10:兵器
/// </param>
/// <param name="SetAffiliation">変更する設定値</param>
public void SetAptitude(string CharaName, uint flag, int SkillLV)
{
cAptitude ca = ctrl.MemControls.CharaControl.Chara(CharaName).Aptitude;
ca.SetAptitude(flag, SkillLV);
for (int i = 0; i < 5; i++)
{
if ((flag & (1 << i)) > 0)
{
ctrl.Event.AddMessage(string.Format("【適性変更】{0} : {1}適性:{2}",
CharaName, (eAptitudeType)i, ca.GetAptitude(1 << i)));
}
}
}
/// <summary>
/// 適正値を変動させます
/// </summary>
/// <param name="Name">武将名</param>
/// <param name="flag">変更技能(ビット指定)
/// +0x01:足軽,+0x02:騎馬,+0x04:弓,+0x08:鉄砲,+0x10:兵器
/// </param>
/// <param name="upValue">上昇値</param>
public void AptitudeUp(string Name, uint flag, int upValue)
{
cAptitude ca = ctrl.MemControls.CharaControl.Chara(Name).Aptitude;
ca.AptitudeUp(flag, upValue);
for (int i = 0; i < 5; i++)
{
if ((flag & (1 << i)) > 0)
{
ctrl.Event.AddMessage(string.Format("【適性上昇】{0} : {1}適性:{2}(+{3}",
Name, (eAptitudeType)i, ca.GetAptitude(1 << i), upValue));
}
}
}
ただ、MemoryMap内のCharacter.csにあるeAptitudeType列挙体も修正が……
/// <summary>
/// 適性識別用フラグ値
/// </summary>
enum eAptitudeType { 足軽 = 0, 騎馬, 弓, 鉄砲, 計略, dummy1, dummy2, dummy3, 兵器, 水軍, 築城, 内政 };

これもセットで専用メソッドもしくはクラス実装しますね。
早くて今週末……かなぁ……

48Serist:2010/07/27(火) 23:16:17 ID:0Wa97SqU
適正変更までありがとうございます
ただ、上記のメソッド変更・追加したところ、ログの取得自体は
できますが、変更まではこぎつけませんでした

メソッド追加後に能力上昇のところに以下の文を書いてみたんですが、あってますか?
ctrl.DataProcessMethods.AptitudeUp("イーディ", +0x01, 1);

あと、インスタンス化したキャラクタ情報の方に直接適正上昇を実行させてみたんですが
こっちでも駄目でした
Edy.Aptitude.AptitudeUp(+0x01, 1);

情報は取得できている以上、変更できそうなんですけどねぇ

49747:2010/07/29(木) 07:22:11 ID:WPuJfZAk
>>48
原因は若干適正値のアドレスが違っているためでした。
今操作しようとしているのは家宝補正後のデータのようです。
基本適正もセットで操作しないとまずいようなので、
その機能を追加しないといけませんね。

構造はある程度理解しているので苦戦することはないと思いますが、
一応メモリマップ確認もしないといけませんので時間をください。

今週末に……と思いましたが、やる事多くて間に合うかなぁ……
専用クラスメソッド化よりも優先した方がいいですかね?

50Serist:2010/07/29(木) 08:53:08 ID:0Wa97SqU
>49
対応ありがとうございます
なるほど、基本適正ではないから動かなかったと
適正に関してはまだまだ詰めなきゃならない所(特定の兵種にするか、自身が率いている兵種に対応させるか)
もあるので優先しなくてもOKです、中華エディタで手動操作できますし

それと実装等についてはそちらのペースで大丈夫です
こちらが無理言ってるだけですので、都合のいいときに
追加してもらえればOKです

では、また何かあったら連絡します

51747:2010/08/01(日) 18:35:46 ID:9eTb.mWs
>>49 Seristさま
不完全ですが、専用クラスもどきを用意しました。
といっても判定用だけですが……
全員そろった場合、というだけでなく、
そのうち何人っていう判定のも追加してあります。
うまく動くとよいのですが……

こちらの環境上、動作確認までは出来ませんでしたが、
もしよければ動作確認をお願いします。

ただ、使い方サンプルを用意するところまでは出来ておらず……
基本的に革新PK版のBattleJudgeと同じような使い方になると思います。
すみませんがよろしくお願いいたします。

ちなみに前回話していたのはバージョンが古すぎました(汗
2拠点でこういうことしているので、
たまに最新データを忘れたりするんですよね……

というわけで適正値変更はちょっと原因分かりませんでした。
もう少し時間をください。(お盆になっちゃいそうですが……)

52Serist:2010/08/01(日) 22:25:54 ID:Ud/LrY.w
追加メソッド試しました

SameFiveUnitsL()の使い方がわかんなかったので
SameFiveUnitsA()で出来る範囲で試してみたところ
無事能力値変動しました

ただ、変動する条件が複数ある場合はSameFiveUnitsLを使いこなせ
ないと難しいかもしれませんね

それと、実行して接続をしようとした所
public FiveUnitRevisionJudge(MainControl ctl, params string[] charaName)
{
ctrl = ctl;
CharaName = null;
/* foreach (string name in CharaName)
{
if (ctrl.MemControls.CharaControl.NameCheck(name))
{
return;
}
}*/
CharaName = charaName;
fiveUnitChara = new List<string>();
fiveUnitCharaP = new List<string>();
fiveUnitCharaM = new List<string>();
}
のコメント化してある部分でSystem.NullReferenceExceptionが出てました
一応コメント化したら、問題なく動いたので大丈夫だと思いますが確認お願いします
適正に関してはゆっくりで良いので無理しないでください

53747:2010/08/01(日) 22:53:22 ID:9eTb.mWs
>>52 Seristさま
foreach (string name in CharaName)
じゃなくて
foreach (string name in charaName)
ですね。ローカル変数と間違えてます。すみません。
まぁ名前抜けチェックのロジックなので、
事前に出来ていれば問題無いです。

SameFiveUnitsLの方は、返すリストが条件を満たしている
武将名リストになっていて、
その他に新たに軍勢に加わった武将の名前のリストや
逆に離脱した武将のリストなどを、
プロパティで取得出来るようになっています。
(FiveUnitCharaP:合流 とFiveUnitCharaM:離脱, plusとminusのPとM)
一旦SameFiveUnitsL()を呼び出しておいて、
そのあとこれらのプロパティから処理すればいいかなぁと
考えて作ってみました。
このメソッドで返すリストも、FiveUnitCharaプロパティにあったりしますが。
その変動する条件を判定するのに、この同じ軍勢にいる武将の名前リストを
利用するといいのかもしれません。

他にもこんなのを……というのがあればおっしゃってください。

また、もしよければ条件の例を掲示していただければ、
出来る範囲で雛形作ります。

54Serist:2010/08/02(月) 00:55:00 ID:Ud/LrY.w
対応ありがとうございます
変えたらちゃんと動きました

それと例に関してなんですが、まずイーディ分隊で
イーディ(確定)とホーマー、ヤン、スージー、リィン、マリーナの
5人の中から4人で1部隊になる組み合わせが1つ

次に島津兄弟姉妹で特に7人いる義弘(本家、無双、バサラ、決戦、戦極姫、ランスだとカズヒサ、オンライン)
の中から5人の組み合わせが一つ

あとネタバレになるので詳細は伏せますが、イーディ分隊の逆で
4人は固定で最後の一人によって変化する能力が変わったり
また、その4人だけでも発動するという形にしたいなぁと考えてます
こういった条件が重なる場合(A,B,Cで発動するのと、それにDが加わる事で発動する等)は
重複しない様にしたいなぁとも考えてます(戦闘中Dが壊滅した時に前者の能力に切り替わるなど)

他のアイデアとしてはある人物Aが所属している軍勢の他のキャラに影響を与えて能力変更したり
一緒に出撃した他の軍勢に影響与えるとか色々ありますね(場合によっては交戦した敵部隊にも影響出せたり)

あと、これは特殊陣ではないですが
覚醒支援システム版合唱陣として、アイドルが所属している勢力の武将は能力上昇
いわゆる家宝的な役割を持たせたいなと考えてます
例えば天海春香が所属する同勢力の武将は全能力+5とか
如月千早だと知略+20とか、逆にいなくなるとその分マイナスになるとか
今のところはこんなところでしょうか

55747:2010/08/04(水) 21:36:44 ID:WPuJfZAk
>>54
一つ目の例のイーディ起点というのはもう一つ新たにメソッドを
用意しましょう。こっちの方が判定は簡単なので。

それから二つ目の島津兄弟姉妹の例でしたら、SameFiveUnitsLを
使用するといいと思います。
これで同じ軍勢にいる武将名の一覧を取得し、
5人いたらその武将一覧から能力を変更するとか。
その後は臨機応変に出来ると思います。

3つめの4人固定は最低条件ということで、SameFiveUnitsAを利用して
まず判定して、それでPASSした場合に、そのうちの一人を起点として
イーディのメソッドで実装するといいと思います。

合唱陣の件は……勢力毎の武将リストはあるので、
それを活用するといいかな?
問題は離脱判定をどうするか、なんですがね。
んーやっぱり所属変化情報も格納しましょうか?
そうすれば解除判定も可能でしょうし。

その辺もまとめて今週末に対応してみますね。
よろしくお願いします。

56Serist:2010/08/06(金) 09:54:44 ID:UyDk8GNA
新たにメソッド追加してもらえるとは助かります

ただ、やっぱりSameFiveUnitsLの使い方が今ひとつ分からないです
返すのはstring[]なので、その型の変数を用意して代入
その変数を使って新たにFiveUnitRevisionJudgeのインスタンスを
作ってあげるという形になるんですかね?

cCharacter Shimadu_B;
private MainControl ctrl;
FiveUnitRevisionJudge fur_a,fur_b;

public cShimadu_B(MainControl cnt)
{
ctrl = cnt;//引数をメインコントロールに

//島津義弘(戦国バサラ)の情報を取得
Shimadu_B = ctrl.MemControls.CharaControl.Chara("島津義弘5");
fur_a = new FiveUnitRevisionJudge(ctrl, "島津義弘0", "島津義弘1", "島津義弘2", "島津義弘3", "島津義弘4", "島津義弘5", "島津カズヒサ");

〜〜〜〜〜中略〜〜〜〜〜

void 島津破軍陣第二陣(object o, EventArgs e)
{
string[] list = fur_a.SameFiveUnitsL();
fur_b = new FiveUnitRevisionJudge(ctrl, list);
if (fur_b.SameFiveUnitsA() == true)

〜〜〜〜〜後略〜〜〜〜〜

ちなみに
string[] list = fur_a.SameFiveUnitsL();
の時点でエラーがでて、ログ見るとSameFiveUnitsL()に問題が出てるとありました
確認の方、よろしくお願いします

57747:2010/08/07(土) 10:41:12 ID:WPuJfZAk
SameFiveUnitsLの修正版?と新?メソッド
SameFiveUnitsCが出来たつもりなので書き込み。
確認をお願いします。
使い方はこの後で……

まずは修正版L
/// <summary>
/// 該当武将が同じ軍勢を形成しているかどうか判定します。
/// 全員がそろって同一軍勢である必要はない。
/// 発動確認メソッド用(DailyEventもしくはAlwaysEvent)
/// このメソッドを呼び出した後、FiveUnitCharaP/Mを使って処理する
/// </summary>
/// <returns>リストの中から同じ軍勢になっている武将のリスト</returns>
public string[] SameFiveUnitsL()
{
//軍団形成している武将名の一覧格納リスト
List<string> FiveUnitCharaT = new List<string>();
uint InfAddr = ctrl.MemControls.CharaControl.Chara(CharaName[0]).Affiliation.InfluenceAddr;
foreach (string name in CharaName)
{
cCharacter ch1 = ctrl.MemControls.CharaControl.Chara(name);
if (ch1.StatusFlag != 4) continue;
if (ch1.Affiliation.InfluenceAddr != InfAddr) continue;
if (ctrl.MemControls.CharaControl.Chara(name).Affiliation.Unit.FiveUnitsAddress > 0)
FiveUnitCharaT.Add(name);
}
//最終判定用武将名リスト
List<string> FiveUnitCharaF = new List<string>();
if (FiveUnitCharaT.Count > 1)
{
for (int i = 0; i < FiveUnitCharaT.Count - 1; i++)
{
for (int j = i + 1; j < FiveUnitCharaT.Count; j++)
{
if (ctrl.MemControls.CharaControl.Chara(CharaName[i]).Affiliation.Unit.FiveUnitsAddress ==
ctrl.MemControls.CharaControl.Chara(CharaName[j]).Affiliation.Unit.FiveUnitsAddress)
{
if (!FiveUnitCharaF.Contains(CharaName[i])) FiveUnitCharaF.Add(CharaName[i]);
if (!FiveUnitCharaF.Contains(CharaName[j])) FiveUnitCharaF.Add(CharaName[j]);
}
}
}
}
fiveUnitCharaP.Clear();
fiveUnitCharaM.Clear();
if (fiveUnitChara.Count != FiveUnitCharaF.Count)
{
if (fiveUnitChara.Count == 0)
FiveUnitCharaP.AddRange(FiveUnitCharaF.ToArray());
else if (FiveUnitCharaF.Count == 0)
FiveUnitCharaM.AddRange(FiveUnitCharaF.ToArray());
else
{
foreach (string name in FiveUnitCharaF.ToArray())
{
if (!fiveUnitChara.Contains(name))
FiveUnitCharaP.Add(name);
}
foreach (string name in fiveUnitChara.ToArray())
{
if (!FiveUnitCharaF.Contains(name))
FiveUnitCharaM.Add(name);
}
}
}
fiveUnitChara.Clear();
fiveUnitChara.AddRange(FiveUnitCharaF.ToArray());
return FiveUnitCharaF.ToArray();
}
//ここまで
長すぎたので連投しますね。

58747:2010/08/07(土) 10:41:59 ID:WPuJfZAk
そして前回話した一人目起点の軍勢形成武将リスト取得メソッド
/// <summary>
/// 一人目を元に、該当武将のうち同じ軍勢を形成している武将のリストを取得します。
/// 一人目は必須になります。
/// 発動確認・解除確認メソッド用(DailyEventもしくはAlwaysEvent)
/// </summary>
/// <returns>リストの中から同じ軍勢になっている武将のリスト</returns>
public string[] SameFiveUnitsC()
{
List<string> FiveUnitCharaF = new List<string>();
if (ctrl.MemControls.CharaControl.Chara(CharaName[0]).StatusFlag != 4) return FiveUnitCharaF.ToArray();
uint addr = ctrl.MemControls.CharaControl.Chara(CharaName[0]).Affiliation.Unit.FiveUnitsAddress;
//軍勢未形成
if (addr == 0) return FiveUnitCharaF.ToArray();
foreach (string name in CharaName)
{
if (name == CharaName[0]) continue;
cCharacter ch1 = ctrl.MemControls.CharaControl.Chara(name);
if (ch1.StatusFlag != 4) continue;
if (ctrl.MemControls.CharaControl.Chara(name).Affiliation.Unit.FiveUnitsAddress == addr)
FiveUnitCharaF.Add(name);
}
return FiveUnitCharaF.ToArray();
}
//ここまで

実はSameFiveUnitsL()は一つ問題を抱えていまして……
例えば島津の例で言えば、7人中4人+3人とかの
軍勢2つ形成時も同一軍勢と判定してしまうんですよね……
他に同じ軍勢内に一人も該当武将が居ないのであれば
カウントされませんが……
それから別勢力に分かれているときも、
一応最初に名前がある武将と同じ勢力側しか現状対応していません。
一応その点が制限事項としてあります。
よろしくお願いいたします。

59747:2010/08/07(土) 11:12:38 ID:WPuJfZAk
さて、使い方なのですが……
まずはイーディ分隊の例から。

コンストラクタ内でインスタンスを作成。
全員固定版と基本変わらず。

FiveUnitRevisionJudge fur_Edy;
としている場合、コンストラクタでイーディを先頭に名前を羅列して
インスタンスを作成します。
fur_Edy = new FiveUnitRevisionJudge(ctrl, "イーディ", "ホーマー", "ヤン", "スージー", "リィン", "マリーナ");

そして判定用メソッド内で次のように使用します。
string[] list = fur_Edy.SameFiveUnitsC();
//このlist配列の中身が4人とも入っている場合
if (list.length==4)
{
//条件達成!
//list内の武将+イーディの処理をする。
//listの中身については、fur_Edy.FiveUnitCharaにも入れる予定です。
//(さっき書き込んだのは入れ忘れた)
//どの武将がいるかで区別したい場合、
//どの武将が居るかどうかはSystem.Collections.Genelic.List<string>クラスに
//変換して判定した方がよいかと。(そうではなく一括で能力処理する場合はこれは不要)
List<string> GList = new List<string>();
//例えばホーマーが居る場合
if (GList.Contains("ホーマー")) { //処理省略 }
//該当武将を一括で処理したい場合はlistからforeachで。
foreach (string name in list){ //処理省略 }
}
else
{
//解除処理?
}

判定メソッドを共通にして、データ処理メソッドを個別に作って
呼び出す方がいいかもしれません。

60747:2010/08/07(土) 11:29:59 ID:WPuJfZAk
もう一個メソッド追加。
SameFiveUnitsLの問題解決用メソッド。
引数でチェックする武将のリスト指定が可能。

/// <summary>
/// SameFiveUnitsLメソッドで判定した武将リストが全員同じ軍勢にいるかどうかの
/// 厳密チェックメソッド。引数省略時はfiveUnitChara変数の内容を使用します。
/// (SameFiveUnitsL使用後すぐならば省略しても問題無い)
/// 発動確認・解除確認メソッド用(DailyEventもしくはAlwaysEvent)
/// </summary>
/// <returns>全員が同じ軍勢を形成している場合のみtrue</returns>
public bool SameFiveUnitsLA()
{
return SameFiveUnitsLA(fiveUnitChara.ToArray());
}
/// <summary>
/// SameFiveUnitsLメソッドで判定した武将リストが全員同じ軍勢にいるかどうかの
/// 厳密チェックメソッド。引数省略時はfiveUnitChara変数の内容を使用します。
/// (SameFiveUnitsL使用後すぐならば省略しても問題無い)
/// 発動確認・解除確認メソッド用(DailyEventもしくはAlwaysEvent)
/// </summary>
/// <param name="NameList">武将リスト</param>
/// <returns>全員が同じ軍勢を形成している場合のみtrue</returns>
public bool SameFiveUnitsLA(string[] NameList)
{
if (NameList.Length < 2) return false;
if (ctrl.MemControls.CharaControl.Chara(NameList[0]).StatusFlag != 4) return false;
uint addr = ctrl.MemControls.CharaControl.Chara(NameList[0]).Affiliation.Unit.FiveUnitsAddress;
//軍勢未形成
if (addr == 0) return false;
foreach (string name in NameList)
{
cCharacter ch1 = ctrl.MemControls.CharaControl.Chara(name);
if (ch1.StatusFlag != 4) return false;
if (ctrl.MemControls.CharaControl.Chara(name).Affiliation.Unit.FiveUnitsAddress != addr)
return false;
}
return true;
}

いろいろあってすみません……

61747:2010/08/07(土) 11:33:31 ID:WPuJfZAk
次に島津兄弟姉妹の例。イーディ分隊と流れは同じかと。
インスタンスはコンストラクタで1つ作成しておきます。
(2つも要りません)
>> fur_a = new FiveUnitRevisionJudge(ctrl, "島津義弘0", "島津義弘1", "島津義弘2", "島津義弘3", "島津義弘4", "島津義弘5", "島津カズヒサ");
これはそのままで問題無いです。

問題は判定の方ですが、次のようにします。
string[] list = fur_a.SameFiveUnitsL();
if (list.length>5)
{
//複数の軍勢を形成している。条件未達?
} else if (list.length==5)
{
//5人軍勢or3+2軍勢?
//厳密判定するのであれば、さっき追加したメソッドを使用して判定。
if (fur_a.SameFiveUnitsLA())
{
//条件達成!
//list内の内容に合わせて処理内容(メソッド?)を切り替えてください
}
} else { //未形成 }

62747:2010/08/07(土) 12:54:18 ID:WPuJfZAk
最後にイーディ分隊の逆の例ですが、こちらはインスタンスを
最低条件と追加条件とで2つ作っておいてください。
fur_a = new FiveUnitRevisionJudge(ctrl, "必須武将0", "必須武将1", "必須武将2", "必須武将3");
fur_b = new FiveUnitRevisionJudge(ctrl, "必須武将0", "追加武将1", "追加武将2", "追加武将3", "追加武将4");
追加条件用の方の最初は必須武将(だれでも可)を入れてください。
3人+2人の場合はもう少し面倒かも。
あとは発動中チェックフラグ値かな?
例えば未発動なら0,追加武将なしなら1,条件Aなら2などかな?
あとは種類判定用に武将名→専用ID変換用変数をこうやって用意すればいいかと。
var ModeNoDic = new System.Collections.Generic.Dictionary<string, int>();
ModeNoDic[""]=1;
ModeNoDic["追加武将1"]=2;
ModeNoDic["追加武将2"]=3;
ModeNoDic["追加武将3"]=4;


そして条件判定の方でまずは必須条件を判定します。
int flag = ctrl.Flag.GetFlag("能力名?","条件発動フラグ");
if (fur_a.SameFiveUnitsA())
{
 //必須条件達成
 //ここで追加条件をイーディ分隊のメソッドと同じもので判定します。
 string[] list = fur_b.SameFiveUnitsC();
 int flag2=1;
 //4人+1人の場合
 //もし追加条件武将が居ればchname2にその武将名を格納
 if (list.length==1) flag2 = ModeNoDic[list[0]];
 //未発動なら発動実施。
 //すでに発動中ならば、chname1とchname2を比較して変化チェック
 if (flag == 0) 発動(flag2);
 else if (flag!=flag2)
 {
  //条件変動処理
  解除(flag);
  発動(flag2);
 }
 ctrl.Flag.SetFlag("能力名?","条件発動フラグ",flag2);
} else {
 //必須条件未達
 //発動中なら解除処理
 if (flag>0)
 {
  解除(flag);
  ctrl.Flag.SetFlag("能力名?","条件発動フラグ",0);
 }
}

これであとはこの発動(flagNo)と解除(flagNo)を実装すればいいのではないかと。
いかがでしょうか?

すっかり長くなってすみませんが、よろしくお願いいたします。

63747:2010/08/07(土) 12:56:08 ID:WPuJfZAk
あ、chname1とchname2のところはflagとflag2ですね。
flagは処理中のモードナンバー、
flag2は現在の条件でのモードナンバーになります。

64Serist:2010/08/11(水) 21:40:59 ID:qJ.3SQTw
追加メソッドありがとうございます
色々試してたので返事が遅くなりました

SameFiveUnitsC()に関してはこれさえあれば
他にも応用できそうだなと思います

次にSameFiveUnitsL()なんですが、>61の例で
string[] list = fur_a.SameFiveUnitsL();としたところ
SameFiveUnitsL()でエラーが出てきました

ログに出してチェックしてみたところ
if (FiveUnitCharaT.Count > 1)
{
for (int i = 0; i < FiveUnitCharaT.Count - 1; i++)
{
for (int j = i + 1; j < FiveUnitCharaT.Count; j++)
{
if (ctrl.MemControls.CharaControl.Chara(CharaName[i]).Affiliation.Unit.FiveUnitsAddress ==
ctrl.MemControls.CharaControl.Chara(CharaName[j]).Affiliation.Unit.FiveUnitsAddress)
{
ctrl.Event.AddMessage("チェック"+i+"-"+j+"OK");
if (!FiveUnitCharaF.Contains(CharaName[i])) FiveUnitCharaF.Add(CharaName[i]);
if (!FiveUnitCharaF.Contains(CharaName[j])) FiveUnitCharaF.Add(CharaName[j]);
}
}
}
}
ここで出陣させていない武将が読み込まれた際にエラーが
出ているような感じです
で、現在はSameFiveUnitsC()を利用して
インスタンスの際に変動させるキャラを先頭に持ってくる
と言う形で対応させてます

SameFiveUnitsLA()とか重複する特殊陣とかはまだ試してませんが
(前者はSameFiveUnitsL()の関係で、後者は対象になるキャラが別勢力なため)
徐々に作りこんで行こうと思ってます

65747:2010/08/12(木) 06:37:50 ID:8AI3ioxc
仕事が忙しくて全然手がつかない……
無事何とかなったので、明日から短いお盆休み。

>>64 Seristさま
確認ありがとうございます。
CharaNameでは確かに駄目ですね。
次のように書き換えてください。
たぶん動くはず……
if (FiveUnitCharaT.Count > 1)
{
string[] FiveUnitCharaTL = FiveUnitCharaT.ToArray();
for (int i = 0; i < FiveUnitCharaT.Count - 1; i++)
{
for (int j = i + 1; j < FiveUnitCharaT.Count; j++)
{
if (ctrl.MemControls.CharaControl.Chara(FiveUnitCharaTL[i]).Affiliation.Unit.FiveUnitsAddress ==
ctrl.MemControls.CharaControl.Chara(FiveUnitCharaTL[j]).Affiliation.Unit.FiveUnitsAddress)
{
if (!FiveUnitCharaF.Contains(FiveUnitCharaTL[i])) FiveUnitCharaF.Add(FiveUnitCharaTL[i]);
if (!FiveUnitCharaF.Contains(FiveUnitCharaTL[j])) FiveUnitCharaF.Add(FiveUnitCharaTL[j]);
}
}
}
}

休み入ったらもう少し出来るかな……
よろしくお願いいたします。

66747:2010/08/17(火) 20:48:17 ID:8AI3ioxc
13日に最新版あげておきました。
ここで進めていた内容のを埋め込んであります。

そして、PC新調のため、しばらく調査出来なくなるかもしれませんが、
よろしくお願いいたします。
やっぱり金銭感覚がおかしい……

67Serist:2010/08/20(金) 22:19:01 ID:/EYb.mNw
追加と修正ありがとうございます
確認したところきちんと動きました

これで一応基本的な機能は出来たと思うので
しばらくはこの状態で作って行こうと思います

ある程度数を作ったら順次公開する予定です

68747:2010/08/23(月) 07:12:51 ID:b9NtlTSU
間違えてA.C.E.R実家に発送にしてしまった。
くそ楽しみにしていたのに。
メールデータも間違えて消してしまったので、
バックアップを取りにまた実家帰りますか……

>>67 Serist様
お疲れ様です。無事動いたようで何よりです。
天道のゲームディスクが今実家にあるために、
再インストールできないことが発覚したため、
しばらくデバッグ出来ませんが、
他にもご要望あればまとめておいてください。
サンプルが無いってことだったので、
出来るところから協力させていただく所存です。

69747:2010/09/03(金) 20:37:28 ID:pLSqKW/E
無事天道のゲームディスクを回収したので、
とりあえずきれいさっぱりこなやぼ仕様にしてみた。
もともと顔画像変更とかもしていなかったから問題なし。
起動もまだだけど。

しかし改造スレが革新・天道ともになくなってるなぁ……
2chはさっぱりなのでまぁどうでもいいんだけど、
なにかあったんかな?

70747:2010/09/18(土) 00:33:47 ID:9eTb.mWs
革新と同様のシステムアップデートを行いました。
よければどうぞ。

71747:2010/09/20(月) 13:34:15 ID:9eTb.mWs
あんまり時間が取れないおかげで天道は全然手つかずのまま……
申し訳無いけど、要望が無いと基本的にこのままかも?
要望があった機能を順に実装していくことになるかと。

PKがどうなるかはまだまだ分かりませんが、
本格的に自分が解析に入るのはPK版かも?
(中華ツールが先に出てくれないと手に負えないかもだけど、
 そこら辺はきっと大丈夫だよね……)
本当は武将成長のシステムを何かしらの方法で実装してみたいなと
考えていたのですが……

72Serist:2010/09/29(水) 22:38:19 ID:uqzviZm6
お久しぶりです
最新版のシステム落として追加作成やってます
今のところ簡単な奴だけですが

新しい要望とかは今は無いですね
今後PKが出て新たな要素が出てきたら変わってくるかもですが

>本当は武将成長のシステムを何かしらの方法で実装してみたいなと
>考えていたのですが……

天道は熟練度みたいなのが無いから
それらを使ってどうこうってのは難しいですよね
フラグで・・・となると全員分なんてまず無謀ですし
精々数十人ぐらいですかね

73747:2010/09/30(木) 22:42:26 ID:pLSqKW/E
>>72 Seristさま

要望が出てきたらいくらでもおっしゃってください。

PKが出たらいろいろ調査し直しなのですぐには対応できないですが、
やる価値があるといいなぁ……

>成長システム
たとえば従軍して該当戦法を発動したらカウントして、
一定数以上のポイントを稼いだら適正アップとか、
戦法ランクアップとかをしたらいいのではないかなと考えています。
データはフラグ管理のとは別に管理して記録する仕組みがいいかなぁと。
(革新の死亡武将リストとかも考え方は同じ)

ちなみにサーチするのは出陣中の武将だけですので、
思っているほど負荷にはならないかと。

74747:2010/10/11(月) 16:38:30 ID:9eTb.mWs
ちょっとスレ上げ

75747:2010/12/30(木) 01:15:26 ID:ltg2YW/I
天道PKについて一言。
購入してはあるんだが案の定ゲームをしたいと思わず、
手が進みませんでした。
需要・要望どうなんだろ?

とりあえず成長値一括0とかは需要ありそうだけどw

76名無しさん:2011/04/02(土) 18:51:44 ID:.AN2EIAU
てか、3Dカメラで撮ったおっぱいがエロすぎるw
http://3dimg.zzl.org

77462:2011/11/14(月) 11:47:09 ID:NB5G.Et2
現在、革新中で作成中にも関わらず天道や三国志11をやりたい衝動が(--)

三国志11はともかく天道PKだと現革新用マキナと比べてどれぐらいのことができなさそうですか?
尋ね方おかしい気もしますがたしか天道で兵種調査ができない的なことを聞いた気が.

78alstop:2011/11/27(日) 11:23:19 ID:eU.cGzCM
はじめまして。
鍵山雛の野望でシステムに興味を持ったけど、天道PKしか持ってないアルストップという者です。

革新と比較されてあまり天道の話題を聞くことの方が少ないのですが、
そもそも主軸のやるべき事が(道を引き直して敵を誘導など)変わっているので
革新から無くなり天道で不満を持つようなシステム(覚醒とは違うけど)を
いじることが出来たら少し面白味が増えるんじゃないかなと思ってます。

革新をやってないので例えすらおかしいかもしれませんが、
多分仕官年数の長さと格付けの高さで判断していると思われる城主決めなど
でしょうか。

覚醒はどうしてもネタになる人物を増やすか歴史に詳しくないと思いつかないので
そっちの方に難儀しています。
時間もしくは環境が出来たらβ落として挑戦してみようと思います。

93名無しさん:2014/09/14(日) 00:24:03 ID:tvwdwotE
http://brlg.jp/views/index.php?guid=ON&amp;in=2586207

94名無しさん:2017/04/04(火) 14:16:22 ID:ZMTQqCZM
人妻出会い系サイト セフレ不倫若妻・熟女中出しSEX体験談
人妻 男性無料出会い系サイト&掲示板
http://aeruyo.2-d.jp/zds06/0001/

地域別|セフレ募集出会い
http://aeruyo.2-d.jp/sefuredeai/0013/

エロ写メ
http://aeruyo.2-d.jp/free/adult/1/

人妻書き込み一覧
http://aeruyo.2-d.jp/sefuredeai/sex/hitozemzdeai/

セフレ募集書き込み一覧
http://galscom.eek.jp/aeruyo/zds05/000/


逆サポート掲示板で逆サポ出会い
http://aeruyo.2-d.jp/zds12/00/

人妻逆援助交際掲示板
http://aeruyo.2-d.jp/zds15/00/

熟女出会い系サイト
http://galscom.eek.jp/aeruyo/zds08/000/

テレクラdeツーショット・テレフォンセックス
http://aeruyo.2-d.jp/adaruto/deai03/2syotto01/005/

人妻から高齢熟女まで出会い掲示板
http://aeruyo.2-d.jp/zds07/0001/

熟女,人妻,主婦,不倫,セフレ専門出会いサイト 人妻専門出会い
‎高齢者・中高年 · ‎厳選の人妻出会い · ‎30代以上 · ‎中年・熟女
人妻出会い系サイト セフレ不倫若妻・熟女中出しSEX体験談
人妻(若妻熟女)と出会い系サイトでセフレになり不倫浮気セックスする方法
出会い系で知り合った20代の人妻と昼間に会ってきた時のガチ体験談
人妻出会い掲示板 人妻出会い系サイト 人妻出会い系サイト セフレ人妻出会い


新着レスの表示


名前: E-mail(省略可)

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

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

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

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